In tech articles we usually talk about software, languages, and tutorials, what is often missing are some of the other skills needed to set yourself apart as a successful programmer. Due to the current worldwide situation, unemployment rates are still high and it is more important than ever that you present yourself has a solid candidate in as many ways as possible. Here are few steps I am planning to apply in 2021 which might help you stand out as well:
Self-taught programmers often struggle with gauging when they have successfully mastered a topic. This could be due to the fact that there are dozens of articles, videos and tutorials on any given subject in Computer Science. It is not surprising then, that beginners are caught in a cycle of jumping from lesson to lesson and yet have little to show for it.
Web Development is one of those fields where learning is a constant. If you are not learning more about your chosen software, languages and frameworks then you are spending time learning about the tools your company uses. Among other qualities, the method of learning, processing and translating information is what differentiates an exceptional programmer from an average one. Learning is a lifelong journey and optimizing your learning process will save you hours, days. months and eventually years.
One way to apply this in programming is to make sure you genuinely understand all the key steps. Here, are some do’s and don’ts about learning that I gathered throughout my journey:
The most important factor that recruiters and engineers often note after your experience are your projects. One of the problems that a lot of beginner programmers, including myself, face is the issue of building and displaying projects that are relevant to their discipline.
Often, our portfolio is the expression of our interests and our interests change with time. This, however, can lead to building a portfolio that is scattered and has no focus. For example, creating a facial recognition Python program looks great on your resume but it doesn’t imply that you are necessarily the best back-end programmer. Ideally, the projects that are most relevant to your job outlook should be the ones that are the most in-depth and well thought out.
In addition, you want to avoid apps that are easy to replicate or are too basic. We all need to get started somewhere: I got started with just a basic HTML and CSS landing page that I had on my GitHub for a year and I was so proud! After a while, though, you want to exhibit projects that are challenging and creative.
From my personal conversations with several recruiters I understood one thing: it is highly unlikely your project is the only one in your category that they have seen. If there are hundreds and thousands of applicants, someone is bound to follow the same tutorial you did, even if you paid for it. So when they see the same to-do app for the umpteenth time it is difficult for them to draw information about you from those projects. At the end of the day, projects are a window for recruiters to understand and learn more about you and even one original and personal project will beat having 10 smaller ones on your portfolio.
One way to showcase originality is through open source projects. Hiring engineers love to see open source projects because these are often used by people and organizations and also prove that you can work in a team setting. If you are a beginner it can be often intimidating to contribute to open source projects, I have put a GitHub link to a repository that lists out beginner friendly open source projects. Don’t be afraid of what people will think of you as everyone is in different stages of learning.
Once you have started on some great projects it is important that you keep your GitHub as busy and clean as possible by pushing relevant code at least once a week. Your GitHub is the first place where some hiring engineers look into and a strong GitHub portfolio sets you apart from the rest of the application pool.
In fairness, it should be noted that this is something that is difficult to achieve, and I, along with other programmers often struggle to keep up. One technique I picked up, that has helped, is to not push code all at the same time but instead in chunks. Basically, dividing up your project into smaller parts and being tactful about your upload schedule will really help you make strides in building a busy and professional GitHub portfolio.
As a budding programmer, you also want to keep your GitHub clean. If there are any incomplete projects (we have all been there) then either make sure they are presentable or scrap them. You want to make sure you have the least amount of clutter on your GitHub so that your best projects are front and center for recruiters to find.
There are some further readjustments you can make to your profile. You can start by turning your contributions from private to public. This allows people on your profile to see where it is that you are making your contributions to. If you have a public repository with active users then you can enable GitHub Discussions on an existing repository, which will allow you to start conversations with your community!
Another important tip is for programmers to make use of inbuilt GitHub integrations that comes with various software and tools. Since, Microsoft owns GitHub, they have integrated it with their platform Visual Studio (VS) Code making it easier than ever to manage your existing Github projects or create new ones. More and more providers such as Eclipse, IntelliJ, Atom, XCode, REPL.it are now offering GitHub integrations or plugins and using them allows you to push to GitHub much more effectively.
Now, we will be talking about one of the most effective ways to differentiate yourself: communication. Some technical readers may scoff at the notion of discussing communication in length, but, all else equal, 9 out of 10 times the candidate who is able to communicate better will get the job. Communication also encompasses a wider realm than people initially realize: body-language, email-writing and salary negotiating to name a few.
Consider yourself to be socially awkward or have intense anxiety in social contexts? Most people misunderstand and believe that communication is only the act of speaking; communication can be better defined as a mutual and responsive exchange of ideas. Someone who is more socially adept may be able to speak their thoughts but they may not be able to genuinely listen to the questions and ideas being communicated from the other end. Here are some do’s and dont’s of communication I picked up:
As mentioned, communication is covers a wide array of skills that is beyond the scope of this article. There is no doubt that mastering communications will make you a better candidate period, but it will, also, help you out in every step beyond the job process from your daily meetings to negotiations so keep at it!
P.S. I wanted to make some final notes here without which this article would be unfair. I wrote this article as a reminder for things I want to do and want to keep doing well in the following year. However, these are additional qualities on top of others which are expected of you such as having a strong resume and varied work experiences. I have also seen people follow none of this and still manage to find a job. Still, if you can make yourself a good candidate for the present and the future why not try? I will keep updating this article as I learn and grow throughout this year. Meanwhile, I would like to hear from you. What are some of your must have skills that you believe will set you apart as a candidate? Feel free to share!
Launched from Dhaka, Bangladesh to land in New York, USA. Here, you will find articles on tech and financial happenings, movie/book reviews and so much more. Enjoy your stay and feel free to reach out on social media!