13 Timeless Lessons from a 40‑Year Veteran Programmer
Veteran software engineer Noah Gibbs shares 13 hard‑earned pieces of advice—from starting programming at any age and experimenting with diverse projects to treating coding as a lifelong journal—aimed at helping new developers build sustainable, fulfilling careers in software development.
Insights from a Nearly 40‑Year Programmer
Noah Gibbs, who has worked at Nvidia, AppFolio, DAQRI and currently at Shopify, reflects on almost four decades of software development and offers thirteen pieces of advice for aspiring programmers.
1. It’s Never Too Late to Start
Whether you begin at 20, 30, 40 or even 50, you can become a better programmer than an 18‑year‑old after ten years of practice. Age is not a barrier; diverse life experience can accelerate learning.
2. Try Many Types of Programming
Write any kind of software you can. Experimenting with different domains prevents your thinking from becoming rigid and teaches you a wide range of skills.
3. Don’t Fear Slow Returns
Even obscure languages like the old MUD language DGD can teach concepts that later become valuable, such as ideas that influenced Ruby on Rails and database programming.
4. Find What Attracts You About the Work
Identify the aspects of coding that give you satisfaction and motivation; without a personal hook, the job can become exhausting.
5. Treat Coding Like Keeping a Diary, Not a Sprint
Don’t over‑plan every detail. Embrace the long‑term journey, learn from mistakes, and recognize that every experience adds value to your personal “code diary.”
6. Separate Work from Career
Software development can be a great job, but it’s distinct from a career. Advice about the job may not apply to the broader career path.
7. Learning Order Doesn’t Matter
The specific sequence of languages or technologies you learn is less important than continuously building and refining your foundation.
8. Excellence Makes You Different
Experienced engineers develop unique strengths beyond generic skill checklists; focus on what sets you apart, such as open‑source contributions or leading projects.
9. Learn by Doing
Start by building usable software, make mistakes, then iterate between practice and theory to solidify understanding.
10. Master Both Technical and Non‑Technical Skills
Learning at least one functional language and exploring peripheral technologies broadens insight and problem‑solving ability.
11. Borrow Ideas from Other Fields
Study practices from art, music, aviation, construction, and medicine to gain fresh perspectives on problem solving.
12. Don’t Reinvent the Wheel Unnecessarily
Focus on creating new value rather than repeatedly recreating existing solutions; use existing tools to automate repetitive tasks.
13. Just Keep Doing It
Consistent coding over decades sustains your identity as a programmer; perseverance is the most important factor for a long‑term career.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
