There are a lot of misconceptions about programming. There are many bootcamps out there promising that you can become a programmer in 3-12 months after taking their course. Save yourself thousands of dollars and self-study if possible. That being said, some people need others to learn and taking a boot-camp might help them out possibly. Other options would be creating your own study group or finding a good mentor to guide you.
Search for guidance
Someone who has been in the industry is valuable from their knowledge and understanding. They are a guru of sorts to you. Reach out to people on social media platforms and see if someone is willing to give you a few pointers here and there.
Learning how to program takes time, it takes repetition and consistency to progress further. You will reach some road blocks along the way but this is quite normal. After studying with books and watching a few video tutorials, it is best to begin building your very own projects. Do this sooner than later as it will help you understand what to do faster. Make sure to create a portfolio to show off later for future employment prospects. This includes making use of sites like Github.
Trust me, you will make mistakes but don’t beat yourself up over it. Try to reverse engineer other people’s code and see how things are structured and put together. Write things down and talk them out loud to yourself or others. Try to explain what it is you learned recently.
Breaking through the barrier
Some people will have a more difficult time trying to code than others. It is human nature. We are all not equal in our intellect. Just because it might take you longer than others doesn’t mean you aren’t as smart as someone else. It means you might be more cautious which could be a good thing. From what I understand, there are many great senior engineers out there who are exactly this way. Ultimately, we have to rewire our brain to become a programmer. Logical, research and problem solving are all quite crucial.
Programming isn’t just a few commands, languages or frameworks to follow along with. You have to change your mindset and start thinking differently about what you have to overcome that is in front of you. A programmer is really a problem solver – who can look at what is needed and come up with a solution on the fly. A lot of time spent each day during your job, will be spent searching for information from search engines like Google. You will have to reword and phrase things differently, to find that specific answer that you were looking for.
Getting a computer science degree
Make no mistake, having a degree can only help you. But nowadays, many programmers out there are self-taught and even after college, they will have to continue to learn on their own. Becoming a programmer is a never ending journey. Nobody out there has mastered everything even after many years in the game. Some university curriculums are way outdated in comparison to the modern programming world. Even some languages used to teach with aren’t used like they were once before. Things constantly evolve in technology, it is very much like an organism that mutates over and over again, turning into something newer and better than once before. Eventually, machine learning and artificial intelligence will become more a part of our daily lives, as we continue to see an evolution of sorts.
Finding your path and focus
Likely, it is best to focus on one programming language and become really great at it. Many programmers will use a few languages throughout their career. Think about where you see yourself going and what direction you want to take. There are many paths out there to choose from. Some of these include:
- Software application developer
- Web developer
- Computer systems engineer
- Database administrator
- Computer systems analyst
- Software quality assurance (QA) engineer
- Business intelligence analyst
- Computer programmer
- Network systems administrator
- Frontend developer
- Backend developer
- DevOps engineer
- Software architect
- Data scientist
- Ethical hacker
- Project manager
- Product owner / Scrum master
- UI/UX designer
- SEO/SEM (Search Engine Optimization and Search Engine Marketing)
- Web analyst
- Data Analyst
- Business Analyst
- Artificial intelligence (AI)
- Augmented reality
- Machine learning specialist
- Robotics engineer
- Video game developer
- Mobile developer
As you can see, there are many choices to choose from. It can be overwhelming to think about and might even take you a while to figure it all out. Trusting your instincts and following your heart is probably the best way to figure it all out. Perhaps spend time around others watching them and what they do. Maybe they can help you channel a direction to go with. As you level up, you will probably get promoted into an entirely new role. Make sure you are happy with that choice before changing over to it. Find your passion and stick with it. There will be both ups and downs throughout your career.
After your self-directed learning
While learning from books and tutorials are great, they will not land you a job per say. However, networking and reaching out to hiring managers will. Some people even use the help of recruiters to find that first job. Making your own blog/site and creating a good Linkedin profile will help you make connections to others.
Most importantly, create your own projects by either extending a tutorial you followed or create something entirely from scratch. This will go far in the eyes of your potential employer. You do not have to build the next big social media platform, but make something interesting to raise a few eyebrows.
Become a people person, most employers want someone who is easy to get along with and not socially awkward. It is tough for some people but eventually you will have to break out of your shell and interact with people to some degree. Just be yourself, relax but be professional.
Don’t give up!
There will be those days where you will want to give up. However, don’t do it! You have great potential! It will pay off for you one way or the other eventually. It is completely normal to feel overwhelmed. Becoming a software engineer isn’t an easy task but doable with persistence. If you are switching careers, use your previous knowledge from what you have experienced and transfer it over to your developer journey.
Some skills do transfer over and employers will appreciate what you have done from before. Age is just a number, believe it or not there are 90 year old programmers out there still working in the industry. It is never too late or early to begin this path in life. Just be persistent and keep at it!