<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ryan Hayes</title>
	<atom:link href="https://ryanhayes.net/feed/" rel="self" type="application/rss+xml" />
	<link>https://ryanhayes.net/</link>
	<description>Software and Startup Skills to Boost Your Business and Career</description>
	<lastBuildDate>Fri, 08 Mar 2024 16:20:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>

<image>
	<url>https://i0.wp.com/ryanhayes.net/wp-content/uploads/2014/01/Ryan-Hayes_ugjn6e.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Ryan Hayes</title>
	<link>https://ryanhayes.net/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">209681201</site>	<item>
		<title>Planetscale Likely Lost Over Half Their Customers This Week. Here&#8217;s Why That&#8217;s Good For The Business and The Customers That Stay</title>
		<link>https://ryanhayes.net/planetscale-free-tier-ending-good-for-customer/</link>
					<comments>https://ryanhayes.net/planetscale-free-tier-ending-good-for-customer/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Hayes]]></dc:creator>
		<pubDate>Thu, 07 Mar 2024 17:19:30 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://ryanhayes.net/?p=1001360982</guid>

					<description><![CDATA[<p>All the indie devs on X today are upset at Planetscale. Everyone is leaving. Why? This week, PlanetScale decided to remove their Free tier, but there are lessons here for small startups and larger businesses alike. Their new, lowest tier of database is $40. $40! But this is not just any database, this is a [&#8230;]</p>
<p>The post <a href="https://ryanhayes.net/planetscale-free-tier-ending-good-for-customer/">Planetscale Likely Lost Over Half Their Customers This Week. Here&#8217;s Why That&#8217;s Good For The Business and The Customers That Stay</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>All the indie devs on X today are upset at Planetscale. Everyone is leaving. </p>



<p>Why?</p>



<p>This week, <a href="https://planetscale.com/blog/planetscale-forever">PlanetScale decided to remove their Free tier</a>, but there are lessons here for small startups and larger businesses alike.</p>



<p>Their new, lowest tier of database is $40.</p>



<p>$40!</p>



<p>But this is not just any database, <strong>this is a fully managed hyper-scaling database</strong>.</p>



<p>This means it has incredible infrastructure running for automation, governance, migrations, rollbacks, synchronization and sharding, incredibly detailed metrics and logging to support all this, and more.</p>



<p>For $40.</p>



<p><strong>If my normal &#8220;developer&#8221; rate is $150 an hour, this is less than 1/3 of that, so about 20 minutes of work per month to build and maintain all this infrastructure myself.</strong></p>



<p><strong>Can I build all that, and run it, and support it at midnight if something breaks and spend less than 20 minutes on it</strong><em>?</em></p>



<p>Absolutely not.</p>



<p>SECONDLY,</p>



<p><strong>Free tiers are generally a loss leader</strong>, to gain a pipeline of users that can *eventually* become a paying customer, and <strong>the idea is that these paying customers eventually can cover all of the free tier folks&#8217; expenses</strong> for the business as well as the paying tier customers&#8217; own.</p>



<p>This does work to get users, but it is <strong>very hard to make this sustainable</strong> when you:</p>



<ol class="wp-block-list">
<li>Have almost all free tier users that don&#8217;t *actually* need what you offer (in this case you may need MySQL, but don&#8217;t need a fully managed, ultra-scalable, lightening fast instance shaving a few milliseconds from your queries).</li>



<li>Are not profitable yet.</li>
</ol>



<p>If you are a hobbyist, I can see why the removal of the free tier and you having to move away stinks, because it *is* work &#8211; and not very fun work at that.</p>



<p>However, there are lessons here to help grow your small business and understand why large organizations buy some products over others &#8211; and why Planetscale is coming to terms with this reality.<br /></p>



<h2 class="wp-block-heading">Lesson 1: Revenue Growth vs Profitability</h2>



<p>There are two ways for a startup to be successful &#8211; direct profitability and an &#8220;Exit&#8221;.</p>



<h3 class="wp-block-heading">Profitability</h3>



<p>Direct profitability is the easiest to understand. If the money coming in is greater than the money you spend, then you are profitable! Congratulations, you are a successful business!<br /><br />Planetscale is not *yet* profitable, but that doesn&#8217;t mean that success isn&#8217;t possible. Why? Because there&#8217;s another way to be successful..</p>



<h3 class="wp-block-heading">Revenue Growth</h3>



<p>Many startups, likely Planetscale (I don&#8217;t know about their funding and structure, but they probably have taken investments), have <strong>the goal of growing revenue as high and fast as possible at nearly all costs</strong> &#8211; even if it means *losing* money.<br /><br />At first glance, this seems C<em>r<strong>A</strong></em><strong>z</strong>Y!!<br /><br />Why would a business *be ok* with losing money?<br /><br />Well, there are a few reasons, but they all revolve around the &#8220;exit&#8221;.<br /><br />As long as revenue is increasing, it&#8217;s ok for expenses to increase in tandem, because at some point you have one of two &#8220;exits&#8221;.<br /><br />The first Exit type is acquisition.<br /><br />When a large company buys a another smaller one like this that is *not* profitable, but increasing revenue, the larger company can find &#8220;synergies&#8221;, meaning HR becomes a duplicate area, some dev teams become duplicates, executive teams can become duplicates &#8211; so, layoffs happen.<br /><br />This is painful, but buying a company and reducing these overhead duplications means revenue stays the same, and costs dramatically decrease, and, in most cases &#8211; instant profitability.<br /><br />The second is when you get to profitability by yourself from this method. <br /><br />This, too, is painful, and many times the cuts come in the form of free tiers or layoffs, but generally fewer layoffs since you still need HR and all those other roles.<br /><br />The downside of *not* being profitable is that you have, quite literally, a limited expected runway. If you are losing money, you can calculate how long you will stay in business.<br /><br />If I have $35, and I buy one $5 latte every month (assuming that&#8217;s my only expense), I&#8217;ll be broke in 7 months. If I spend that in a day, I&#8217;ll have one week until I&#8217;m broke.<br /><br />The only way to increase runway in a company is to:</p>



<ol class="wp-block-list">
<li>Make more money (revenue)</li>



<li>Be given more money (investment, meaning strings are probably attached)</li>



<li>Borrow more money (debt)</li>
</ol>



<p>And not being profitable means you are kicking the can down the road trying to get to an Exit someday.<br /><br /><strong>If your business closes before you get to that exit, you have to take the <em>BAD</em> exit, and your customers lose access to your product or service.</strong></p>



<p><strong><em>And what if you have already built a multimillion-dollar business on a product that suddenly goes out of business</em></strong></p>



<p>Well, that leads to the second lesson here&#8230;.</p>



<h2 class="wp-block-heading">Lesson 2: Derisking</h2>



<p>If there&#8217;s one thing I&#8217;ve learned in personal finance and business, it&#8217;s that when you don&#8217;t have a lot of money, you should take <em>a lot</em> of risks (calculated, of course, let&#8217;s not get crazy here).<br /><br />However, as you grow wealth and your business, your mindset should slowly shift.<br /><br />Healthy, growing, and large organizations can have double digit (10% or so) revenue growth, generally, a far cry from some startups boasting 50% or more in some quarters.<br /><br />However, at that point they consistently make &#8211; and have &#8211; a <em>lot</em> more money.<br /><br />The bets they make now have a more balanced approach:<br /><br /><strong>The decision makers at companies are looking to make an investment that has great upside when things go right, but minimized downside if something goes wrong</strong>.<br /><br />They want to make calculated bets on their future and if your database provider (I dunno, in my opinion, a fairly key part of any app architecture) goes out of business, then the migration off of it will be incredibly expensive and sometimes near impossible depending on how proprietary the platform is!<br /><br />Because of this, CTOs and decision makers are always looking to make a great return on investment, but while keeping a close eye on the tail risk of their decision.<br /><br />If they make a decision and the worst-case scenario, is you can&#8217;t move your application, or it would take an effort larger than your own business could sustain, is that acceptable?<br /><br />For most orgs, probably not.<br /><br />For Planetscale, specifically, they likely have a few customers that pay the bills for everyone else &#8211; big customers! Millions of dollars per year (per month?) customers!<br /><br />Those paying customers want to know they are safe, and Planetscale is making the decision to make a move to de-risk those customers&#8217; choice to use their platform.</p>



<p>Remember, adding in this extra layer of trust could attract just *one* of these large customers and pay for lots of re-hires!</p>



<p>They even say they focus on problems that &#8220;enterprise-scale&#8221; companies have. Do you think &#8220;enterprise-scale&#8221; companies can foot a $40/mo bill to test out a database before going all in? Yes. Do they NEED a freemium tier? No.<br /><br />This means I can&#8217;t host free stuff on the platform anymore, but it also means that if my business makes money and is successful, then I can be more confident that <em>I </em>won&#8217;t go out of business just because Planetscale can&#8217;t pay the bills because I have 5 other free projects they are hosting and trying to use as a loss leader.</p>



<p>Side-note: If you are a startup and can&#8217;t get a handful of customers within the first year or so to cover $40/mo, then I think you should either charge more or pick a new idea. Then again, you might not need an &#8220;enterprise-scale&#8221; database, either.</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p>Planetscale is making a decision to move away from freemium, which is a better path in their eyes to profitability (hey, the numbers agree with them).<br /><br />Remember that profitability increases stability, which increases trust for <em>real</em> businesses that are looking to balance &#8220;hey this is cool tech!&#8221; with &#8220;could we survive if they sent us an email and said they&#8217;re closing down in 30 days&#8221;?<br /><br />Free stuff and being frugal is very useful in the very early days of side projects, and for businesses to get leads, but when you start making money, mindsets shift.<br /><br />Swing for the fences, but don&#8217;t bet the farm.</p>
<span class="et_bloom_bottom_trigger"></span><p>The post <a href="https://ryanhayes.net/planetscale-free-tier-ending-good-for-customer/">Planetscale Likely Lost Over Half Their Customers This Week. Here&#8217;s Why That&#8217;s Good For The Business and The Customers That Stay</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanhayes.net/planetscale-free-tier-ending-good-for-customer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1001360982</post-id>	</item>
		<item>
		<title>Azure Dev: Problem starting the plugin CredentialProvider.Microsoft [Solved]</title>
		<link>https://ryanhayes.net/azure-devproblem-starting-the-plugin-credentialprovider-microsoft-solved/</link>
					<comments>https://ryanhayes.net/azure-devproblem-starting-the-plugin-credentialprovider-microsoft-solved/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Hayes]]></dc:creator>
		<pubDate>Mon, 15 Mar 2021 17:44:56 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Break/Fix]]></category>
		<guid isPermaLink="false">https://ryanhayes.net/?p=1001349175</guid>

					<description><![CDATA[<p>In this break/fix post, I&#8217;m going to show you how to fix a specific error that I was getting in an Azure DevOps pipeline during a dotnet publish command that stated &#8220;Problem starting the plugin &#8216;CredentialProvider.Microsoft'&#8221;. Here&#8217;s the full error message: A credential problem? It was only failing on one of three project publishes and [&#8230;]</p>
<p>The post <a href="https://ryanhayes.net/azure-devproblem-starting-the-plugin-credentialprovider-microsoft-solved/">Azure Dev: Problem starting the plugin CredentialProvider.Microsoft [Solved]</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In this break/fix post, I&#8217;m going to show you how to fix a specific error that I was getting in an Azure DevOps pipeline during a <code>dotnet publish</code> command that stated &#8220;Problem starting the plugin &#8216;CredentialProvider.Microsoft'&#8221;.</p>



<p>Here&#8217;s the full error message:</p>



<pre class="wp-block-code"><code>C:\Program Files\dotnet\sdk\5.0.201\NuGet.targets(131,5): error : <strong>Problem starting the plugin</strong> 'C:\Users\VssAdministrator\.nuget\plugins\netcore\CredentialProvider.Microsoft\CredentialProvider.Microsoft.dll'. Plugin '<strong>CredentialProvider.Microsoft</strong>' <strong>failed within 5.256 seconds</strong> with exit code -1.</code></pre>



<h2 class="wp-block-heading">A credential problem?</h2>



<p>It was only failing on one of three project publishes and on the NuGet portion of the publish command. <strong>My first thought was that the credentials might be incorrect.</strong> We recently<a href="https://ryanhayes.net/expecting-developers-to-leave/"> had a developer leave</a> and I thought that potentially something was set up with his credentials and was revoked. I double-checked the <a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&amp;tabs=yaml">service connections in Azure DevOps</a> and everything looked to be ok.</p>



<h2 class="wp-block-heading">A .NET CLI version upgrade?</h2>



<p>I then noticed that Azure DevOps was using Microsoft Build Engine version 16.9 as opposed to my local version of 16.8. I upgraded locally, and couldn&#8217;t reproduce the issue. Everything was great there.</p>



<h2 class="wp-block-heading">A timeout issue? (yes)</h2>



<p>This is when I took a closer look at the error message below.</p>



<pre class="wp-block-code"><code>C:\Program Files\dotnet\sdk\5.0.201\NuGet.targets(131,5): error : Problem starting the plugin 'C:\Users\VssAdministrator\.nuget\plugins\netcore\CredentialProvider.Microsoft\CredentialProvider.Microsoft.dll'. Plugin 'CredentialProvider.Microsoft' <strong>failed within 5.256 seconds</strong> with exit code -1.</code></pre>



<p>As it turns out, NuGet defaults to a 5-second timeout, which very closely aligns with the 5.256 timeframe of the error. Doing some more investigating, I found you can increase this timeout by setting an environment variable. I decided to increase the timeout from 5 to 20 seconds in the <code>azure-pipelines.yaml</code> and guess what? <em>It worked!</em></p>



<pre class="wp-block-code"><code># in your azure-pipelines.yaml

variables:
- name: NUGET.PLUGIN.HANDSHAKE.TIMEOUT.IN.SECONDS
  value: 20
- name: NUGET.PLUGIN.REQUEST.TIMEOUT.IN.SECONDS
  value: 20</code></pre>



<p>The above tells the running pipeline to inject the following environment variables during the run:</p>



<pre class="wp-block-code"><code>$env:NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS=20
$env:NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS=20</code></pre>



<p>Maybe it was the Azure DevOps upgrade of the build tools to 16.9 made Azure Pipelines get <em>just slow enough</em> to push it past the 5-second timeout for the CredentialProvider.Microsoft plugin. </p>



<p>We&#8217;re also connecting to 3 external feeds during this project, so it&#8217;s more than the average project that may only connect to the main NuGet feed.</p>



<p>Hopefully, this gives you some insight into the problem and a quick solution to save you a few hours. On to the next fire!</p>
<span class="et_bloom_bottom_trigger"></span><p>The post <a href="https://ryanhayes.net/azure-devproblem-starting-the-plugin-credentialprovider-microsoft-solved/">Azure Dev: Problem starting the plugin CredentialProvider.Microsoft [Solved]</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanhayes.net/azure-devproblem-starting-the-plugin-credentialprovider-microsoft-solved/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1001349175</post-id>	</item>
		<item>
		<title>Expecting Developers to Leave</title>
		<link>https://ryanhayes.net/expecting-developers-to-leave/</link>
					<comments>https://ryanhayes.net/expecting-developers-to-leave/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Hayes]]></dc:creator>
		<pubDate>Wed, 13 Jan 2021 14:05:10 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<guid isPermaLink="false">https://ryanhayes.net/?p=1001348406</guid>

					<description><![CDATA[<p>Because they will. My current team is the longest I&#8217;ve ever been with an organization (other than my own freelancing business), almost 5 years. Over the years the needs, motivators, situations, and lives of people within an organization can and will change. It&#8217;s the nature of life. There are obvious ways to reduce turnover, like [&#8230;]</p>
<p>The post <a href="https://ryanhayes.net/expecting-developers-to-leave/">Expecting Developers to Leave</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Because they will.</p>



<figure class="wp-block-image size-large"><a href="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-1467592.jpeg?ssl=1"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="942" height="1300" data-attachment-id="1001348415" data-permalink="https://ryanhayes.net/expecting-developers-to-leave/pexels-photo-1467592/" data-orig-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-1467592.jpeg?fit=942%2C1300&amp;ssl=1" data-orig-size="942,1300" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;Photo by Craig Adderley on &lt;a href=\&quot;https:\/\/www.pexels.com\/photo\/brown-wooden-side-by-side-door-1467592\/\&quot; rel=\&quot;nofollow\&quot;&gt;Pexels.com&lt;\/a&gt;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;brown wooden side by side door&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="pexels-photo-1467592" data-image-description="" data-image-caption="&lt;p&gt;Photo by Craig Adderley on &lt;a href=&quot;https://www.pexels.com/photo/brown-wooden-side-by-side-door-1467592/&quot; rel=&quot;nofollow&quot;&gt;Pexels.com&lt;/a&gt;&lt;/p&gt;
" data-medium-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-1467592.jpeg?fit=217%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-1467592.jpeg?fit=742%2C1024&amp;ssl=1" src="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-1467592.jpeg?resize=942%2C1300&#038;ssl=1" alt="brown wooden side by side door" class="wp-image-1001348415" srcset="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-1467592.jpeg?w=942&amp;ssl=1 942w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-1467592.jpeg?resize=217%2C300&amp;ssl=1 217w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-1467592.jpeg?resize=742%2C1024&amp;ssl=1 742w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-1467592.jpeg?resize=768%2C1060&amp;ssl=1 768w" sizes="(max-width: 942px) 100vw, 942px" /></a><figcaption>Photo by Craig Adderley on <a href="https://www.pexels.com/photo/brown-wooden-side-by-side-door-1467592/" rel="nofollow">Pexels.com</a></figcaption></figure>



<p>My current team is the longest I&#8217;ve ever been with an organization (other than my own freelancing business), <em>almost</em> 5 years. Over the years the needs, motivators, situations, and lives of people within an organization can and will change. It&#8217;s the nature of life.</p>



<p>There are obvious ways to reduce turnover, like avoiding burnout of your team, compensating people well, providing adequate training and opportunities, and aligning individuals with meaningful work. Even with all of these things, and no matter how much people say it, no one is guaranteed to be around forever &#8211; or even the next year.</p>



<p>Twice now in my career, I have had someone say to me &#8220;I don&#8217;t plan on going anywhere&#8221; and then offer their two-weeks notice within 3 months&#8217; time. <em>And that&#8217;s ok.</em></p>



<p>We should celebrate when someone gets an opportunity to take a chance and chase a dream, or grow, or get a new opportunity.</p>



<p>What makes a difference at these points, is that the organizations and teams that expected developers to leave fare far better than those that do not.</p>



<h2 class="wp-block-heading">Why should you expect developers to leave? </h2>



<p>You have probably heard the phrase: <em>&#8220;What if ______ gets hit by a bus?&#8221;</em>.</p>



<p>This effectively means what if something unforeseen happens and the person is no longer with the organization. This phrase actually causes a huge problem in a lot of teams. Getting hit by a bus is a rare event. When we pause to ask if someone will not be with us, we phrase it and <em>think about it</em> as if it is a rare occurrence. In reality, <a href="https://www.bls.gov/news.release/pdf/tenure.pdf">in January 2020, the average tenure for a Computer Science/Math employee was only 3.9 years</a>. This means that not only will someone leave on your team, it&#8217;s probably going to occur sooner than you think.</p>



<h2 class="wp-block-heading">Why does <em>expecting</em> developers to leave help them not leave?</h2>



<p>When we <em>expect</em> people to leave, our priorities change. We switch from “I can always just ask” to “Make sure we can be successful without you”.</p>



<p>When we change the culture to focusing on simplifying, documenting the “why”, and ensuring others can easily maintain code without the original author, we inherently reduce complexity. When we reduce complexity and the baseline requirement for understanding code and systems, we free up our minds to be more creative in other places. </p>



<p>This benefits teams not just when the developer leaves, but also helps free that person from questions when <em>new </em>developers join the project without the extra hand-holding.</p>



<p>Assuming devs will leave helps us unlock the full potential of our teams in creating real value for customers, both faster and with more brain bandwidth to build better solutions.</p>



<hr class="wp-block-separator"/>



<p><strong>Thanks for reading! </strong><em>Enjoy this article? <a href="https://ryanhayes.ck.page/0f2722ffb4">Join the newsletter!</a></em><br /><br /><em><strong>Ten years ago I thought I had to choose between good opportunities as a software developer in larger cities or living where I actually wanted to live</strong> (a much smaller town).</em><br /><br /><em><strong>I spent the next decade building</strong> a personal brand, a freelancing business, side projects, a local and online developer community, and more to create the career I wanted and live where I wanted.</em><br /><br /><em><strong>Now, I want to teach you to do the same.</strong> <a href="https://ryanhayes.ck.page/0f2722ffb4">Join me and hundreds of developers on my newsletter for my most popular posts here and other useful tips and tools to help make your own opportunities.</a></em></p>
<span class="et_bloom_bottom_trigger"></span><p>The post <a href="https://ryanhayes.net/expecting-developers-to-leave/">Expecting Developers to Leave</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanhayes.net/expecting-developers-to-leave/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1001348406</post-id>	</item>
		<item>
		<title>What is Success Syndrome? (And How To Leverage It For Your Personal Brand)</title>
		<link>https://ryanhayes.net/what-is-success-syndrome-and-how-to-leverage-it-for-your-personal-brand/</link>
					<comments>https://ryanhayes.net/what-is-success-syndrome-and-how-to-leverage-it-for-your-personal-brand/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Hayes]]></dc:creator>
		<pubDate>Wed, 06 Jan 2021 06:00:00 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[personal brand]]></category>
		<category><![CDATA[success syndrome]]></category>
		<guid isPermaLink="false">http://ryanhayes.wpengine.com/?p=1001347713</guid>

					<description><![CDATA[<p>First, what does Success Syndrome look like for a software developer? It&#8217;s when you become successful at something and then subsequently become overwhelmed. This can happen if you get a promotion, become the &#8220;go-to&#8221; person for something, or take on new opportunities due to your new recognition. You started out just wanting to be helpful [&#8230;]</p>
<p>The post <a href="https://ryanhayes.net/what-is-success-syndrome-and-how-to-leverage-it-for-your-personal-brand/">What is Success Syndrome? (And How To Leverage It For Your Personal Brand)</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>First, what does Success Syndrome look like for a software developer? It&#8217;s when you become successful at something and then subsequently become overwhelmed. This can happen if you get a promotion, become the &#8220;go-to&#8221; person for something, or take on new opportunities due to your new recognition.</p>



<p>You started out just wanting to be helpful or useful, and now you&#8217;re overwhelmed and can&#8217;t keep up.</p>



<figure class="wp-block-image size-large"><a href="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-3771129.jpeg?ssl=1"><img data-recalc-dims="1" decoding="async" width="1880" height="1254" data-attachment-id="1001348325" data-permalink="https://ryanhayes.net/what-is-success-syndrome-and-how-to-leverage-it-for-your-personal-brand/pexels-photo-3771129/" data-orig-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-3771129.jpeg?fit=1880%2C1254&amp;ssl=1" data-orig-size="1880,1254" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;Photo by Andrea Piacquadio on &lt;a href=\&quot;https:\/\/www.pexels.com\/photo\/desperate-evicted-male-entrepreneur-standing-near-window-3771129\/\&quot; rel=\&quot;nofollow\&quot;&gt;Pexels.com&lt;\/a&gt;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;desperate evicted male entrepreneur standing near window&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="pexels-photo-3771129" data-image-description="" data-image-caption="&lt;p&gt;Photo by Andrea Piacquadio on &lt;a href=&quot;https://www.pexels.com/photo/desperate-evicted-male-entrepreneur-standing-near-window-3771129/&quot; rel=&quot;nofollow&quot;&gt;Pexels.com&lt;/a&gt;&lt;/p&gt;
" data-medium-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-3771129.jpeg?fit=300%2C200&amp;ssl=1" data-large-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-3771129.jpeg?fit=1024%2C683&amp;ssl=1" src="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-3771129.jpeg?resize=1880%2C1254&#038;ssl=1" alt="sad business guy standing near a window" class="wp-image-1001348325" srcset="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-3771129.jpeg?w=1880&amp;ssl=1 1880w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-3771129.jpeg?resize=300%2C200&amp;ssl=1 300w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-3771129.jpeg?resize=1024%2C683&amp;ssl=1 1024w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-3771129.jpeg?resize=768%2C512&amp;ssl=1 768w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-3771129.jpeg?resize=1536%2C1025&amp;ssl=1 1536w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-3771129.jpeg?resize=1200%2C800&amp;ssl=1 1200w" sizes="(max-width: 1000px) 100vw, 1000px" /></a><figcaption>Photo by Andrea Piacquadio on <a href="https://www.pexels.com/photo/desperate-evicted-male-entrepreneur-standing-near-window-3771129/" rel="nofollow">Pexels.com</a></figcaption></figure>



<p>If left unchecked, Success Syndrome can actually lead to burnout and potentially depression. This can be especially bad if you pin all your hopes on productivity or accomplishments fulfilling you.</p>



<p>Let me just say, though, that &#8220;Success Syndrome&#8221; is an indicator you&#8217;re doing <em>something</em> right. It means you&#8217;ve built trust, relationships, knowledge, and the start of a personal brand within your workplace or community. I&#8217;m not saying that that Success Syndrome is all good, but <em>I am</em> saying that the burnout is what the real issue is here. And burnout comes particularly fast when you have to field questions from peers from the former position, as well as from the new position during promotions while also trying to complete your regular developer work.</p>



<p>One useful observation is that many of these questions <strong>tend to be the same. </strong></p>



<p>&#8220;Hey Ryan, how do you set up X.&#8221;</p>



<p> &#8220;Hey Ryan, you&#8217;re good with JavaScript, what framework should I use for this project we have coming up.&#8221;</p>



<p>&#8220;I got this error, what do I need to install again?&#8221;</p>



<p>  <strong>Requests from peers or others can usually be boiled down to a StackOverflow-style question and answer pair, which is (and here&#8217;s the secret) a content gold mine.</strong></p>



<p>If you&#8217;re experiencing burnout due to a large number of questions from peers that you get over and over from different people, and particularly if they aren&#8217;t NDA-based (which project-specific questions probably are, so check with your manager first) then what you need is to write those questions down!</p>



<p>Often times if you&#8217;re answering questions like this and they aren&#8217;t in blog-form, posted on your personal site, then you should start one and get to writing!</p>



<p>If you&#8217;re experiencing Success Syndrome, it&#8217;s likely that you feel good helping others and answering questions, but if they become repetitive and you&#8217;re asked something a few times, write an article and point people to it! It&#8217;ll save you time and also allow others on the internet to find it.</p>



<p>Multiple people asking the same thing also validates there is an audience for the question.</p>



<p>Questions from peers at work that might have project-specific answers, particularly ones over email, are ideal candidates to write up in a wiki or a ReadMe.md file right inside your repository.  Then, once you have things there, send a link to it in email to them. Other team members will be glad you did.</p>



<p></p>
<span class="et_bloom_bottom_trigger"></span><p>The post <a href="https://ryanhayes.net/what-is-success-syndrome-and-how-to-leverage-it-for-your-personal-brand/">What is Success Syndrome? (And How To Leverage It For Your Personal Brand)</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanhayes.net/what-is-success-syndrome-and-how-to-leverage-it-for-your-personal-brand/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1001347713</post-id>	</item>
		<item>
		<title>Technical Debt Isn&#8217;t All Bad (Usually)</title>
		<link>https://ryanhayes.net/technical-debt-isnt-all-bad-usually/</link>
					<comments>https://ryanhayes.net/technical-debt-isnt-all-bad-usually/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Hayes]]></dc:creator>
		<pubDate>Tue, 05 Jan 2021 06:00:00 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technical-debt]]></category>
		<guid isPermaLink="false">http://ryanhayes.wpengine.com/?p=1001347736</guid>

					<description><![CDATA[<p>We&#8217;ve all complained about technical debt and legacy code, but it&#8217;s not all bad. When I was a junior dev, I would complain about lots of existing legacy code that I encountered. I ran into a lot of it doing contract consulting work.&#160;This wasn&#8217;t just the obviously bad stuff, either, like finding some homegrown ORM [&#8230;]</p>
<p>The post <a href="https://ryanhayes.net/technical-debt-isnt-all-bad-usually/">Technical Debt Isn&#8217;t All Bad (Usually)</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>We&#8217;ve all complained about technical debt and legacy code, but it&#8217;s not all bad.</p>



<p>When I was a junior dev, I would complain about lots of existing legacy code that I encountered. I ran into a lot of it doing contract consulting work.&nbsp;This wasn&#8217;t just the obviously bad stuff, either, like finding some homegrown ORM using non-parameterized SQL queries being read from XML files.&nbsp;<img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f62c.png" alt="😬" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>



<p>I complained about the little things. Like using a loop or if statement that wasn&#8217;t the most optimal, or copied code, or someone not using some library I thought they should be using.&nbsp; Honestly, I still fight that temptation sometimes. It took a few projects to really get perspective on technical debt, where it comes from, and how to appreciate it.</p>



<figure class="wp-block-image size-large is-style-default"><a href="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-5696980.jpeg?ssl=1"><img data-recalc-dims="1" decoding="async" width="1880" height="1062" data-attachment-id="1001348324" data-permalink="https://ryanhayes.net/technical-debt-isnt-all-bad-usually/pexels-photo-5696980/" data-orig-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-5696980.jpeg?fit=1880%2C1062&amp;ssl=1" data-orig-size="1880,1062" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;Photo by Chris F on &lt;a href=\&quot;https:\/\/www.pexels.com\/photo\/spider-web-on-green-plants-5696980\/\&quot; rel=\&quot;nofollow\&quot;&gt;Pexels.com&lt;\/a&gt;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;spider web on green plants&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="pexels-photo-5696980" data-image-description="" data-image-caption="&lt;p&gt;Photo by Chris F on &lt;a href=&quot;https://www.pexels.com/photo/spider-web-on-green-plants-5696980/&quot; rel=&quot;nofollow&quot;&gt;Pexels.com&lt;/a&gt;&lt;/p&gt;
" data-medium-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-5696980.jpeg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-5696980.jpeg?fit=1024%2C578&amp;ssl=1" src="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-5696980.jpeg?resize=1880%2C1062&#038;ssl=1" alt="spider web on green plants" class="wp-image-1001348324" srcset="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-5696980.jpeg?w=1880&amp;ssl=1 1880w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-5696980.jpeg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-5696980.jpeg?resize=1024%2C578&amp;ssl=1 1024w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-5696980.jpeg?resize=768%2C434&amp;ssl=1 768w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-5696980.jpeg?resize=1536%2C868&amp;ssl=1 1536w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-5696980.jpeg?resize=1200%2C678&amp;ssl=1 1200w" sizes="(max-width: 1000px) 100vw, 1000px" /></a><figcaption>Photo by Chris F on <a href="https://www.pexels.com/photo/spider-web-on-green-plants-5696980/" rel="nofollow">Pexels.com</a></figcaption></figure>



<p>Often, <strong>technical debt sold the software to allow you to have a job</strong>.</p>



<p>Think of the times you had to add technical debt. It was likely to hit a deadline or meet some pressing customer need. Those pressing sprints were typically when a high-paying, critical customer needed something. The key to effectively working with technical debt is <strong>don&#8217;t become over-leveraged.</strong></p>



<p>Strategic technical debt can bring you key wins at times that you can pay back later, but if you become over-leveraged with technical debt, and don&#8217;t pay it down, you eventually come to a point where you&#8217;re unable to move forward at any reasonable pace. </p>



<p>Sometimes code isn&#8217;t optimal but increased MRR (Monthly Recurring Revenue) <em>just</em> enough to allow for hiring a new person &#8211; you.</p>
<span class="et_bloom_bottom_trigger"></span><p>The post <a href="https://ryanhayes.net/technical-debt-isnt-all-bad-usually/">Technical Debt Isn&#8217;t All Bad (Usually)</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanhayes.net/technical-debt-isnt-all-bad-usually/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1001347736</post-id>	</item>
		<item>
		<title>No Rules is the Best Rule</title>
		<link>https://ryanhayes.net/no-rules-is-the-best-rule/</link>
					<comments>https://ryanhayes.net/no-rules-is-the-best-rule/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Hayes]]></dc:creator>
		<pubDate>Mon, 04 Jan 2021 05:45:00 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[leadership]]></category>
		<guid isPermaLink="false">https://ryanhayes.net/?p=1001348279</guid>

					<description><![CDATA[<p>“Rules were made to be broken.” “There are no rules.” “Just follow the rules” Why are rules, quotes about rules, punishments for broken rules everywhere? When my daughter asks me what the rules are, she’s probably not asking what they are so that she can follow them. She’s asking so she knows how to get [&#8230;]</p>
<p>The post <a href="https://ryanhayes.net/no-rules-is-the-best-rule/">No Rules is the Best Rule</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>“Rules were made to be broken.”</p>



<p>“There <em>are no </em>rules.”</p>



<p>“Just follow the rules”</p>



<p>Why are rules, quotes about rules, punishments for broken rules <em>everywhere</em>?</p>



<p>When my daughter asks me what the rules are, she’s probably not asking what they are so that she can follow them. She’s asking so she knows <em>how to get around them.</em> What are the boundaries that I can operate in and what loopholes are there?</p>



<p>Rules help us to define certain boundaries and the operating procedure of how we interact and behave with each other, but rules aren’t actually the <em>main</em> thing.</p>



<p>In addition to explicit rules, there are <em>unspoken rules</em>, which sometimes eventually become explicit, spoken rules. Some examples include:</p>



<p>“Don’t steal.” </p>



<p>”Meet your deadlines.” </p>



<p>“Test your code.”</p>



<p>“Don’t tie your brother’s leg to the dog’s leg.” (A great example of an unspoken rule that recently became an explicit rule in our house)</p>



<p>Some rules are soft and some are hard. But they usually have one thing in common &#8211; they support and maintain relationships between people. <strong>Rules are contracts for how we can respect and serve others</strong>.</p>



<p>You may think that you need to create more rules to improve the culture, but often you don’t. <strong>You’re doing a disservice to people when rules are used as a replacement for genuine relationships.</strong></p>



<p>While you can always focus on more rules, more punishments, more restrictions, it can never replace the heart of what we all want when we create and enforce rules &#8211; trust, honor, and respect.</p>



<figure class="wp-block-image size-large"><a href="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-4027658.jpeg?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1880" height="1253" data-attachment-id="1001348310" data-permalink="https://ryanhayes.net/no-rules-is-the-best-rule/pexels-photo-4027658/" data-orig-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-4027658.jpeg?fit=1880%2C1253&amp;ssl=1" data-orig-size="1880,1253" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;Photo by Joshua Miranda on &lt;a href=\&quot;https:\/\/www.pexels.com\/photo\/similar-cubes-with-rules-inscription-on-windowsill-in-building-4027658\/\&quot; rel=\&quot;nofollow\&quot;&gt;Pexels.com&lt;\/a&gt;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;similar cubes with rules inscription on windowsill in building&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="pexels-photo-4027658" data-image-description="" data-image-caption="&lt;p&gt;Photo by Joshua Miranda on &lt;a href=&quot;https://www.pexels.com/photo/similar-cubes-with-rules-inscription-on-windowsill-in-building-4027658/&quot; rel=&quot;nofollow&quot;&gt;Pexels.com&lt;/a&gt;&lt;/p&gt;
" data-medium-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-4027658.jpeg?fit=300%2C200&amp;ssl=1" data-large-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-4027658.jpeg?fit=1024%2C682&amp;ssl=1" src="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-4027658.jpeg?resize=1880%2C1253&#038;ssl=1" alt="similar cubes with rules inscription on windowsill in building" class="wp-image-1001348310" srcset="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-4027658.jpeg?w=1880&amp;ssl=1 1880w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-4027658.jpeg?resize=300%2C200&amp;ssl=1 300w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-4027658.jpeg?resize=1024%2C682&amp;ssl=1 1024w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-4027658.jpeg?resize=768%2C512&amp;ssl=1 768w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-4027658.jpeg?resize=1536%2C1024&amp;ssl=1 1536w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2021/01/pexels-photo-4027658.jpeg?resize=1200%2C800&amp;ssl=1 1200w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></a><figcaption>Photo by Joshua Miranda on <a href="https://www.pexels.com/photo/similar-cubes-with-rules-inscription-on-windowsill-in-building-4027658/" rel="nofollow">Pexels.com</a></figcaption></figure>



<h2 class="wp-block-heading">When should you use rules?</h2>



<p><strong>Use formal rules to improve the <em>how</em> as opposed to the <em>why.</em></strong></p>



<p>When you try and improve the culture of an organization, and you’re looking to add more rules &#8211; stop and ask if the rules are <em>actually</em> necessary. They might be, but often you can get a better and more lasting result by stopping, listening, and simply improving the relationship with others. In doing this, we can avoid some (many) explicit rules altogether.</p>
<span class="et_bloom_bottom_trigger"></span><p>The post <a href="https://ryanhayes.net/no-rules-is-the-best-rule/">No Rules is the Best Rule</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanhayes.net/no-rules-is-the-best-rule/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1001348279</post-id>	</item>
		<item>
		<title>Moving the Cheese</title>
		<link>https://ryanhayes.net/moving-the-cheese/</link>
					<comments>https://ryanhayes.net/moving-the-cheese/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Hayes]]></dc:creator>
		<pubDate>Fri, 01 Jan 2021 08:14:00 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<guid isPermaLink="false">https://ryanhayes.net/?p=1001348249</guid>

					<description><![CDATA[<p>Moving the cheese has a negative connotation, but our feelings about our environment changing and the behavior it produces are independent.</p>
<p>The post <a href="https://ryanhayes.net/moving-the-cheese/">Moving the Cheese</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Moving the cheese is often frowned upon, but is it <em>actually</em> bad?</p>



<p>This past year I quit coffee.</p>



<p>Not necessarily on purpose. I actually love coffee. Though, when you get up to three cups per day, it’s probably a good idea to cut back, so I needed to.</p>



<p>So what changed? My wife rearranged the kitchen.</p>



<p>She “moved the cheese”.</p>



<p>“Moving the cheese” has a generally negative connotation, but the <em>moving</em> part is given more emphasis than the most important part &#8211; <em>the behavior that the environment change creates.</em></p>



<p>The coffee pot, the scoop, the coffee, the water, the mugs all moved to different parts of the kitchen. No longer were they right next to each other, taking seconds to complete the coffee-making task.</p>



<p>When each of these items became further apart, it increased the friction of making a cup of coffee during the day. They didn’t move by much. It&#8217;s only an additional few steps, but it was enough to completely stop making coffee at all.</p>



<figure class="wp-block-image size-large"><a href="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/pexels-photo-1684149-1.jpeg?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1880" height="1253" data-attachment-id="1001348252" data-permalink="https://ryanhayes.net/moving-the-cheese/pexels-photo-1684149-1/" data-orig-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/pexels-photo-1684149-1.jpeg?fit=1880%2C1253&amp;ssl=1" data-orig-size="1880,1253" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;Photo by Daria Obymaha on &lt;a href=\&quot;https:\/\/www.pexels.com\/photo\/black-coffee-book-caffeine-close-up-1684149\/\&quot; rel=\&quot;nofollow\&quot;&gt;Pexels.com&lt;\/a&gt;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;black coffee book caffeine close up&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="pexels-photo-1684149-1" data-image-description="" data-image-caption="&lt;p&gt;Photo by Daria Obymaha on &lt;a href=&quot;https://www.pexels.com/photo/black-coffee-book-caffeine-close-up-1684149/&quot; rel=&quot;nofollow&quot;&gt;Pexels.com&lt;/a&gt;&lt;/p&gt;
" data-medium-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/pexels-photo-1684149-1.jpeg?fit=300%2C200&amp;ssl=1" data-large-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/pexels-photo-1684149-1.jpeg?fit=1024%2C682&amp;ssl=1" src="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/pexels-photo-1684149-1.jpeg?resize=1880%2C1253&#038;ssl=1" alt="black coffee book caffeine close up" class="wp-image-1001348252" srcset="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/pexels-photo-1684149-1.jpeg?w=1880&amp;ssl=1 1880w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/pexels-photo-1684149-1.jpeg?resize=300%2C200&amp;ssl=1 300w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/pexels-photo-1684149-1.jpeg?resize=1024%2C682&amp;ssl=1 1024w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/pexels-photo-1684149-1.jpeg?resize=768%2C512&amp;ssl=1 768w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/pexels-photo-1684149-1.jpeg?resize=1536%2C1024&amp;ssl=1 1536w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/pexels-photo-1684149-1.jpeg?resize=1200%2C800&amp;ssl=1 1200w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></a><figcaption>Photo by Daria Obymaha on <a href="https://www.pexels.com/photo/black-coffee-book-caffeine-close-up-1684149/" rel="nofollow">Pexels.com</a></figcaption></figure>



<p>Sometimes we think that our habits are too hard to change. Even impossible. But that’s not true.</p>



<p>We change every single day. In fact, <em>our brains want to change to become more adapted to our environment</em>.</p>



<p>Did I complain? Yes. </p>



<p>Did my behavior change? Yes.</p>



<p>Was it good for me? Probably Yes.</p>



<p>If you want yourself, your team, or your users to change their behavior, change the environment, and let them adapt naturally. <strong>Don’t focus on <em>if the cheese moved</em>; focus on <em>what behavioral changes will come as a result.</em></strong><em> </em>It might be uncomfortable, there may be complaints, but we were made to adapt, and sometimes, it’s good for us.</p>
<span class="et_bloom_bottom_trigger"></span><p>The post <a href="https://ryanhayes.net/moving-the-cheese/">Moving the Cheese</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanhayes.net/moving-the-cheese/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1001348249</post-id>	</item>
		<item>
		<title>Substack is the new Medium</title>
		<link>https://ryanhayes.net/substack-is-the-new-medium/</link>
					<comments>https://ryanhayes.net/substack-is-the-new-medium/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Hayes]]></dc:creator>
		<pubDate>Thu, 31 Dec 2020 04:00:00 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<guid isPermaLink="false">https://ryanhayes.net/?p=1001348266</guid>

					<description><![CDATA[<p>The following is the first and only Substack post that I have or will make, at least for the time being. You can follow the largely placeholder Ryan Hayes account over on Substack. I’ve been writing in various forms publicly for about 12 years now. The majority of that has either been guest blogs or [&#8230;]</p>
<p>The post <a href="https://ryanhayes.net/substack-is-the-new-medium/">Substack is the new Medium</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><em>The following is the first and only Substack post that I have or will make, at least for the time being. <a href="https://ryanhayes.substack.com/">You can follow the largely placeholder Ryan Hayes account over on Substack</a>.</em></p>



<p>I’ve been writing in various forms publicly for about 12 years now.</p>



<p>The majority of that has either been guest blogs or on my own site.</p>



<p>I do it partly to organize my thoughts and solidify my understanding of topics and observations, and partly to get better at one of the most important ways to communicate &#8211; <em>writing</em>.</p>



<p>Over the years my personal site as moved several times, but each time I’ve moved it, the only regrets that I’ve ever had were moving the content to a place where I didn’t have control of 4 things:</p>



<ol class="wp-block-list"><li>The freedom to control what I write.</li><li>The freedom of who has access to what I write.</li><li>The ability to set a custom domain.</li><li>Setup of 301 redirects.</li></ol>



<p>That last one is probably only important when you can’t decide on your slug and change it over the years. <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f605.png" alt="😅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>Medium was a great writing and publishing experience for a few years. Then they removed custom domains and added paywalls.</p>



<p>Substack’s brilliance is that it provides a simple publishing platform when the most important thing for you to do is&nbsp;<em>write.&nbsp;</em><a href="https://ryanhayes.net/2020-year-in-review/">In my review of this year</a>&nbsp;I realized that what I really want to do is&nbsp;<em>write.</em></p>



<p>And so, that’s what I’m doing.</p>



<p>Just…not here on Substack. (I didn’t just pull a clickbait, did I? <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f62c.png" alt="😬" class="wp-smiley" style="height: 1em; max-height: 1em;" />)</p>



<p>To&nbsp;<strong>subscribe via email,</strong>&nbsp;visit my website at&nbsp;<a href="https://ryanhayes.net/">https://ryanhayes.net</a>&nbsp;and use the sign-up form for both regular articles and other updates.</p>



<p>Or,&nbsp;<a href="https://ryanhayes.net/category/blog/feed">click here to&nbsp;</a><strong><a href="https://ryanhayes.net/category/blog/feed">subscribe</a></strong><a href="https://ryanhayes.net/category/blog/feed">&nbsp;to my posts&nbsp;</a><strong><a href="https://ryanhayes.net/category/blog/feed">via RSS</a>.&nbsp;</strong><a href="https://feedly.com/">Feedly</a>&nbsp;is a great RSS reader, but&nbsp;<a href="https://www.theverge.com/2020/12/16/22174000/substack-rss-reader-newsletter-subscriptions">Substack has one built-in as well.</a></p>



<p>I’ll be talking all about what I learn in building cultures of innovation in Fortune 500 enterprises, remotely working in the mountains of rural America with high-growth small-town tech startups, and the principles that I learn that help make a difference in both.</p>



<p>Also, I’d love to learn more about you and what you’re interested in hearing about, so say hi!</p>



<p>Until next time.</p>



<p>-Ryan</p>
<span class="et_bloom_bottom_trigger"></span><p>The post <a href="https://ryanhayes.net/substack-is-the-new-medium/">Substack is the new Medium</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanhayes.net/substack-is-the-new-medium/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1001348266</post-id>	</item>
		<item>
		<title>2020: Year in Review</title>
		<link>https://ryanhayes.net/2020-year-in-review/</link>
					<comments>https://ryanhayes.net/2020-year-in-review/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Hayes]]></dc:creator>
		<pubDate>Wed, 30 Dec 2020 00:11:19 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<guid isPermaLink="false">https://cms.ryanhayes.net/?p=1001348214</guid>

					<description><![CDATA[<p>Hindsight is 2020! Hahaha, I&#8217;m sorry. Let&#8217;s start that again. Wow, what a year. January was filled with business trips, hotels, planes, and gatherings. I remember seeing a couple coming from Europe in the Atlanta airport getting off a plane wearing masks. It was the first time I ever really stopped and thought about catching [&#8230;]</p>
<p>The post <a href="https://ryanhayes.net/2020-year-in-review/">2020: Year in Review</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Hindsight is 2020! </p>



<p>Hahaha, I&#8217;m sorry. Let&#8217;s start that again.</p>



<p>Wow, what a year.</p>



<p>January was filled with business trips, hotels, planes, and gatherings. I remember seeing a couple coming from Europe in the Atlanta airport getting off a plane wearing masks. It was the first time I ever really stopped and thought about catching anything serious in a long time. The Coronavirus was the only thing on the news as I sat eating my usual turkey and cheese sandwich from the Boar&#8217;s Head Cafe while waiting to catch my flight. I remember thinking about when I picked up H1N1 back in 2009 while I was living in DC and was probably the sickest I&#8217;ve ever been. That flu was a bad time.</p>



<p>If one thing&#8217;s clear, it&#8217;s that this year has given me more perspective and made me more grateful for my family and the little things in life. </p>



<h2 class="wp-block-heading">To the cloud!</h2>



<p>As everything shut down on March 15th. My focus switched to helping my organization transition to fully remote and my local community&#8217;s businesses transition to mobile ordering, curbside pickup, and in general just how in the world to use technology to not go out of business. The companies who had made the transition to allowing for curbside pickup before the pandemic were weathering ok, and the ones who thought everything would blow over continued to decline. It hurts my heart to see so many businesses I loved visiting shutting their doors. The virus has taken both lives and livelihoods, and I&#8217;ve felt fortunate to be in a line of work that can basically do 100% of everything from home.</p>



<h2 class="wp-block-heading">Volunteer Work Pivots</h2>



<p><strong>Last year, I joined the executive board of <a href="https://myfoundersforge.com">FoundersForge</a>, a local non-profit focused on helping entrepreneurs in NorthEast Tennessee build scalable, high-growth businesses.</strong> We mostly run in-person events, and that <em>completely </em>changed. We re-focused our efforts into directly calling and working with entrepreneurs and helping them get connected with the resources they need. We planned a huge 2021 roadmap that I&#8217;m so excited about. Plus, we recently raised enough money to execute a good chunk of those plans.  Using business as a way to do good in the world is something I&#8217;m passionate about, and working with such a great team here who shares that vision is truly inspiring.</p>



<p><strong><a href="https://tricities.dev">TriDev</a>, the developer meetup that <a href="Https://Rainey.dev">Jeff Rainey</a> and I have run for years, went full-remote.</strong> At first, we had about the same number of in-person people, but Zoom fatigue quickly set in. Even I feel it. After 10+ years of screencasts and virtual meetings, at the end of the day, I just want to go outside. I&#8217;m fortunate to live in the mountains where we have plenty of places to go, but my outdoor time has even gone down this year. RIP my Strava premium account.</p>



<h2 class="wp-block-heading">Last Year as a Microsoft MVP</h2>



<p>I&#8217;m grateful to have been awarded a Microsoft MVP award nine times. This year was my last and was bittersweet, but the program needed some fresh blood and <strong>I&#8217;ve become less directly invested in Microsoft-specific tech in recent years as the web has spread out more and I use a wider variety of tech to build software.</strong> Nine is the number of seasons Seinfeld had, and the number of years the Beatles were together, so I guess it seems like a good time to end it anyway. <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f605.png" alt="😅" class="wp-smiley" style="height: 1em; max-height: 1em;" />  I&#8217;ll miss the MVP Summits, though (the in-person ones), and seeing everyone more frequently.</p>



<h2 class="wp-block-heading">#IntrapreneurshipLife</h2>



<p>I don&#8217;t speak for the org I work at all here, in any stretch of the imagination. Opinions are my own, etc.</p>



<p>However.</p>



<p><em>I&#8217;m incredibly proud of a new thing we built this year.</em></p>



<p>I&#8217;m a big believer that the principles that make a great startup a great startup are the same principles that make large, enterprise-size organizations great. Not least of these principles is laser-focus on bringing value to customers with everything you do. </p>



<p>Our org builds software for K-12 cafeterias, among other things, and COVID-19 changed the expected behavior of almost every single one of our users. <strong>As part of the work I did internally, we went from brainstorm to idea, to prototype, to shipped product with paying customers in about 6 months.</strong></p>



<p>We essentially built a Doordash for K-12 schools called <em>Heartland Meal Orders</em>.</p>



<p>While doing so, we laid the groundwork for a new design system, built with Figma and Storybook and React components, and I&#8217;ve internally joined the design community of practice. While I&#8217;ve traditionally been a backend/API developer, <em>designing and building great user interfaces are critically important and expected by the average person.</em></p>



<p>This leads to&#8230;</p>



<h2 class="wp-block-heading">Things I Intentionally Learned</h2>



<p>Every year, I pick a couple of technologies and go <em>deep.</em></p>



<h2 class="has-large-font-size wp-block-heading">CSS (architecture and systems)</h2>



<p>I&#8217;ve always known enough CSS to get the job done. Mostly based completely on Bootstrap or Foundation with everything overriding those controls. This has always served me and my teams well starting out, until we wanted to do anything custom and then everything fell apart trying to keep up with the Bootstrap upgrades. Custom CSS has its own problems, but doing it right, particularly when you have a design spec and are using a modern, component-based framework like React or Vue, it pays significant dividends later in your ability to reuse code and execute on changes quickly.</p>



<p>The new project we built at work had a near completely custom design, didn&#8217;t support IE11, and I was the font-end lead on the project. It was a great opportunity to really solidify my front-end skills. Parts use CSS Grid, but the majority is Flexbox. Honestly as much as CSS Grid gets talked about, Flexbox is the real workhorse of the web, and I have a deep understanding of it and edge cases now.</p>



<h2 class="has-large-font-size wp-block-heading">CosmosDB</h2>



<p>I&#8217;ve only ever <em>really</em> used relational databases for apps. While I&#8217;ve used Redis for caching, and MongoDB for side projects in the past (does Firebase count in non-production toy projects?), I&#8217;ve never used [shipped] them as the primary database for a project &#8211; until now.</p>



<p>CosmosDB has its warts. While it touts a MongoDB API and others, only the SQL API is truly ready for a production application. It has a steep learning curve, and many foot-guns that can cost you thousands of dollars in Azure fees. It&#8217;s <em>dangerous</em>. But it&#8217;s fast.</p>



<p>Wow, is it fast.</p>



<p>The speed is yours to lose and having shipped a fully production, customer-paying app on CosmosDB, it&#8217;s been fun to see the extremes of the benefits and the dangers of this technology.</p>



<h2 class="has-large-font-size wp-block-heading">Next.js and GraphQL</h2>



<p>I tend to tell new developers that the first thing they should do is start a personal website, since you can do one very important thing: Learn a technology in context from start to finish. From git to builds, to staging, to prod, to monitoring, to performance. You can learn everything and build something in production with real users and real feedback. And it&#8217;s all yours.</p>



<p>This year I rebuilt my website (previously Gatsby) in Next.js. I hated GraphQL in the context of Gatsby, and Next.js gave me routing conventions and more flexibility over where the content was coming from.</p>



<p>I went from markdown (which ended up being GraphQL on top&#8230;again), to Contentful (also GraphQL), and finally to WordPress GraphQL, since my content has all of its history there. It was fun to see all that Next.js has to offer, and what a powerful frontend platform it is for building sites and apps.</p>



<h2 class="has-large-font-size wp-block-heading">Redwood.js</h2>



<p>I spent a big part of mid-year&#8217;s free time building a side-project in <a href="Https://redwoodjs.com">Redwood.js</a>. Redwood is trying to be the modern version of Rails, and adding conventions and glue on top of Prisma, Node, React, etc, to make a single platform. I love the direction, but it&#8217;s built in JS instead of TypeScript, which means that there was no intellisense and type support for a very long time. It&#8217;s still coming, and I ended up spending an inordinate amount of time writing tests just for types and in the forums. I eventually gave up and have been looking at Blitz.js for the new year.</p>



<h2 class="wp-block-heading">Bullet Journaling</h2>



<figure class="wp-block-image size-large"><a href="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100.jpg?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="768" data-attachment-id="1001348226" data-permalink="https://ryanhayes.net/2020-year-in-review/img_3622/" data-orig-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100.jpg?fit=2560%2C1920&amp;ssl=1" data-orig-size="2560,1920" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;1.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 11 Pro&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1609271226&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.25&quot;,&quot;iso&quot;:&quot;800&quot;,&quot;shutter_speed&quot;:&quot;0.0416666666667&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Bullet Journal and Pens" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100.jpg?fit=300%2C225&amp;ssl=1" data-large-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100.jpg?fit=1024%2C768&amp;ssl=1" src="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100-1024x768.jpg?resize=1024%2C768&#038;ssl=1" alt="Bullet Journal and Tombow Fudenosuke Brush Pens" class="wp-image-1001348226" srcset="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100.jpg?resize=1024%2C768&amp;ssl=1 1024w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100.jpg?resize=300%2C225&amp;ssl=1 300w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100.jpg?resize=768%2C576&amp;ssl=1 768w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100.jpg?resize=1536%2C1152&amp;ssl=1 1536w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100.jpg?resize=2048%2C1536&amp;ssl=1 2048w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100.jpg?resize=1200%2C900&amp;ssl=1 1200w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/img_3622-scaled-e1609334203100.jpg?resize=1980%2C1485&amp;ssl=1 1980w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></a></figure>



<p>This is probably the biggest thing I started this year that I&#8217;m carrying into 2021. <a href="https://bulletjournal.com/pages/learn">Bullet Journaling</a> is a daily practice. </p>



<p>BuJo is part task management, part diary, part note-taking, part art notebook, etc. Most importantly bullet journaling is <em>intentionally slow</em>. So much of my life had become fast and fleeting. I was becoming forgetful. Not that I couldn&#8217;t remember things. I have a decent memory. It&#8217;s just that I wasn&#8217;t remembering, or doing, the <em>right</em> things.</p>



<figure class="wp-block-image size-large"><a href="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876.jpg?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="768" data-attachment-id="1001348228" data-permalink="https://ryanhayes.net/2020-year-in-review/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file/" data-orig-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876.jpg?fit=2560%2C1920&amp;ssl=1" data-orig-size="2560,1920" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;1.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 11 Pro&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1609315121&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.25&quot;,&quot;iso&quot;:&quot;100&quot;,&quot;shutter_speed&quot;:&quot;0.0166666666667&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file" data-image-description="&lt;p&gt;Bullet Journal notes on integrative thinking.&lt;/p&gt;
" data-image-caption="" data-medium-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876.jpg?fit=300%2C225&amp;ssl=1" data-large-file="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876.jpg?fit=1024%2C768&amp;ssl=1" src="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876-1024x768.jpg?resize=1024%2C768&#038;ssl=1" alt="" class="wp-image-1001348228" srcset="https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876.jpg?resize=1024%2C768&amp;ssl=1 1024w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876.jpg?resize=300%2C225&amp;ssl=1 300w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876.jpg?resize=768%2C576&amp;ssl=1 768w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876.jpg?resize=1536%2C1152&amp;ssl=1 1536w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876.jpg?resize=2048%2C1536&amp;ssl=1 2048w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876.jpg?resize=1200%2C900&amp;ssl=1 1200w, https://i0.wp.com/ryanhayes.net/wp-content/uploads/2020/12/cacc9de0-d7af-4c2b-90d8-53548e8101a9-11611-0000090513c70a69_file-scaled-e1609334272876.jpg?resize=1980%2C1485&amp;ssl=1 1980w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></a></figure>



<p>The act of pen and paper note-taking has forced me to remember and focus on what&#8217;s important. Since my hand will cramp if I write too much, I only use my pen strokes for the <em>most</em> important things. It&#8217;s helped me focus on the things that <em>truly</em> matter. I attribute the majority of productivity, clarity, and not spiraling into a mental health disaster this year on intentionally removing the screens in the morning and key times of the day, and being mindful of the gift that time is.</p>



<p>A side benefit has been that it&#8217;s made articles like this, where I review what I&#8217;ve done much easier. It feels sometimes like the year just goes by and I don&#8217;t accomplish much, but writing down the things I learn, the takeaways of the seemingly tossed away side projects, the small joys of time with my kids, and having a record to pass to them someday puts more life in my years.</p>



<h2 class="wp-block-heading">The Year of the Mac</h2>



<p>Ok, I promise that it&#8217;s not where I&#8217;m not an MVP anymore, but I do <em>feel</em> like I have more freedom to say this, but I switched to a Macbook Pro this year. I still use Windows and Visual Studio for some things I can&#8217;t get away from (dashboards and reports that require full framework .NET and Visual Studio proper for a report builder). Everything else, though is all Mac OS for day job work.</p>



<p>Visual Studio Code with the right plugins is a joy to use, and as much as WSL/WSL 2 has overcome so many of the <code>npm install</code> type of Windows-only errors there ends up just being different, more esoteric errors to replace them. .NET 5+ and of course anything Node.js and more simply work better, faster, and more consistently on Mac OS. </p>



<p>I hate it, but it&#8217;s true for me. </p>



<p>In addition, for the same reason Mac folks used to have a Windows VM to test for the IE users, I now need access to a Mac to test for weird Safari bugs. MS Edge is my daily browser driver, but with a Mac I can get in and out without much fuss or additional VMs tying up my machine. I still own a desktop PC for personal code work and any Twitch/Video work, but everything else now is either my iPad Pro or Mac.</p>



<h2 class="wp-block-heading">Mentorship</h2>



<p>I&#8217;m a big believer in mentorship and freely giving of the wisdom we collect over the years. Life has some curveballs, and it&#8217;s important to pass on what we&#8217;ve learned, for better or worse, to the next generation.</p>



<p>At work, we have a program I&#8217;m a part of called &#8220;Future Leaders&#8221;. It&#8217;s a two-year executive leadership mentor program, where you&#8217;re paired with a VP or higher to learn the ins and outs of the business and help train you to be a better leader. The title is kind of a misnomer, since almost is everyone is a leader for something, whether we feel like it or not. But it&#8217;s been insightful being able to see behind the scenes of how things work during a year like 2020.</p>



<p>The biggest takeaway from this is that openness has been so important for me to be able to make good decisions for the business and also feel like my work matters (there should <em>always</em> be a way to trace back your work to a <em>&#8220;why does this matter?&#8221;</em>). In closed-communication organizations, it&#8217;s hard sometimes to understand where particular stories or tasks fit into the bigger picture, and understanding the business side of the technical work helps flesh out the &#8220;why&#8221;.</p>



<h2 class="wp-block-heading">Onward</h2>



<p>As 2021 rolls in, and a vaccine is on the horizon, I&#8217;m excited for the new year as we slowly move back to some form of normal that involves people. Even an introvert like me can&#8217;t wait to see people and regain the ability to just go sit in a freezing cold Starbucks and listen to the hum of life and overly loud indie music.</p>
<span class="et_bloom_bottom_trigger"></span><p>The post <a href="https://ryanhayes.net/2020-year-in-review/">2020: Year in Review</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanhayes.net/2020-year-in-review/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1001348214</post-id>	</item>
		<item>
		<title>How to Win a Hackathon</title>
		<link>https://ryanhayes.net/how-to-win-a-hackathon/</link>
					<comments>https://ryanhayes.net/how-to-win-a-hackathon/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Hayes]]></dc:creator>
		<pubDate>Thu, 27 Aug 2020 02:57:34 +0000</pubDate>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[hackathon]]></category>
		<guid isPermaLink="false">http://ryanhayes.wpengine.com/?p=1001348052</guid>

					<description><![CDATA[<p>The post <a href="https://ryanhayes.net/how-to-win-a-hackathon/">How to Win a Hackathon</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-jetpack-markdown"><p>Ideas.</p>
<p>Code.</p>
<p>Caffeine.</p>
<p>On minimal sleep.</p>
<h2>What is a hackathon?</h2>
<p>A hackathon is a set time frame, usually 24 hours, where teams build something. They can either be for fun or competitive. For-fun or non-competitive hackathons often revolve around flexing creative muscles while building community. Many can even be for the benefit of non-profits or to contribute to open-source software. Organizations like GiveCamp and Startup Weekend help organize large hackathons worldwide and make it easy for developers to get involved. (Running a GiveCamp is a great way to flex your leadership skills).</p>
<p>At the end of the time limit, they present their creations to an audience. Depending on the types of hackathons, the winners can take home fantastic prizes, like funding for their idea, credits toward services, or cold, hard cash.</p>
<p>The primary goals are to get people out of their comfort zones, try new things, and build something incredible within a set of constraints. You&#8217;ll come to notice that not all hackathons are created equal, so understanding the context of the one you are entering is of paramount importance.</p>
<h2>There is a formula</h2>
<p>What if I told you there&#8217;s a formula for winning hackathons?</p>
<p>While every hackathon is different, and the strategy in how you prepare, build, and present is different. In this article, the definition of winning is taking home first place or a top prize, but there are other incredible benefits of hackathon participation that can be equally important. You can &quot;win&quot; by becoming better as a developer or entrepreneur. You can &quot;win&quot; by networking with others. Keep that in mind as we start with the first step &#8211; preparing for the hackathon.</p>
<h2>Know the rules</h2>
<p>The first and the most non-negotiable rule of winning a hackathon is to know the rules. You don&#8217;t have a shot if you are disqualified from the competition or fail to meet the requirements. If the rules state that you must use a specific service or technology, you <em>must</em> use that technology. If there is a requirement for a certain number of teammates, then meet those requirements. This leads to the next softer rule of knowing the audience.</p>
<h2>Know the audience</h2>
<p>Knowing the audience helps give your team and your product focus. If the hackathon is based around high innovation, then a to-do like application will likely not win. If the theme is &quot;hack for non-profits,&quot; then a robotics project based on drones will probably not help if the non-profits present are lower-tech office workers who just need a new website. Keep in mind who is attending, the hackathon theme, and what the people attending are looking for. This is particularly important for winning the &quot;people&#8217;s choice&quot; awards where the audience votes.</p>
<h2><strong>Know the judges</strong></h2>
<p>The win and the loss are ultimately in the hands of the judges. When planning your idea, it&#8217;s crucial to know who the judges will be, their industries, and their background. Each judge will bring with them biases, personal interests, and philosophies of what a winning project will look like.</p>
<p>An angel investor is likely highly focused on ROI and innovation. What would the market look like, and how much could this potentially be worth?</p>
<p>A judge with a marketing or sales background will likely be excited by things that show well.</p>
<p>If a particular judge has a clear stance against the continued increase in mass surveillance technology will likely not vote for you if your project requires a camera in their bedroom.</p>
<p>The key here is to find hard-negative biases to avoid while looking for a project idea that hits the excitement button in some way for each judge.</p>
<h2>The Team and The Idea</h2>
<p>&quot;If you want to go fast, go alone. If you want to go far, go together.&quot; is a quote that applies so well during hackathons. When selecting a team, the main tradeoff is that the fewer people you have, the faster you can pivot and move, while each additional person adds communication overhead. Additionally, you want to balance something that is both ambitious and doable. Understaff an idea, and you won&#8217;t complete it. Overstaff a plan, and it leaves someone sitting on their hands at best, or at worst, will slow you down.</p>
<p>It&#8217;s best to keep the team small, particularly before you solidify an idea. Two or three people total is best. These key individuals are your &quot;founders.&quot; They are both idea machines AND can execute. If the work for the idea can be evenly distributed between the three, then continue with the team.</p>
<p>If the idea is ambitious enough to need more people, then you&#8217;re at your first crossroad to &quot;go far.&quot; You must stop and determine if the execution you are planning can support more people and decide where the &quot;snap points&quot; or interfaces will be.</p>
<p>As developers, we&#8217;re familiar with the concept of an interface. It&#8217;s a contract between two types &#8211; a bridge that allows developers to build pieces of a program, totally isolated from each other, and have some semblance of a guarantee that the two will work together. This concept and construct is the key to building larger projects in a shorter amount of time. The most effective software leaders know how to use interfaces to effectively divide and parallelize work, and it&#8217;s a vital skill to have if you intend to ramp team size.</p>
<p>In one hackathon, my team won by building a universal search for an existing application. It was similar to how the Windows key works on Windows or Command + Space works on Mac OS. We started with a team of 3, where we created an interface for services to search different parts of the program. One person built a service for the navigation and menus, and another the user search service, and a third built the UI. This division of work allowed us to agree on a common language between the services and, once complete, gave us the unhindered freedom to work in parallel for the rest of the time. Once we realized this, we recruited two more people to help build other services. Since an interface was in place, we were able to parallelize that work as well.</p>
<p>Look for ideas that have parts that can be broken off. This gives you the power to be more efficient in building a real demo of your design or product and ultimately gives you the edge over the competition whose idea is less complete. Ideas are cheap. Execution is everything.</p>
<h2>The Execution</h2>
<p>The execution.</p>
<p>The demo.</p>
<p>The prototype.</p>
<p>This is where the fun begins. It can generally be a hectic segment. If you did your due diligence in planning and team building beforehand, your goal should be clear. Break up the work and start building. Pivots and questions are sometimes inevitable. If you see that you are running into unforeseen issues, sometimes it&#8217;s best to pivot in a new direction, or at least mock a particular service or part and note the assumption.</p>
<p>Some hackathons, such as Startup Weekend, have designated business and technical mentors. Keep in mind any resources available to you during the hackathon and take advantage of them if appropriate (my #1 tip would be any free snacks, of course).</p>
<p>For picking technologies to use, some people try new tech to learn. If your intent is to win, use safe and known languages and technologies for core parts of your prototype. Only use new or unknown tech for required pieces that relate to hackathon rules, if possible. If rules say no code should be written until the competition starts (most do), then think about the code beforehand. What might it look like? Many times you imagine what structures and integrations will generally look like before you code, so run things through in your head to ensure a clean implementation.</p>
<h2>The Presentation</h2>
<p>The final presentation is critical. It can make up for execution missteps, and it can lose the competition for an incredibly well-built prototype.</p>
<p>First, choose the best presenter on the team, who is most comfortable on stage. This isn&#8217;t always the leader.</p>
<p>Next, craft the story. Think of the judges and the audience. What ideas are they interested in, and what stories can you tell during the demo that they will connect with? Keep in mind the original goal of the hackathon. If it&#8217;s a startup or business-focused hackathon, then be sure to include all the essential numbers. Include data about the market, ROI, relevant competitors, etc.</p>
<p>Finally, be sure to nail the ending. Have a final slide or come back to the most important questions and remind the judges and audience of what they just saw. Why is <em>this</em> the problem to solve? Why <em>now</em>? Why is <em>this</em> the right solution and not something else, or nothing at all (many times in business we aren&#8217;t fighting against competitors, we&#8217;re fighting against customers or people doing nothing)?</p>
<h2><strong>In Conclusion</strong></h2>
<p>Hackathons are incredibly rewarding and pack incredible amounts of experience and learning into a small amount of time. I recommend everyone participating in one at some point in their career (the earlier, the better). Have you participated in a hackathon? If so, what helped you get the edge over the competition? Or, what did you do that you might do differently in the future? Leave a note in the comments and let me know.</p>
<p>Happy hacking!</p>
</div>
<span class="et_bloom_bottom_trigger"></span><p>The post <a href="https://ryanhayes.net/how-to-win-a-hackathon/">How to Win a Hackathon</a> appeared first on <a href="https://ryanhayes.net">Ryan Hayes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanhayes.net/how-to-win-a-hackathon/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1001348052</post-id>	</item>
	</channel>
</rss>
