How to Become a Better Programmer: Practical Tips from a Veteran Engineer
In this reflective guide, former Mozilla engineer James Long shares personal insights and actionable advice—ranging from finding mentors without idolizing them to tackling big projects and exploring new languages—to help programmers continuously improve their skills and mindset.
At React Conf, James Long, a former Mozilla engineer, shares the lessons he has learned over a decade of programming to help others become better developers.
Find inspiring people, but don’t idolize them – Follow experts to learn new techniques, but remember they are ordinary people who solve problems with ordinary tools.
Don’t belittle your work – Even newcomers can offer valuable ideas; every attempt, successful or not, contributes to community knowledge.
Avoid constant pressure – Resting improves clarity and creativity; not every new technology requires immediate adoption.
Ignore unnutritious content – Focus time on deep concepts rather than superficial syntax or API variations that offer little long‑term benefit.
Research past work before starting – Reviewing existing solutions can dramatically reshape your approach; learning to read academic papers is valuable.
Take on large projects – Tackling ambitious challenges, like building a compiler, teaches more than small tasks.
Learn a new language – Studying languages such as Scheme forces functional thinking and a deeper understanding of code execution.
Below is a list of concrete recommendations that have profoundly impacted the author’s career:
Learn C – A solid foundation in C is essential for understanding low‑level concepts.
Write a compiler – Building a compiler pushes you out of your comfort zone and teaches core principles.
Explore macros – Study Scheme, Lisp, or Clojure to see how macros can change your view of code.
Read SICP – The classic "Structure and Interpretation of Computer Programs" remains valuable for grasping fundamental ideas.
Read "Lisp In Small Pieces" – An in‑depth look at building interpreters and compilers.
Understand continuations – Scheme’s continuation support offers a unique perspective on control flow.
Try new languages – Experiment with Clojure, Rust, Elm, OCaml/Reason, Go, or Scheme to broaden your thinking.
By following these practices, you can steadily improve as a programmer and develop a mindset that embraces continuous learning.
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.
