Published Jan 28, 2016

How to be a Programmer

    Explore the intricacies of software development in this episode, covering estimation challenges, coding best practices, and the essential skills for growth such as effective communication and dealing with difficult people, while also delving into the mental health struggles faced by programmers and how to maintain well-being in the tech industry.
    Episode Highlights
    Coding Blocks logo

    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