<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Edem Kumodzi on Medium]]></title>
        <description><![CDATA[Stories by Edem Kumodzi on Medium]]></description>
        <link>https://medium.com/@edemkumodzi?source=rss-38752620f7f9------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/2*fZa-zKJxctcHzJZpalnvDQ.jpeg</url>
            <title>Stories by Edem Kumodzi on Medium</title>
            <link>https://medium.com/@edemkumodzi?source=rss-38752620f7f9------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 22:42:28 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@edemkumodzi/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Thoughts on writing great developer job listings]]></title>
            <link>https://medium.com/edem-kumodzi/thoughts-on-writing-great-developer-job-listings-557c181d1359?source=rss-38752620f7f9------2</link>
            <guid isPermaLink="false">https://medium.com/p/557c181d1359</guid>
            <category><![CDATA[hiring]]></category>
            <category><![CDATA[random-thoughts]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <category><![CDATA[recruiting]]></category>
            <dc:creator><![CDATA[Edem Kumodzi]]></dc:creator>
            <pubDate>Tue, 08 Nov 2016 14:41:52 GMT</pubDate>
            <atom:updated>2016-11-08T14:41:52.988Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GgLVXXfYDuS08V1SQQQaeQ.jpeg" /></figure><p>It’s about time I write this piece …</p><p>If you are a developer in Africa, chances are you’ve seen quite a number of job listings that totally turned you off.</p><p>If you are a recruiter, chances are you’ve sent out your job listings out and got inundated with hundreds of applications that didn’t even meet your minimum requirements!</p><p>So I keep hearing from recruiters saying “We can’t find any qualified software developers, this is so frustrating” and developers saying “I’m still looking for a job and can’t get one”.</p><p>So why does this happen? It’s because the good developers that recruiters would actually want to speak to never apply after reading most job listings that recruiters post because they simply don’t make sense. So then they get swamped with desperate mediocre developers who fill up their CVs with all the jargons they hear about.</p><p>Now if you are a recruiter, don’t feel bad. I understand how this all started. A lot of bad job listings are actually copied from other bad job listings from so called “reputable” companies so it’s created a ripple effect! But why are developer job listings terrible? In my experience there are a few reasons why:</p><h3><strong>Developer job listings are written by non-technical recruiters</strong></h3><p>This is probably the number 1 reason why job listings are so bad. And it’s getting worse because more and more non-technical companies are looking to innovate faster with the help of software.</p><p>So what happens is all these companies with an HR department that never did any software development hiring improvise on the spot and just copy from what they see other companies do. A typical example would be something like this:</p><pre><strong>5 Years of Experience programming with Swift</strong></pre><p>What do you think is wrong with this statement? Swift was released by Apple in 2014! How do you expect someone to have 5 years of experience with Swift in 2016? As a recruiter, maybe what you meant was you are looking for an experienced iOS developer. But when you write something like this, good developers will find it highly questionable, will not take you seriously and not bother applying.</p><h3>Developer job listings are full of contradictory skill-sets</h3><p>Imagine you are hiring a front-end engineer. And in your requirements, you expect this engineer to be proficient in Ruby on Rails and Microsoft SQL Server. First of all that’s an unusual stack since Rails apps are commonly hosted on Linux Boxes and to run Microsoft SQL Server, you need Windows. What would the development environment with such a stack look like? Then why must a front-end engineer be proficient in technologies that are meant for back-end engineers?</p><p>Another one I see a lot is asking developers to be expert using tools that can be learned on the job.</p><pre><strong>Expertise with GIT</strong></pre><p>What does this even mean? Learning GIT doesn’t take more than an hour if you don’t know it already and if you get stuck, Google has all the answers already. Maybe what the recruiter means is “Familiarity with version control systems”.</p><p>This happens very often: the Job Title and the requirements contradict themselves and again, that puts off good developers from applying.</p><h3><strong>Developer job listings don’t disclose any salary information</strong></h3><p>Whenever I ask recruiters why they don’t do this typical answers are: “We don’t want to hire developers who are motivated by money” or “Though our salaries are competitive, we don’t want our competitors to know how much we are paying our developers”. These are valid concerns but most of the good developers aren’t sitting at home idle. They are either working for another company, freelancing or building their own products. Imagine as a developer you live 20 minutes away from your office and you are paid 25K USD per year. You spend maybe 10K USD on rent and 5K USD on transportation. If you take up a new job that pays you 35K USD per year, but requires a 2 hours commute, it would require you to spend an extra 15K on transportation. So you took a new job with a raise but your annual savings haven’t change. So when you don’t disclose salary information, and a developer goes through the whole process of applying, interviewing and receiving an offer that doesn’t work in his favor, it’s wasted time on both ends. And after such experiences, they will not apply to any jobs without any salary information.</p><h3>Developer job listings have salaries that don’t match skills required</h3><p>There’s a correlation between salary and expertise. For example, iOS developers command higher salaries than Android developers in many markets. That’s because it’s far easier to find an Android developer comparing to finding an iOS developer. Expertise could also not be related to knowing a specific programming language but rather how long you have been working on some type of projects, lead a team, etc … But very often, I come across job listings looking for specific roles that don’t match the salary expectations. For example, if you are offering 300 USD per month for a Senior iOS Engineer role, you will have a hard time finding any qualified candidates.</p><h3>How do we solve this?</h3><h4><strong>Recruiters</strong></h4><p><strong>Review Your Listing before posting it: </strong>If you are a non-technical recruiter, learn everything you can about the technology stack that your company uses and understand the roles of each existing member of the team. When you are done writing, have it reviewed by one of the members of the tech team. If this is your first hire, you ask someone in a local tech community to review it for you.</p><p><strong>Avoid of useless jargons: </strong>The tech landscape is full of tools and frameworks. Some are used heavily, others sparingly. But most of them are built around some fundamental concepts that haven’t changed over time. So don’t expect your perfect candidate to know every single tool out there. What you should rather focus on is whether they are familiar with the fundamental concept that your desired tool uses. For e.g. You may be looking to hire a Ruby on Rails engineer. But if you find a candidate with ASP MVC experience and knows a bit of Ruby or Python, they will do just fine because Ruby on Rails and ASP MVC are both MVC frameworks and the syntax of Ruby and Python are very similar. So instead of saying “Proficient with Ruby on Rails” you could say something like “Familiar with MVC architecture but experience with Ruby on Rails is desired”. Another technique you can use to avoid jargons after writing your job requirements is to ask yourself this question: “If I could pick only 3 skills I want to hire for, what would they be?” This will force you to prioritize the most important skills you would want your ideal candidate to have. Everything else can be learned on the job.</p><p><strong>Include Salary Information: </strong>Things like “competitive salary” don’t mean much. If you cannot put down a number, put a range. You will be saving yourself a lot of time on the long run. Also the reason why it’s important is because how much you can afford to pay a developer can also determine what role you should be hiring for. Maybe you think you need a senior developer but you can only afford to pay 500 USD per month. After evaluating the requirements and reviewing with a technical person, you may realize that you don’t in fact need a senior developer but an entry level developer can handle what you require.</p><h4>Developers:</h4><p>I know what I’m going to say is going to be extremely hard for many of you to do but if we want to see higher quality job listings, we have to play our part! The next time you come across a job listing that doesn’t seem right instead of just cursing whoever wrote it, reach out to the company and try to understand their requirements. Point out mistakes they made and help them edit it. If their stack doesn’t make sense, ask why. They may have a good reason or simply don’t know what they were doing. As more and more developers do this, the recruiters who don’t know any better will copy from the good listings and everyone will be happy!</p><p>I hope this post helps a recruiter out there trying to write the perfect job listing and hire the perfect candidate.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=557c181d1359" width="1" height="1" alt=""><hr><p><a href="https://medium.com/edem-kumodzi/thoughts-on-writing-great-developer-job-listings-557c181d1359">Thoughts on writing great developer job listings</a> was originally published in <a href="https://medium.com/edem-kumodzi">Edem Kumodzi</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why I became a software engineer]]></title>
            <link>https://medium.com/edem-kumodzi/why-i-became-a-software-engineer-f3b73dacaedf?source=rss-38752620f7f9------2</link>
            <guid isPermaLink="false">https://medium.com/p/f3b73dacaedf</guid>
            <category><![CDATA[random-thoughts]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[microsoft]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Edem Kumodzi]]></dc:creator>
            <pubDate>Thu, 03 Nov 2016 10:02:22 GMT</pubDate>
            <atom:updated>2016-11-06T18:18:42.709Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/698/1*P_Y4kY4jcRjQJM8jvF0oow.jpeg" /></figure><p>I hear of stories of many software engineers who always knew they were going to work with computers because they started tinkering with them when they were kids. Or they had a computer club in school. Or their parents bought a computer when they were and they thought coding was fun. All these are very common for software engineers in the US &amp; Europe but for many of us in Africa? We didn’t see a computer until we were halfway through high school. And when my dad finally bought a PC and set it up at home, it wasn’t a “tinkering machine”. This was for work! 😂</p><p>I remember seeing one of my uncles installing an operating system that looked totally different from the Windows 2000 and Windows XP I was used to. I asked him what it was and he said “It’s Linux”. He was a network administrator back then and had a huge book full of commands that he had to refer to while he was working. It looked so scary to me, I was like “nah this is madness, lemme go play some video games”.</p><p>I didn’t do any programming until University. C++ was boring to me. I could do it but had very little motivation to go beyond class assignments. My first semester ended and my dad insisted I do some extra curricular activities so he enrolled me into a programming class where we learned Visual Basic and .NET. I really liked Visual Studio and the whole drag and drop method of building windows forms. That still didn’t really motivate me.</p><p>It was when I came back to school that I had an epiphany. We had to go pay our school fees at the bank, which was outside the school then go back to the Finance Office for an official receipt. Then use that receipt to register for each course we are taking. At every step, you have to wait in a queue for 2–3 hours. It took 3 to 5 days to actually finish the entire registration process. As impatient as I am, I started asking myself: “Isn’t there a better way? Why do I have to provide the same information over and over and go to multiple places to complete my registration?”. I started researching web development, databases, windows applications development and told myself I could build this thing. Not to resell it, just to prove a point.</p><p>So something that frustrated me literally got me motivated. And that’s how I started learning how to code seriously. Since I was already familiar with VB, I thought I could build the Students Information System as a Windows Application using VB. I started with designing the forms with the fields, did all the validations and then I got stuck with this: “How do I actually save this? What do I need to do to be able to store this information and query it later?”</p><p>I paused with VB and then jumped into how to use Microsoft SQL Server and the SQL language itself. Once I was comfortable with that, I went back to my application to make it connect to the database server and do the basic CRUD operations. At this point, I had a working system to manage students and courses. Now how do I make students register online for their courses? I can’t build another windows application and expect them to download it.</p><p>That’s what led to learning about web development using ASP.net. Seeing as I knew no HTML then, that’s what I started with. Then I learned CSS. This was quite painful because there was no CSS framework like bootstrap. But I kept going because I really wanted to build this thing.</p><p>When I eventually built it, I was really happy. I felt accomplished! And since then, I’ve always approached learning new tools, frameworks, technologies based on what I wanted to achieve.</p><p>So no, I didn’t become a software engineer because I enjoyed coding or grew up around computers or any of that. I became a software engineer because the problems I cared about solving required me to learn how to code.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f3b73dacaedf" width="1" height="1" alt=""><hr><p><a href="https://medium.com/edem-kumodzi/why-i-became-a-software-engineer-f3b73dacaedf">Why I became a software engineer</a> was originally published in <a href="https://medium.com/edem-kumodzi">Edem Kumodzi</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>