<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kaitlyn Tierney</title>
    <description>The latest articles on DEV Community by Kaitlyn Tierney (@krtierney).</description>
    <link>https://dev.to/krtierney</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F23393%2F76c4338d-a9cc-4810-bb01-ecb6af7c499c.jpeg</url>
      <title>DEV Community: Kaitlyn Tierney</title>
      <link>https://dev.to/krtierney</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/krtierney"/>
    <language>en</language>
    <item>
      <title>Your Hiring Process Is Probably Biased</title>
      <dc:creator>Kaitlyn Tierney</dc:creator>
      <pubDate>Mon, 04 Jan 2021 16:44:21 +0000</pubDate>
      <link>https://dev.to/krtierney/your-hiring-process-is-probably-biased-1pp9</link>
      <guid>https://dev.to/krtierney/your-hiring-process-is-probably-biased-1pp9</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is cross-posted from &lt;a href="https://krtierney.com/2021/01/04/inclusive-hiring/"&gt;my blog&lt;/a&gt;, just like &lt;a href="https://dev.to/krtierney/my-first-year-as-a-developer-post-bootcamp"&gt;my last dev.to post in 2017&lt;/a&gt;!&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Hiring is hard and important
&lt;/h2&gt;

&lt;p&gt;Hiring is hard. This is true in any industry, but in the tech industry we're in the habit of handing out life-changing salaries to people who have bootstrapped their own careers. With our hiring choices, we have the power to reshape the financial reality for people from marginalised backgrounds or impoverished communities.&lt;/p&gt;

&lt;p&gt;It's not uncommon for skilled developers to be neurodivergent, or to struggle with mental illness. For many people, mental health problems have been exacerbated by years of abusive treatment within the industry, or by burnout. As a hiring manager, you have a duty to care for the people you interact with. At a minimum, your hiring process should not actively hinder people's well-being and mental health. When successful, your hiring process is a critical step to building a high-performing engineering team and a great product. When done badly, you'll burn your reputation and you'll struggle to recruit, or you'll find yourself only recruiting people who resemble your current (likely homogeneous) team.&lt;/p&gt;

&lt;h2&gt;
  
  
  You are not entitled to good candidates
&lt;/h2&gt;

&lt;p&gt;This post is for engineering managers, technical founders, engineers who aspire to become managers one day—for anyone with the responsibility of hiring software developers at a small to mid-sized company. It contains strong opinions, anecdotal examples of actual hiring processes I have endured, and quite a lot of advice for ways you might be able to improve your hiring.&lt;/p&gt;

&lt;p&gt;Of course, my idea of a better hiring process might not be the same as yours. If you don't agree that &lt;strong&gt;diverse teams build better products&lt;/strong&gt;, you've found yourself in the wrong place. Please move along. I'm not here to sell you on the importance of diversity, and you have bigger problems to sort out than your broken hiring process. You can try to build a diverse team within an organisation that doesn't value diversity, but it won't be sustainable and you'll risk recruiting wonderful engineers and then giving them a bad experience. Please don't do that. I've made that mistake, and I can assure you, it feels terrible. If anyone from HR or your executive team says the words, "It's a pipeline problem," to you, just run as quickly as you can into the arms of a new and better employer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The goal is simple
&lt;/h2&gt;

&lt;p&gt;Healthy hiring has a simple goal: to &lt;strong&gt;enable candidates to show you their best work&lt;/strong&gt;, so that you can try to assess &lt;strong&gt;whether they'll be able to perform the job responsibilities&lt;/strong&gt;, and so that they can assess &lt;strong&gt;whether they'd like to work with you.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Brittle == biased
&lt;/h2&gt;

&lt;p&gt;Hiring can be conducted on a rolling basis—you have many openings to fill and a good runway to pay them—or what I like to think of as "high-stakes hiring"—you have one or two immediate openings, and must select the best candidate(s) from a pool of people who have applied during a fixed time period. The process is basically the same for both, but your feedback loop is  longer for a high-stakes hiring event, since you won't be able to enact improvements to your process until your next hiring round. With rolling hiring, your process can evolve and improve over time as you learn from the feedback candidates provide to you.&lt;/p&gt;

&lt;p&gt;Building a good hiring process follows the same cycle as building a good product: Build, measure, learn. But how do you make sure you're building the right thing? Who is your hiring process optimised for? One size doesn't fit all—not for socks, not for t-shirts, and especially not for assessing the diverse range of skills and capabilities that make for a good software engineer.&lt;/p&gt;

&lt;p&gt;Most hiring processes for software engineers are divided up into a few rounds, or phases. There's some sort of intake procedure, a sifting or screening process, often performed by an algorithm or a low-level HR employee or support staff. There's likely to be one or more technical assessment rounds. There will almost certainly be some sort of interview delving into a candidate's past experience, and often an additional interview to evaluate "culture fit". These stages can drag on for weeks, even months, or can be pushed through in less than a week. Sometimes the timing is flexible, while the steps followed are not. Bias creeps in at each stage of the process, and it's easy to lose sight of the goal.&lt;/p&gt;

&lt;p&gt;If your hiring process isn't flexible, you're defaulting to optimising for a certain type of candidate. Is that really what's best for your business? Is this a choice you've made, or a trap you've fallen into? Consider the wide range of people you might be excluding, and the valuable perspectives they could be bringing to your product development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;People with mental illness (anxiety, depression) &lt;/li&gt;
&lt;li&gt;Neurodivergent people (autism spectrum, ADHD, etc.)&lt;/li&gt;
&lt;li&gt;People from nontraditional backgrounds, who may have job-relevant skills but, if they don't job-hop or interview a lot, may not yet have gained the specific interview skills you're expecting them to exercise&lt;/li&gt;
&lt;li&gt;People of lower socioeconomic status, for whom performing unpaid timely labour (completing your hiring process) may not be feasible&lt;/li&gt;
&lt;li&gt;People with carer responsibilities, more than full-time work, or other time and availability constraints&lt;/li&gt;
&lt;li&gt;People with disabilities, and if you haven't offered suitable accommodation, this may be illegal in your country&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sifting and screening
&lt;/h2&gt;

&lt;p&gt;You probably don't have time to interview every candidate who applies for a job at your organisation. And you might not want to, even if you have time—copy &amp;amp; paste cover letters are common, and some folks clearly take a firehose approach to job applications, especially if your application software offers a 1-click "import my data from LinkedIn to apply" button. This initial screening, to hand-pick the candidates who might be a good fit based on their CV and cover letter, is frequently performed by people far removed from the rest of the hiring process. I can't tell you how many stories I've heard from hiring managers who received a stack of 40 CVs for an open role, filtered by their HR department, only to discover that everyone who wasn't a white man had been filtered out.&lt;/p&gt;

&lt;p&gt;It's also a measurable, proven source of bias and discrimination in hiring. It's totally unnecessary, unhelpful, and you should skip it and do something better. And I say this as someone who almost always, 99 times out of 100, will get through this initial screening due to my penchant for writing a persuasive cover letter. This process is clearly biased in my favour and I'm still telling you straight-up that it is bad and toxic and you shouldn't do it.&lt;/p&gt;

&lt;p&gt;This is not an advertisement for &lt;a href="https://www.beapplied.com/applied-sift"&gt;Applied&lt;/a&gt;, but I had the opportunity recently to use the Applied platform as a candidate and see for myself what their sifting process is like. It's fantastic. Candidates are presented with a slate of questions designed to reveal competencies relevant to the role. Once they've submitted their answers to these questions, candidate responses are anonymised and shuffled into random order, presented alongside responses from other candidates for scoring and review. The aggregate of anonymous scores is used as a cut-off to determine which candidates have scored well enough to proceed. During this initial sift, no one responsible for hiring is seeing candidates' names, educational history, or employment history. Candidates are evaluated solely on their responses to job-relevant questions, which (unsurprisingly) turns out is a far more accurate predictor for success.&lt;/p&gt;

&lt;p&gt;In my experience as a candidate with Applied, I was asked questions about web performance, code reviewing broken Javascript, using elasticsearch for analytics and reporting, working in teams, and prioritising work. The questions were thoughtfully designed to reveal a lot about my thought proccess and approach in each of these areas, and I'm confident their team learned a lot more about my skills and knowledge than they would have learned from looking at my CV.&lt;/p&gt;

&lt;p&gt;Writing skills are crucial to working well in teams remotely. Writing a cover letter is a skill unto itself, and not one which is generally useful during day-to-day work as an engineer. By asking candidates to provide thoughtful written responses to questions &lt;strong&gt;relevant to their work&lt;/strong&gt;, you'll be able to evaluate competence at written communication; by doing this anonymously and in randomised order, you'll ensure that your evaluation is based on salient information instead of the irrelevant background noise to which you've been conditioned to pay attention.&lt;/p&gt;

&lt;h2&gt;
  
  
  Interviewing remotely
&lt;/h2&gt;

&lt;p&gt;Once you've identified a few promising candidates from your pool, you'll contact them to schedule an interview. It's 2021 and the world is a hellscape, so unless you're lucky enough to be in New Zealand, South Korea, Taiwan, Australia, or a few other countries with competent governance, you'll be interviewing remotely over Zoom or Skype or some WebRTC-based video chat tool.&lt;/p&gt;

&lt;p&gt;Interviewing remotely sucks. I love remote working, but if given the choice, I'd always choose an in-person interview. For many people, the technology for remote meetings just doesn’t yet compare with the fluidity of IRL conversation. In particular, unreliable upstream internet service can have huge impacts on how a candidate will perform in an interview.&lt;/p&gt;

&lt;p&gt;So it sucks, but we have to do it, so we may as well make the best of it. Luckily, with some slight adjustments to your interviewing etiquette you can set your candidates at ease and give everyone a fair chance at success.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start by making sure everyone can hear and see each other.&lt;/strong&gt; This can feel a bit awkward, but normalise starting your call with a verbal confirmation that all parties can see and hear one another.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Outline the agenda in advance.&lt;/strong&gt; You should include a detailed agenda, with the questions you plan to ask, in the calendar invitation for the interview. At the start of the call, review the agenda and outline how the interview will proceed. For example, "The purpose of this call is to get to know you a bit and to allow you to ask questions of us. We'll start by introducing ourselves, then we'll talk through the questions we shared in advance. We expect that to take around 20 minutes, which should leave 10 minutes for us to answer any questions you have."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score responses to fixed questions.&lt;/strong&gt; Ask the same questions of each candidate, as much as possible. Define your scoring system and your questions in advance. If you're hiring on a rolling basis, these questions will change over time. That's fine. But aim to  maintain a consistent approach and ensure that it's well-documented.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch closely for visible signs of packet loss.&lt;/strong&gt; You're a technical person. You can see and identify signs of poor connection, high latency, and packet loss. You need to adjust your communication style accordingly, by pausing and repeating yourself as-needed to counteract technical challenges. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Bad connections are inevitable, often outside of our control, and make video meetings an incredibly ineffective and inefficient way to communicate important information. We still do them, because it's nice to meet someone face-to-face and see how you interact with one another. But the limitations are substantial. Use video calls to augment your knowledge, but do not &lt;em&gt;rely&lt;/em&gt; on them as the only means of collecting certain information about a candidate.&lt;/p&gt;

&lt;p&gt;One of the best interviews I had was with a company who build a WebRTC-based video chat system. I spoke with two of their engineers, who were &lt;em&gt;on it&lt;/em&gt; when it came to noticing packet loss and adjusting the conversation accordingly. Even though the connection wasn't great, we were able to have a delightful, comfortable conversation by working around the technical difficulties.&lt;/p&gt;

&lt;p&gt;One of the worst interviews I had started with, "I'm XXXXX and this is XXXXX. Let's start with the back-end task. Can you share your screen?" For this interview, I requested an agenda and more information about the nature of the interview in advance, but was told my questions wouldn't be answered because it "wouldn't be fair." This was not a high-stakes hiring situation; the role had been open for months and many recruiters were working to fill it. If you're relying on your interviews to weed out candidates, or to pit them against one another, you've lost sight of the goal. To enable candidates to show you their best work, help them to come prepared, just as they would for a day at work. And for goodness sake, at least start your call with, "Hello, how are you?" and "Can you see and hear me okay?"&lt;/p&gt;

&lt;h2&gt;
  
  
  Assessing technical competence
&lt;/h2&gt;

&lt;p&gt;Tech tests, coding challenges, technical assessment. Whatever you call it, this is where a lot of places fuck up. &lt;/p&gt;

&lt;p&gt;Many companies use a take-home coding challenge as a second-round screening, to eliminate candidates from the funnel who don't show a particular set of skills in their solution. Congratulations, you're optimising for people with free time and comfortable socioeconomic status, and you're placing the burden of evaluation solely on the engineers on your team who are willing to score a coding challenge. &lt;/p&gt;

&lt;p&gt;Some hiring managers look at side projects and open-source contributions as a way of assessing technical competence. Congratulations, you're optimising for people with free time, comfortable socioeconomic status, and who have not been victims of harrassment, abuse, or stalking.&lt;/p&gt;

&lt;p&gt;Maybe you prefer to do a technical interview or some pair programming? Congratulations, you're optimising for people who have taken the time to hone their technical interviewing skills. These skills are not actually very related to the job you'll be asking them do. You're effectively eliminating candidates with anxiety, from nontraditional backgrounds, or with some forms of disability. Pair programming is particularly insidious, as it shares a name with a common practice you might engage in at work, but in an interview format it bears no resemblance to the other kind of pair programming you might be familiar with.&lt;/p&gt;

&lt;p&gt;There are a lot of different ways to be a good programmer. A person usually only has to be good at one or two of them. Odds are good that you’re testing for skills you don't need. This may also be preventing you from assessing far more valuable skills that you’re not seeing. To truly assess someone's technical competence, don't lose sight of the goal. How can you enable a candidate to show you their best technical work? I don't know! And you don't either. The only person who will know how they work best is &lt;em&gt;that specific candidate&lt;/em&gt;. This is where a brittle process will fall flat, losing you valuable candidates and poisoning your name if you torment people unnecessarily. Define the skills you're looking for in advance, and offer your candidates a slate of choices for demonstrating those skills.&lt;/p&gt;

&lt;h3&gt;
  
  
  Options for technical assessments
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Take-home tests&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;👍 Working at home and independently is similar to an actual remote working environment. A well-designed take-home test can allow anxious candidates a good opportunity to show their best work.&lt;/li&gt;
&lt;li&gt;💰 Can be inaccessible for candidates with care duties and full-time jobs, so your take-home test shouldn't be a firm requirement. If you &lt;em&gt;must&lt;/em&gt; have a candidate complete your take-home test, you need to pay them for their time.&lt;/li&gt;
&lt;li&gt;🤖 The challenge should be as closely related to your business domain as possible. I have seen challenges to build a vending machine (for an AI-type chat application), to program a robot to move in a certain way (for a fintech company), and to make a 3-card Monty game (for a company doing film analytics). Just.... why. Don't do this. Don't do any of this.&lt;/li&gt;
&lt;li&gt;🛠 Unless you're hiring a developer for a greenfield project, you're probably looking for someone who can work well in your existing codebase. So make sure your take-home test includes starter files! Bonus points if you use your actual codebase, or some sanitised portion of it.&lt;/li&gt;
&lt;li&gt;🔍 Requirements must be clearly defined. No, more clearly than that.&lt;/li&gt;
&lt;li&gt;⏰ Be mindful of your timing! Particularly in high-stakes hiring, if you're giving all of your candidates the same take-home test to do over the same time period, you're a real asshole if you make that time period "the weekend of Rosh Hashanah". This did happen to me. I don't think they have any Jews working for them. Probably not too coincidentally, there are also no women on the team this was hiring for.&lt;/li&gt;
&lt;li&gt;💞 The feedback you provide to candidates should be of comparable quality to what's shared in an internal code review. This means it should be kind, empathetic, and constructive. If you find yourself providing the same piece of feedback to everyone, that's a great indicator that your challenge requirements aren't clear enough.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;Technical interviews &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⚖️ More respectful of candidates' time, but require skills that are interview-specific, not very related to job duties&lt;/li&gt;
&lt;li&gt;🧩 Can be a good way to demonstrate technical competence in lieu of a take-home test, or to follow up on knowledge gaps potentially evidenced by take-home tests&lt;/li&gt;
&lt;li&gt;🧠 To get the best performance from candidates, allow them to prepare in advance. A good developer doesn’t go into a meeting unprepared. Why are you screening for people who excel at doing that? It’s far more interesting to see how a candidate can approach a problem if they’ve been given some time in advance to think it over and understand the context, particularly for design and architecture problems.&lt;/li&gt;
&lt;li&gt;💣 I've often heard the conventional wisdom that developers should practice their interview skills regularly by going on interviews for jobs we have no intention of taking, or applying for jobs even when we're happily employed elsewhere. While it's true that often these interviews, particularly systems design and other technical interviews, generally require practice to do well at, this advice is, frankly, absurd. Going to practice interviews is a waste of everyone's time, and privileges people who can afford to take time out of their jobs to do this regularly. And bad interview experiences can be psychologically damaging! Practice for the sake of practice doesn't come without risks. Moreover, the reason these types of interviews require practice is because they don't exercise skills actually used regularly &lt;em&gt;on the job&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;Code review&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔑 A trend I've been seeing more of lately is to include a code review phase of technical assessment, often as part of a take-home test or interview.&lt;/li&gt;
&lt;li&gt;🧶 I like this, but it relies on clear requirements to work well. If your take-home code review assessment says something like, "You're reviewing this code for a colleague," that raises more questions than it answers. Determining the appropriate tone and content for a code review is highly context-dependent, so you need to make sure candidates have that context.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;Trial work day&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⏳ One place I interviewed used a "practice onboarding day” in lieu of other technical assessment. It’s a good option if you’re in a high-risk hiring situation, where you need to give a fixed number of candidates a deep assessment over a short time period.&lt;/li&gt;
&lt;li&gt;📅 Sometimes this can be extended; you can offer up to a full week's worth of trial work if you're very nervous or unsure.&lt;/li&gt;
&lt;li&gt;⚡️ You must offer options; this option won't be accessible to people with full-time jobs if you're expecting them to do this during regular working hours.&lt;/li&gt;
&lt;li&gt;💸 Of course, you must pay them.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;Side projects or open-source contributions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐙 This is fine if the candidate offers up some code to look at, but bear in mind that it might not tell you what you need to know.&lt;/li&gt;
&lt;li&gt;🔒 It's reasonable to use this as a positive measure, but it's not acceptable to count an absence of side projects or OSS contributions against a candidate.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Feedback and fallout
&lt;/h2&gt;

&lt;p&gt;A bad experience with your hiring process can ruin a person's week, or even month. You don't want that kind of ill-will towards your company floating around out there if you can avoid it. (And you can! It's not that hard to not be awful!) What feels like a good experience to one person might be anxiety-inducing or worse for others. People with mental illness, disabilities, or other constraints have developed strategies to be successful at work, but these strategies don't necessarily map to the different set of skills required to interview and apply for jobs. By making your hiring process as close to real-life work as possible, you'll gather more relevant information and stop excluding those candidates who may provide the most value to your organisation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Over-communicate&lt;/strong&gt;, and communicate in multiple formats, to align expectations and overcome mismatches in communication style or technical issues. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Provide valuable, constructive feedback&lt;/strong&gt; to all of your candidates, and listen to their feedback for you. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offer options&lt;/strong&gt; and accomodations during each of your hiring stages to enable candidates to show you their best. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Share questions and problems in advance&lt;/strong&gt; so that candidates can come prepared to dazzle you.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With a bit of effort, you can craft a more inclusive hiring process. Effort expended up-front to make your process more pleasant for everyone will pay dividends in diverse teams of people who feel valued and supported, and who are empowered to do their best work for you. Good luck!&lt;/p&gt;

</description>
      <category>inclusion</category>
      <category>hiring</category>
      <category>career</category>
      <category>mentalhealth</category>
    </item>
    <item>
      <title>My First Year as a Developer, Post-Bootcamp</title>
      <dc:creator>Kaitlyn Tierney</dc:creator>
      <pubDate>Wed, 28 Jun 2017 09:53:55 +0000</pubDate>
      <link>https://dev.to/krtierney/my-first-year-as-a-developer-post-bootcamp</link>
      <guid>https://dev.to/krtierney/my-first-year-as-a-developer-post-bootcamp</guid>
      <description>

&lt;p&gt;&lt;em&gt;This post was originally published on my &lt;a href="https://krtierney.com/blog/"&gt;blog&lt;/a&gt;, but after it gained some traction on Twitter, I realised it might be suitable for a wider audience...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Today marks one year since I walked into General Assembly's fresh new Aldgate East campus for the first time, bright-eyed and bushy-tailed and ready to throw all of my money and three months of my time behind one singular goal: Get a decent job in London.&lt;/p&gt;

&lt;p&gt;In as much as there is a typical profile (there probably isn't), I never really thought I'd be a likely coding bootcamp alum. I've been making websites most of my life, teaching myself HTML and CSS by snooping code from other sites before I really knew what "code" even was. Much later on, I took courses covering basic HTML, CSS, XML, SQL, all for my graduate degree in library &amp;amp; information science. I knew as much code as I needed to do my job well, and was comfortable enough with it to poke around and build things (or modify existing things to suit my tastes) in Wordpress, Joomla, Drupal, and whatever else people were using.&lt;/p&gt;

&lt;p&gt;And yet, jumping from that level of technical ability to actually being a professional developer seemed impossibly daunting. Somewhere down the road, perhaps while I was spending my early 20s becoming a terrific but completely unemployable librarian (inasmuch as nearly any librarian is unemployable these days, thanks to the economics of supporting social services and libraries in a capitalist society), the inner workings of the internet just passed me by. I don't know when exactly building websites became synonymous with knowing a lot of JavaScript and understanding what, exactly, is meant by that mysterious phrase "back-end" that I had tossed around so casually—as in, "Oh, if you want this to be connected to a database, we'll need someone to handle the 'back-end' bit." I don't know when it happened, but I knew that I was sick of mentally punting that responsibility to other people. I hated that there was an entire domain of technology that I was almost entirely ignorant of, and I hated to see it invading my precious internet and closing me off from playing around and understanding how things work.&lt;/p&gt;

&lt;p&gt;I also hated putting up with sexist bar patrons and trying to fight my way through the male-dominated craft beer industry, which I had sort of fallen into after failing to find library work, or copywriting work, or editing work, or any other sort of gainful employment after relocating to London. So naturally, becoming a web developer seemed like a solid career move. If I had to put up with sexist pigs, at least I could get paid a bit more handsomely for it, and go back to working regular daytime hours.&lt;/p&gt;

&lt;p&gt;The lessons I took away from GA are not necessarily the ones I thought I was paying for. The Web Development Immersive course teaches students how to read documentation—this is a very important skill for an aspiring developer. It teaches the basics of how to use Git + GitHub, and makes sure everyone is able to put together a CV and portfolio showcasing the projects built over the course of the program. The course assignments start out pretty interesting, as students learn the basics of programming and thinking logically to build simple games like tic-tac-toe or roshambo in JavaScript, and the curriculum builds students up to a level where they're able to create standalone webapps that run locally using whatever framework is in vogue and being taught by the course—we learned to build boilerplate applications with Express, with Sinatra, with Rails; we learned the basics of jQuery syntax and a bit about SASS. I learned that the instructional team and advisors at General Assembly thought that my Twitter account was too aggressively feminist and that it would prevent me from finding jobs. I learned that if the white men who pay for the course think that there's a pipeline problem in tech that it's not my place to correct them, and that if there are fewer female developers it's because women just aren't as interested in computers. I learned that junior developers don't write tests in their jobs; that task is reserved for senior developers. The point is, I learned a &lt;em&gt;lot&lt;/em&gt;, and much of it was good and useful, and some of it was not. As I saw more examples of the type of developer I didn't want to be, I was able to form a pretty decent impression of the type of developer I'd like to become.&lt;/p&gt;

&lt;p&gt;I've always been comfortable enough hacking away at things to make them work—in my view, that's not the mark of a professional. If I'm to make this my vocation, I want to do it &lt;em&gt;well&lt;/em&gt;, like, &lt;em&gt;really well&lt;/em&gt;. I want to be able to write software that other developers can look at and say, "Yes, this makes sense." I want to write code that's maintainable, performative, self-documenting, well-tested, that does what it's meant to do. I also want to really, deeply understand the tools I use, which is a process I understand will take &lt;em&gt;rather a lot&lt;/em&gt; of time.&lt;/p&gt;

&lt;p&gt;It's hard not to despair at times, feeling like I'm at least a decade behind the curve and missing so much foundational knowledge. It's even harder to measure my progress—how can I quantify knowledge gained, or deeper understanding slowly percolating in my mind? I can't throw together a Rails application any faster now than I could when I built one for one of my GA projects, but my process for doing so is completely different now (and it includes a hell of a lot more test writing).&lt;/p&gt;

&lt;p&gt;My favourite part of being a professional developer so far is, surprisingly, something that's a bit of a divisive topic: Code review. After years of hacking away at things and making them work, it's so refreshing to have the confidence to share my code with a mentor and get feedback (even when the feedback is basically, "Tear it all down and start over, but here's where to start and what to think about"). I've been really fortunate to work alongside great developers who give thoughtful, considered feedback and are exactly as pedantic as I'd like them to be. I've gotten great feedback about design decisions, architectural patterns, structuring database queries, and how to optimise for performance, and I've learned that naming things probably isn't as hard as everyone thinks it is—at least, not if you've got a decade of writing and editing experience under your belt.&lt;/p&gt;

&lt;p&gt;I'm extremely grateful for everyone who took a chance on me and helped me get this far over the past year—pretty sure you know who you are already, and naming names feels a bit gauche. I plan to repay that debt by putting in the effort to grow into a contributing member of the community, continually fighting against discrimination and cultural hegemony, helping to encourage aspiring developers to boldly pursue their dreams, and calling out bullshit and bad takes whenever I see them. In short, I'll continue to just be myself, but I'll probably get further and bring more people along with me thanks to your help and support.&lt;/p&gt;

&lt;p&gt;xx,&lt;br&gt;
Kaitlyn&lt;/p&gt;


</description>
      <category>bootcamps</category>
      <category>career</category>
      <category>beginners</category>
      <category>womenintech</category>
    </item>
    <item>
      <title>Hi, I'm Kaitlyn Tierney</title>
      <dc:creator>Kaitlyn Tierney</dc:creator>
      <pubDate>Wed, 28 Jun 2017 08:56:25 +0000</pubDate>
      <link>https://dev.to/krtierney/hi-im-kaitlyn-tierney</link>
      <guid>https://dev.to/krtierney/hi-im-kaitlyn-tierney</guid>
      <description>&lt;p&gt;I have been coding (professionally, full-time) for one year.&lt;/p&gt;

&lt;p&gt;You can find me on GitHub as &lt;a href="https://github.com/krtierney" rel="noopener noreferrer"&gt;krtierney&lt;/a&gt; and on Twitter &lt;a href="https://twitter.com/krtierney" rel="noopener noreferrer"&gt;@krtierney&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I live in London.&lt;/p&gt;

&lt;p&gt;I work for &lt;a href="http://happybearsoftware.com/" rel="noopener noreferrer"&gt;Happy Bear Software&lt;/a&gt;. We're a small Ruby on Rails consultancy, with a focus on improving security in Rails applications.&lt;/p&gt;

&lt;p&gt;I mostly program in Ruby, Python, and Javascript.&lt;/p&gt;

&lt;p&gt;I am currently learning more about Elm, shell scripting, cryptography, networking performance, and trying to become proficient with vim after getting annoyed at Atom crashing one too many times.&lt;/p&gt;

&lt;p&gt;Nice to meet you.&lt;/p&gt;

</description>
      <category>introduction</category>
    </item>
  </channel>
</rss>
