I get a lot of questions from new coders who are just taking their first steps into the wide world of software development. These questions typically range from job availability, what language they should learn first, or how I became a developer.
For background, I started out as a musician and got into software development in my early 30s. I pretty much had all the same questions when I was getting my start. There’s a lot of stress and tension when you’re making a decision as big as changing careers. First let me say this – take a breath. It’s not as bad as it seems. I’d like to focus on some of the technical advice I received and now give to the padawan learners I encounter (for you non-Star Wars fans, padawan = beginner)
- Follow the Error Message
Every language has some mechanism to let you know when things go wrong and to try to help you figure out where it went off the rails. Server-side languages like Java have a compiler. In the browser, we have the console located in the developer tools. My first question to any new student who is having a specific problem is ‘What does the console (or compiler) say?’ Granted, there is a certain skill that a new developer has to develop to read error messages, but some of them are pretty easy! If a file is missing from a project or not properly referenced, an error message will tell you. Now you have a much shorter list of places to look for the issue. Even if you go from one error message to another different error message, that’s progress. It doesn’t always feel like it, but it is progress. Follow the errors.
- Love GoogleSince software development is being officially renamed to “Googling StackOverflow,” you should probably get good at using the planet’s most popular search engine. I’m going to tell you a secret but you need to keep it just between us. I don’t know everything. That may come as a shock but it’s true. When I don’t know something I google it. When every other professional developer doesn’t know something they google it. I had a student ask me once if there was a jQuery plugin for lightboxes. This was my response. I didn’t respond that way to be mean; but to demonstrate that I don’t always know and google is how I find out. As a developer, you are not expected to just know everything. You are, however, expected to know how to find out.
- Learn Version Control
Version control is the thing that keeps team members from murdering one another. It follows that it is something you should become acquainted with. This is something we really stress at Grand Circus (see #2). The reason for this is that version control is not something that is usually taught as a baseline skill in academia. I am sure there are exceptions. As is the case with most of our students with no background in Computer Science, they’ve usually never been exposed to it. Version control is arguably the single most important tool you will need on the job as a developer. No matter what language or technology you’re programming in, you will need version control. At Grand Circus we favor git and Github. These are fast-becoming the industry standard for version control even in large companies. They are the standard for all major open-source projects. The catch is that there is a non-trivial learning curve for both. I took about 3 or 4 good tries to understand git when I was starting out, so don’t be discouraged. The good news is there are a great number of helpful resources out on the internet. What are they? See point number 2 or check out Aisha’s recent blog post, “A Friendly Intro to Version Control.”
So there you have it! Three pieces of great advice that I would probably give you if you asked me for advice in person. I have to say this was a bit more convenient. I like this arrangement. I really think this internet thing is going places!