Skip to content

📘 PART 2: PROCESSING TECHNICAL DOCUMENTS

🎯 General Objectives

  • Master how to approach and process technical documents effectively
  • Develop skills to read and understand technology research papers
  • Proficient in using API documentation and open source code
  • Learn how to create professional documentation for knowledge sharing

🧑‍🏫 Lesson 1: Reading and Understanding Technical Documents

Structure of Technical Documents

  • Technical books and textbooks

    • Common structure: Preface, Table of Contents, Chapters, References, Index
    • Approach: Read table of contents first, identify needed chapters, read chapter summaries
  • Online documentation

    • Wikis, document sites, technical blogs
    • Navigation: Use search, follow links, use breadcrumbs
  • Code documentation

    • Inline comments, docstrings, README files, wikis
    • Code examples, unit tests as a form of documentation

Effective Reading Strategies

  1. Layered Reading

    • Layer 1: Skim to grasp main ideas (5-10% of time)
    • Layer 2: Selectively read relevant sections (30-40% of time)
    • Layer 3: Deep reading with specific details (50-60% of time)
  2. SQ3R for Technical Documents

    • Survey: Look over headings, diagrams
    • Question: Turn headings into questions
    • Read: Read to find answers
    • Recite: Summarize content in own words
    • Review: Consolidate and connect sections
  3. Reading with clear purpose

    • Read to find solutions to specific problems
    • Read to learn new knowledge
    • Read to synthesize information from multiple sources

Understanding Technical Terminology

  1. Build personal terminology dictionary

    • Record and update new terminology
    • Research origin and context of terminology
    • Find illustrative examples for each term
  2. Utilize glossary and reference materials

    • Check glossary section in documentation
    • Use online terminology libraries
    • Reference specialized books
  3. Understand relationships between terms

    • Create mindmaps connecting related terms
    • Categorize terminology by field, technology
    • Establish "parent-child" relationships between concepts

Decoding Technical Images and Diagrams

  1. Common diagram types in IT

    • Flow charts: Describe processes, algorithms
    • UML diagrams: Describe architecture, class, sequence
    • Entity-Relationship diagrams: Describe database structure
    • Network diagrams: Describe network systems, connections
  2. Approaching complex diagrams

    • Start by identifying diagram purpose
    • Identify main components and relationships
    • Follow data/information/process flow
    • Ask questions about unclear parts

🧑‍🏫 Lesson 2: Processing Research Papers and Academic Articles

Structure of a Research Paper

  1. Main components

    • Abstract: Overview of research and results
    • Introduction: Context and research problem
    • Related Work: Overview of previous research
    • Methodology: How research was conducted
    • Results: Data and analysis obtained
    • Discussion: Meaning and limitations of results
    • Conclusion: Summary of contributions and future directions
    • References: Cited sources
  2. Effective reading order

    • Read Abstract to determine relevance
    • Look over Conclusion to know main results
    • Read Introduction to understand context and objectives
    • Read Discussion and Results for detailed results
    • Look at Methodology if interested in implementation

Techniques for Processing Difficult Papers

  1. 3-pass strategy

    • Pass 1 (5-10 minutes): Read title, abstract, introduction, headings, conclusion
    • Pass 2 (1 hour): Read in detail but skip details like mathematical proofs
    • Pass 3 (4-5 hours): Read thoroughly, recreate paper mentally, identify strengths and weaknesses
  2. Critical analysis technique

    • Identify author's assumptions
    • Evaluate if methodology fits objectives
    • Check if results support conclusions
    • Compare with similar studies
  3. Extract important information

    • Create mind map or outline for paper
    • Note main algorithms, formulas, techniques
    • List research contributions and limitations
    • Identify potential development directions

Following Research in the Field

  1. Paper and article sources

    • ArXiv.org - Preprints archive
    • Google Scholar - Academic search engine
    • IEEE Xplore, ACM Digital Library - Professional libraries
    • ResearchGate, Academia.edu - Academic social networks
  2. Research tracking tools

    • Google Scholar Alerts - Receive new paper notifications
    • Semantic Scholar - AI-powered search with highlights
    • Mendeley, Zotero - Reference management
    • Academic Twitter/X - Follow researchers
  3. Identify important papers

    • High citation count
    • Published at prestigious conferences/journals (ICML, NeurIPS, CVPR, ACL, etc.)
    • Survey or review papers
    • Frequently mentioned in community

🧑‍🏫 Lesson 3: Open Source Documentation and API Documentation

Working with API Documentation

  1. Structure of API Documentation

    • Getting Started guide
    • API Reference (details about endpoint/function)
    • Code examples
    • FAQ and troubleshooting
    • Authentication and security
  2. Strategy for approaching new API

    • Read overview to understand API purpose and capabilities
    • Check quick start/hello world to understand basic flow
    • Identify endpoints/functions to use
    • Reference sample code for similar use cases
    • Experiment with API playground or Postman
  3. Reading and understanding API reference

    • Understand request and response structure
    • Identify required vs optional parameters
    • Pay attention to limits (rate limits, quotas, etc.)
    • Check error codes and handling
    • Follow versioning and deprecated features

Researching Open Source Code

  1. Structure of open source projects

    • README.md - Overview and installation guide
    • LICENSE - Code usage regulations
    • CONTRIBUTING.md - Contribution guide
    • Wiki - Detailed documentation
    • Issue tracker - Track bugs and feature requests
    • Pull requests - Pending contributions under review
  2. Strategy for understanding large codebases

    • Start with README and documentation
    • Build and run code before studying
    • Look over directory structure and project organization
    • Identify entry point and main execution flow
    • Use code analysis tools (SourceTrail, CodeQuery)
    • Read unit tests to understand component usage
  3. Code research techniques

    • Read code top-down (from overall structure to details)
    • Use debugger to follow execution flow
    • Write code using library to understand API
    • Try fixing small bugs or implementing simple features
    • Ask questions in project chat channels (Discord, Slack, IRC)

Reading and Using Documentation Tools

  1. Popular documentation generation tools

    • Javadoc (JAVA)
    • Doxygen (C/C++, JAVA, Python)
    • JSDoc (JavaScript)
    • Swagger/OpenAPI (RESTful APIs)
    • Sphinx (Python)
  2. How to read documentation from code

    • Read docstrings and comments in code
    • Understand method/function signature
    • See usage examples in unit tests
    • Check exception handling to understand edge cases
  3. Working when documentation is lacking

    • Read unit tests as a form of documentation
    • Use static code analysis tools
    • Use IDE to explore code structure
    • Ask community via Stack Overflow, Reddit, Discord

🧑‍🏫 Lesson 4: Creating Documentation and Sharing Knowledge

Principles of Effective Technical Writing

  1. Document structure

    • Organize in inverted pyramid (most important first)
    • Clear content hierarchy (headings, subheadings)
    • Use table of contents and internal links
    • Balance text, code, and images appropriately
  2. Writing for users

    • Clearly identify target audience (beginner vs advanced)
    • Use language appropriate for audience
    • Explain technical terms when needed
    • Write from reader's perspective
  3. Principles of clarity and conciseness

    • One paragraph = one idea
    • Short, simple, direct sentences
    • Use active voice
    • Avoid unnecessary jargon
    • Use bullet points and numbered lists

Creating Source Code Documentation

  1. Documentation in code

    • Write docstrings/comments describing function, parameters, return values
    • Explain complex logic and decisions
    • Mention edge cases and handling
    • Update comments when code changes
  2. Writing effective README

    • Brief description of project
    • Installation and configuration guide
    • Quick start guide with basic examples
    • Links to detailed documentation
    • Information about contributing and license
  3. Creating wikis and guides

    • Organize information by use cases
    • Provide step-by-step tutorials
    • Add troubleshooting guides
    • Include FAQ for common questions
    • Update documentation when code changes

Sharing Knowledge with Community

  1. Writing technical blog posts

    • Choose specific and useful topics
    • Clear article structure
    • Use real-world examples
    • Include runnable code samples
    • Provide resources for further reading
  2. Creating video tutorials

    • Prepare script before recording
    • Focus on one specific topic
    • Keep videos short and concise
    • Display code clearly and readably
    • Provide source code and resources
  3. Participating in mentoring and Q&A

    • Answer questions on Stack Overflow
    • Contribute to open source projects
    • Join Discord/Slack communities
    • Organize workshops or meetups
    • Share experiences with colleagues

Tools Supporting Documentation Creation

  1. Documentation writing tools

    • Markdown editors (VS Code, Typora)
    • Documentation platforms (ReadTheDocs, Docusaurus)
    • Wikis (MediaWiki, Confluence)
    • Collaborative tools (HackMD, Google Docs)
  2. Diagram and image creation tools

    • Lucidchart, Draw.io - Create flow charts, UML diagrams
    • Excalidraw - Hand-drawn style diagrams
    • Mermaid - Create diagrams from code
    • Canva - Design illustrative images
  3. Automating documentation creation

    • Auto-doc generators from comments
    • GitHub Actions to build and deploy docs
    • CI/CD pipelines for documentation
    • API documentation generators

🧪 PRACTICAL EXERCISES

  1. Analyze API documentation

    • Choose a popular public API (Twitter, GitHub, Spotify,...)
    • Read documentation and build mindmap of API structure
    • Execute at least 3 different endpoints
    • Rewrite short guide for beginners
  2. Research open source code

    • Fork a small open source project on GitHub
    • Read code and draw project structure diagram
    • Add or improve docstrings for at least 5 functions/methods
    • Create pull request contributing documentation to original project
  3. Create technical documentation for personal project

    • Choose a personal project you've done
    • Create comprehensive README.md according to standards learned
    • Write API documentation for main functions/modules
    • Add step-by-step installation and usage guide
    • Create wiki with at least 3 in-depth tutorial pages
  4. Share knowledge with community

    • Write one technical blog post about topic you just learned
    • Post content on appropriate platform like Dev.to, Medium, or personal blog
    • Share article with community and collect feedback
    • Improve article based on suggestions

Released under the MIT License.