The concept of programming has been undergoing a huge amount of misconceptions and mix ups. Some freshers or new programmers see the results of the ICPC or any other coding contest in the world, and they really get impressed and rushed out how to approach this domain. Indeed, they start googling these competitive things and search on YouTube, and they, doubtlessly, gain massive confusion. One of the considerable aspects of this confusion is thinking that competitive programmers can directly get hired as Software Engineers in any company, especially, in the big tech companies.
Competitive programming is all about a sport that makes programmers gain special skills in writing short and effective codes in a relatively short time. Moreover, coding contests are a perfect environment where programmers obtain high skills when it comes to teamwork. However, having skills that allow the coder to solve problems does not make him/her a Software Engineer!!… Was that a strange sentence? Well, that means you should keep reading to know what does Software Engineering mean.
Software Engineering is a general name that contains a set of other specific names in the tech industry. Software Engineers can work in back-end development, Machine Learning, Artificial Intelligence,…, etc. So, you probably now realized that it is not only about having a mathematical and algorithmic problem and your job is to write a code to solve it!! Do you think that big companies like Google or Microsoft build everything they need from scratch using the Data Structures and Algorithms that most people can master them? Then what are the things that make these companies stand out the crowd? Although Competitive Programming is good for coding interviews, you should not focus on this portion only! Why?? What to focus on?
Well, be aware of your online presence, let people or recruiters access you easily somehow! My recommendation; get an online personal website for you to showcase your projects. Besides, make sure to be active and have some awesome projects on your GitHub. DON’T WASTE YOUR TIME ON SMALL PROJECTS, instead, do 1 or 2 big projects so the people who are reviewing your profile get impressed! And guess what? some emails from recruiters to offer you a job!
Finally, YOUR NETWORK IS YOUR NET WORTH, be active on LinkedIn, and do some open source projects with other teams. Most importantly, DON’T LOOK AT WHAT DEGREE YOU HAVE, follow your dream!
(Oday Najad 19-07-2020)