How to Stand Out as a Programmer in 2021 and Beyond

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: 

1. Growing Your Learning Mindset

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:

  1. Don’t focus on being correct all the time: Simply because you are able to run the code doesn’t mean you understand why the code ran. Don’t just press the run button or look at solutions when things get tough. It’s okay for your program to fail as long as you are able to understand why. In fact, constantly failing and revisiting your program will make you a much better programmer in the long run than magically succeeding every time.
  2. Don’t blindly follow tutorials: When learning from tutorials don’t just blindly follow the code samples, instead close the video/article and code it on your own, and when stuck ask Google before looking at the solutions. This, also, means reading documentation as during your job this is exactly what you will need to do. 
  3. Do take notes and revisit them: It doesn’t have to be the most in depth set of notes, but studies have shown that writing down notes and revisiting them allows better retention. For tutorials, as most of the information are often in code blocks, your IDE should suffice and commenting every block helps. I also use MS OneNote to organize any other miscellaneous information. For more intensive topics such as Data Structures and Algorithms I use pen and paper and that would be my recommendation for any topics that require step by step problem solving.
  4. Do start small: As with any habit, it’s always recommended to start small and programming is no different. Most programmers don’t realize that they are putting themselves at a disadvantage by not chunking their learning. Yes, there are programmers who can and do code 10-12 hours a day ever week with little breaks, but a) that is not healthy b) it often reduces the quality of work and information retained c) that is not sustainable for someone who is just starting out! Instead, focus on learning well in smaller time periods. I, along with so many others, use the Pomodoro technique which uses 25 minute intervals until you have completed a task with 5 minute breaks in between. This ensures that you are effectively dividing your learning to produce high quality work and avoiding fatigue at the same time.
  5. Do finish what you start: Since, there are so many articles and videos often it is overwhelming to complete them all and as a result beginners often jump from lesson to lesson and have little to show for it. You can damage your understanding through switching tutorial constantly and it will take even longer to fill these gaps. If you start something, including this article, finish it! Your incentive? The feeling you get once you finish something worthwhile that you understand and can now apply, it’s unbeatable.
 
I understand if you are a beginner this may feel a bit intimidating, but I am here to tell you I made all these mistakes. I would code 10 hours a day and at the end realize I didn’t learn anything and you don’t want to be in that position. You will make mistakes too and that’s OK! You taking the time to do it right now will make sure that you are doing it right years from now when your decisions as a programmer will have greater weight. You can take your learning even one step further. I recommend Coursera’s Learning How to Learn which aims on re-teaching the learning process. In general though, following a set of guidelines such as the ones listed above should help re-vamp your learning process.
 

2. Building Relevant Projects

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.

 

3. Maintaining Your GitHub

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.

 

4. Mastering the Art of Communication

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:

  1. Don’t be afraid to speak your mind: Someone who takes initiatives is someone who will be more favored for job offers, salary raises and promotions. Speak your mind in interviews, emails and in your day-to-day job. This comes with a caveat, however. Unfortunately, expressing what’s on your mind all the time may get you into deep water instead of pushing yourself forward. You need to be aware of the company culture: Is the company leadership actually open to opinions or they only say they are? Is my boss someone who likes new ideas or likes ideas similar to ones covered in the past? What does the interviewer really want from me? The main idea is that you want to take initiatives in whatever form possible and communication is a major way to show initiative. 
  2. Do observe your body language: It is known that humans perceive information much quicker through the eye than the ear. When conveying something make sure your body language is supportive by keeping your arms and legs open and use your hands to convey your point (don’t move them around too much!). Observe the body language of people you are communicating with e.g. are they looking away, are they shifting too much etc. You can start by observing body language in all your day to day conversations and consume books, articles and videos to improve your skills. 
  3. Do ask responsive questions: As an example, let’s talk about interviewing. We have been taught to ask questions about the company or job after the interview. Next time, instead of asking questions from a list, focus on their answers to your initial questions and ask follow-ups. The act of immediately segueing to questions is shallow: we know you are asking questions because you HAVE to and it doesn’t build any rapport between you and the other person. If you decide to follow up on the answer and explore it further, it can lead to a memorable conversation. This is not limited to interviews but should be applied to all conversations.

 

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!

Adnan Mostafa

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!

Selected Articles
0
Would love your thoughts, please comment.x
()
x