Are you interested in becoming a software developer, web developer or a software engineer? The path can be a little tricky, but in this video, I want to walk you through your options and how I recommend that you get there.
Hey guys, this is Nick from Mobile Code Media. So today I want to talk about the steps that I recommend you take to get into the software industry. The software developer, web developer, and software engineer steps will be roughly the same for the purpose of this article, but my examples will come from the web developer role since that’s the field that I’ve had the most experience in.
1st, I want to start off by giving you a group of disclaimers. I am speaking based on my own experience. I have a Bachelor’s Degree in Computer Science and I’ve been a professional software developer for well over a decade. I’ve worked for a handful of companies over the years and have seen lots of people come and go. Secondly, I can only speak in general terms. I don’t know you personally, I don’t know how you learn, and I don’t know what motivates you. Since I’m speaking to a general audience, I can only speak in general terms. Do your own due diligence when it comes to deciding how to go about living your own life. You should listen to what I have to say, but then go out and do your own research before acting on my advice.
In the employment market, or really any market for that matter, you need to see the employer’s perspective, and then expand on that by being selfish. Let’s think about this for a second. What does an employer want? They want to make money and be relevant in the marketplace. If they can’t do that, they usually end up closing down. Why do companies hire people? They don’t hire people to be altruistic (look it up). They hire people to solve problems. Labor is expensive, needs management, and is unpredictable, so they want to hire as few people as possible. Employment taxes, liabilities, it’s all a means to an end for them. They really just want somebody to do the job as quickly and cheaply as possible, and hopefully be a cool person to be around. They don’t know you yet and they don’t care about what your goals are. Remember, it’s important to be seen as somebody that’s easy to work with, because they’re going to be spending 8+ hours a day with you, 5 days a week. They’re going to see you more than they see their own family. They will often even trade down a little in productivity if it means they’ll have a nicer person to work with. What I mean by that is that they sometimes will take a developer who isn’t quite as proficient as another developer for a job, if that developer seems like they’ll be considerably easier to work with. Keep all that in mind.
So we’ve established that you first need to focus on what employers want and not what your wants are. They want somebody that is easy to work with that can solve their problems. How do we get there? People without experience can’t solve their problems with lots of hand holding. Do you need to get a college degree or to go to a coding bootcamp, or something else? No, you have to take whatever approach you’ll work best at and actually solve a problem.
Come up with an idea for something that people will want to use. It doesn’t really have to be anything profound. Maybe it’s a site that helps people find garage sales easier. Maybe it’s a site that lets you type in movies you like, connect with other movie lovers, and let’s you find other movies that you might like. It doesn’t have to be unique, it just has to try to solve a problem. I guarantee that most ideas you have that you come up with, somebody out there in the world of billions of people is already doing it. You don’t have to have a unique idea, you just have to try to do it better than them. Figure out what you want to build first. Take that idea, and break it down into digestible parts. You’ll need a database, so research which software package might suit you best, as well as which one companies are hiring for around you, and then take a udemy course on it. What you’re building doesn’t have to be perfect, it just has to attempt to solve a problem. Remember, you’re going to end up explaining what problem it solved to an employer later. You’ll need a backend language. Maybe you’ve decided you want to use nodejs or PHP. Look up which of those languages companies around you are hiring for and take a udemy course on it. You’ll need Javascript and probably something like VueJS for the frontend. See what companies around you are hiring for and take a udemy course on it.
Don’t build something you’re comfortable building. You need to stretch beyond your comfort level. Build a site that you want to use yourself. So think about what you want, then figure out how to build that. Join Facebook groups or go to meetups and see if people can help you if you get stuck. Udemy has commenting, where you can post a question in a comment and read old comments, where somebody like you probably got stuck before. You’re going to have to try and try hard. If it were easy, everybody would do it. Easy fields are flooded. Why are there so many eBay stores and everybody doing reselling now? It’s because it takes 10 minutes to setup an eBay store, you don’t have to find your own customers, and everybody can check prices on their phones for free now. Whenever you’re learning something or working through a problem and get frustrated, understand that that’s a good thing. These barriers to entry called “work and effort” keep lazy people out and keep wages higher for you. Companies have to compete over the price of labor, and if something is easy to do, then they don’t have to compete very hard.
So now you’ve learned a lot and have been building your site that’s meant to showcase your programming prowess. You’re jumping over hurdles as you come across them, asking questions, and moving ahead. You get a beta version of your site and you tell everybody that you know about it. Maybe you get a few users on it. Go ahead and update your resume and put it on there under work experience, like you would a job and put the timeline for however long it took to make it, to the present. Put bullet points that show everything that you had to learn to get it made and list all of the languages you used. Hit up recruiters and apply any and everywhere that’s hiring developers. Keep making contacts at meetups and in groups like Facebook groups for coding with whatever languages you’re working with. Let your contacts know that you’re looking for a job. Before you interview, look over the company’s website and see if there are any recommendations you can make at the interview itself. Don’t be condescending and say that something on their site looks bad, but maybe ask if they’d consider a certain change and throw out some ideas that you have. Companies like motivated employees that care.
Most companies that you’re going to work for aren’t FAANG companies or even large companies, because there aren’t that many out there compared to small or medium sized businesses. So spending your time trying to learn algorithms that nobody is going to ask you about is not the best use of your time. Learn how to actually build something, get it built, and then explain to them that you can convert ideas into products and problems into solutions. Also, don’t forget to be likable.
One other key point is to not get too caught up in trying to weigh yourself down with responsibilities too early. If you’re a really young guy or girl, make sure that you keep yourself open to moving to where opportunities are. If you’re a little older and maybe already have kids and responsibilities, it can still be done, it’ll just be harder. You want to make your life as simple and streamlined as possible until you’re into your career track. It’s hard enough to be successful without adding more things to weigh you down before you’re ready.
So to summarize what I’ve explained so far:
- You need to do whatever it takes to build something that is designed to solve a problem and you need to be able to explain to people and to potential employers what problem that is.
- Put what you built on your resume and list all of the technologies you used and how long you worked on that project.
- You need to be able to explain how you can solve each employer’s problems.
- You need to be as likable as possible.
- Don’t waste too much time on algorithms. Keep building stuff and learning as you build. Most companies aren’t FAANG companies and won’t be asking you how to calculate Big O. They’ll be asking you questions that will revolve around your ability to understand a language, and the best way to learn is by doing.
- You need to travel lightly by keeping your obligations as light as possible, until you’ve found some footing in your career track.
Do you need to go to college or a code camp to find a job? You really don’t. You need to be able to solve problems and convince employers that you can solve problems. Once you get a couple years in, you’ll be able to springboard to better and better opportunities and you’ll look back on the days that you struggled. One day you may branch out and do your own thing, who knows. The key to helping yourself is to first help others get what they want. Money is a byproduct of providing value. Be smart and be as valuable as possible, and don’t think that you can hack that equation by paying $499 for some magical course that has all the answers. There’s no easy way and you have to keep at it everyday. Good luck and let me know your thoughts in the comments. Maybe you feel there’s something I missed or need to go into more detail on? If you’ve found this content valuable, I’d appreciate a like and hopefully I’ve earned your subscription (and don’t forget to ring that bell if I have).
I know that we’re all coders and coder’s in training so it’s easy to sit at a desk all day, but make sure that you get up every now and then, stretch, and go outside. Life is short, so enjoy. This is Nick from Mobile Code Media, and thanks for watching.