Slashdot Mirror


Ask Slashdot: How Do You Make Novice Programmers More Professional?

Slashdot reader peetm describes himself as a software engineer, programmer, lecturer, and old man. But how can he teach the next generation how to code more professionally? I have to put together a three-hour (maximum) workshop for novice programmers -- people with mostly no formal training and who are probably flying by the seat of their pants (and quite possibly dangerous in doing so). I want to encourage them to think more as a professional developer would. Ideally, I want to give them some sort of practicals to do to articulate and demonstrate this, rather than just "present" stuff on best practices... If you were putting this together, what would you say and include?
This raises the question of not only what you'd teach -- whether it's variable naming, modular programming, test-driven development, or the importance of commenting -- but also how you'd teach it. So leave your best answers in the comments. How do you make novice programmers more professional?

1 of 347 comments (clear)

  1. Re:Focus on a few key things by ShanghaiBill · · Score: 5, Informative

    Could we get a full list of those books?

    This is the list I currently use. I welcome additional recommendations. What CS books have you read recently that you really wished you had read 10 years ago?

    Programming:
    Clean Code
    Code Complete
    Programming Pearls
    The Pragmatic Programmer
    Regular Expressions
    Algorithms by Robert Sedgewick
    Introduction to Algorithms by Tom Cormen
    Hacker's Delight by Henry Warren

    Interface design:
    Don't Make Me Think
    The Design of Everyday Things
    Microinteractions

    Software Engineering:
    The Mythical Man-Month
    Joel on Software
    Test Driven Development

    Theory:
    The Turing Omnibus
    Deep Learning, by Goodfellow, Bengio, Courville
    Concrete Mathematics by Donald Knuth
    Physics for Game Developers
    Computability, Complexity, and Languages