Many of my friends are younger than me and seeking gainful employment in business and science-related fields. This article is dedicated to them!
This blog post isn’t going to focus on interview techniques, dressing nicely, or how to format your resume. I’m presuming that you already know how to do most of that, and if you don’t, that’s something you should take to a career counselor and your local tailor. Believe me when I say that most of that is overrated; companies value the content you’ve already produced and how you solve problems far more than whether or not your pocket square matches your tie. No, this blog post will focus on a highly-prized skill that many of my young friends are ignoring: Programming.
Yeah, programming. That’s right. Writing lines of code to do things and all that. Learning a new language.
“But I don’t want to do that,” you opine, “I’m not trying to be a developer! I’m just trying to get an entry-level position as a Business Analyst | Economist | Statistician | Lab Researcher | Production Engineer | Account Executive.” Well, too bad, because smart businesses are quickly moving towards data-driven decisions.
Ian Ayers wrote about this in his excellent book, Super Crunchers. Ayers contends that we’re on the forefront of a new revolution – that the major technological strides we’ve made in data storage are being put to good use. Large databases that hold tons of customer data, biochemical information, physics equations, marketing data, and even data about whether or not a movie can be successful based simply on a few plot markers, the title, and characters’ names are being constantly mined and processed to make new conclusions automatically. No longer do we have to rely on so-called “experts” who spend years in academia and come with ego problems; just give us the damn data and we’ll figure it out on our own!
Crunching large data sets to figure out answers is becoming standard in the business world – no longer do companies have the budget to spend on developers and statisticians to give them the answers they need over the course of days or weeks; companies now want entry-level employees who can write basic SQL queries, write scripts in Excel/Perl/PHP/AutoHotKey, and can take information from developers who are socially-backwards and make it intelligible to business units!
“But I have no programming skills! What the hell am I going to do?”
The obvious answer, of course, is: Develop Some. But it’s not that simple; at least, it’s not that easy for someone like me. My father purchased me a copy of Visual Basic 4 when I was in 7th grade due to my constant pestering. I loved programming in QBASIC to make simple text-based adventures, and I figured the upgrade to VB4 and learning all about GUIs would be a great opportunity for me. The reality of the situation was a lot different: I installed the software, tooled around with the complicated interface, read 10% of the mammoth manual that came with it, and promptly gave it up and concluded I hated programming. If you’re anything like me, picking up skills for the sake of learning new things is simply not something that sticks around for very long. You need a purpose to learn new skills – be it a class you have to pass, a project you need to complete, or a personal goal you’ve set for yourself. But doing things because you figure you ought to do them doesn’t typically succeed very well – this is the problem that many people have with “working out.” Sure, you go to the gym for a few weeks and aimlessly sit on some machines – or maybe you get through a week or two of P90x – but you have no clearly defined goals for yourself. As such, you eventually lose focus and stop, only to pick it back up again in a few months, thinking “This time it’ll be different.”
So, with that in mind, here’s my advice for the young professional who wants to add on some programming experience to his resume:
- Think of a project you want to do. It could be extremely simple – something like “I want to create a database full of baseball statistics” or “I want to make a blog.” Think of something that interests you, preferably something you have to do manually all the time. Programming is great for automating these types of monotonous tasks.
- Work backwards. Solve the problem logically – even if you don’t have any idea how to write a single line of PHP, write out a flowchart that solves the problem. Let’s take the database full of statistics idea and run with it as an example:
- “I need to find a good repository of baseball statistics that I can download.” Google searching eventually finds you the Lahman database. Boom, solved.
- “I need to figure out how to get the stats out of the database.” Again, your Google-fu turns up some tutorials on MySQL. This one’s even paired with a PHP tutorial!
- “I need to figure out how to display the stats on a web page.” That last link turns up some internal links that give you an idea of how to program in PHP. Cool.
- “I need to figure out how to make the web page accessible to the Internet to show off my awesome project!” Enter the concept of shared hosting on a LAMP server.
- Execute. Download that Lahman database, do some simple queries to prove that you can figure out how to get data out of a database, then write some local PHP scripts to get data out on a web page. Guess what – that probably took 2 hours, and now you’re a programmer! Seriously. Well, a basic PHP scripter, but you get the gist of it.
- That’s it! Companies don’t want you to have advanced developer skills. They just want to know that you can run a few commands in Linux, diagnose simple problems with existing architecture, can write a query or two, and maybe even write a script to help out your co-workers with monotonous tasks.
I recommend learning all about the LAMP stack and messing around with a Linux environment (I prefer Ubuntu for beginners) through a Virtual Machine. A virtual machine is a machine that runs on your computer, letting you try out new operating systems without damaging the one you’re running now. VirtualBox is a free option and works well.
Data-driven decisions are taking over the business world. Doing things on “feel” and “gut” are unreliable and typically dead wrong. When collected appropriately, data can tell us the whole story. Most young professionals have some exposure to Excel and understand simple statistics – programming is a basic extension of those skill sets and comes naturally. Learn it, love it, and develop it. Hiring managers will put your resume at the top of the stack when they see you can interface with the dev team without your face going blank.