<?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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Uncategorized Archives - Ryan Peden</title>
	<atom:link href="https://ryanpeden.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>https://ryanpeden.com/category/uncategorized/</link>
	<description>Full Stack DevRel</description>
	<lastBuildDate>Wed, 11 Jan 2023 04:09:21 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.1</generator>
<site xmlns="com-wordpress:feed-additions:1">155423463</site>	<item>
		<title>Prioritizing What Matters in Software Development</title>
		<link>https://ryanpeden.com/prioitizing-what-matters-in-software-development/</link>
					<comments>https://ryanpeden.com/prioitizing-what-matters-in-software-development/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Peden]]></dc:creator>
		<pubDate>Tue, 10 Jan 2023 13:10:48 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://ryanpeden.com/?p=207</guid>

					<description><![CDATA[<p>As a software engineer, it&#8217;s easy to get caught up in the details of programming languages and practices. Maybe you believe that one language is superior to all others, or that microservices are better than monoliths. But here&#8217;s the question you need to ask yourself: how much do these things</p>
<div class="belowpost"><a class="btnmore icon-arrow" href="https://ryanpeden.com/prioitizing-what-matters-in-software-development/"><span>Read More</span></a></div>
<p>The post <a rel="nofollow" href="https://ryanpeden.com/prioitizing-what-matters-in-software-development/">Prioritizing What Matters in Software Development</a> appeared first on <a rel="nofollow" href="https://ryanpeden.com">Ryan Peden</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img data-attachment-id="215" data-permalink="https://ryanpeden.com/prioitizing-what-matters-in-software-development/mohammad-rahmani-oxlxu2qukge-unsplash/" data-orig-file="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2023/01/mohammad-rahmani-oXlXu2qukGE-unsplash.jpg?fit=6720%2C4480&amp;ssl=1" data-orig-size="6720,4480" 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;&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;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="mohammad-rahmani-oXlXu2qukGE-unsplash" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2023/01/mohammad-rahmani-oXlXu2qukGE-unsplash.jpg?fit=300%2C200&amp;ssl=1" data-large-file="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2023/01/mohammad-rahmani-oXlXu2qukGE-unsplash.jpg?fit=1000%2C667&amp;ssl=1" decoding="async" width="1000" height="667" src="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2023/01/mohammad-rahmani-oXlXu2qukGE-unsplash.jpg?resize=1000%2C667&#038;ssl=1" alt="" class="wp-image-215" data-recalc-dims="1"/><figcaption class="wp-element-caption">Photo by <a href="https://unsplash.com/@afgprogrammer?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Mohammad Rahmani</a> on <a href="https://unsplash.com/photos/oXlXu2qukGE?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure>



<p>As a software engineer, it&#8217;s easy to get caught up in the details of programming languages and practices. Maybe you believe that one language is superior to all others, or that microservices are better than monoliths. </p>



<p>But here&#8217;s the question you need to ask yourself: how much do these things really matter in the grand scheme of things?</p>



<h2>I Was a True Believer</h2>



<p>I used to think that picking the right programming language mattered more than anything else. </p>



<p>When I was a junior developer, I was convinced that picking the right programming language was the key to innovation. I read Paul Graham&#8217;s <a href="http://www.paulgraham.com/avg.html">Beating the Averages</a> with zeal. I learned everything I could about <a href="https://en.wikipedia.org/wiki/Smalltalk">Smalltalk</a>, <a href="https://common-lisp.net/">Lisp</a>, and <a href="https://www.haskell.org/">Haskell</a>.</p>



<p>I still think that many &#8216;modern&#8217; programming and DevOps tools feel like trying to build a skyscraper with sticks and stones compared to the magic available 40+ years ago <a href="https://en.wikipedia.org/wiki/Genera_(operating_system)">on Lisp machines</a> and in <a href="https://github.com/dbanay/Smalltalk/blob/master/images/desktop.png">Smalltalk-80</a>.</p>



<h2>Technology Matters Less Than You Hope</h2>



<p>But the truth is, in a world with amazing open-source tools like <a href="https://www.djangoproject.com/">Django</a>, <a href="https://fastapi.tiangolo.com/">FastAPI</a>, <a href="https://rubyonrails.org/">Ruby on Rails</a>, <a href="https://www.qt.io/product/framework">Qt</a>, and countless others, it&#8217;s tough to beat the averages because the averages are now pretty darn good. And beating them doesn&#8217;t buy you as much as it used to.</p>



<p>Regardless, the average user doesn&#8217;t care what programming language you built your app with.</p>



<p>As engineers, we&#8217;re tempted to think everyone cares about technical details as much as we do, but most people just want things to work. And when the chips are down, engineers usually don&#8217;t care either.</p>



<p>For example, read <a href="https://twitter.com/levelsio/status/1381709793769979906">this tweet</a> by <a href="https://twitter.com/levelsio">@levelsio</a> discussing how <a href="https://remoteok.com/">RemoteOK</a> generates over $100,000 per month in revenue with a single PHP file as its backend. </p>



<p>Of all the engineers and techies who found remote jobs via RemoteOK, how many of them do you think got upset about its backend? I&#8217;d bet it&#8217;s a rounding error.</p>



<h2>Make Pragmatic Engineering Choices, But Don&#8217;t Be Reckless</h2>



<p>None of this means good engineering doesn&#8217;t matter at all. A maintainable, readable, and clean codebase is certainly better than a messy, hard-to-understand codebase. <a href="https://en.wikipedia.org/wiki/Software_testing">Testing</a> is crucial, and following <a href="https://owasp.org/">best practices for security</a> and performance is vital. </p>



<h3>Beware fake productivity</h3>



<p>But it&#8217;s also important to recognize that debating languages and tools and conceptual purity can feel like productivity, when in reality it&#8217;s a waste of time.</p>



<p>A team that chooses &#8216;boring&#8217; tools like PHP and Laravel and gets down to work will likely progress more quickly than a team that spends its first month arguing about whether to use <a href="https://www.rust-lang.org/">Rust</a>, <a href="https://go.dev/">Go</a>, or <a href="https://elixir-lang.org/">Elixir</a>.</p>



<h3>Pick tools that get the job done</h3>



<p>The same is true when it comes to the trade-offs between different libraries and tools. For example, choosing between a relational database or a document database can be a contentious topic. </p>



<p>But will using <a href="https://www.postgresql.org/">Postgres</a> instead of <a href="https://www.mongodb.com/">MongoDB</a> make or break your company? Probably not.</p>



<p> Will choosing <a href="https://expressjs.com/">Express</a> over <a href="https://www.fastify.io/">fastify</a> ruin you? Unlikely.</p>



<p>Ultimately, the best choice depends on what you&#8217;re creating. In many cases, the specific tech you choose matters less than you wish it did.</p>



<p>Yes, you might make the wrong choice. It happens. Make the best choice you can with everything you know right now, and change your mind down the road if necessary.</p>



<h3>The smaller you are, the more pragmatism matters</h3>



<p>The idea that technology choices don&#8217;t matter as much as we think applies doubly to solopreneurs and early-stage startups. Getting a product to market and learning about customer needs is paramount. </p>



<p>Use, <a href="https://www.php.net/">PHP</a>, <a href="https://rubyonrails.org/">Ruby on Rails</a>, <a href="https://www.qt.io/product/framework">Qt</a>, <a href="https://reactnative.dev/">React Native</a>, or whatever lets you start delivering value to users ASAP.</p>



<h2>Sometimes, Technology Gives You An Advantage</h2>



<p>With all that in mind, you should still use your brain. Remember that sometimes technology <em>does </em>matter, especially when it gives you a competitive advantage. </p>



<p>For example, if you&#8217;re building app aimed at a niche that values real-time UI and dashboards, using  <a href="https://elixir-lang.org/">Elixir</a>, <a href="https://www.phoenixframework.org/">Phoenix</a>, and <a href="https://github.com/phoenixframework/phoenix_live_view">LiveView</a> might help run you circles around competitors struggling to build  similar solutions using <a href="https://nodejs.org/en/">Node.js</a>, <a href="https://socket.io/">Socket.io</a>, <a href="https://reactjs.org/">React</a>, <a href="https://recoiljs.org/">Recoil</a>, duct tape, and hope.</p>



<p>In short, remain aware of how can help you compete. If you like the idea of disrupting a market with technology, work hard to stay up to speed on markets you care about <em>and </em>technology that might help you disrupt them.</p>



<h2>The Game Changes When You Need To Scale&#8230;</h2>



<p>Making simple technology choices early means you&#8217;ll need to revisit them as you scale. For example, a startup that has found product-market fit and is consequently growing rapidly should spend serious time, thought, and salary on architecture and engineering.</p>



<p>But even when you&#8217;re scaling, remain cautious and try not get caught up in technical bike shedding. Twitter got a long way using Ruby on Rails, not exactly known for its speed. Yes, the <a href="https://www.theatlantic.com/technology/archive/2015/01/the-story-behind-twitters-fail-whale/384313/">fail whale</a> showed up too often. But people kept using the platform. </p>



<p>And <a href="https://www.shopify.com/ca">Shopify</a>, a $60 billion company, is at its core still a monolithic Rails app (albeit with plenty of help from Go, React, and others.)</p>



<h2>&#8230;Or When You&#8217;re Already At Scale</h2>



<p>Similarly, when working on an app already operating at scale, aim for engineering excellence. Think about performance and maintainability. </p>



<p>And don&#8217;t forget that scale is relative. Ten thousand simultaneous users might seem like a lot right now. But if you&#8217;ve reached that level, there&#8217;s a good chance you&#8217;ll need to handle ten times as many in a year, so plan accordingly. </p>



<p>Remain vigilant, however, and remember to balance engineering goals with practicality and the need to deliver value to your users.</p>



<p>Finally, if you work for a behemoth like Google, Amazon, Microsoft, or Netflix, you might need to create an app that handles thousands or millions of users on day one. In that case, it&#8217;s crucial to engineer for scalability from the beginning. </p>



<p>Even then, you&#8217;re not focusing on technology for its own sake. You&#8217;re doing it because you <em>must</em> do it to meet user expectations.</p>



<h2>Takeaway</h2>



<p>Whether you&#8217;re a solopreneur or a cog in a big corporate machine, always consider the trade-offs imposed by your technical choices. The most important thing is delivering value to the users and meeting the requirements of the business.</p>



<p>Maybe you&#8217;re wondering what the heck I&#8217;m talking about because you&#8217;ve always worked on teams that made pragmatic tech choices. </p>



<p>If so, I envy you. I&#8217;ve worked on some great teams alongside amazing software engineers and even then, we wasted too much time on technical <a href="https://seths.blog/2005/03/dont_shave_that/">yak shaving</a> that ultimately didn&#8217;t matter.</p>



<p>So next time you find yourself getting caught up in debates about the superiority of one language or engineering practice over another, remember: what really matters is building things that people want to use. </p>



<p>Without users and the business they support, there won&#8217;t be any money to pay for technology! As long as you prioritize practicality and results over conceptual purity, you&#8217;ll be on the right track.</p>
<p>The post <a rel="nofollow" href="https://ryanpeden.com/prioitizing-what-matters-in-software-development/">Prioritizing What Matters in Software Development</a> appeared first on <a rel="nofollow" href="https://ryanpeden.com">Ryan Peden</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanpeden.com/prioitizing-what-matters-in-software-development/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">207</post-id>	</item>
		<item>
		<title>Don&#8217;t Get Lost in the Code</title>
		<link>https://ryanpeden.com/dont-get-lost-in-the-code-career-advice-for-developers/</link>
					<comments>https://ryanpeden.com/dont-get-lost-in-the-code-career-advice-for-developers/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Peden]]></dc:creator>
		<pubDate>Sat, 07 Jan 2023 03:15:48 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Career]]></category>
		<category><![CDATA[DevRel]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://ryanpeden.com/?p=196</guid>

					<description><![CDATA[<p>As a software developer, I know firsthand the allure of diving deep into the technicalities of creating complex applications. But it&#8217;s important not to get lost in the code. Some of the best career advice I can give other developers is that they should learn to look beyond the code</p>
<div class="belowpost"><a class="btnmore icon-arrow" href="https://ryanpeden.com/dont-get-lost-in-the-code-career-advice-for-developers/"><span>Read More</span></a></div>
<p>The post <a rel="nofollow" href="https://ryanpeden.com/dont-get-lost-in-the-code-career-advice-for-developers/">Don&#8217;t Get Lost in the Code</a> appeared first on <a rel="nofollow" href="https://ryanpeden.com">Ryan Peden</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img data-attachment-id="204" data-permalink="https://ryanpeden.com/dont-get-lost-in-the-code-career-advice-for-developers/james-harrison-vpoexr5wmr4-unsplash/" data-orig-file="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2023/01/james-harrison-vpOeXr5wmR4-unsplash.jpg?fit=6000%2C3376&amp;ssl=1" data-orig-size="6000,3376" 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;&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;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="james-harrison-vpOeXr5wmR4-unsplash" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2023/01/james-harrison-vpOeXr5wmR4-unsplash.jpg?fit=300%2C169&amp;ssl=1" data-large-file="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2023/01/james-harrison-vpOeXr5wmR4-unsplash.jpg?fit=1000%2C563&amp;ssl=1" decoding="async" loading="lazy" width="1000" height="563" src="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2023/01/james-harrison-vpOeXr5wmR4-unsplash.jpg?resize=1000%2C563&#038;ssl=1" alt="" class="wp-image-204" data-recalc-dims="1"/><figcaption class="wp-element-caption">Photo by <a href="https://unsplash.com/@jstrippa?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">James Harrison</a> on <a href="https://unsplash.com/s/photos/code?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure>



<p>As a software developer, I know firsthand the allure of diving deep into the technicalities of creating complex applications. But it&#8217;s important not to get lost in the code. Some of the best career advice I can give other developers is that they should learn to look beyond the code they&#8217;re writing. </p>



<h3>Getting Lost in Code</h3>



<p>I still remember my early days of programming, when I was so excited to learn about all the latest tools and techniques. I spent hours studying code and trying out new frameworks. That was an incredibly valuable learning experience for me.</p>



<p>However, as I gained more experience and my projects became more complex, like creating big .NET backends and sophisticated React front-ends, I found that getting caught up in the technical details wasn&#8217;t always helpful. </p>



<p>It wasn&#8217;t that technical details weren&#8217;t interesting. They were! Maybe <em>too</em> interesting. </p>



<p>But getting getting caught up in technical details meant I didn&#8217;t always keep the end goal in sight. I would get lost in the code and lose track of what I was trying to accomplish.</p>



<h3>Remember Your Users</h3>



<p>This same dynamic can play out in development teams, whether at startups or larger companies. Developers often get caught up in debates about the minute differences between frameworks or the latest and greatest tools, rather than focusing on the needs of their users. </p>



<p>It&#8217;s important we ensure our work is technically sound, but it&#8217;s also crucial to remember we&#8217;re creating products and services for real people.</p>



<p>Coding for its own sake can get boring after a while. The real joy comes from making things that other people use and love. That&#8217;s why it&#8217;s so important for developers to keep their eye on the prize and think about the bigger picture. </p>



<p>Solving problems in a performant, scalable, and maintainable way is still important, but it&#8217;s also crucial to consider the needs of our users and how our work fits into the overall goals of our team, our company, and our users.</p>



<h3>Why I Like DevRel</h3>



<p>Focusing on awesome user outcomes and not just code is why I&#8217;ve gravitated toward DevRel and DevEx engineering over the past few years. In these roles, I still get to write as much code as I want to, and I still get to work on product features. </p>



<p>But I also spend a lot of time connecting with the developers who use the product. It&#8217;s incredibly rewarding to see how my work helps to create tools  that developers love, and then helps the developer community discover and learn how to use those tools. </p>
<p>The post <a rel="nofollow" href="https://ryanpeden.com/dont-get-lost-in-the-code-career-advice-for-developers/">Don&#8217;t Get Lost in the Code</a> appeared first on <a rel="nofollow" href="https://ryanpeden.com">Ryan Peden</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanpeden.com/dont-get-lost-in-the-code-career-advice-for-developers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">196</post-id>	</item>
		<item>
		<title>Make Your DevRel Strategic, Not Operational</title>
		<link>https://ryanpeden.com/make-devrel-strategic-not-operational/</link>
					<comments>https://ryanpeden.com/make-devrel-strategic-not-operational/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Peden]]></dc:creator>
		<pubDate>Mon, 02 May 2022 02:51:46 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://ryanpeden.com/?p=181</guid>

					<description><![CDATA[<p>As software continues to eat the world, the role of the developer advocate or evangelist &#8211; and DevRel in general &#8211; is becoming more critical. Companies now see the value in having employees who focus on building relationships with developers. Yet instead of making DevRel strategic, too many companies treat</p>
<div class="belowpost"><a class="btnmore icon-arrow" href="https://ryanpeden.com/make-devrel-strategic-not-operational/"><span>Read More</span></a></div>
<p>The post <a rel="nofollow" href="https://ryanpeden.com/make-devrel-strategic-not-operational/">Make Your DevRel Strategic, Not Operational</a> appeared first on <a rel="nofollow" href="https://ryanpeden.com">Ryan Peden</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>As software continues to eat the world, the role of the developer advocate or evangelist &#8211; and DevRel in general &#8211; is becoming more critical. Companies now see the value in having employees who focus on building relationships with developers. Yet instead of making DevRel strategic, too many companies treat it as an operational activity. </p>



<p>This is a mistake. Companies targeting developers should treat DevRel as a strategic activity vital to achieving business goals.</p>



<h2>Strategic vs. Operational</h2>



<p></p>



<figure class="wp-block-image size-large is-style-default"><img data-attachment-id="182" data-permalink="https://ryanpeden.com/make-devrel-strategic-not-operational/brands-people-ax8ia8gajvg-unsplash/" data-orig-file="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2022/05/brands-people-Ax8IA8GAjVg-unsplash.jpg?fit=4860%2C3291&amp;ssl=1" data-orig-size="4860,3291" 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;&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;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="brands-people-Ax8IA8GAjVg-unsplash" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2022/05/brands-people-Ax8IA8GAjVg-unsplash.jpg?fit=300%2C203&amp;ssl=1" data-large-file="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2022/05/brands-people-Ax8IA8GAjVg-unsplash.jpg?fit=1000%2C677&amp;ssl=1" decoding="async" loading="lazy" width="1000" height="677" src="https://i0.wp.com/ryanpeden.com/wp-content/uploads/2022/05/brands-people-Ax8IA8GAjVg-unsplash.jpg?resize=1000%2C677&#038;ssl=1" alt="A picture of a person writing on post-it notes and placing them on a board." class="wp-image-182" data-recalc-dims="1"/></figure>



<p>What do I mean, exactly, when I talk about strategic and operational?</p>



<p>The business world uses the term &#8220;strategy&#8221; in different ways. I&#8217;m talking about <a href="https://www.isc.hbs.edu/strategy/Pages/strategy-explained.aspx">Michael Porter&#8217;s definition</a>. The idea that a company should undertake a unique mix of actions to help it build a moat &#8211; actions that set it aside from its competitors. These activities can provide the company a unique and defensible strategic market position.</p>



<p>Operational activities are different. They&#8217;re what you do daily to keep the business running. You need to do them, but they won&#8217;t help you build a competitive advantage. Operational innovations are easy for competitors to copy.&nbsp;</p>



<p>Think of things like accounting or HR. They&#8217;re operational. Even the act of writing code is usually operational. You&#8217;re not going to develop a revolutionary way of writing code unless you&#8217;re Google. The things your code&nbsp;<em>does</em>&nbsp;might be strategic. But the fact you use Scrum shouldn&#8217;t be part of your strategic positioning.</p>



<p>Activities like DevRel that&nbsp;<em>should</em>&nbsp;be strategic can be merely operational. This happens if you tick the standard boxes that everyone ticks. Things like doing a bit of advertising. Or writing some uninspiring blog posts. Or setting up a Discourse forum but don&#8217;t engage with anyone who asks questions.</p>



<h2>Why Make DevRel Strategic?</h2>



<p></p>



<p>So why, exactly, should you treat DevRel as strategic? There are a few reasons why you should consider it.</p>



<p>First, it helps you build&nbsp;<em>real</em>&nbsp;trust with developers. I&#8217;m not one of those hipsters who will preach about the importance of &#8220;authenticity&#8221; when addressing developers. Instead, I&#8217;ll say you need to be bullshit-free. Building trust is difficult if you treat DevRel as a operational checkbox on a list of things you think you&#8217;re supposed to do. Instead, treat it as a core part of who you are.</p>



<p>This trust is important because developers are becoming the gatekeepers of technology. They decide which products and services to use and recommend to their colleagues. As a result, developers are more likely to use and recommend the products of a company they trust.</p>



<p>Next, DevRel &#8211; if done strategically &#8211; can help a company understand the needs of developers. Developers are a key customer segment for many companies, so it&#8217;s essential to understand their needs. Strategic DevRel helps build these relationships by talking to developers about their needs. These relationships lead to insights that can improve products and services. Operational DevRel is rarely comprehensive enough to lead to iinsight.</p>



<p>DevRel can also help a company position itself as a thought leader in its industry. By making itself known as the kind of company that gets developers, cares about the things they care about, and is actively invested in making their lives better, a company can set itself apart from its competitors.&nbsp;</p>



<p>As an extra benefit, thought leadership can also help a company attract top talent. The best developers want to work for companies at the forefront of their industry. By positioning themselves as thought leaders, a company can attract these top developers to its team.</p>



<p>But if your treating DevRel as operational, you might not be thinking thoughts developers would consider leadership.</p>



<h2>What Next?</h2>



<p></p>



<p>DevRel can be a considerable driver of company growth &#8211;&nbsp;<em>if</em>&nbsp;you do it right. But you will not see the benefits if you treat it as a token effort rather than a core part of your identity. If you make it part of who you are as a company, however, you can reap the rewards of faster growth, better products, and a stronger position in your industry.</p>



<p>The next question:&nbsp;<em>how&nbsp;</em>do you make your DevRel efforts strategic from the start? And how do you&nbsp;<em>move</em>&nbsp;DevRel in a strategic direction if you have it, but it is operational and ineffective? That&#8217;s a topic for another post.</p>
<p>The post <a rel="nofollow" href="https://ryanpeden.com/make-devrel-strategic-not-operational/">Make Your DevRel Strategic, Not Operational</a> appeared first on <a rel="nofollow" href="https://ryanpeden.com">Ryan Peden</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanpeden.com/make-devrel-strategic-not-operational/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">181</post-id>	</item>
		<item>
		<title>How to find the version of a globally installed NPM package</title>
		<link>https://ryanpeden.com/how-to-find-the-version-of-a-globally-installed-npm-package/</link>
					<comments>https://ryanpeden.com/how-to-find-the-version-of-a-globally-installed-npm-package/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Peden]]></dc:creator>
		<pubDate>Tue, 21 Jan 2020 14:49:44 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://ryanpeden.com/?p=171</guid>

					<description><![CDATA[<p>Sometimes, you really want to know the version of a globally installed NPM package. That&#8217;s the position I found myself in this morning. Googling didn&#8217;t help me much. Most of the answers I found just didn&#8217;t answer my question. Here what you need to know. If you want to see</p>
<div class="belowpost"><a class="btnmore icon-arrow" href="https://ryanpeden.com/how-to-find-the-version-of-a-globally-installed-npm-package/"><span>Read More</span></a></div>
<p>The post <a rel="nofollow" href="https://ryanpeden.com/how-to-find-the-version-of-a-globally-installed-npm-package/">How to find the version of a globally installed NPM package</a> appeared first on <a rel="nofollow" href="https://ryanpeden.com">Ryan Peden</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Sometimes, you <em>really</em> want to know the version of a globally installed NPM package. That&#8217;s the position I found myself in this morning. Googling didn&#8217;t help me much. Most of the answers I found just didn&#8217;t answer my question. </p>



<p>Here what you need to know. If you want to see the version of a globally installed NPM package, run this:</p>



<p><code>npm ls -g package-name --depth 0</code></p>



<p>Replace <code>package-name</code> with the name of whatever package you&#8217;re looking for. </p>



<p>In most cases, adding <code>--depth 0</code> isn&#8217;t necessary. But in rare cases, the global package you&#8217;re searching for is <em>also</em> a dependency of other globally installed packages. When this happens, you&#8217;ll see the package you want, but you&#8217;ll also see a partial dependency tree of all of the packages that <em>use</em> the package you&#8217;re searching for. </p>



<p>Adding <code>--depth 0</code> eliminates this problem. Feel free to leave that part out and only add it if you need it. </p>
<p>The post <a rel="nofollow" href="https://ryanpeden.com/how-to-find-the-version-of-a-globally-installed-npm-package/">How to find the version of a globally installed NPM package</a> appeared first on <a rel="nofollow" href="https://ryanpeden.com">Ryan Peden</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanpeden.com/how-to-find-the-version-of-a-globally-installed-npm-package/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">171</post-id>	</item>
		<item>
		<title>So You Want to be a Freelance Web Developer</title>
		<link>https://ryanpeden.com/so-you-want-to-be-a-freelance-web-developer/</link>
					<comments>https://ryanpeden.com/so-you-want-to-be-a-freelance-web-developer/#respond</comments>
		
		<dc:creator><![CDATA[Ryan Peden]]></dc:creator>
		<pubDate>Sun, 11 Aug 2019 14:12:32 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://ryanpeden.com/?p=102</guid>

					<description><![CDATA[<p>I originally wrote this as a comment on Reddit. Since it ended up being 1700+ words, I figured it would be worth posting here too! A caveat upfront: I haven&#8217;t done these things myself, because I&#8217;ve been lucky to have some awesome jobs I don&#8217;t want to leave. However, I&#8217;ve</p>
<div class="belowpost"><a class="btnmore icon-arrow" href="https://ryanpeden.com/so-you-want-to-be-a-freelance-web-developer/"><span>Read More</span></a></div>
<p>The post <a rel="nofollow" href="https://ryanpeden.com/so-you-want-to-be-a-freelance-web-developer/">So You Want to be a Freelance Web Developer</a> appeared first on <a rel="nofollow" href="https://ryanpeden.com">Ryan Peden</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>I originally wrote this as <a href="https://www.reddit.com/r/webdev/comments/corq3p/going_freelance/ewlmn87/">a
comment on Reddit</a>. Since it ended up being 1700+ words, I figured it would
be worth posting here too! </p>



<p>A caveat upfront: I haven&#8217;t done
these things myself, because I&#8217;ve been lucky to have some awesome jobs I don&#8217;t
want to leave. However, I&#8217;ve watched many of my peers try to freelance &#8211; some
successfully, and some unsuccessfully.</p>



<p>So I think there&#8217;s still value in my
observations. I&#8217;ve worked closely with marketing and sales teams more than once
in my career, as well as having to deal with clients in an agency setting &#8211; so
my marketing and sales advice is hands-on, real-world advice from the trenches.</p>



<p>Keep in mind that it&#8217;s entirely
possible to follow the default route most people seem to when they try to go
freelance &#8211; ditch the job, and try to pick up work by browsing Craigslist and <a href="/r/forhire">/r/forhire</a>. Or go to a freelancer marketplace like <a href="https://freelancer.com">freelancer.com</a>. The freelancers I&#8217;ve seen who
attempted and failed never really advanced beyond trolling job boards,
responding to lots of ads and hoping for the best.</p>



<p>The people I&#8217;ve seen do this
successfully long term have realized that when you&#8217;re freelance, web
development is no longer your #1 job.&nbsp;</p>



<h1>Job #1 &#8211; Marketing</h1>



<p>The goal of marketing is to generate
leads. You can do this online, but it might be easier to do in-person networking.
Having a good story helps here. &#8220;I&#8217;m a freelance web developer&#8221; isn&#8217;t
a great story. It makes you sound like an undifferentiated commodity.</p>



<p>When you&#8217;re starting, something
better might be &#8220;I&#8217;m a React developer who helps funded startups deliver features
more quickly.&#8221; Now, instead of describing yourself in terms that don&#8217;t
distinguish you from the tens of thousands of people in low-cost countries who
will work more cheaply than you, you&#8217;re expressing yourself in terms of the
business value you deliver.</p>



<p>And by specifying something like
&#8220;funded startups,&#8221; you&#8217;re opting into a) a market that has money to
spend and b) is in a position where they <em>need</em> to trade money for time
because VCs want to see ROI on their investment quickly.</p>



<p>Note that I&#8217;m not saying that funded
startups are necessarily what <em>you</em> should target. But you should have a
target market in mind beyond just &#8220;anyone in the world who might need web
dev services&#8221;. Preferably a target market that tends to budgets to spend
and isn&#8217;t afraid to use them. </p>



<p>Another example might be positioning
yourself as a front-end specialist for Java or .NET shops. Companies that use
these technologies tend to be larger, and dev managers might just have a budget
to bring in a front-end specialist to do fancy-pants JS work the back-end
enterprise developers are too busy to do. </p>



<p>Hopefully, those examples give you a
starting point for finding a perfect target market for you! </p>



<p>In the long term, saying something
like &#8220;I&#8217;m a React developer&#8221; might not be a great play. Technologies
change, sometimes a lot more quickly than any of us expect. But when you&#8217;re
just starting, if you know a super in-demand technology, using that to help
describe yourself can be a good play. Over time, as you work with more clients,
you&#8217;ll often find that you end up working with lots of them in a particular
niche &#8211; medtech, or fintech, for example.</p>



<p>Then, your value prop becomes
something like &#8220;I&#8217;m a developer who helps fintech companies deliver
features quickly. Unlike my competitors, I have a deep understanding of finance
so I&#8217;ll deliver work your customers will love.&#8221;</p>



<h1>Job #2 &#8211; Sales</h1>



<p>The goal of sales is to qualify and
close the leads generated by step 1.&nbsp;</p>



<p>Qualifying leads means making sure
they’re serious about needing your services, and not just “kicking the tires”
or trying to get you into a race to the bottom bidding war against other
freelancers or agencies. If the lead already sees you as an undifferentiated
commodity, you’re starting out in the hole. </p>



<p>The sales process also includes things
like sales calls, writing proposals, and then following up relentlessly to turn
those proposals into signed orders. If a client asks for a proposal, always ask
them to schedule a call or meeting to discuss the proposal together. Some
people will ask for a proposal as a way to blow you off. If they&#8217;re not willing
to do a 15-minute proposal follow-up, there&#8217;s a good chance they aren&#8217;t
serious.</p>



<p>When I say follow up relentlessly, I
don&#8217;t mean that you should be annoying. If someone tells you to get lost, then
get lost. The freelance devs I&#8217;ve known who seem to have lots of well-paying
work seem to follow up using a sort of loose <a href="https://en.wikipedia.org/wiki/Exponential_backoff">exponential backoff</a>
algorithm if a client ghosts them.</p>



<p>You&#8217;d be surprised at the number of
clients who <em>really</em> want to work with you, but your $50k proposal isn&#8217;t
one of their top 5 priorities because it&#8217;s the only 5-figure contract they&#8217;re
dealing with right now. Ensuring these potential clients don’t fall off your
radar can be vital to having a happy, successful, profitable business. If you
don’t hear back from someone who has otherwise seemed polite and professional,
they probably aren’t ghosting you. They’re likely just busy. </p>



<p>A CRM can be a <em>massive</em> help
here. It’ll help you remember who all your leads are and see exactly when you’ve
contacted them. It’ll even remind you to follow up when people haven’t gotten
back to you. Salesforce for small business is $25 per user per month. Since you’ll
be a one-person company, this might be $25 very well-spent. </p>



<p>99% of your freelance competition isn’t
treating the sales process professionally and seriously. Many of them have
vague worries about sounding too much like a salesperson. This is great for
you! Good clients with real budgets are very familiar with the sales process.
They <em>expect</em> you to sell to them. They expect you to suggest that you
send them a proposal. </p>



<p>A professional sales process gives ideal
clients confidence because it’s a strong up-front signal that you know what the
hell you’re doing. It’ll increase the chances a client will want to work with
you.</p>



<p>On the flip side, be wary of clients
who argue on price and try to nickel-and-dime you on everything. Don&#8217;t be
afraid to walk away if something seems off. Your instinct will usually be
right. Walking away doesn&#8217;t mean you think a potential client is a bad person.
Sometimes, you and the other person aren&#8217;t a good fit. It happens.</p>



<h1>Job #3 – Project Management</h1>



<p>You need to be your own project
manager to ensure you deliver promptly on the deals you closed in step 2.&nbsp;</p>



<p>Failing to keep clients up to date
and deliver on time will ensure you have lots of one-off clients. Delivering great
work on time, every time will help guarantee lots of repeat clients. It’s <em>way</em>
easier to sell to existing clients than to new ones, you making your clients
happy is essential.</p>



<p>As a one-person shop, you’ve got
some flexibility when choosing what process you use. Scrum is probably overkill
unless you find it valuable to have a daily standup meeting with your cat.
Kanban often works well for solo developers. </p>



<p>As an experienced developer, you probably
have a good idea of what will work well for you here. </p>



<h1>Job #4 – Business Administration</h1>



<p>Business
administration means things like tracking your
expenses, writing contracts, keeping track of business accounting, invoicing
clients, and making sure your clients pay their invoices. </p>



<p>You’ll
probably want a Master Services Agreement (MSA) that covers all the work you do
for a client across all projects, then a separate contract or statement of work
(SOW) for each project you do. This ensures that both you and the client know precisely
what the terms of your business relationship are. Ideally, you’d get a lawyer
to help you create these. But when you’re a new freelancer, that might be too
expensive. </p>



<p>A while back
when I was considering freelancing, I bought Brennan Dunn’s <a href="https://doubleyourfreelancing.com/">Double Your Freelancing Rate</a>, and
it has contract documents you can modify to suit your business. It comes with templates
for MSA, SOW, and proposals. I think it’s worth the $297 for these documents
alone. But it also comes with a great course that will shape your whole mindset
toward freelancing. I highly recommend it. If you buy one thing in preparation
for going freelancing, <em>buy this</em>. I’m not affiliated with the guy at all.
I’m just a happy customer. </p>



<h1>Job #5 – Web Development
</h1>



<p>Hey, we’re finally at the fun part! I won’t go into
too much detail here since you already understand this part well. </p>



<p>It might seem disappointing that this is so far down
the list. And it might seem like all of the items above are <em>huge</em>. At
first, they will be. But the more you do marketing and sales, the easier they’ll
become. </p>



<p>The marketing and sales work you do will land you good
clients with large budgets, the kind of clients other freelancers aren’t able
to get. And those good clients will become repeat clients, and so you’ll find that
you’re spending most of your time on web dev work and the marketing, sales, and
admin aspect fade into the background. </p>



<p>Or, you’ll find that you enjoy the marketing and sales
so much that you want to hire a developer or two or three so you can spend all
your time making deals. If that happens, congrats! You’re not running an agency.
</p>



<h1>Resources</h1>



<p>Here are a few resources you might find helpful in
your journey:</p>



<ul><li>Jonathan Stark’s <a href="https://jonathanstark.com/hbin">Hourly Billing is Nuts</a>. Even if you
decide you do want to bill hourly at first, reading this short book will ensure
that you do so as a conscious choice after knowing what your options are.</li><li>Philip Morgan’s <a href="https://philipmorganconsulting.com/the-positioning-manual-for-technical-firms/">The
Positioning Manual for Technical Firms</a>. This will help you think about how
to position yourself vs. your competition in a way that makes you stand out.</li><li>As mentioned above, <a href="https://doubleyourfreelancing.com/">Brennan Dunn’s Double Your
Freelancing Rate</a> is a great course that comes with some great document
templates to help you get started. The course will help frame the way you think
about freelancing, so I think it would be a worthwhile investment. </li></ul>



<p>I’m not affiliated with any of these guys in any way.
I just like their work, have found it informative and valuable, and think it
would help you start your freelancing business on the right foot. In total, it’s
an investment of maybe $400, which I don’t think is a huge price to pay
considering how lucrative freelancing could be for you – if you do it right. </p>



<p>Holy crap. I apologize for the huge reply. I should
turn this into a damn blog post or something.</p>



<p>Hey, look, that’s exactly what I did! Thanks for reading.</p>
<p>The post <a rel="nofollow" href="https://ryanpeden.com/so-you-want-to-be-a-freelance-web-developer/">So You Want to be a Freelance Web Developer</a> appeared first on <a rel="nofollow" href="https://ryanpeden.com">Ryan Peden</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryanpeden.com/so-you-want-to-be-a-freelance-web-developer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">102</post-id>	</item>
	</channel>
</rss>
