Self-check before applying for a software engineering job

So you'd like to work as a software engineer, and are about to apply for a job. And you've already confident you can answer common interview questions. What else can you do to get ready?

Here's an exercise that might be helpful:

  1. Find some simple unix utility, e.g. cmp, expr, or od (these come for free with Linux and MacOSX, and can be gotten on Windows for free by installing Cygwin)
  2. Try using them a little; get comfortable with their simplest uses (no fancy options)
  3. Write a test for the utility, in your favorite scripting language, that prints PASS or FAIL at the end (and terminates with nonzero status on failure).
    1. Start with a very short script (say, 15 lines) that checks just one of the utility's most basic functions
    2. Get the test to pass
    3. Add another test case to the script and get it to pass again.
    4. Repeat a couple times until your test script has a handful of test cases (but is still short; 30 or so lines should do)
  4. Finally, implement a simple version of the utility in the language you want to use at the job (Python, C++, Java, whatever), and make it pass the test you wrote above.
Repeat with several utilities (and maybe several languages) until you're comfortable doing it from start to finish in two hours.

If you can do that, you'll probably pass any paper-bag programming test they can throw at you.

Last Change 4 Dec 2014
(C) Dan Kegel

[Return to "How To Get Hired -- What CS Students Need to Know"]