Although a college degree is not necessary to land a job as a developer, a degree certainly makes you stand out during the screening phase before interviewing. If you choose this path, you might consider getting a bachelor’s degree in Computer Science. You may also be given additional options by colleges, including internships or exclusive career marketplaces to build up your network.
In the case that a degree is out of discussion, at least consider completing a course and obtaining a certification. Even though most of the knowledge you gather is gained while studying alone, an “education title” could really make you stand out. Of course, having a solid portfolio with complex projects would completely overshadow any degree or certification, because in the end, real knowledge and experience is much more valuable than a title.
Most technical interviews would consist of coding problems. Therefore, my other application was a Tic-Tac-Toe smart agent written in Python and implemented with the minimax algorithm. By doing so, I had the opportunity to practice my algorithmic skills.
My recommendation would be to try and collaborate with someone in a team, even if it is for a personal project. This way, you will learn to work in a team and prove your adaptability in a cooperative environment. And as it goes for finding the “perfect” project idea, don’t overthink it. A web application that demonstrates basic knowledge about http verbs, CRUD operations in any backend technology and a bit of clearance of any frontend framework, is more than enough to pass any entry level interview. Furthermore, don’t be afraid to get out of your comfort zone since this will be required constantly as a developer as new technologies and frameworks are released.
The coding experience gained here, in my opinion, is not necessary as valuable as the networking skills that you’ll achieve. Try to enroll in as many as you can, as this can only expand your network with people who have similar interests to you. Moreover, lots of coding competitions are organised by IT companies. Therefore, it is very likely that the big prize could contain a job offer for the winner(s).
Now that you’ve landed your first job, your main focus is to be a sponge. Try to retain as much information as you can and don’t be afraid to ask your mentor when you are stuck. The expectations from you are to be eager to learn and be passionate about what you are doing.
Try to have one main technology and focus gaining more knowledge in that area, as you cannot progress equally on both frontend and backend technologies.
I learned that ddroidd was hiring through a LinkedIn job post, so I would say that it is really important to check from time to time with your network and social media for open positions. After applying and successfully passing the interviews, I took part in a two-month summer internship before landing a full-time job. I started with the duality mindset that I can learn both frontend and backend technologies at the same time. You will soon find out what your preferred technology is and develop further down that learning path. Now, I am focused on backend technologies and I am slowly transitioning to DevOps.
My first project at ddroidd, as an entry-level developer, was a presentation website. Even though it does not sound complex, I tried to make the most out of it by assigning to myself tasks that I had no knowledge about beforehand. By doing so, I gained experience in how to implement systems such as payments, mailing, newsletters, etc.
Here’s a summary of what I consider to be the key aspects of becoming a developer:
Build a nice portfolio of personal projects – proves practical knowledge.
Attend coding competitions – expands your network.
Complete tasks outside your comfort zone – from those you learn the most.
Do not dwell on a rejected application – look for improvement instead.