Even in a buoyant tech careers market, there’s no bulletproof path to getting hired. Secret CEO (via Google and Square) David Byttow claims to have interviewed (and remembered) 500 software engineers, roughly 10 per cent of whom received offers. His advice? “ABC – Always Be Coding”.
Byttow follows up with a combination of technical and general tips for success in your software engineering career and interviews in general, including:
“Always be Coding.” As in, the more you do anything, the better you become at it. But practice is only valuable if it has focus and purpose. As Byttow says, “Have goals in mind… challenge yourself… develop a portfolio of both unfinished and finished projects… having an eclectic body of work is huge.”
Become a master
“Master at least one multi-paradigm language.” The obvious candidates are C#, C++, Java, PHP, Python and Ruby – anything with an active community running a lot of production code – the code you’re going to read so much of and learn the best practices and common pitfalls for. Don’t be too hard on yourself, though – as Byttow says, even Bjarne Stroustrap himself would probably only rate himself an “8 or less” for his knowledge of C++.
Master at least one multi-paradigm language. The obvious candidates are C#, C++, Java, PHP, Python and Ruby.
Do the time
Instead of just browsing online for answers to questions you *might* be asked at a high-profile tech company, learn by doing. Spend at least 40 hours coding solutions to different types of real problems – Byttow recommends TopCoder for a selection of challenging problems that will test your skills, along with archived problems you can learn from.
Know the journey
Byttow believes the design, planning and testing of code you’re about to release is the hardest part of being an engineer – “Make your interviewer understand that you know that programming is just a means to an end.”
Take dry runs
Practice coding on a whiteboard and pair-programming. There’s a good chance you’ll be asked to perform one or both at some point in an interview and it can be daunting, so get used to it. On a related note, never be afraid to ask questions about the problem that’s put to you – be 100 per cent certain, “There are a number of times where I’ve seen a candidate go down some path, never ask a question and ultimately waste time solving the wrong problem.”
Show them you get them
This is particularly important when interviewing for smaller companies, but it’s important to show that you know about the company you’re interviewing at – why they exist, what they do, what they don’t do, what they believe sets them apart… “Engineers who care about the hires they make will smell it a mile away” if you don’t know these things.
Most of all…
ABC. Because, as Byttow says, the best thing any engineer can to is always be coding.
You can read the full post, “Always be Coding: How to Land an Engineering Job” with all of Byttow’s recommendations here.