How can you be a great programmer?


To be a great programmer, several key attributes and practices are essential:

  1. Curiosity: A good programmer is curious and interested in how things work. This curiosity drives them to explore and improve continually 1.

  2. Understanding Over Blind Implementation: When using existing code (e.g., from Stack Overflow), it's important to understand what the code does, not just copy it. This deepens understanding and skills 2.

  3. Problem Decomposition: Breaking down problems into manageable pieces is crucial. This means defining clear inputs and outputs before coding, which helps in creating effective solutions 1.

  4. Continuous Learning: Emphasis on learning and being open to not knowing everything is essential. This perspective fuels ongoing improvement and adaptation 3.

    Productive Programming

    Travis Oliphant shares insights on what makes a good and productive programmer. He emphasizes the importance of curiosity and adapting programming to one's skills. Breaking down problems into smaller parts, defining inputs and outputs, and using other people's work are also essential for making progress.

    Lex Fridman Podcast

    Travis Oliphant: NumPy, SciPy, Anaconda, Python & Scientific Programming | Lex Fridman Podcast #224
  5. Avoiding Hype Cycles: It’s easy to get caught up in the latest trends or methods. Skepticism towards these and a balanced approach can lead to better long-term programming practices 2.

  6. Iteration and Experimentation: Great achievements in programming often come from continuous iteration and not being afraid to fail initially. It’s important to tackle problems deeply rather than giving up prematurely 2.

These insights reflect a blend of technical skills and soft skills, showing that great programming requires both sharp technical acumen and a well-rounded personal development approach.