24 Apr 2021
A software developer is currently one of the most desirable jobs for many young career builders, even amongst those who did not pursue CS degrees as an undergrad. In such a case, is it still possible for them to get into software development?
Whilst a degree as a piece of paper has traditionally been an important factor in obtaining an entry-level job, you will find that nowadays it is your knowledge and skills that matter most.
Having said this, is merely learning software development skills enough to get a software development job? There is a lot more required to getting your first opportunity than you may have considered.
Software engineers are highly in demand, and without a CS degree there will initially be challenges, but these can be overcome.
Your portfolio is very important to landing the job you want. Even without a CS degree, this is something that is completely within your power, but you should have a clear vision in mind first.
Before building a portfolio, know the type of software developer job you want to achieve and then begin to create projects to showcase. This will go a long way in getting a hiring manager's attention early on.
At Xccelerate, we structure our Full-time Immersive Software Engineering Course to help students create multiple projects that show their competency in core areas that development teams look for.
What types of developer work are you most interested in doing? What sort of goals do you have for yourself as a programmer?
Do you like creating complex databases or rather building beautiful interfaces for end-users?
As mentioned in the point above, don't put yourself in a situation where you take any developer role that comes your way. Just as everyone has personal tastes in food, movies and hobbies, so do developers have preferences in the type of work they do.
Build projects that show your skills and keep them on your personal website. Remember, you don't need to overdo your projects, however, don't also keep them overly simple. Your project work can give employers a good insight into your skills.
Whatever field in software development you choose to have; it is always a good idea to have a capstone project to show to employers. This may be the crown jewel of your portfolio and show that you can go quite deep into your area of expertise.
For example, if you prefer to be a website developer, instead of using a simple plug-and-play service, build a website for yourself that can portray your skills effectively. Add a few things that showcase your pride in your work as well as your ability to solve problems in creative ways.
If front-end is not your thing, instead of focusing on a beautiful website, focus on a project that showcases your ability to build components of a web app that will add value to product development teams. It's also a great idea to team up with one or more developers that can contribute to a mega project, as long as you can talk about your contributions and stand out.
Capstone projects are the core showcase of our talent night at Xccelerate, where we introduce graduating students to eager hiring partners.
Since you do not have a recognized software degree, it is very important to package yourself as a veteran software developer. Blogs are not only a great way to showcase your skills, but also to demonstrate your passion and thought leadership on relevant topics.
Write about the topics you have learned about or are really interested in; you'll find that this is a great way to reinforce your knowledge on the new things you have learned as a software developer, as well as a way to show that you are at the forefront of a fast-paced industry. We have many relevant blogs about software development on our website that you can refer to.
GitHub is the one place where you will likely find most, if not all software developers. As you don't have a software degree you will have to work a little bit harder to get that first software development job. As a supplement to your portfolio, website and blog, Github is beneficial in demonstrating the intricacy of your work and connecting with the community.
Hiring managers and those who know what they are looking for in a hire will very likely dissect your code and see how active you have been leading up to (and during) your job search. Github is one of the first things we teach in our Xccelerate curriculum, even as early as the prep-course work for the immersive software engineering course.
##The Substance of Your Projects
Seeing the functioning version of your projects is one thing, but as we mentioned with GitHub, many employers will want to see how you "think" when coding. Since you will very likely be working in a team, it is very important for you to prove your ability to solve problems efficiently.
Don't underestimate this! It can be a deciding factor for you to lose that job.
Demonstrate that you can write readable and maintainable code. It should be easily understandable by others so that the team can avoid bottlenecks in projects.
It is highly advisable to read about coding best practices before you start coding on your own. It is also suggested to study high-profile open-source projects to understand readable and production-ready code.
Another great idea is to get the help of an expert and experienced developer to review your code and tell you whether it is efficient or not. They can also guide you with coding best practices and mentor you on how to become a better coder.
This is a huge reason why our students find peer programming and expert instruction a huge value-add to their experience.
##Open Source Projects
Speaking of open source projects, having prior experience in contributing to a high-profile open-source project is going to be a big plus for you. Your contribution to such open-source projects tells your employer about your abilities to cooperate with other developers. For full transparency, as a beginner, contributing to such high-profile projects is quite a big and complex undertaking.
If you do plan to take on such an ambitious project and are determined to endure all of the challenges, struggles and frustration (just being honest!), the results are going to be not only satisfying for you but also immensely impactful for your career.
Not ready for such scale yet? You can also choose to contribute to a smaller but popular library/extensions/tool.
Some key advice: target projects that have an active issue tracker.
Oh, and these projects should also be related to what you aspire to do as a professional developer. Don't forget! If you want to build up your confidence in contributing to other's projects, it would be great, if not better, if you have a personal GitHub project that gets contributions from others. It will give you exposure to project management and show that you have the ability to work on things that interest others.
When the World Wide Web has seemingly become the new world, your online presence is very important. The best podiums to command your online presence are social media sites like LinkedIn, Facebook, Twitter, to complement your personal website, portfolio, GitHub and all of the other things we have been mentioning.
While this sounds like a no-brainer, you would be surprised how many people think that social media is only for attention seekers and make little to no effort to stand out.
Another great way to have your online presence is to answer questions on Stack Overflow and Quora. You can also submit tutorials to sites that permit publishing them. Whatever you decide to do, make sure to link accounts to your personal website and make your GitHub link prominent where you can.
Your experience is another major factor that is extremely important to grab a software developer's job without a degree. Some startup employers might not be very interested to see your degrees but will definitely be interested in your past experience.
While different companies' policies towards hiring may vary on the importance of having degrees or not, every company is very interested in knowing your past experience.
Solving customer's problems and delivering them the work is entirely different from working on your own hobby projects. It's always advisable to have hands-on experience in delivering a project for someone else if you have the chance.
You can start with startup companies, where you can get the benefit of gaining hands-on experience whilst working under the expectations of others. Internships are also a great way to hold yourself accountable to high standards.
Read Also: Role of Software Engineers in Startups
OK... So networking and socialising might sound very uncomfortable and out of your league, particularly if you are introverted, but it is very important for getting a software job without having any related degree.
It is extremely common practice for HRs to filter out resumes without a relevant degree and prior experience if they come in through standard channels like online job websites or forms.
This scenario could entirely change if you are introduced to the job with a reference. Hence, socialising and networking is very important where you have no relevant Computer Science degree and struggle to stand out.
At Xccelerate, we play an active role in introducing our graduates to hiring partners within our network, both through networking opportunities and direct referrals, which play a big role in getting their foot in the door.
So, you have worked so hard and taken many hard steps to get a developer job without having a relevant degree. It's time to perfect your CV to get yourself hired!
Keep your resume short and crisp, readable without having any grammatical mistakes and clearly mention your experience.
Mention only relevant projects and give details about the languages and tools you have used.
Make sure to differentiate among the languages you are strong in and those you are still learning.
Pro tip: Less is often more when creating your CV. Whether you are sending your CV to a friend, a new connection or HR the first view will likely be a quick scan to see if you have a balance of relevant skills as well as competency in selling yourself.
Avoid fluff words and highlighting irrelevant experiences. Oh, and we all have some level of proficiency in the Microsoft Suite. Do yourself a favor and leave that bit out (unless you are an Excel ninja).
All of the above is great and completely important, but it will be for nothing if you mess up your interview! Consider the points below as you prepare for each interview:
Talk about your projects and your relevance for the job confidently
Show your passion for programming
Tell them about your thirst to learn new things. The industry always changes
Be very confident about the languages you know. Know them inside out
Don't be defensive about your mistakes, but tell them what you have learned from them and show that you can take constructive feedback
Be well prepared for the technical rounds. Ask friends in similar jobs to give you some tips on what to expect
As part of our immersive program at Xccelerate, we help students with mock interviews to place them in a position to succeed.
Since you do not have a relevant software degree, your journey might not be smooth, particularly if you opt for the self-study journey. You might have to be more prepared and be a little more patient than your companions with relevant degrees. Most importantly do not lose hope and never give up.
While this article is meant to help all of you out there aspiring to kickstart an exciting new career in tech regardless of the path you choose to get there, we would be foolish not to plug our Full-Time Software Engineering course in Hong Kong where we have tailored the program to prepare graduates for career success.
Another important tip is not to be overly choosy about your first job. Be ready to compromise on the brand and the money. It is a golden chance to get experience and can be a snow breaker in the path of your career.
[Part-time Introduction to Python](https://xccelerate.co/en/courses/PTPY
24 Apr 2021