<?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: Elliot Taylor</title>
    <description>The latest articles on DEV Community by Elliot Taylor (@ejntaylor).</description>
    <link>https://dev.to/ejntaylor</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%2F588999%2F15b7df6f-a881-46b7-826f-2b9f8ce2d51e.jpg</url>
      <title>DEV Community: Elliot Taylor</title>
      <link>https://dev.to/ejntaylor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ejntaylor"/>
    <language>en</language>
    <item>
      <title>How Teams use Code Reviews to get 10x code and what solo dev's can learn from this</title>
      <dc:creator>Elliot Taylor</dc:creator>
      <pubDate>Tue, 15 Feb 2022 17:21:11 +0000</pubDate>
      <link>https://dev.to/coderbuds/how-teams-use-code-reviews-to-get-10x-code-and-what-solo-devs-can-learn-from-this-1ai4</link>
      <guid>https://dev.to/coderbuds/how-teams-use-code-reviews-to-get-10x-code-and-what-solo-devs-can-learn-from-this-1ai4</guid>
      <description>&lt;p&gt;Working in a team is a superpower. &lt;/p&gt;

&lt;p&gt;In a team you can leverage the collective hive mind of your peers. You see new ways of working, correct bad habits and have confidence that you shipping quality code. &lt;/p&gt;

&lt;p&gt;When I started working on my solo projects I saw my code quality drop off a cliff. I've built &lt;a href="https://coderbuds.com"&gt;Coderbuds&lt;/a&gt; to help share these good team practices to all developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I've learnt working in a team.
&lt;/h2&gt;

&lt;p&gt;You put on your best behaviour around others. You cross the t's and dot the i's.&lt;/p&gt;

&lt;p&gt;Whenever I do solo projects, my standards slip. We only have ourselves to hold ourselves account and that can be a problem.&lt;/p&gt;

&lt;p&gt;We'll skip writing tests.&lt;/p&gt;

&lt;p&gt;We'll rush the code.&lt;/p&gt;

&lt;p&gt;We'll do cowboy fixes in production.&lt;/p&gt;

&lt;p&gt;I guess at least there is no-one to judge us! But it's not good for our codebase and not good for our career.&lt;/p&gt;

&lt;p&gt;Senior developers who work in teams have hit the jackpot, from the get-go they can draw on their collective power. &lt;/p&gt;

&lt;p&gt;They learn more and quicker.&lt;/p&gt;

&lt;p&gt;Mistakes get spotted before they're on prod.&lt;/p&gt;

&lt;h2&gt;
  
  
  That's all very well but I don't have a team!
&lt;/h2&gt;

&lt;p&gt;Dev's don't magically produce better results by being in a team. It's all about the processes they have in place. &lt;/p&gt;

&lt;p&gt;I'm currently working in a team implementing the practices outlined in the &lt;a href="https://itrevolution.com/the-devops-handbook/"&gt;DevOps Handbook&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;It looks at what it makes to have a high performing, or elite team. It's transformational but has some simple practices at heart.&lt;/p&gt;

&lt;p&gt;One powerful approach we take from this is to break up the work into digestible bites. Here the humble pull request is your friend. &lt;/p&gt;

&lt;h2&gt;
  
  
  Pull Request Best Practices
&lt;/h2&gt;

&lt;p&gt;Magic happens when you break your code down into discrete units. &lt;/p&gt;

&lt;p&gt;A good Pull Request is the epitome of this. Have it so it is self-contained and self-describing. Don't add the whole Kitchen Sink, just the taps.&lt;/p&gt;

&lt;p&gt;Use the PR description to provide context to the code so when someone is looking at the diff's they can make sense of the code.&lt;/p&gt;

&lt;p&gt;Each PR will ideally include tests (where possible). If you are adding functionality and it should be testable. Tests are a great way for others to make sense of what your code should be doing.&lt;/p&gt;

&lt;p&gt;This all makes it much easier to get a good code review. We want to make it as easy as possible for our team mate to context switch, quickly understand what's going on and provide some feedback.&lt;/p&gt;

&lt;p&gt;Bloated PRs stay stale! Create something small and descriptive and you'll go far, get feedback to improve the code and a quick merge.&lt;/p&gt;

&lt;p&gt;This all helps with getting multiple small merges into your default branch, with multiple and ongoing deployments to production.&lt;/p&gt;

&lt;p&gt;Avoid big breaking changes and embrace multiple small, discreet and testable PRs of code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using Coderbuds when you don't have a team
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://coderbuds.com"&gt;Coderbuds&lt;/a&gt; integrates with Github so you can easily publish your Pull Requests and get Code Reviews.&lt;/p&gt;

&lt;p&gt;It works for Private and Public teams, so you can still work on your personal projects and get all the benefits a team mentality can provide.&lt;/p&gt;

&lt;p&gt;If the above sounds great in theory but you are lacking the team to make it happen - Coderbuds can help you.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here's my final advice:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Break down your code in discreet units&lt;/li&gt;
&lt;li&gt;Make sure to add tests where possible&lt;/li&gt;
&lt;li&gt;Publish into Pull Requests with clear descriptions &lt;/li&gt;
&lt;li&gt;Get team mates to review (or find reviewers on Coderbuds)&lt;/li&gt;
&lt;li&gt;Deploy to production regularly!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can use &lt;a href="https://coderbuds.com"&gt;Coderbuds&lt;/a&gt; for free to post your Pull Requests.&lt;/p&gt;

&lt;h2&gt;
  
  
  Just want to learn from others?
&lt;/h2&gt;

&lt;p&gt;Then head over to &lt;a href="https://coderbuds.com"&gt;Coderbuds&lt;/a&gt; and find some PRs to review. Be kind with your reviews and always help with guidance when you find a problem.&lt;/p&gt;

</description>
      <category>codereview</category>
      <category>beginners</category>
      <category>programming</category>
      <category>career</category>
    </item>
  </channel>
</rss>
