Many of us strive to become proficient programmers, continuously consuming tutorials, documentation, and courses. But according to Shion Kabasawa’s influential book, The Power of Output, the secret to genuine improvement lies not in consuming more content—but rather in producing meaningful outputs from our learning.
Here’s how you can practically apply these principles to transform yourself into a stronger programmer:
1. Shift Your Balance: Output > Input
Instead of passively consuming tutorials, actively practice coding immediately after learning something new. Aim to spend 70% of your programming time on actual coding and experimentation, with only 30% on tutorials or theoretical study.
Concrete Example: After learning about REST APIs, immediately build a basic API for tracking daily tasks.
2. Write Regularly
Writing solidifies knowledge. Make it a habit to write weekly blog posts or journal entries summarizing new programming concepts you’ve explored. This reinforces your understanding and creates valuable content you can reference later.
Concrete Example: Write a blog post like “How I Used Docker Compose to Containerize My Django App.”
3. Teach What You Learn
Teaching forces you to clarify your own understanding. Regularly explain new programming concepts to others, either through video tutorials, presentations, or answering questions on platforms like Stack Overflow.
Concrete Example: Create a short YouTube tutorial on "Setting Up PostgreSQL with Django."
4. Seek and Implement Feedback
Actively seek feedback on your coding projects from peers, mentors, or through open-source communities. Feedback highlights blind spots, helping you improve rapidly.
Concrete Example: Submit your Django project for code reviews on GitHub and specifically request feedback on your database design and REST API structure.
5. Immediately Apply Knowledge to Mini-Projects
Solidify your learning by consistently building small, practical projects that directly apply newly acquired knowledge. This practice moves theoretical knowledge into actionable skills.
Concrete Examples:
- Learned Flutter? Build a basic farming activity tracker app.
- Learned Django Channels? Create a real-time chat app.
A Simple Weekly Schedule for Growth
| Day | Activity (Output-Focused) |
|---|---|
| Mon | Build API endpoints after a REST tutorial. |
| Tue | Dockerize your Django app after a short tutorial. |
| Wed | Write a blog post summarizing weekly learnings. |
| Thu | Write unit tests after learning Django testing. |
| Fri | Teach Django basics in a short video. |
| Sat | Implement improvements from project feedback. |
| Sun | Integrate weekly concepts into a mini-project. |
By consistently practicing output-oriented learning, you’ll gain deep, practical knowledge, develop confidence, and build a strong portfolio showcasing real skills.
Remember, it’s not about consuming more—it’s about producing better.
Latest Posts
- Car Tax, พ.ร.บ., ID Card, Passport: An Idea for One App That Remembers Every Renewal, and Why We Want Your Feedback First October 5, 2026
- Is Mum OK Today? An Idea for a Daily Check-in App for Ageing Parents, and Why We Want Your Feedback Before We Build It October 5, 2026
- Building a CoT Bridge: How to Get NVR, AIS and Drone Feeds onto a TAK Map Without Flooding It October 1, 2026
- Inside simpliSSO: What a 12-Module Identity Rollout Actually Delivers, from Azure AD Federation to the Last Legacy ERP October 1, 2026
- Can an LLM Predict a Flood? What AI Actually Does in Flood Forecasting, and Where Drones and Gauge Cameras Fit September 27, 2026
- When the Canals Are Full: A Digital Twin for Urban Drainage, and What Bangkok’s September 2026 Flood Shows About Why It Matters September 27, 2026