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

    • Documentation

      Effective documentation is crucial in programming, yet often overlooked. Michael Outlaw emphasizes the importance of writing documentation that is both useful and truthful, warning that poorly written documentation can mislead developers 1. Joe Zack adds that self-explanatory code is preferable to extensive documentation, as it reduces the risk of discrepancies between code and comments 2. Alan Underwood supports this by highlighting the pitfalls of bad documentation, using PayPal's API as an example of how contradictory information can lead to confusion 2.

         

      Debugging

      Debugging is an essential skill for programmers, with various techniques available to tackle complex issues. Joe Zack introduces the 'granny method,' a last-resort debugging strategy involving systematically removing code sections to identify problems 3. This method is often paired with print lining, where developers insert print statements to gain insights into code behavior 4. Alan Underwood notes that while these techniques can be effective, they are typically used when other debugging methods have failed 4.

         

      Memory Management

      Understanding memory management is vital for optimizing software performance. Joe Zack discusses the differences between stack and heap memory, emphasizing the importance of garbage collection in managing resources 5. Michael Outlaw suggests that improving input/output operations can often yield greater performance benefits than optimizing loops 6. Alan Underwood highlights that while functional languages manage memory efficiently, object-oriented languages still dominate the industry, making memory management skills essential 5.

    Related Episodes