So you wanna be a developer, huh?
Awesome! Software engineering is a stable, well-paid and rewarding career. According to the Bureau of Labor Statistics, employment in this field is expected to see a 21% growth rate between 2018 and 2028. To put that in perspective: the expected growth rate during that period for nearly every other industry is 5%! Not only that, the median salary for a developer in 2018 was $103K.
There is no doubt that learning software development skills in this economy is a good move – and with the rise of education alternatives like MOOCs, coding bootcamps and University extension courses, there has never been more information available to help you learn them.
But that mass of information can be overwhelming to a beginner! Where do you start? Which resources are the most helpful? Which skills are the most important?
How do you go from this
I’ve gone through this transition myself. Three years ago I was a musician. Today I am a full-time full stack web developer making $140K a year for a Silicon Valley startup. Here are the top 5 skills I learned that got me hired as a web dev.
1. Data Structures and Algorithms
There is no getting around this one. If you do not have some foundational computer science knowledge under your belt, the rest of your skills won’t mean jack. Not only do you need this foundation to build your other skills, but any company you apply to is going to want you to perform some kind of algorithmic coding challenge during your interview. You need to know what objects and arrays are. You need to know when and how to use these data structures – and others – to solve problems. A basic understanding of space and time complexity is also important.
Do words like “algorithm” and “time complexity” freak you out? Don’t panic! These concepts are not actually so difficult to grasp once you start digging into them. But it will take time and practice for you to be able to apply them – so grab yourself a copy of Cracking the Coding Interview and start studying now!
2. How the Web Works
This seems like a no-brainer, right? Start reading up (or watching some videos) on how the internet functions. What are the systems and processes that move information? At a basic level, you will need to know what the following terms mean:
- REST methods
- the DOM
- client/server architecture
I don’t advocate jumping on the bandwagon for every new framework, library or piece of tech that comes out – you can drive yourself crazy trying to keep up, and solid foundations are always more important. However, this one is a biggie for frontend developers. React was developed by Facebook and is available through open source. It is the most loved web framework in the world. It has been around for 6 years now, so it’s well known, stable, continually updated and well-maintained. There are certainly other frameworks that you can and should learn throughout your career, but if you’re looking for one to start with, this is your best bet.
5. A Can-Do Attitude
Honestly, this should be bullet point one. People often talk about “soft-skills” as though they play second fiddle to tech skills. Rest assured: they do not. You will need to be tenacious, self-motivated, patient and enthusiastic as a developer. Further, you will be expected to learn on the job almost daily and they’ll throw you into code bases written in languages that you have never seen before and expected to “figure it out.” One of the most important skills you can possess as an engineer is the ability to know when to reach out for help, and when to simply beat your head against a problem until you come up with a solution on your own. You should always be ready to jump on a task, fix a bug, write a new feature or do whatever is needed to support your team or move a project forward.
Luckily, this attitude can be learned! Practice this “can-do” mentality by studying regularly, breaking tasks down into small chunks and reaching out to other developers for help when you need it.
Getting hired is just the first step in a long, fascinating journey. There are many more skills you will learn throughout your career as a developer. But these 5 skills will build the foundation you need to get hired and get that journey started. Have questions? Ask them in the comments below!