1.1. Know Yourself

Stereotypes to the contrary, all programmers are not alike. Knowing what kind of programmer you are is crucial to finding the right kind of job. While you can probably do many different kinds of programming tasks, they won't all turn your crank in the same manner. Doing something you don't really enjoy is fine on a short-term basis, but you need to be interested in and excited by what you're doing to sustain you over the long term. The best programmers are passionate about their work, and you can't truly be passionate about something that's only moderately interesting to you.

If you're not sure what you like or dislike, ask yourself some questions:

  • Are you a systems programmer or an application developer? Systems programmers work on the code that keeps computer systems running: frameworks, tools, compilers, drivers, servers, and so on. Other programmers are their primary audience, and there's little interaction with nonprogrammers. Application developers, on the other hand, work on the pieces that those nonprogrammers use to do their own work, and there's often more interaction with nontechnical people.

  • Do you like coding user interfaces? If so, and if you're skilled at it, consider yourself lucky. User interface design is finicky work, easy to criticize, and hard to do well, especially when internationalization and accessibility issues are taken into account.

  • Are you a good debugger? If you think finding problems in your own code is bad enough, imagine what it's ...

Get Programming Interviews Exposed: Secrets to Landing Your Next Job, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.