This is the second article in our “12 Dos and Don’ts of becoming a Web Developer” series.
Being a web developer isn’t like being a doctor. There isn’t some basic minimum you need to know in order to get licensed as a professional; there’s nothing to stop someone who has re-skinned a WordPress theme or two from giving himself or herself the same title as someone who has been working on enterprise-level websites for a decade.
If you want to be hired somewhere as a web developer, especially as a junior developer, it’s expected that you’ll do a lot of learning on the job — and this is a good thing! There’s nothing like spending eight to ten hours a day writing code on someone else’s dime to make you really learn how to figure out programming solutions. However, if you want to get a job as a web developer — and be really useful on a team without pissing off people more senior than you — there’s a few things I would absolutely recommend you have a solid grasp of, or you’ll end up feeling like this:
1) HTML/CSS: It’s okay if you can’t remember the exact tag for a table cell and need to take a quick peek at Google. Painstakingly memorizing the exact syntax of hundreds, if not thousands, of little pieces of markup and code is not only extremely difficult, but sort of a waste of time, since it’s very easy to look up — so put the flashcards away. However, if you want to be a web developer, you should absolutely be comfortable with hand-coding both HTML and CSS (in an honest-to-goodness text editor, not Dreamweaver, Frontpage, or another program that does the work for you.) This is an absolute must with no wiggle room; if you don’t know what a h1 tag does or what “float: right” means, you need to work on your basics (and that’s okay. You’ll get there, buddy!)
2) The programming “parts of speech”: You might not be an expert programmer yet, and that’s cool, but you should know the most common data types you’ll run across in any programming language. You need to know, at the very, very minimum, the syntax for each of these in your language of choice and what they do:
If any of these are foreign to you, you should spend a bit more time with some beginner resources. If you don’t understand what these things are, you aren’t going to be able to write your own code (and copy-pasting from Stack Overflow doesn’t count), and more importantly, you’re not going to be able to troubleshoot the error messages that your browser is going to vomit back up at you.
The good news is that these terms pretty much mean the same thing across all languages, so learn them once and they’ll continue to be useful to you later. (I will have an entirely different article on resources soon, but for a really good, albeit Ruby-flavored, explanation of programming syntax, you should read chapter 3 of Why’s Poignant Guide to Ruby.)
3) Version control, ideally Git: another must-know, especially if you’re going to be working on a team. Git lets you save versions your code to a repository (ever hear of Github?), which not only lets you back up your code (and revert if you break something) but also create separate “branches” to work on features while leaving your main codebase untouched. Git also lets you integrate your work with that of other members of your team without worrying about overwriting each other’s code. There’s a bit of a steep learning curve for a beginner, but it’s well-worth the time investment, especially in the early stages when you won’t be breaking anyone’s code but yours. In a future article, I will link several awesome (and free!) resources for mastering Git, so be sure to check back.
If you have a solid grasp of this skill when starting a job, your new teammates will love you. Oh, and learn how to use it in the command line instead of a program like Sourcetree, which can really mess up your repository and make your new teammates hate you. Which leads me to my next point:
4) The command line (especially if you’re on a Mac or Linux): Yes, I know that green-on-black window is super scary. But handling things in the Command Line Interface (CLI) versus a Graphical User Interface (GUI) is like riding a bike with or without training wheels. Yes, training wheels are totally rad when you’re four years old (and maybe streamers and a kickass bell too), but they’re just going to hold you back as an adult (and everyone will secretly judge you.)
Embrace the power of the command line, young padawan. You’re totally going to need to use it at some point (AKA every day of your life) if you’re halfway serious about this programming thing, and the first time to open the terminal in your life shouldn’t be at your first job when you have a senior developer standing over your shoulder to help you troubleshoot. Spend some time practicing moving around between directories and manipulating files instead of just opening Finder the next time you need to do something. It will make you far more efficient in the long run, I promise.
Like I said before, nobody expects you to know everything on day one, but the stronger a foundation of the basics that you have, the easier it’s going to be to build new skills upon it. And how do you learn these skills, you ask? Be sure to check out my next two articles, and I’ll tell you why you don’t need to spend thousands of dollars to become a web developer and direct you toward some awesome resources to get you started.
Articles in this series:
- Don’t: Spend too much time picking what language to learn
- Do: Make sure you have a solid grasp of the basics — AKA how to keep other developers from hating you
- Don’t: Feel like you need a traditional education
- Do: Invest some money in educational resources
- Don’t: Get caught in tutorial paralysis
- Do: Set up a Github account and push some code