Preface
So you’ve decided you have an interest in development. Be it software development, web development or building phone apps professionally, you began looking into whether this could be a viable career path for you. I am here to hopefully illuminate what this field entails, the challenges you will face, and the myths surrounding being a developer.
Why should you listen to some random blog post on the internet?
Because I was you. I was a construction worker with no bachelor’s degree terrified with the idea that I would never be able to do this. I had a lifelong interest in building computer programs and wanted to do it professionally for a long time. I thought I wasn’t good enough, wasn’t smart enough, wasn’t cut out for it. I couldn’t be more wrong. I invested my time, made a lot of mistakes and eventually landed my first internship for a small web dev shop. I gave myself to this field, and now work a full-time job as a software developer for a major news network.
What Kind of Developer are you trying to be?
Before I begin to talk about what will be required of you, you need to first figure out what kind of developer your trying to be. A “Developer” is a very general term. There are many kinds of developers that exist. Here is a short list of different types of development categories:
- Software Developer – A software developer is a more general vocation that encapsulates many technologies. A software developer is usually familiar with web technologies as well as other different environments. Technologies this field will usually require: HTML/CSS, JavaScript, a back-end programming language, and a database
- Front-end Developer – This title mostly pertains to web development. A front-end developer focuses on the client-facing aspects of a website or web application. This includes how the interface behaves with the user, how information is displayed to the user, as well as the general flow of an application’s behavior. Technologies that this field will usually require: HTML/CSS, JavaScript, and usually one front-end framework.
- Back-end Developer – A back-end developer usually pertains to web development. A back-end developer focuses on the inner workings of a website or web application. This includes how data is saved to a database, how data from the database is accessed, and other internal behaviors of an application that a user usually does not see.
There are many more titles of including developers for specific platforms (WordPress developer, Magento Developer, etc.). The point is there is a huge variety of jobs in this field. You just need to do research on what piques your interests.
What is Required of You
You need to constantly be learning and researching
This will be unavoidable. To be a part of this field you will need to always be caught up with technology trends that are in your industry. You DO NOT need to know every technique, methodology, technology, programming language etc. Just be aware they exist and try to get a feel of how prevalent these trending techniques and technologies may be in your particular industry. And most important: practice, practice, practice.
You need to enjoy solving problems
This field as a whole revolves around solving problems. That’s basically what you will be doing all day. You need to be comfortable with sitting in front of a computer trying to solve a problem that can take hours, days or longer to solve.
You need to accept that you will never learn everything
That’s the truth. You will never reach a point of knowing everything. You will always learn something new every day, and although your experience will continue to grow and you will solve bigger and bigger problems, you will never reach maximum threshold. There are endless topics to learn, and you can’t learn it all. That’s in my opinion, one of the things that make this field so awesome.
Most importantly, you need to enjoy what you do
The requirement that outweighs all others. To prosper in this field, you need to enjoy it. You need to show enthusiasm in what you’re doing. You must show a willingness to learn. Progress won’t happen if you don’t enjoy this type of work.
Debunking Common Misconceptions
You need a degree to be able to get a programming / development job
100% false. You can find work in this field with or without a relevant degree. I will not lie to you, without a degree, you will need to work a bit harder to get your first job in the field, but otherwise you should be fine. But of course, getting a relevant computer science degree is a great idea. You will learn extremely important concepts that will help further your career, and you will pick up work easier.
I'm not smart enough to do this
To reiterate some of what I said above. No you don’t need to be “smart” to work in a programming field. You need to show a willingness to learn, to enjoy solving problems, and to be persistent in researching information and practicing. Don’t put yourself down. You can do it if you really want to. 😀
I’m too old to do this
I’ve worked with many older folks. Age has nothing to do with it. Show tenacity, an eagerness to learn and demonstrate to employers you have potential and it shouldn’t matter.
I have to learn all these technologies to get a decent job
Luckily this isn’t the case. No you don’t have to know 3 back-end languages, 2 front-end frameworks, etc. To get some work.
Depending on what your title is, you mostly just need a basic understanding of HTML, CSS, JS, a back-end language, and a database. That’s it. You don’t need to know front-end frameworks on top of that, etc. But it can definitely make you more valuable if you do so.
The web and software development fields are extremely congested
Yes. Your correct. The web and software development fields are congested...with newcomers. If you try to stand out from the others, you should be fine.
So how do I get started?
Start learning the basics
You need to start learning. Get yourself familiar with different web technologies first (HTML, CSS, JavaScript). Then get yourself familiar ideally with one back-end language (PHP, Python, Node.js, C#, Java, etc.). If you decide to take on a more technical route, learn how a database operates and integrates with your back-end language. Please keep in mind each topic does not need to be mastered. Learn the very basics and move to building projects as soon as you can.
Click here to read an article that can help you find some great resources for front-end learning as well as the order in which you should understand certain development topics.
Build projects!
The best way to learn is to build something. Tutorials, guides, books and videos will take you to a point, but applying what you learned is how you truly grow. Build a couple of small scale projects utilizing everything you learned to really get the most from your learning.
Create a portfolio
To enter the field, you need to prove to your prospective employer that your willing to learn, and have the chops to do so. Create 3 projects that utilize different skills so you can show them off in interviews. Explain in the interview how the projects you created helped solve a problem, and how you went about creating a solution.
Apply to a Position
Look for entry level positions. Don’t be worried about not having enough experience. Entry level positions are for people starting out. The point is for you to learn and grow in these positions so your employer can mold you into what they require for their business.
Remember not to worry too much about job descriptions in the roles you find: “4 years experience” this, “8 years experience” that. A job post showing these requirements are not expecting a candidate with all these requirements fulfilled, what they are actually describing is a “dream” candidate. So don’t worry. Apply away.
Conclusion
I hope that I helped you gain a basic understanding of what you will need to enter this field. If you are feeling doubts of entering or don’t feel that you are capable of doing this, I know what you feel. I’ve been there. I fought my way to where I am. I know it can challenging to get start, but you’ll get there if you try. Take it from an ex-construction worker with no degree. Good luck.