How to be a Programmer

Topics covered
Popular Clips
Episode Highlights
Design Skills
Acquiring software design skills is a nuanced journey that requires both mentorship and practical experience. Alan Underwood emphasizes the importance of learning from experienced mentors by observing their processes and applying those insights to small projects 1. This approach helps in understanding the art of software design, which is not merely about aesthetics but about creating robust and functional software. Michael Outlaw notes, "Design is a matter of judgment that takes years to acquire," highlighting the importance of patience and openness to different design philosophies.
Design is a matter of judgment that takes years to acquire.
--- Michael Outlaw
The discussion also touches on the dangers of becoming dogmatic about design styles, encouraging developers to remain flexible and open to new ideas 1.
  Â
Communication
Effective communication is crucial for developers to leverage people as valuable information sources. Michael Outlaw stresses the importance of respecting both your own and others' time, suggesting that the time spent communicating should depend on the individual's role rather than their position 2. This nuanced approach helps in building a network of knowledge within an organization, fostering better understanding and collaboration. Alan Underwood adds that engaging with different levels of management can provide visibility and insight beyond one's immediate tasks.
The amount of time you spend talking to each person in your organization depends on their role more than their position.
--- Alan Underwood
Such strategies not only enhance personal growth but also contribute to a more cohesive and informed team environment 2.
  Â
Difficult People
Navigating interactions with difficult colleagues is a vital skill in programming. Alan Underwood points out that staying calm and patient is key when dealing with challenging personalities 3. Michael Outlaw underscores the necessity of teamwork, emphasizing that collaboration is essential for success and that setting boundaries is crucial to maintaining a healthy work environment.
Ultimately, you guys, you have to work together as a team.
--- Michael Outlaw
The conversation also highlights the importance of standing firm on one's points while being willing to accept team decisions, encapsulated in the phrase "disagree, commit" 3.
Related Episodes
How to be an Advanced Programmer
Answers 383 questionsHow to be an Intermediate Programmer
Answers 383 questionsThe Pragmatic Programmer - How to Generate Code
Answers 383 questionsClean Code - How to Write Amazing Functions
Answers 383 questionsYou Asked For It
Answers 383 questions

What do you want to be when you grow up?
Answers 383 questions
Tackling Tough Developer Questions
Answers 383 questions

The Pragmatic Programmer - How to Debug
Answers 383 questionsThe Pragmatic Programmer - How to Estimate
Answers 383 questionsClean Code - Formatting Matters
Answers 383 questionsDesign Patterns Part 1
Answers 383 questions

Clean Code - How to Write Classes the Right Way
Answers 383 questions

How to Jumpstart Your Next App
Answers 383 questions86. Lightning Talks
Answers 383 questions

The Pragmatic Programmer - Tracer Bullets and Prototyping
Answers 383 questions
