The technology industry is a daunting thing to peak into. There can be a seemingly endless list of technologies, skills, and agile waterfall gitflow synergies to overcome. While learning all the skills necessary may seem like a juggling act, I assure you there is a logical, practical, and effective way to approach things.
As a software engineer without a degree in the field, my biggest fear was not being taken seriously due to a "lack" of knowledge or education. I made it my mission to prove my skills to potential employers. The steps to do this are really not too complicated.
Have The Skills
Unfortunately, there is no big secret to becoming a software engineer. The foundation you build upon is your knowledge and skills. This does not mean you need to be an expert or have a formal education in the field, but it means you need to work hard to build up your developer character traits over time. Whichever way you want to learn is fine as long as you are making progress. If you like reading books, then great, you are already ahead of me. If you prefer not to read, then you are stuck with tutorials and banging your head against the wall while writing code and expanding your knowledge base.
Prove Yourself
In the professional world, the only thing that approaches the value of your knowledge is your ability to prove that knowledge. This is a vital step that I see many fail at. You need to market yourself and let companies know what you offer and how well you offer it. This happens in multiple stages:
- Build a strong portfolio that showcases your knowledge and skills
- Have a clear and concise resume that informs would-be interviewers of your abilities
- Articulate your value when interview time comes
The interview
You have the skills, you have advertised yourself well, now it is time to use those skills. You will need to be able to leverage your skills to solve real-world and simulated problems. If you have the abilities needed to do the job, this step is the least difficult. It can be terrifying, but it is the easiest step to succeed at. You do not need to be a super-star by this point. Most companies I have interviewed for have narrowed their applicants to less than five by the time they make it to interviews and typically around 40% are either too antisocial to be an effective teammate or are simply lacking in the skills they claimed to have. Your chances are quite good once you get to the interview stage. There is no need to try to blow away the competition. All that is needed is proving you have your skills and letting your potential future peers know that you are a sociable and well-adjusted individual. You will want to show them that you are knowledgeable on required subjects, easy to talk to, ask good questions, and that you handle criticism well. Sometimes I cannot tell if an interviewer lacks knowledge themselves or is nudging me with blatantly wrong criticism just to see how I respond--either way this is a test. Once you can reliably and successfully complete job interviews, you have cemented the pathway on your journey as a Software Engineer.
Conclusion
The application and interview process will almost certainly be the most difficult part. Companies love to list off as many required skills as possible on job listings, but are willing to accept 50% of them. I was once hired into a role based on my Java and SQL experience, but when it came to the role, I never got a chance to use either in the year I was there. This is commonplace in industry, so I urge you to not be too intimidated by the listings. Apply to anything that looks interesting to you or that you think you could perform well in and just hope for the best. Do all you can to be determined and a fast learner and get out there and apply.