A lot of computer science graduates enter the job market every single year. And, as we all know, most of them do not get any job and end up doing something not related to computer science.
If you’re one among those job seekers, how will you stand out? How can you land your dream job when thousands of people are also trying hard to get that job? How can you become a recognized authority in your field so that opportunities will chase you?
A lot of self-taught programmers and boot camp graduates get jobs, even though they don’t have a computer science degree. Fortunately (or unfortunately for somebody), skills matter more than a degree.
And, marks or GPA are not the criteria for getting jobs. Yes, there might be a cutoff percentage that you would need to get into some interviews. When you’re inside that interview room, marks don’t matter a lot. What matters is how do you sell yourself to get the job.
That’s when you realize that marketing is an important skill you should have as an aspiring software developer. We all go through this competition to land a job. In this article, I’ll share some actionable tips to help you to market yourself as a programmer.
Marketing should begin very early, say months before you even attend an interview. When you’re inside an interview room, you should be an almost-finished product.
Yes, I want you to think of yourself as a product. When companies bring a product to the market, they are 90% or more finished. They’ll release that product only when the product is ready.
I’m not telling you to apply for interviews only if you’re ready. No, that shouldn’t be the case. Apply for all the interviews, even if you’re not prepared. You might get some jobs luckily. The worst-case scenario is that you’ll gain some experience. But, from now onwards, you should have a marketing strategy in your mind.
So, let’s have a look at some vital tips you should consider while marketing yourself as a software developer.
1. Specialization and Choosing Your Niche
Specialization is key in software development, just like it is in any other type of profession. Being a specialist will make you more of an authority in your space. Have you heard about John Sonmez? He is the one who taught me the essentials of marketing as a software developer. He even has a full course on this topic.
John Sonmez always talks about this concept: ”You need to be the big fish in the small pond, not the small fish in the big pond”. From my experience as well, I can tell you that he’s 100% right. Specialization is essential in your career if you want to stand out as a programmer.
I had some issues with my throat for a few days. Today, I’m going to consult a doctor. Maybe I can see a generalist doctor who does all things. But, it’ll be better to consult an ENT specialist, since he might be an expert in dealing with throat problems.
So, in every profession, specialization is key. You need to choose a niche in software development and become an expert in that niche. Be as specific as you can. For example, you could be a MERN stack web developer or an android application developer with Kotlin skills, etc.
You should realize your interests and choose according to that. Pick a technology stack that you’re passionate about, and you’ll eventually become an expert in that field. That’ll increase your value, and you’ll get more opportunities and income.
Specializing in your niche will reduce the competition as most of the programmers are generalists. Once you’ve done choosing your niche, let’s put some effort and become an expert on the topic.
2. Learning Technology and Building Projects
If you’ve chosen your niche or specialty, it is time to do the actual work. You need to learn the technology in the right way. People learn things differently. In my college days, I used to have a special notebook for each subject. And, I used to create a summary of all the chapters, which were there in the syllabus.
When the exams come, I take my book and read it one or two times. That’s it. So, this way, I didn’t have much stress during the day before the exam. I don’t know whether this is a productive approach or not, but that was my way of learning back in those days.
Even today, I do keep notes of everything that I’m learning. It is a pretty good practice. But, the most important thing you need to know is this quote from John Sonmez: ”You should learn X so that you can do Y. So what’s your Y? “.
Don’t learn anything for the sake of learning it. It is essential to have a specific goal. So, find what’s your first. Then, work backward and find the things that you need to learn.
You don’t need to learn all the ins and outs of a programming language to become a good programmer. Just learn the things that matter in building your project. By doing some projects, you’ll be able to learn a lot more about your specific technology.
Once you’ve done some projects, create a portfolio (a website) and put all your work over there. In that way, people can see the work that you’ve done, and it will increase your authority. When somebody sees that website, they can immediately understand that you aren’t faking it to make it. Interviewers and clients will most likely hire you if they like your work.
I’ll give you one more ninja tip regarding projects. Try to create some advanced projects, not the typical tiny projects. If you can do some projects that solve a real-world problem, then there’s nothing better than that.
3. Creating a Blog or a YouTube Channel
It is a very critical step in marketing. Creating a blog or a YouTube channel is significant because it will, in turn, build an audience. If you get an audience, the whole game will change. Now, people will come in search of you to give you jobs and opportunities.
For me, starting this blog was a big moment in my life. I was pretty bad at writing, but eventually, I became better. This thing applies to everything in life. If you do something many times, you’ll become better at it. So, keep your excuses aside and start your website.
You can create tutorials, articles, and even document the things that you’re studying. If you do it consistently for a long time, you’ll learn a lot of things along the way, and people will start noticing you. Just like you came to read this article that I’ve written, people will come to your website to learn what you’re teaching.
The blogosphere is a little competitive, but still, you can achieve a lot if you can consistently put in the work. However, the world is moving towards video. If you can create videos and put them on a YouTube channel, that’s pretty awesome. Everybody can’t do that. It takes some guts and confidence to create a video showing your face. If you’re confident enough, don’t miss the train. Start your YouTube channel right away.
Let me tell you a secret. I started a YouTube channel two weeks ago, and I put two horrible videos on it. I know those videos are crappy. But, hopefully, I’ll get better at creating videos. You’ll have to go through a phase like this. If you do consistent work, you’ll eventually improve.
If you create a blog or a YouTube channel, it’ll be easy to land your dream job. When you’re in an interview, you can tell about your blog or the channel, and that’ll impress the interviewer more than anything.
4. Teach Coding to Aspiring Programmers
Teaching is kind of a shortcut to becoming an expert in your niche. It will be hard to get a freelancing client at the beginning of your career. But, you can easily find clients who are ready to pay you to learn to code. It is easier than you think.
You can find your target students either locally or via online platforms. There are a bunch of online platforms out there, which will simplify the process for you. Simply create a teacher profile on these platforms, and clients will come in search of you.
There are a ton of students who are searching for a good teacher on these platforms. You can charge an hourly rate, and make some money. I made my first ever online income by teaching Python to some students. It is pretty cool to make some money while you’re learning.
Teaching has a lot more benefits. Teaching what you’ve learned will help your brain to organize your thoughts and knowledge. You’ll get a better picture of the technology by sharing what you know.
Also, it will be a great experience to talk with other aspiring programmers. You’ll improve your communication skills and confidence. I’m putting a full stop now, but there are a lot of other benefits to teaching.
5. Creating Your GitHub and LinkedIn Profiles
If you are a programmer, you must have heard about git and GitHub. Git is a distributed system used for version control (tracking changes in source code) during software development.
It helps in coordinating work among programmers. It can also track changes in any set of files. GitHub is a platform that provides hosting for coding version control.
Every programmer should have a GitHub profile. Learn the basics of git, and it will help a lot in your programming life. You can put all your code in your GitHub repositories. You can use it to collaborate with other programmers as well.
If you have an active GitHub profile, employers can find out that you’re a pretty good programmer. It will help you land jobs and clients.
LinkedIn is yet another platform where every programmer should have an account. LinkedIn is the social media of professionals, and a lot of hiring happens directly from LinkedIn. If you have a fabulous LinkedIn profile, job recruiters will come in search of you.
Having a LinkedIn and Github profile will enhance your online presence. These are modern-day resumes. So, take some time to create awesome profiles on both of these platforms.
6. Networking and Meetups
One of the easiest ways to land a job is by leveraging personal connections and recommendations. If somebody working in your dream company can recommend you for a job, there’s nothing better than that. You’ll surely get the job if you have a basic knowledge to crack the interview. At least, you’ll get an interview opportunity if you have a friend in that company.
So, personal connections are pretty significant. If you can, try to make some connections with the people that work in your dream company. LinkedIn can help you with this. You can even pay them a few bucks an hour for their time to talk with you. It is worth to spend some time and money to build connections.
You know what? More than 80% of quality jobs are never advertised. Those jobs are most often snapped up by internal candidates or inside-track referrals pretty quickly. That’s why it is crucial to have some personal connections with the company that you like.
One simple thing you can do is to go for meetups and conferences near your area. Just go to meetup.com, and you’ll find a lot of meetups (about your industry) happening in and around your area.
You can learn new things and make new friends by going to these meetups. Also, almost all the people coming there would be passionate about your field. Make use of these opportunities, and it will help you in your career.
Soft skills like marketing are as valuable as technical skills. Marketing skills will make you stand out from the crowd as a programmer. So, make sure you implement the tips that I’ve shared. Hopefully, you’ll have a bright future ahead.
If you want to learn more about marketing yourself as a software developer, I highly recommend you to check out the How to Market Yourself as a Software Developer Course by John Sonmez.
Do you have some personal experiences or clever tips on this topic to share with the programming community? If so, comment down below. Also, feel free to mention your doubts or queries as well in the comments.
I hope this article was helpful to you. I spent a long time making this article. I would appreciate it if you would be willing to share it. It will encourage me to create more useful tutorials like this.