Sunday, September 18, 2016

Finally an opportunity to prove myself.

Tomorrow is gonna be big. I'm having my very first training meeting with one of the test automation team leads. There's been a lot of preparation leading up to this and its finally time to start proving myself.

This is a situation that all self-taught programmers eventually face. Spending countless hours of personal time coding through online tutorials, book problems, and side projects will finally culminate to the moment that you can show your stuff to an interviewer and potential employer.

This begs the question: "when am I ready?"

When working through a traditional CS degree these steps are typically a little more straightforward. Go to university, start out in the CS program, apply for internships junior and senior year, and upon graduation start applying for jobs. So what happens if you're 26 years old, have a pre-med bachelors degree, and realize coding is your true passion?

If I had all the answers to this I would be writing a different kind of blog. Maybe when I'm on the other side of this and hacking for a living I'll spell it out for you guys. I'm right in the trenches with you. And full disclosure, I'm not heading into an interview tomorrow. Things are quite as intimidating as that. My company needs more automation engineers that are familiar with the product and that have prior QA experience. I think they'll be a little more forgiving of my shortcomings than an average cold interviewer. But that day is going to come. The day that I walk into a white-boarding interview and answer questions about algorithms and FizzBuzz.

So back to the question that was begged for. When will you be ready? There isn't one answer for everybody but I have a couple thoughts on the matter.

Learn the syntax and the ins and outs of an OOP language. It could be Ruby, Python, C++, Java, Javascript, ect. I chose Python because I've heard its a very beginner friendly language. If you are interested in a certain type of programming career then research which programming language will be the most useful and go with that.

Once you start feeling somewhat comfortable with the syntax start doing side projects. These should start out small and slowly ramp up as you continue to learn how to use new tools and techniques. These side projects and the material they cover will by far be the most important thing prospective employers will see so make sure you take it seriously. Lots of good ideas for side projects can be found HERE.

Take the projects that you are proud of and put together a portfolio, preferably on the website Github.com (more on that in a future post).

Once you've amassed a sizable portfolio focus your attention on interview prep. Interviews in this industry are unlike any other. You will be expected to demonstrate not only your knowledge but your ability to think on your feet under pressure. There are a lot of resources to begin prep. My recommendation (based on very little experience) is working through the book Cracking the Coding Interview.

After some of the more difficult problems become solvable, you're ready to start applying for jobs! Because of the lack of degree and experience you'll want to apply to a lot of them. By a lot I mean dozens every week. You'll get interviews, you'll rock the interview, and you'll lock down the job I just know it!

I'd like to get more in depth on each of these steps as I continue to write in this blog. In the meantime, wish me luck for tomorrow!

No comments:

Post a Comment