User Tools

Site Tools


software_engineering:employment

Finding Employment in Software Engineering

Introduction

Currently, I'm employed as a Software Engineer in the Washington, D.C. area. I've left a lot of the text and links on this page as is to remind myself to continue to improve and program the hard problems. Hopefully, future searches won't be necessary and if they are they will be short.

General Advise

  • An Unconentional Guide – Julia has some very good advice and includes information on salary negotiation, etc.
  • Joel's Guerrilla Interviewing – Joel on Software is just good reading. This article is geared towards interviewing and what he looks for when hiring programmers. I'll give you a preview: smart and gets things done. Joel, if you ever open offices outside of New York City I may be the first to apply.
  • Advice from Dan Kegel – Dan has good advice on what to know to get hired and how to build you portfolio.
  • Programming Interview Tips – Tips from Philip Guo dated September 2011. His advice is very sage, i.e. “I don't care how smart you are; there is simply NO SUBSTITUTE for practicing a ton of problems.” He recommends the two books I already had and then points toward the linked list and other computer science exercises for free on the Stanford web site.

Books to Read

I've found the following two books to be invaluable in preparing for programming job interviews so far.

  • Programming Interviews Exposed – I own the 2nd edition and it contained a problem I encountered at the first interview in my adult life. I wish I had it before that interview, I may have done better.
  • Cracking the Coding Interview – To be honest I've not spent enough time with Gayle's book, yet. I really like her style in the couple of chapters I've read and will be working the problems in short order.

Books I have and need to finish:

  • Getting Things Done – David Allen's book on his system for increasing your productivity. I obviously haven't implemented, yet or I would be vastly more productive than I am currently. Yes, that is a huge assumption.
  • Head First Design Patterns – Need at least a rudimentary understanding of design patterns. This will help not only with interview questions and problems but with designing and writing software in general.

Sites for Programming Problems

  • HackerRank – One of my favorite sites for doing programming problems.
  • Project Euler – A site full of mathematical problems to solve. I've only solved 25 but I intend to do more. Just plain fun.
  • LeetCode – Coding problems from technical interviews.
  • Google Code Jam – Practice your skills using their problem set
  • The Python Challenge – The first programming riddle on the net
  • StackOverflow Suggestions – A listing of some sites with problem sets for solving, although it is closed it did provide some good links
  • OpenHatch – Learn open source tools and find open source projects to contribute to.
  • Software Carpentry – Helping scientist learn programming, it has some decent walk throughs and I'm still exploring.

Portfolio

Currently, the extent of my portfolio is on GitHub and really likes breadth. I need to expand it and start contributing to Open Source projects. One thing I could expand it with is a page on Project Euler and the problems I've worked. The problem is that opens up some solutions to the problems others could use. This sort of defeats the purpose Project Euler but “real”/“true” users wouldn't use it any ways.

software_engineering/employment.txt · Last modified: 2015/08/21 13:27 by lowcloudnine