<?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[The Qualified Coder - Medium]]></title>
        <description><![CDATA[Insights into tech talent and hiring from the Qualified team - Medium]]></description>
        <link>https://medium.com/qualified?source=rss----7afda29630e6---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>The Qualified Coder - Medium</title>
            <link>https://medium.com/qualified?source=rss----7afda29630e6---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 07 May 2026 03:13:16 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/qualified" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[The High Cost of Developer Mis-Hire]]></title>
            <link>https://medium.com/qualified/the-high-cost-of-developer-mis-hire-c3f07508dcb9?source=rss----7afda29630e6---4</link>
            <guid isPermaLink="false">https://medium.com/p/c3f07508dcb9</guid>
            <category><![CDATA[hiring]]></category>
            <dc:creator><![CDATA[Qualified]]></dc:creator>
            <pubDate>Tue, 26 Feb 2019 00:31:00 GMT</pubDate>
            <atom:updated>2019-02-26T00:31:00.785Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>The High Cost of Developer Mis-Hire</strong></p><p>We ran the numbers, and the cost of landing a new developer will set a company back roughly <a href="https://blog.qualified.io/the-hidden-cost-of-hiring-engineers-22-750-hire-3a53e16b78c3">$22,750</a> — the expense associated with the time it takes to review resumes, conduct phone/tech screenings, and perform in-person interviews. It’s no small sum, but worth every penny to add a productive and innovative team member who can help an organization reach its goals. But when a new developer doesn’t work out, the cost of this mis-hire to a company’s bottom line, team morale, and future outlook can be staggering.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*o0-O95OuGN4i2FIw1R0S-Q.jpeg" /></figure><p><strong>A Six-Figure Mistake</strong></p><p>Estimates vary on how long it takes for a new hire to reach full productivity, with figures ranging from 29 weeks to 8 months to a full year. For the sake of this exercise, let’s imagine it takes 6 months for a new developer at your organization to reach optimal productivity. If everything goes as intended, the hire will show an output multiplier somewhere between 1.875 and 2.5. That is to say, a new developer making $80k a year will return $150K to $200K in profitable output to the company to cover all-in business costs and help turn a profit.</p><p>The most readily apparent evidence of a bad hire is someone whose output multiplier isn’t helping in achieving profitability, or worse, doesn’t even cover their own salary. So at 6 months, an $80K developer with an output multiplier of only 1 would run the company roughly $40k in salary alone, plus $75K at the low end of missed/unrealized profitable output. Add that to the $22,750 expense of recruitment, and in just half a year a developer mis-hire winds up costing a company about $138,750 — but that’s not all.</p><p><strong>The Incalculable Ripple Effect</strong></p><p>Replacing an underperforming developer can be a laborious and challenging affair for HR, management, and engineering departments. From a monetary standpoint, budgets will have to contend with a severance package, possible legal fees, and the cost of having to conduct another months-long round of recruiting to fill the newly vacated position.</p><p>Then there are the incalculable, but no less important, costs related to the effects of bad and fired employees on overall office morale. The negative disruption to the workplace reduces the productivity of other team members, leading to lower output which can impede enterprises from reaching its crucial milestones. When viewing an organization’s 2–5 year outlook, the ripple effect of a developer mis-hire can force stakeholders to shift timelines and redefine success.</p><p><strong>Reversing the Damage</strong></p><p>The good news is that the negative effect of a bad hire can be undone by filling the position with a brilliant developer whose incredible output can help recoup lost time and money, putting an enterprise back on track to achieving its goals. Facebook CEO Mark Zuckerberg is quoted in the New York Times, saying, “Someone who is exceptional in their role is not just a little better than someone who is pretty good. They are 100 times better.” The sentiment demonstrates the value top talent brings to a team, and reveals how the derailment caused by a mis-hire can be reversed by a genius developer whose profitable output multiplier is at the high end of the range. Qualifed’s online platform leverages code assessments and pair-programming interviews to streamline the candidate process and help identify brilliant developers. Send us a message to <a href="https://www.qualified.io/#signup">request a free trial</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c3f07508dcb9" width="1" height="1" alt=""><hr><p><a href="https://medium.com/qualified/the-high-cost-of-developer-mis-hire-c3f07508dcb9">The High Cost of Developer Mis-Hire</a> was originally published in <a href="https://medium.com/qualified">The Qualified Coder</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Hiring Software Developers Cheat Sheet]]></title>
            <link>https://medium.com/qualified/hiring-software-developers-cheat-sheet-96003c45e86c?source=rss----7afda29630e6---4</link>
            <guid isPermaLink="false">https://medium.com/p/96003c45e86c</guid>
            <category><![CDATA[hiring-for-startup]]></category>
            <category><![CDATA[recruiting]]></category>
            <category><![CDATA[engineering]]></category>
            <category><![CDATA[hiring-tips]]></category>
            <dc:creator><![CDATA[Qualified]]></dc:creator>
            <pubDate>Tue, 05 Feb 2019 16:01:03 GMT</pubDate>
            <atom:updated>2019-02-05T16:01:03.066Z</atom:updated>
            <content:encoded><![CDATA[<p>Now is the best time ever to be a software developer. With a high base salary of $90K+, great benefits packages, and perks like catered meals, flexible schedules, and remote work opportunities, companies are pulling out all the stops to woo talented developers. Even still, tech organizations both large and small are having trouble filling out their company roster. According to the report <a href="https://codingsans.com/uploads/landing/State-of-Software-Development-2018_final.pdf">State of Software Development 2018 (SSD 2018)</a>, of 300+ surveyed industry participants, a whopping 33.55% of managers say that hiring talent is the biggest challenge facing software development — their number one issue by far.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YtGIlSRx5nxT0B9Sy8lZ0A.jpeg" /></figure><p>So how can your company improve its chances in a competitive hiring market? Check out our cheat sheet below for seven tips on landing the best and brightest software developers!</p><h3>The Cheat Sheet</h3><ol><li><a href="https://blog.qualified.io/first-impressions-your-candidate-experience-is-everything-d45e53e9d49d"><strong>Create an enjoyable candidate experience:</strong></a> Gone are the days of nerve-wracking interviews and stressful hiring processes. Candidates place a premium on the hiring experience as a positive or negative experience can change their opinion of a company for the better or worse. And with 25% of SSD 2018 participants saying employee referrals is the most efficient way of hiring talent (more than any other method), it’s important that your team members have a great candidate experience as they are your company’s strongest ambassadors, helping to fill new positions that open up.</li><li><strong>Establish a smooth interview process:</strong> An extension of tip 1 above, it’s important to implement an efficient and frictionless interview process between the candidate and all stakeholders. Properly prep each candidate for their interviews with expectations so they can be on their A-game, and ensure interviews are timely as candidates are likely under consideration at multiple companies. It’s a job seeker’s market, so by implementing a smooth interview process, you can give your company an edge over competitors.</li><li><strong>Maintain clear communication:</strong> If you were considering multiple companies, would you pick the one that was on the ball about communicating the timeline of the candidate process from start to finish, or the company that left you in the dark? Easy answer. By maintaining clear communication of the process schedule, which assessments will be made and how they will be delivered, which skills will be tested, and conveying what is important to the company and culture, you present your organization as an attractive, well-run machine.</li><li><strong>Reveal the relevance:</strong> The candidate experience is packed with interviews and assessments as the company tries to evaluate each developer under consideration, but are you sure the candidate understands the who/what/why of each step? Get the most out of your candidate by disclosing the relevance of each person they meet and why they’re meeting with them. Likewise, the candidates should understand how the assessments relate to the position they are applying for (Qualified can help!).</li><li><strong>Implement a consistent interview structure:</strong> Your company may see dozens of candidates for each open position, so how do the developers stack up against one another? There’s no way to really know unless you implement an interview structure that is consistent across all candidates by using the same questions and assessments. This standardization will help you compare the strengths and weakness of each candidate so that the hiring team and stakeholders can make a well-informed decision.</li><li><strong>Allow room for flexibility in hiring practices</strong>: Are you looking to hire an entry-level, junior, or senior developer? The demands of the position may require you to tweak your hiring practices in order to court the talent you need. Since positions differ, allow flexibility to adjust your recruiting process so you can find the best match for each open role.</li><li><strong>Understand the culture</strong>: 39.6% of SSD 2018 participants report <em>culture fit </em>as being the most important hiring criterion (second only to <em>willingness to learn</em> at 44.5%). From a company standpoint, it’s critical to know your own dev culture in order to evaluate whether a candidate will make a seamless fit. Even if your company is looking for diverse mindsets, you must have a firm grasp of the culture to help gauge different perspectives. It’s equally as important to set up resources for candidates to learn about your company and culture so that they can determine whether the organization is a place where they can make a positive impact.</li></ol><p>When it comes to assessing developer skills, Qualified can help. Demand for brilliant software developers are outpacing supply. Your company can position itself for a fast, optimized talent recruitment process by implementing the tips from the cheat sheet above- or by making sure you know what competencies you are hiring for (another thing we support). Our online platform streamlines the candidate process by quickly identifying the best technical candidates through code assessments, pair-programming interviews, and personal sessions of outlining candidate competencies. Send us a message to <a href="https://www.qualified.io/#signup">learn more</a>.</p><p>___________________________________________________________________</p><p><strong>References:</strong></p><p><a href="https://www.glassdoor.com/Salaries/software-developer-salary-SRCH_KO0,18.htm"><em>https://www.glassdoor.com/Salaries/software-developer-salary-SRCH_KO0,18.htm</em></a></p><p><a href="https://codingsans.com/uploads/landing/State-of-Software-Development-2018_final.pdf"><em>https://codingsans.com/uploads/landing/State-of-Software-Development-2018_final.pdf</em></a></p><p><a href="https://codingsans.com/uploads/landing/State-of-Software-Development-2018_final.pdf"><em>https://codingsans.com/uploads/landing/State-of-Software-Development-2018_final.pdf</em></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=96003c45e86c" width="1" height="1" alt=""><hr><p><a href="https://medium.com/qualified/hiring-software-developers-cheat-sheet-96003c45e86c">Hiring Software Developers Cheat Sheet</a> was originally published in <a href="https://medium.com/qualified">The Qualified Coder</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[7 Traits to Look for when Hiring a Developer]]></title>
            <link>https://medium.com/qualified/7-traits-to-look-for-when-hiring-a-developer-1f7667ac324?source=rss----7afda29630e6---4</link>
            <guid isPermaLink="false">https://medium.com/p/1f7667ac324</guid>
            <category><![CDATA[hiring]]></category>
            <category><![CDATA[software]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[interview]]></category>
            <dc:creator><![CDATA[Qualified]]></dc:creator>
            <pubDate>Wed, 13 Dec 2017 03:36:29 GMT</pubDate>
            <atom:updated>2017-12-13T03:42:31.236Z</atom:updated>
            <content:encoded><![CDATA[<p><em>By </em><a href="https://medium.com/@jakehoffner"><em>Jake Hoffner</em></a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/1*lCNJ1S7zW4MXyMRJlvhr_w.jpeg" /></figure><p>Hiring the right engineer for the job is critical to a company’s success. So, how can we ensure that we are finding the perfect person for the position? While testing a potential hire’s coding ability<strong> </strong>should be primary step in assessing fit, the following seven characteristics will be key in finding your perfect developer beyond the technical skills.</p><p><strong>Passionate</strong></p><p>A programmer who is passionate about his or her work will be 10x more effective than someone who is in it just for the paycheck. A passionate programmer may not necessarily consider programming both their job and their hobby, but they often do. They like to explore new technologies and concepts, and are constantly pushing their limits, not because they have to, but because they enjoy the challenge. They will often spend much of their personal time learning technologies they are excited about.</p><p><strong>Focus - keep their eye on the ball</strong></p><p>A programmer who understands why they are doing what they are doing will stay focused and on task. You want them to be generally passionate about their field, but you also want to know they will stay focused on the short and long term goals at hand. You don’t want coders who find themselves on tangents, trying to implement the latest and greatest, but unnecessary, technology into the codebase — or trying to over-optimize things they are interested in that aren’t a high priority for the team.</p><p><strong>Fast Self Learner</strong></p><p>The state of the art of programming is constantly evolving. Programmers need to demonstrate that they can pick up new technologies, techniques and best practices quickly. Once a developer understands the core concepts of programming, they should be able to build off of that knowledge. If a programmer can’t pick up any new programming skills on their own without having someone teach them, they aren’t going to last long. Staying up to date with cutting edge technology is pertinent to a company’s advancement, innovation and success.</p><p><strong>(Sub-)Domain Expert</strong></p><p>Most companies these days are not hiring what you would call “generalists”. Generalists are developers who have a solid foundation in computer science and a broad knowledge across many different types of technologies, often with one domain that they know best. For example you may have a generalist web developer who can do both front-end (UI) and back-end (business logic) development. While generalists are great utility players, they will often not be as well informed of all of the latest technologies and techniques. Most companies are looking toward more specialized talent. Advances in development are happening so rapidly that it has become increasingly difficult to stay on top of latest develops within a specific domain. Of course, it’s still incredibly important for a developer to have solid fundamentals and a strong understanding of their domain, but they should also be an expert on the specific technology sub-domain they are being considered for. A web specialist would likely know much more than a web generalist about front-end development, but little to nothing about back-end development. This is why testing for specific on-the-job skills is vital in hiring a developer who will most effectively contribute to your company’s specialized demands.</p><p><strong>Team Player</strong></p><p>Programming is a form of reproducible logic/thought, therefore developers will invariably have their own style. You will rarely see two developers come up with the same exact solution, or possibly even the same general approach, to the same complex problem. Programmers need to be able to show that they can adapt to the standards of a team, and write code that takes into account others potentially needing to work on it later. They should write code that makes logical sense to others and isn’t overly specific to their own unique style of organization and thought. A new hire needs to understand how an existing codebase works and how to add to the collective work of a team, while keeping concepts consistent. They should write documentation that helps their colleagues understand their work. They should be able to present their thoughts and take constructive feedback without taking it personally. This is why when hiring a new developer, it is vital to be able to watch their process when writing their code in order to get insight into their unique approach and feel into whether it will fit into the existing teams’.</p><p><strong>Problem Solver</strong></p><p>Problem solving is at the core of what a programmer does. This involves a few aspects — first, engineers need to be able to prove that they can quickly identify the cause to an issue. Next, they need to show determination and efficiency in solving it. This might be a bug with an existing set of code, a scalability problem regarding how to handle increased demand of a product, a maintainability matter when dealing with increasing complexity of code, etc. Not only does the problem need to be located efficiently, but the developer must also be able to solve it in a clear and concise way.</p><p><strong>Craftsman</strong></p><p>Great programmers take pride in their craft. They write efficient code that is well thought out and well tested. They sweat the details, while still aware that they need to deliver on time. Craftsmanship is all about the quality of the product. There is a big difference between simply being skilled, and executing that skill with creativity and dexterity.</p><p>It isn’t always easy finding the right developers, but when you know what to look for and to test for, you’ll be 10x closer to building your perfect team.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1f7667ac324" width="1" height="1" alt=""><hr><p><a href="https://medium.com/qualified/7-traits-to-look-for-when-hiring-a-developer-1f7667ac324">7 Traits to Look for when Hiring a Developer</a> was originally published in <a href="https://medium.com/qualified">The Qualified Coder</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Key to Becoming a Great Software Developer]]></title>
            <link>https://medium.com/qualified/the-key-to-becoming-a-great-developer-8ce863d10543?source=rss----7afda29630e6---4</link>
            <guid isPermaLink="false">https://medium.com/p/8ce863d10543</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software]]></category>
            <category><![CDATA[insights]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Qualified]]></dc:creator>
            <pubDate>Wed, 05 Apr 2017 14:07:24 GMT</pubDate>
            <atom:updated>2017-04-08T02:07:36.149Z</atom:updated>
            <content:encoded><![CDATA[<h4>Progressing through the skills needed in software development can be grueling. Use this profoundly simple insight to level up your skills.</h4><p><em>By </em><a href="https://medium.com/@OverZealous"><em>Phil DeJarnett</em></a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*S7qjcICmURmeRDpVNzkFaw.jpeg" /></figure><p>If you are new to software development, whether starting as a professional or even just learning as a student, you probably find the culture intimidating. The range of skills required to become a “great” developer is vast, with low-level skills that range from a solid sense of mathematics to high-level skills like user-interface design.</p><p>It can be overwhelming trying to balance learning all these skills, especially while trying to keep up with the constantly evolving software industry. What can you do to improve your abilities, to get from where you are to where you want to be?</p><p>In my 20 years of professional experience, reading books and articles and watching videos is not the important step. The most important thing is…</p><h3>Practice!</h3><p>If you are learning how to play an instrument, it’s no question for most people that you can’t get anywhere until you pick up the instrument and try to play it. And it’s not just once in awhile, either. Instrument practice is something most musicians do <em>every day</em>. Even if they are professionals.</p><p>Learning theory and exploring new ideas is, obviously, essential to improving yourself in any discipline. The most important step, though, is turning those concepts into engrained knowledge and muscle memory. In this way, programming is a lot like learning an instrument.</p><p>Until you burn in those core concepts — and you will need to continue to learn these throughout your career — you will struggle with the basic components of programming, for example:</p><ol><li>How to approach a problem</li><li>How to break it down</li><li>How to test and find bugs</li><li>How to quickly narrow down the likely source of a bug</li><li>How to improve performance and maintainability.</li></ol><h3>How Do You Practice to be a great Developer?</h3><p>On the surface, this seems like a dumb question, but it really isn’t! Practicing an instrument diverges from programming, because you can pick up a piece of music and play that same piece over-and-over until you get better. Programming doesn’t work quite the same way, because once you’ve solved a problem, you can, at best, iterate on that solution to improve it.</p><p>That’s an important step, but to really expand your knowledge, you need to regularly find new challenges.</p><h4>Find Your Own Projects</h4><p>The best way to learn is to find a problem you want to solve, and try to solve it yourself. Maybe you want to automate something, or calculate some value regularly.</p><p>Basically keep your eyes open in your <em>own</em> life for things that you would like to work better, or try to improve on something you already use. Then try to research and see if you can solve it. Don’t get caught up in finding a “perfect” solution, rather see how close you can get in a short amount of time.</p><p>These little exercises will keep your mind fresh and have the benefit of having no fixed goal, so you can have fun with them.</p><h4>Open Source</h4><p>A common recommendation is to look for Open Source projects you can help on. I definitely recommend digging into the <a href="https://en.wikipedia.org/wiki/Free_and_open-source_software">FOSS</a> culture, as it will expose you to a wide and varied set of skills and viewpoints.</p><p>Unlike a lot of programmers, I don’t think this works perfectly for someone starting out, simply because jumping into even a small OSS project is overwhelming, as there’s a ton of basic concepts that you are expected to already understand, like code style, language tricks and concepts, and more.</p><h4>Competitive Programming Sites</h4><p>My favorite site for daily programming challenges is <a href="http://codewars.com/">Codewars</a>. (Disclaimer: I liked it so much, I now work for them.) Codewars is great for honing your developer skills, as it provides new content all the time, in a wide variety of languages, so you can make sure you flex that programming muscle whenever you get the urge.</p><h4>Make Mistakes Every Day</h4><p>I think this is the most important step, and the most important skill to learn. You need to make mistakes every day. Every time you practice, practice until you make a mistake. Learn from that mistake.</p><p>If you try a new problem and solve it easily, you probably aren’t learning anything new. That is more like reciting a previously learned skill. When you come across a problem you can solve in your head, find a new way to solve that same problem. <strong>Don’t even worry if it’s not the best way</strong>, just expand your skills with new ideas.</p><h3>Great Practice Tips</h3><p>To really accelerate your education, follow these tips:</p><h4>Break Your Code</h4><p>A common mistake very early programmers make is to write it, then only run it once or against the most simple scenario. A great way to deepen your abilities is to purposefully <strong>try to break your own code</strong>.</p><p>Find unexpected ways to run your code, test on different machines, disable the internet, etc. Ask yourself:</p><ul><li>Does it still work, or does it just crash? (If it crashes, see the next section.)</li><li>If it runs, does it report errors?</li><li>Can you find a way to handle those errors without stopping the program? As an example, if it fails due to the internet being down, maybe you could try the request again later, and only stop if several requests fail.</li></ul><h4>Learn How to Debug</h4><p>This is a deeper topic than can easily be covered here, but every language has <em>some</em> way of debugging. This is another reason why you should make mistakes every day: you want a reason to dive down under the surface of your code and understand what’s happening at a deeper level.</p><p>Most debugging will let you step through your program — jumping deeper into the lower layers and learning what <em>really </em>happens when you call a method, or set a value, or make a network request.</p><p>The goal with debugging — from a learning standpoint — is to build up that muscle memory about how the parts of a program are glued together. The deeper this knowledge, the easier it will be to predict, find, and fix bugs in the future.</p><h4>Don’t Ask Questions…</h4><p>…at least not immediately. Instead, try anything and everything you can think of. This is more important the less comfortable you are with a concept or language.</p><p>When you can’t think of anything on your own, <em>search</em>! The Internet is overflowing with help for learning programmers. Find answers and try them out, but don’t just copy-and-paste and move on. <em>Modify</em> those answers, see if you can understand why they work, adopt them to your code.</p><h4>…But Always Seek Advice</h4><p>When you have tried everything, and preferably after you have a working solution, <em>now</em> is the best time to seek advice. Look to peers and senior developers to review your code.</p><p>Take that advice, apply it and use it in the future. Rewrite what you already did with those suggestions in mind. Ask yourself</p><ul><li>Did they help improve the code? If so, how?</li><li>Did they make it more readable? How can you apply that in the future?</li><li>Did they improve performance? What assumptions did the old code make that were less performant?</li><li>Can you expand on that suggestion? Maybe you can apply the changes in similar ways to other parts of your code.</li></ul><h3>Now, Start Practicing!</h3><p>Now that you have some ideas, get out there and start practicing! The longer you wait, the longer before you’ll feel confident enough to take the next steps in your developer career.</p><p>There’s no time like right now to begin turning that surface knowledge into long-term, deeper skills.</p><p><em>Interested in what we’re working on? Check out </em><a href="https://www.qualified.io/for-education"><em>Qualified for Education</em></a><em> and </em><a href="https://codecast.qualified.io/"><em>Qualified Codecast</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8ce863d10543" width="1" height="1" alt=""><hr><p><a href="https://medium.com/qualified/the-key-to-becoming-a-great-developer-8ce863d10543">The Key to Becoming a Great Software Developer</a> was originally published in <a href="https://medium.com/qualified">The Qualified Coder</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The hidden cost of hiring engineers — $22,750/hire]]></title>
            <link>https://medium.com/qualified/the-hidden-cost-of-hiring-engineers-22-750-hire-3a53e16b78c3?source=rss----7afda29630e6---4</link>
            <guid isPermaLink="false">https://medium.com/p/3a53e16b78c3</guid>
            <category><![CDATA[hiring]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[recruiting]]></category>
            <category><![CDATA[insights]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Qualified]]></dc:creator>
            <pubDate>Thu, 03 Nov 2016 22:36:30 GMT</pubDate>
            <atom:updated>2017-03-06T01:37:51.083Z</atom:updated>
            <content:encoded><![CDATA[<h4>Every company has a cost that gets overlooked — engineering hours spent evaluating candidates, and the impact this has on value-creation</h4><p><em>by </em><a href="https://medium.com/@nathandoctor"><em>Nathan Doctor</em></a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-Cu3Q2Tr8o8yONzlOUm5ag.jpeg" /></figure><p>Great companies spend immense resources searching for talented engineers, and even more to bring them onto the team. These recruiting and sourcing costs add up quickly.</p><p>While these costs amount to a serious expense, with salary making up the majority of engineering budgets, they don’t expose the true cost of hiring to companies. The real cost of hiring engineers is far less apparent. It’s hidden in a subtle way, but can seriously drain resources and productivity.</p><p>This hidden cost of hiring is embedded in the hundreds of hours your engineers spend evaluating and assessing candidates. Through resume review, phone screens, technical interviews and extensive on-sites, days worth of time is allocated to candidates, the majority of which don’t make it to hire. These talented (and expensive) team members’ energies should be focused, as much as possible, on innovating and building product — the tasks that will drive the company forward.</p><p><strong>The true, hidden cost of hiring — your engineers’ time — reduces your company’s ability to innovate and could be costing you $22,750 of enterprise value per hire.</strong></p><h3>The Value of your Engineers</h3><p>All of our hiring expenses, both apparent and discrete, go into finding great engineers precisely because of how valuable they are to the organization. Their value stems from their large impact on the product and the technology that drives the business forward.</p><p>Their skills and talents are cultivated over years of professional experience. These engineers pour their enthusiasm and abilities into writing great software, which is why we bring them onto our teams. Yet engineering teams still carry a heavy burden in the hiring process, the necessity to evaluate and assess potential hires, with countless hours of their time.</p><h3>Inefficient use of Engineering Time</h3><p>All too often a company’s hiring process overuses their engineering talent for pre-screens and interviews, many times with candidates who aren’t qualified to begin with.</p><p>On larger teams, engineers are often scheduled out to interview candidates who have only been minimally pre-screened. They spend their time reviewing code samples and projects, running on-site interviews, and holding technical phone screens with candidates who don’t even end up making it far in the hiring process.</p><p>In smaller and growing teams, this burden often falls to the already overworked CTO, VP or Director of Engineering. With minimal recruiting infrastructure, or dedicated recruiters, they are forced to field all candidate flow. This becomes a major distraction to their most important duty — leading the existing technical team and ensuring engineering resources are produced effectively.</p><p>Regardless of the spectrum of company size and the seniority of engineers, it is vital that companies find the right balance within the hiring process in order to ensure that valuable engineering hours aren’t being wasted.</p><h3>$22,750 in Costs</h3><p>Assume a developer’s cost of productivity to the company is roughly $350/hr (far more for team leads and directors). This estimates the value that a software developer’s work delivers to your company in the form of product improvements and innovation. These improvements then result in increased growth, improved sales and added business-value. This can be broken down based on the base cost of salary (avg. $120,000/yr for an experienced developer), the 25–50% extra enterprise costs (benefits, healthcare, perks, employer taxes), and the premium of return, the company expects to receive on top of it, about 3x the full cost.</p><p>We then look at the three main tasks that company has to fulfill to review each potential hire — the resume review, a phone screen, and an in-person interview. Typically companies see a large ratio of applicants/interviews/hires, in Marketo’s case their 80/8/1 rules, whereby 100 applicants will lead to 10 interviews which results in 1 hire. This number ranges although it’s safe to say that companies look at over 60 resumes, get on a phone call or technical screen with 10 of them and will do 5 in-person interviews to find their next engineering hire. This allocation can shift based on roles, if the company has full-time recruiters, how many candidates they send to engineering/tech phone screens, and if the engineering lead is doing resume review. In general, these hours break down to:</p><p><strong>Resume Review </strong><br>60 resumes * 5 mins = 5 hrs<br><strong>Phone/Tech Screen </strong><br>10 screens * 60 mins = 10 hrs<br><strong>In-Person Interview</strong> (day-long, across multiple interviewers)<br>5 interviews * 10 hrs = 50 hrs<br> <br><strong>65 hrs at $350/hr = $22,750</strong><br> <br>This comes to an average of 65 hours per engineer hired for $22,750 of business costs, and even more for longer processes or more competitive positions. With the importance of engineering innovation and progress, this is not a cost that we want to ignore.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/682/1*B0O42TQ1GtbJwgRv-NaZYg.png" /></figure><h3>Recruiting as a Burden on Developers</h3><p>While the sheer hours that get wasted on ineffective and unnecessary interviews can take a huge toll on productivity, there are even further impacts that result from the energy expense.</p><p><a href="http://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer/">Seemingly small distractions can completely undo hours of work</a>. Interviews, with potentially unqualified candidates, distract engineers from what they were hired to do — use code to solve problems. This requires focus in order to perform optimally, especially when faced with difficult technical demands. Because it takes continuous precise focus to work toward an effective solution, this distraction can actually have a demoralizing effect as it breaks work flow — short-term memory gets loaded with all of the moving parts, leaving engineers to rebuild their mental model and take even more time to simply get back to even. An hour long distraction can actually debase hours of work.</p><h3>Invest Engineering Resources Wisely</h3><p>Now that we’ve dissected the ways in which engineering teams time and focus can get squandered during recruiting, let’s discuss how we can solve this.</p><p>Reducing this $22,750/hire cost comes down to improving recruiting process. We want to increase efficiency so that manual technical screens are only done with worthy candidates, and that only viable talent is making it to each on-site interview.</p><p>We must view each engineering interview as an *investment*. We should only be using an engineering teams’ time with candidates that have a high likelihood of being hired. We don’t want to scatter these valuable investments with anyone who enters the process, but rather only those who show strong promise of maturing into a full hire.</p><h3>Increasing Process Efficiency</h3><p>The best processes that result in the most efficient use of engineering time often filter candidates beforehand so that coding competency has already been determined. This can be done in a variety of ways, through skill assessments, referral-based hiring, and coding competency tests. This serves to accelerate the process, while simultaneously allowing engineers, CTOs, VPs and Directors of engineering to focus on their main tasks, only investing in a few interviews with promising candidates. In addition, this process is respectful to the candidate’s time, as it allows for quick and deliberate decision when an otherwise drawn out process may not lead anywhere.</p><p>This is the reason we built <a href="http://qualified.io/?utm_source=blog.qualified&amp;utm_medium=blog&amp;utm_campaign=realcost11.3.16">Qualified.io</a> to save engineering teams time and accelerate their hiring process. In reducing the amount of time engineering teams spend evaluating candidates, we increase process effectiveness and identify great developers faster. This helps eliminate the hidden cost of the hiring process and allows your company to drive forward with every hour of engineering genius that you have.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3a53e16b78c3" width="1" height="1" alt=""><hr><p><a href="https://medium.com/qualified/the-hidden-cost-of-hiring-engineers-22-750-hire-3a53e16b78c3">The hidden cost of hiring engineers — $22,750/hire</a> was originally published in <a href="https://medium.com/qualified">The Qualified Coder</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Finding Flow as a Developer]]></title>
            <link>https://medium.com/qualified/finding-flow-as-a-developer-bda5ff18bb87?source=rss----7afda29630e6---4</link>
            <guid isPermaLink="false">https://medium.com/p/bda5ff18bb87</guid>
            <category><![CDATA[time-management]]></category>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[insights]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Dan Nolan]]></dc:creator>
            <pubDate>Mon, 03 Oct 2016 22:21:03 GMT</pubDate>
            <atom:updated>2017-03-06T01:39:13.697Z</atom:updated>
            <content:encoded><![CDATA[<p>Software development is hard. In fact, I suspect one of the biggest reasons many of us enjoy programming is <em>because</em> we know it’s hard. We know it’s hard and yet we enjoy striving for perfection. This kind of enjoyment occurs in software development when we work on a project whose scope is at the edge of our limits or comfort zone, but we still believe we possess the skills to pull through it. Within these conditions come the moments of supreme control, of timelessness, of pure excitement and creativity. We feel brilliant in the moments when we have glimpses of ingenuity among the myriad of setbacks that arise naturally while trying to control the chaos that is developing modern software applications.</p><p>This enjoyment feeling is succinctly captured by Mihaly Csikszentmihalyi in his concept of <a href="https://en.wikipedia.org/wiki/Flow_(psychology)">Flow</a>. Flow is what I strive for every day of my programming career, but I don’t always get there. It’s not easy and sometimes I fear it’s beyond my control. There are so many factors both internal and external to the computer that are crucial to developing a product. Many of these factors will remain unknown to us until they inevitably pop up out of nowhere; snapping us out of any semblance of a programming flow. On the best of days we handle these problems with grace and understand how to circumvent, on the worst of the days we fight them head on and get nowhere.</p><p><em>So how do we recognize the worst of days? How do we know when to cut our losses and try another approach? How do we maximize the potential for reaching flow in our daily lives as developers?</em></p><p>Asking ourselves these questions is the first step. Being introspective and truly honest with one’s self is the quickest way to any real personal progress. There are so many factors that naturally affect our flow; some may be unique to certain developers while others may be more common than we realize. Recognizing the factors that most affect <em>you and your team </em>is paramount to your success in the field.</p><p>From talking to my colleagues and examining these factors within myself, there appears to be some patterns in the things that affect us most. Let’s take a look at some of these factors.</p><h3>Find Challenges that Suit You</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZrB2eXQcpIZaJV-O8G-rwg.jpeg" /><figcaption>Curate your Challenge Level</figcaption></figure><p>Challenges and goals should never be too easy. You should always be adjusting your trajectory towards ambitions that excite and even scare you a bit. Ideally this is finding an organization whose purpose aligns most with your own objectives. At a minimum this is finding challenges and goals to set within your organization that will intrinsically motivate you.</p><p>Finding these challenges is fairly straightforward when tasked with a new project or exciting new feature. However, there will be times where you will be faced with a long list of simple bugs or mundane tasks. Even within these instances, there are techniques that can be utilized towards setting your own challenge level and achieving flow.</p><p><strong>For simple bugs, ask yourself:</strong></p><p><em>Can you find the root cause of this bug instead of settling for a band-aid solution? Could this bug occur anywhere else in your codebase? What steps can be taken to preventing it from occurring ever again?</em></p><p>You can choose to see it not just as <em>one</em> <em>bug</em>, but as <em>an</em> <em>instance of a class of bugs</em>. See it as an opportunity to catch something now and determine procedure towards making sure variations of it never occur again. Make it your personal vendetta to extinguish those bugs once and for all.</p><p><strong>For mundane tasks, ask yourself:</strong></p><p><em>Can you achieve the goal of the task in a more effective manner than proposed? What kind of additional functionality in this space might delight your end-user? If you’ve done this task before, Is there a way to automate it or create a sort of framework or library to encapsulate your solution?</em></p><p>Understanding your natural cycle of energy throughout the day is another factor to consider. Perhaps you are somebody who is more adapted towards taking on creative tasks in the morning, while handling the more routine tasks or bug fixes in the evening (or vice versa). Keep a log and examine the days you feel most productive. <em>How were those days structured?</em></p><h3>Stay Healthy and Alert</h3><p>For most developers, programming is a career and it’s something we intend to be doing for years and years. If you have a habit now that you cannot foresee yourself maintaining for the next 10 years of your life, when will it stop? Will you see the crash coming <em>or</em> will you burn out first?</p><p>We need to maintain our mental and physical well-being every day of our lives to the best of our ability. Doing this will boost not only our longevity in the field, but also our daily productivity. Let’s focus on some things we can do to maintain or physical and mental interests.</p><ul><li><strong>Eat smart</strong> and understand what you’re putting into your body does to your productivity levels. In an effort to maintain productivity into the afternoon I’ve found keeping lighter lunches helps increase productivity. The industrious Benjamin Franklin believed that always being a bit hungry is essential to productivity.</li><li><strong>Sleeping</strong> enough to reach the recommended amount, when possible. When it’s not possible understand what it does to your productivity. You may find that you’re better off crushing quick, easy tasks and bugs when you’re sleep deprived; or maybe it’s documentation. Whatever it is, maybe save it until Friday when you’ve got that late concert Thursday night.</li><li><strong>Meditation</strong> can be effective for both creative purposes and maintaining focus. It can open your mind to allow ideas to flow in or calm your mind to focus on the things that really matter.</li><li><strong>Exercise</strong> will keep you feeling strong, alert and healthy. It’s not necessary that you become an athlete, but our bodies were not meant to stay in one position all day. Make sure you move around a bit, find something that makes you want to stay on your feet for an hour or two.</li><li><strong>Keeping consistent </strong>with your schedule will allow you to find your most productive self. Just as we do with our computers, we’ll want to program our daily lives to be as efficient as possible. Explore the bounds of what your schedule can hold for you and then reign in on the habits that best perpetuate your goals and desires.</li></ul><h3>Know When its Time to Take a Break</h3><p>As important as it is to stay focused and on track, there are times when we push too headstrong into a problem and we need to take a step back and allow our brains to open up and get creative. Taking a break or changing the scenery can help spur new ideas.</p><p>Don’t be afraid to take breaks when you’re not feeling productive. If you have the freedom you can go for a long walk, a bike ride or a long drive in your car. Maybe take a laptop or notebook to a local coffee shop or park and try to write some ideas out there. Often times our minds are still working on tough problems even while we’re not consciously aware of it; when we’re sleeping, showering, or eating. It’s surprising how often we’ll stumble on our most creative solutions the morning after a long night of grinding away at a problem trying to force something to happen.</p><p>It can be especially beneficial to find complimentary training or learning resources that provide you with a break, while still learning concepts that can be applied to the difficult problem you’re stuck on. I was introduced to <a href="http://www.codewars.com">Codewars</a> three years ago by a co-worker and it’s been a favorite resource of mine for training programming skills ever since (in full disclosure I work at Codewars now). The beautiful thing about the training modules, referred to as Kata, is that they are small, self-contained programming sessions with clear indicators of success and failure. Through the difficulty settings we can pick the challenge level that engages us and work until we have clearly achieved the solution. Incidentally these are the exact conditions necessary for finding flow.</p><h3>Wrap Up</h3><p>We’re lucky as developers to have a craft with the potential to practice and learn to our heart’s content. With only a computer and some decent internet access we can work on our projects and hone our skills through the night. It’s a craft that appeals to those of us with a growth-mindset and the drive to become great at what we do. The only limit to our success is where we choose to spend our time. Regardless of what our personal lives are like, we’re all limited to a certain number of hours that we can put in each week. We may be able to squeeze blood from the stone and pull out some more hours out of our week, but to what end? We must realize that it is not how many hours we put into our craft, but the quality of those hours that really determines our success.</p><p>Let’s recognize that finding flow is paramount to our success as developers. Be sure to ask yourself what factors contribute most to your flow and <em>don’t stop there</em>. Ask other developers, especially those on your team, what contributes to their success and focus. Often times posing these questions will bring up insights and factors you’ve never even considered. Picking up on these factors will continue to make you grow and be productive in ways you could have never imagined.</p><p>How do <em>you</em> find your flow?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bda5ff18bb87" width="1" height="1" alt=""><hr><p><a href="https://medium.com/qualified/finding-flow-as-a-developer-bda5ff18bb87">Finding Flow as a Developer</a> was originally published in <a href="https://medium.com/qualified">The Qualified Coder</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Great Developers Don’t Need To Be “Passionate”]]></title>
            <link>https://medium.com/qualified/great-developers-dont-need-to-be-passionate-5a483ce9e0d0?source=rss----7afda29630e6---4</link>
            <guid isPermaLink="false">https://medium.com/p/5a483ce9e0d0</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[recruiting]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[insights]]></category>
            <category><![CDATA[hiring]]></category>
            <dc:creator><![CDATA[Phil DeJarnett]]></dc:creator>
            <pubDate>Fri, 26 Aug 2016 18:22:39 GMT</pubDate>
            <atom:updated>2017-03-06T01:39:30.929Z</atom:updated>
            <content:encoded><![CDATA[<h4>Great developers have something <em>better</em> than a desire to work long hours.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jlNh0O7xuKIhM_wgtgC6RA.jpeg" /></figure><p>There’s a common expectation when looking for great developers that they need to be “passionate” about coding, which is often equated to coding long hours. It carries the assumption that the best software engineers live, breathe, and sleep code. That great developers should have intensive work weeks, and fill their free-time with coding side-projects. It wants to see prolific Github accounts, tons of open source contributions, and expects great developers can’t wait to get back to writing code.</p><p>In my experience, there are people like that. And they can be great — until they burn out, of course. But while focusing so much time on code can imply that someone is a great developer (though never guarantee it), a lack of after-hours programming does not mean someone will be a worse candidate than someone who does.</p><p>In the end, while there’s a lot that separates great developers from mediocre ones, there are more important traits that make a superior developer.</p><h3>Great Developers Are Problem Solvers</h3><p>All first-class developers share one common skill: they can solve a problem. Though there’s more to it.</p><ul><li>They have the ability to <strong>define the problem</strong> it in a way that makes it possible to solve</li><li>They can take their problem definition and <strong>break it down</strong> to target a solution.</li><li>They are able to <strong>assess it from different directions</strong>, knowing that complex problems have multiple solutions.</li><li>They also know how to <strong>find answers</strong> when they are missing information or experience. This is key, because challenging problems always require growth and learning to solve.</li></ul><p>One thing you might notice is none of this is specifically related to years experience or raw knowledge. Instead, this is a skill set of its own, that’s often innately developed. From junior to senior, great engineers will be able to follow through on these steps, no matter their experience with the problem domain.</p><h3>Great Developers Don’t Give Up</h3><p>I think this is where the misconception that great developers work late comes from. What really is happening is that many amazing developers will get caught up in solving a problem, and want to see it through — or at least get their work to a state where they can take a break without losing their mental model.</p><p>This doesn’t mean that <em>all</em> developers have to work this way. The best developers know to always step away from complex issues, to let their mind rest and make it easier to tackle an issue from a different viewpoint.</p><h3>Great Developers Do Care — About The Quality of Their Work</h3><p>There is an important distinction here. Great developers care a lot, but they care about the work <em>they</em> do. In the right circumstances, this can be misconstrued as being “passionate,” but I feel like it goes deeper than that. Rather than a general, over-arching concern for all-things-programming, they are going to care about specific issues that affect them and how they work.</p><p>For example, a strong developer isn’t always going to accept their first solution. They care about getting the solution <em>right</em>, not just solving it and moving on. This means taking the time to review the solution, looking for edge cases and potential long-term issues. This also means thinking about long-term maintainability — as is appropriate for the problem at hand.</p><h3>Great Developers Don’t Have to Program After Hours</h3><p>This is the core issue. Just because someone doesn’t write code after hours doesn’t mean they aren’t a great developer. There are lots of great reasons that a developer might not work after hours on programming. Even more so maintaining balance is very positive to a developer’s mental well-being and will return large gains in the long-term.</p><ul><li>Many developers have other hobbies, that are often orthogonal to software development. If you are looking to hire someone, talk to them about their hobbies and interests.</li><li>If a developer has a family, don’t expect them to have a lot of extra free time. But don’t discount someone here, either. Having a family might mean they’ll get more satisfaction out of the time they have at their job, to focus on challenging themselves and solving problems with code.</li><li>For employed developers, learning about their current role can give you insight into what they find enjoyable or what they dislike about their current job. It also can open the door to learn about what they would <em>like</em> to be working on.</li></ul><h3>Great Developers Will Stand Out — With the Right Process</h3><p>Hopefully you can agree: great developers are far more than the hours they log. Evaluating a developer solely on their résumés and extracurricular coding, neither of which show the whole picture, is a guaranteed way to lose talent. So how do you find them?</p><p>We’ve found the best way to find great developers is to test their ability to solve problems. Provide them with short, fair, and <em>interesting</em> challenges to solve. The solution to these challenges will give you a lot more insight into how they think and work as a developer.</p><p>Things to look for:</p><ul><li>Are they willing to solve tough problems?</li><li>Are they persistent in solving a difficult challenge?</li><li>Are they able solve the problem in a way that is maintainable, and can be understood by other developers?</li></ul><h3>Choose the Right Process for Your Team</h3><p>When looking for developers to join your team it’s critical to evaluate potential candidates in a way that allows truly great developers to stand out. That’s our mission at <a href="http://qualified.io">Qualified</a>, accelerating talent assessment in a way that saves time, while unearthing true talent. In our next articles, we’ll look at different processes you can use to highlight great developers.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5a483ce9e0d0" width="1" height="1" alt=""><hr><p><a href="https://medium.com/qualified/great-developers-dont-need-to-be-passionate-5a483ce9e0d0">Great Developers Don’t Need To Be “Passionate”</a> was originally published in <a href="https://medium.com/qualified">The Qualified Coder</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>