<?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>Tools Archives - ShiftMag</title>
	<atom:link href="https://shiftmag.dev/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>https://shiftmag.dev/category/tools/</link>
	<description>Insightful engineering content &#38; community</description>
	<lastBuildDate>Tue, 17 Jun 2025 12:44:08 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://shiftmag.dev/wp-content/uploads/2024/08/cropped-ShiftMag-favicon-32x32.png</url>
	<title>Tools Archives - ShiftMag</title>
	<link>https://shiftmag.dev/category/tools/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Developers, Make Your Calls REALLY Legit with Branded Calling</title>
		<link>https://shiftmag.dev/developers-make-your-calls-really-legit-with-branded-calling-5391/</link>
		
		<dc:creator><![CDATA[Milena Radivojević]]></dc:creator>
		<pubDate>Tue, 10 Jun 2025 12:25:00 +0000</pubDate>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Branded Calling]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=5391</guid>

					<description><![CDATA[<p>Let’s be real - getting a call from an unknown number is often just plain annoying. You’re not alone if you hit "decline" right away; around 78% of people do the same to dodge spam or scams. But what if your app could change that experience entirely?</p>
<p>The post <a href="https://shiftmag.dev/developers-make-your-calls-really-legit-with-branded-calling-5391/">Developers, Make Your Calls REALLY Legit with Branded Calling</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img fetchpriority="high" decoding="async" width="2100" height="1099" src="https://shiftmag.dev/wp-content/uploads/2025/06/shiftmag-branded-calling-social-post-1200x628-1-scaled.png?x73249" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2025/06/shiftmag-branded-calling-social-post-1200x628-1-scaled.png 2100w, https://shiftmag.dev/wp-content/uploads/2025/06/shiftmag-branded-calling-social-post-1200x628-1-300x157.png 300w, https://shiftmag.dev/wp-content/uploads/2025/06/shiftmag-branded-calling-social-post-1200x628-1-1024x536.png 1024w, https://shiftmag.dev/wp-content/uploads/2025/06/shiftmag-branded-calling-social-post-1200x628-1-768x402.png 768w" sizes="(max-width: 2100px) 100vw, 2100px" /></figure>


<p>Meet <a href="https://www.infobip.com/blog/branded-caller-id" target="_blank" rel="noreferrer noopener">Branded Caller</a> from Infobip.</p>



<p>Unlike regular caller ID that might flash a name (or worse, just a number), Branded Caller <strong>puts verified, visual brand info front and center</strong>. Think: the company’s logo, a recognizable display name, and even a quick note about why they’re calling. No more mystery calls.</p>



<p>For developers, this isn’t just a nice-to-have feature &#8211; it’s a serious <strong>upgrade to the voice call experience</strong>.</p>



<p>By integrating Branded Caller, you’re helping businesses <strong>increase answer rates, build trust, and fight fraud</strong>, all while working inside a secure and standardized ecosystem built for interoperability and long-term use.</p>



<h2 class="wp-block-heading"><span id="why-developers-should-care-about-branded-calling">Why developers should care about branded calling?</span></h2>



<p>With call fraud on the rise in the U.S., Branded Caller has stepped up by using <strong>cryptographic security</strong> under the <strong>STIR/SHAKEN protocol</strong> to verify caller numbers and significantly reduce spoofing and robocalls.</p>



<p>As <strong>Ryan McQueary</strong> (Manager of Voice Engineering, Infobip) explains, STIR/SHAKEN is a set of industry standards that enhance call verification by cryptographically signing voice calls &#8211; a critical step for ensuring call authenticity.</p>



<p>Here’s how it works from a technical standpoint:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>When a call is placed, the originating service provider <strong>sends a verification request to an Authentication Service (AS)</strong>. This request includes key details like the originating and receiving phone numbers, timestamp, and an important metric called the trust level or Attestation Level.</p>
</blockquote>



<p>This trust level indicates how reliable the call is:</p>



<ul class="wp-block-list">
<li>Both the network and caller are trusted.</li>



<li>The network is trusted, but the caller is not.</li>



<li>Neither the network nor the caller is trusted.</li>
</ul>



<p>The Authentication Service then returns an <strong>Identity Header</strong>, which includes a cryptographic signature and certificate. This data travels along with the call through the phone network. Before the call reaches the recipient, the <strong>terminating provider verifies this signature and trust level</strong>.</p>



<p>Based on the verification results, the provider can decide to mark the call as “trusted,” block it, label it as “SPAM Likely,” or flag it for further action.</p>



<p>For developers, this process <strong>offers a powerful way to build secure, trusted communication apps</strong> and services that can help businesses reduce fraud while improving customer trust and engagement.</p>



<h2 class="wp-block-heading">STIR/SHAKEN &#8211; one protocol to rule them all</h2>



<p>Early branded calling systems, or &#8220;legacy&#8221; approaches, explains McQueary, relied on a patchwork of databases, carrier deals, and handset partnerships. They showed logos or caller names but <strong>were fragmented, lacked cryptographic security, and varied in accuracy</strong> across networks and devices.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Legacy systems didn’t securely embed branding into call signaling, and before STIR/SHAKEN, there was no standard way to transport and validate branding across carriers &#8211; making calls vulnerable to tampering.<br></p>



<p><strong>STIR/SHAKEN changes all that</strong>.</p>
</blockquote>



<p>It builds a higher level of trust for carriers and users by ensuring the displayed brand identity stays legit and can’t be easily faked.</p>



<p>And because STIR/SHAKEN is based on industry &#8211; wide standards, <strong>it works seamlessly across carriers, mobile systems, and networks</strong>. Regulators, carriers, and standards bodies back it as the universal solution, making cryptographically signed branding more trusted wherever calls go.</p>



<h2 class="wp-block-heading"><span id="how-do-i-wire-branded-caller-into-my-stack">How do I wire Branded Caller into my stack?</span></h2>



<p>So, how do you plug Branded Caller into your existing setup, and what’s needed to make it work?</p>



<p>First off, Infobip acts as the <strong>Originating Service Provider</strong> and signs calls using a <strong>Signing Agent</strong> from the CTIA ecosystem. They picked <strong>SecureG</strong> to handle this crypto magic, making sure calls are legit and trusted.</p>



<p>Next, they team up with an <strong>Onboarding and Vetting Agent</strong>, <strong>NumHub</strong>, which lets customers securely add their brands to the mix. Think of it as the bouncer making sure only the right brands get in.</p>



<p>Security’s no joke here, Infobip runs a strict <strong>KYC (Know Your Customer) check</strong> before handing out Virtual Local Numbers. They follow CTIA’s standards to keep everything reliable and above board.</p>



<p>And it’s not just about old-school phone calls (PSTN). Infobip also supports cool OTT channels like <strong>Viber Business Calls</strong> and <strong>WhatsApp Business Calling</strong>, showing off verified business names and logos. That way, businesses can reach customers wherever they’re most likely to pick up.</p>



<p><em>Want to learn more about Branded Caller? <a href="https://www.infobip.com/contact" target="_blank" rel="noreferrer noopener">We’re here to help</a>!</em></p>
<p>The post <a href="https://shiftmag.dev/developers-make-your-calls-really-legit-with-branded-calling-5391/">Developers, Make Your Calls REALLY Legit with Branded Calling</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Picking your (tech) poison wisely</title>
		<link>https://shiftmag.dev/new-technology-tech-stack-2295/</link>
		
		<dc:creator><![CDATA[Boris Martinovic]]></dc:creator>
		<pubDate>Wed, 13 Dec 2023 16:47:27 +0000</pubDate>
				<category><![CDATA[Developer Experience]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[legacy software]]></category>
		<category><![CDATA[tech stack]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=2295</guid>

					<description><![CDATA[<p>What to do and what not to do when you consider adding new tools and technology to your tech stack.</p>
<p>The post <a href="https://shiftmag.dev/new-technology-tech-stack-2295/">Picking your (tech) poison wisely</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2023/12/new-tech-stack.png?x73249" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2023/12/new-tech-stack.png 1200w, https://shiftmag.dev/wp-content/uploads/2023/12/new-tech-stack-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/12/new-tech-stack-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/12/new-tech-stack-768x403.png 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>


<p>Throughout the last couple of years, we&#8217;ve seen new frameworks, methods of work, and different ways of approaching problems come to our attention every week. And if you are in a position where you have a new project or have to migrate an existing one to something new, you have almost endless choices of approaches to any part of your tech stack.</p>



<p>Usually, at this point, you expect someone to tell you what you should do. But not me. Together, we will go through some of the things <strong>you absolutely shouldn&#8217;t do when picking anything new in your tech stack</strong>, be it the whole stack or any part of it.</p>



<h2 class="wp-block-heading"><span id="why-do-i-want-to-consider-anything-new">Why do I want to consider anything new?</span></h2>



<p>When moving your current project to the new technology or starting a new one, the easiest thing to do is just keep doing what you&#8217;ve always been doing and leave it at that. But is that always the right approach? This might be the perfect time to reconsider potential reasons for a switch. All of them can be valid for yourself or your team, although some might be more obvious than others.</p>



<p>The first one is simply legacy technology. If you have a current technology stack (or a part of it) with some stale elements, it might be a good idea to update it. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>On the other side, <strong>the term “legacy” means something else for everyone</strong>, so what I am mostly thinking about is a framework or library that is deprecated and no longer supported. </p>
</blockquote>



<p>When thinking about existing projects, they sometimes behave like a living organism. With constant evolution and growth over time, it is natural that project requirements change, and with that, a need may arise to change things up, replace existing paradigms, and introduce something new.</p>



<p>Something that is not talked about enough is the developer experience. Developers might not be satisfied with the current technology stack, which is enough reason to take the initiative and change the existing processes. Even though it sounds a bit simplistic, <strong>sometimes the only reason to change can be the fact that you would like to try something new</strong>. In that case, what&#8217;s stopping you?</p>



<h2 class="wp-block-heading"><span id="planning-phase">Planning phase</span></h2>



<p>Okay, you have decided that you want to change the technology stack in your project. Some things should be emphasized when planning such a change. For simplicity&#8217;s sake, I have decided to reduce the list to 5 important elements.</p>



<ol class="wp-block-list">
<li>Establish project requirements, size, and scope</li>



<li>Understand what needs to be added (or changed)</li>



<li>(Re)evaluate the business logic</li>



<li>Define the current budget</li>



<li>Think about maintenance</li>
</ol>



<p>Now, most of this advice seems like something that is common sense, and it is, but <strong>it is common sense we overlook very often.</strong> We usually like to enter a sort of &#8220;Yes we can&#8221; mode on some things. That is why it&#8217;s very important to <strong>establish clear scope and boundaries</strong> so we can hold the initial project completion to a sensible degree. Secondly, we have to <strong>check what needs to be changed</strong>. Sometimes, only a part of our stack would need to be changed. But if we have a pre-existing monolith application, it&#8217;s harder to find parts that will stay untouched.</p>



<p>If we have some pre-existing business logic, it should ideally be re-evaluated for multiple reasons. First, we have to consider that new technologies can make the process easier and simpler for everyone. Also, some decisions had to be made because the previous stack just couldn&#8217;t handle some requirements, which should be taken into account. But what is most important, <strong>you have to think about maintenance</strong>. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>If you build projects that last, maintainability should be the focus for all stakeholders. Focus on creating as many rules as possible that are <strong>clear, simple, and above all, that have only one interpretation</strong> to avoid future doubts.</p>
</blockquote>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2023/12/tech-stack-1024x538.png?x73249" alt="" class="wp-image-2301" srcset="https://shiftmag.dev/wp-content/uploads/2023/12/tech-stack-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/12/tech-stack-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/12/tech-stack-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2023/12/tech-stack.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><span id="what-not-to-do">What (not) to do</span></h2>



<p>Usually, when talking about solutions and ways to think, there is a lot of advice on what to do and how to behave. But here, we&#8217;ll be talking about what not to do, which should provide a different point of view and additional food for thought. We will cover<strong> five examples of the mistakes that engineers and engineering teams can make</strong>, but there are (as always) many more that could have been covered here.</p>



<h3 class="wp-block-heading"><span id="seeking-complete-solutions">Seeking complete solutions</span></h3>



<p>Although it sounds a bit counter-intuitive, complete solutions are rarely the perfect fit for you. I like to call them &#8220;Jack of all trades and masters of none.&#8221; Usually, when searching for solutions like this, they often sound perfect and without fault, but after you scratch under the surface even a little bit, you can get bit by some issues you haven&#8217;t noticed when researching. The best way of tackling this is to look for features according to current requirements and future potential. Of course, looking at stacks as your jumping-off point is a very wise option, but you should not treat them or their creator&#8217;s ways as a gospel.</p>



<h3 class="wp-block-heading"><span id="immediately-start-looking-for-comparisons">Immediately start looking for comparisons</span></h3>



<p>Searching the internet for available options is the natural pathway to gaining information. But can there be too much information? Too many options? When searching for a perfect framework/library, you can get overwhelmed in a matter of seconds. Besides that, too many choices can make you overlook the correct one. To ensure better comparison, work your way so you can narrow down your choices to 2 or 3 that best fit your use cases. That will make it much easier to compare your choices in depth and help nip the decision paralysis in the bud.</p>



<h3 class="wp-block-heading"><span id="listening-to-hot-takes">Listening to hot takes</span></h3>



<ul class="wp-block-list">
<li>&#8220;That framework sucks!&#8221;</li>



<li>&#8220;People that do it in X way don&#8217;t know what they are doing&#8221;</li>



<li>&#8220;Trust me, bro&#8221;</li>
</ul>



<p>Similar phrases can often be thrown in from various celebrities and influences, expressing their intense opinion of technology. It&#8217;s a very easy way to gather interest from people, but it is also a way for some people to <strong>fall into the trap of blindly trusting others</strong>. There can be many reasons why someone can dislike the tech, but they don&#8217;t always have to align with what you want to achieve. Every organization and person inside it has their preferences, so it is wise to check the claims from multiple sources to form as objective an opinion as possible. Or, the best-case scenario is to try it out yourself!</p>



<h3 class="wp-block-heading">&#8220;But we&#8217;ve always been doing it this way&#8221;</h3>



<p>The above-mentioned phrase is one of the most dangerous things to fall back on. It is not only a closed-minded way of looking at things but also a way of hindering progress and potential improvement. The first issue is that processes and how things work in one platform might not translate well to another. Secondly, failing to recognize and <strong>utilize this opportunity to rethink current processes</strong> can lead to issues further down the line and less successful migration. A big thing that should also be mentioned is as products grow, so do their issues and quirks, so you might as well take this time to address them and remove them from the picture.</p>



<h3 class="wp-block-heading"><span id="focusing-only-on-the-benefits">Focusing only on the benefits</span></h3>



<p>Focusing on the benefits is one of the most common mistakes engineers make in their pursuits of applicable technologies. When you think of it, it is very easy to find examples of positives, and when searching at a glance, they are the things most likely to surface. But, if you do a total 180 on this thinking and <strong>start looking at pitfalls and issues</strong>, it will give you a better overview of the limits of the system and a clearer image of whether you can be efficient within those limits. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>By looking for weak spots, you will not only have a better fit for your project but also be more prepared for issues that may arise in the future.</p>
</blockquote>



<h3 class="wp-block-heading"><span id="wrapping-things-up">Wrapping things up</span></h3>



<p>Those and numerous examples show us how it is very easy to make mistakes when choosing a new technology or tech stack. If there is one thing missing from the above-mentioned list that I wanted to add, it is to not <strong>be afraid of making mistakes.</strong> Burdening yourself and taking things too harshly is never a healthy choice. Instead, focus on doing the best that you can do at the time and if you make mistakes, consider them a learning experience. After all, the advice mentioned throughout the article came from lessons learned from my or other&#8217;s mistakes.</p>
<p>The post <a href="https://shiftmag.dev/new-technology-tech-stack-2295/">Picking your (tech) poison wisely</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>New frontend framework, again?!</title>
		<link>https://shiftmag.dev/new-frontend-framework-again-1877/</link>
		
		<dc:creator><![CDATA[Sven Suk]]></dc:creator>
		<pubDate>Wed, 25 Oct 2023 11:18:42 +0000</pubDate>
				<category><![CDATA[Frontend]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[frontend development]]></category>
		<category><![CDATA[frontend framework]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=1877</guid>

					<description><![CDATA[<p>In the world of web development, one thing is almost certain: you will never run out of front-end frameworks.  </p>
<p>The post <a href="https://shiftmag.dev/new-frontend-framework-again-1877/">New frontend framework, again?!</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2023/10/Frontend-framework.png?x73249" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2023/10/Frontend-framework.png 1200w, https://shiftmag.dev/wp-content/uploads/2023/10/Frontend-framework-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/10/Frontend-framework-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/10/Frontend-framework-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p>They come and go, change faster than you can imagine, and each new release promises <strong>a revolution in how we create layout</strong>. If you are starting with web development, this can be overwhelming and off-putting, also it can lead you in the wrong direction.&nbsp; </p>



<p>Let’s uncover <strong>the pros and cons of front-end frameworks dynamism</strong>, highlight the potential pitfalls of blindly following the latest trends without a solid foundation, and provide guidance on mastering any front-end framework.&nbsp;</p>



<h2 class="wp-block-heading"><span id="the-pros-and-cons-of-a-variety-of-choices">The Pros and Cons of a variety of choices</span></h2>



<p>One of the <strong>biggest drawbacks, and at the same time the advantage, is an overwhelming variety of choices</strong>. In the ocean of front-end frameworks, it is challenging to make the correct selection, and a wrong choice can potentially delay project progress. Moreover, <strong>the variety of choices can overwhelm you </strong>with a constant need to learn new frameworks, potentially leading to burnout as you strive to keep up. &nbsp;</p>



<p>However, this vast array of choices &nbsp;allows developers to select a framework that aligns with their project specifications, potentially <strong>leading to improved performance, scalability</strong>, and more. &nbsp;</p>



<p>Another positive aspect that emerges from dynamic development is <strong>innovation and evolution</strong>. &nbsp;</p>



<p>New versions and updates often bring <strong>innovative features and improvements in performance</strong>, security, and user experience. Also, innovation often produces <strong>productivity boost</strong>. It brings features like hot reloading, component-based architecture, and more. &nbsp;</p>



<p>That can also have a downside in some cases, such as <strong>deprecation of older features or APIs</strong>, which require developers to adapt and update their codebase to stay compatible with the latest advancements. &nbsp;</p>



<h2 class="wp-block-heading"><span id="how-i-prioritized-frameworks-over-fundamentals">How I prioritized frameworks over fundamentals</span></h2>



<p>When I first ventured into frontend development four and a half years ago, my knowledge of HTML, CSS, and JavaScript was quite limited. Like many beginners, I was <strong>eager to jump into building impressive applications</strong>. So, as you might have guessed, I went on YouTube and found some videos that show how impressive frameworks are. That is the moment when a crucial mistake was made, I <strong>prioritized framework over fundamentals</strong>, but I did not realize it at the time.&nbsp;</p>



<p>In the beginning, the development was quite rapid, even though I had no idea what exactly was happening and how the web or that framework functioned. A few months later, I began researching other frameworks because I was influenced by fellow frontend developers who consistently endorsed them. At that time, I was a <strong>self-taught developer with no working experience</strong>, and I found myself caught in the <strong>never-ending carousel of front-end frameworks</strong>. &nbsp;</p>



<p>I was becoming a jack of all trades but master of none. After a few months, I came to the realization that I <strong>did not even grasp the fundamental aspects of web development</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" />. I secretly knew it all along but did not want to admit it to myself. After acknowledging this, I went back to learning the basic concepts, and shortly thereafter, I landed my first internship. &nbsp;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2023/10/Frontend-1-1024x538.png?x73249" alt="" class="wp-image-1886" srcset="https://shiftmag.dev/wp-content/uploads/2023/10/Frontend-1-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/10/Frontend-1-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/10/Frontend-1-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2023/10/Frontend-1.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">If you understand one framework&#8230;</h2>



<p>The most significant realization came after two years when a situation at work required me to learn a new framework again, but the learning process was quite straightforward. It was clear that I had gained more experience, but it was not just that. I realized that a deep understanding of JavaScript, HTML, CSS, and browser superpowers was crucial. <strong>Experience certainly contributes to even faster learning</strong> because you can connect more things. Also, if you understand one framework on top of the mentioned skills, drawing parallels and achieving outstanding results in learning another becomes easy. &nbsp;</p>



<h2 class="wp-block-heading"><span id="a-blessing-and-a-curse">A blessing and a curse</span></h2>



<p>The ever-evolving world of front-end frameworks can be both a blessing and a curse. While they offer exciting innovations and productivity boosts, diving into them without a solid understanding of frontend fundamentals can lead to shallow knowledge. So, before you rush into the latest frontend trend, take the time to build a solid foundation it will pay off in the long run <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> .&nbsp;</p>
<p>The post <a href="https://shiftmag.dev/new-frontend-framework-again-1877/">New frontend framework, again?!</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The days of &#8220;it works on my machine&#8221; are gone; meet standardized development environments</title>
		<link>https://shiftmag.dev/standardization-of-dev-environments-1661/</link>
		
		<dc:creator><![CDATA[Fabjan Vucina]]></dc:creator>
		<pubDate>Mon, 02 Oct 2023 14:59:45 +0000</pubDate>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Daytona]]></category>
		<category><![CDATA[Developer Experience]]></category>
		<category><![CDATA[developer velocity]]></category>
		<category><![CDATA[Standardized Developer Environment]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=1661</guid>

					<description><![CDATA[<p>An ideal dev environment enables developers to start coding within minutes, regardless of project or tech stack.</p>
<p>The post <a href="https://shiftmag.dev/standardization-of-dev-environments-1661/">The days of &#8220;it works on my machine&#8221; are gone; meet standardized development environments</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2023/10/fabjan-vucina-daytona.png?x73249" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2023/10/fabjan-vucina-daytona.png 1200w, https://shiftmag.dev/wp-content/uploads/2023/10/fabjan-vucina-daytona-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/10/fabjan-vucina-daytona-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/10/fabjan-vucina-daytona-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p>Developers face a constant battle against complex, fragmented dev environments. Onboarding onto new projects means tedious setup, configuring databases, dependencies, and credentials. Environments drift apart, causing <strong>&#8220;works on my machine&#8221; bugs</strong> that impair collaboration. There had to be a better way.</p>



<h2 class="wp-block-heading"><span id="the-pain-points-of-developer-onboarding"><strong>The pain points of developer onboarding</strong></span></h2>



<p>I&#8217;ve spent countless hours as a developer across several codebases. While exciting initially, hopping between projects meant going back and forth between tools and configurations. Getting credentials, configuring databases, installing dependencies, and <strong>successfully setting up local environments became repetitive and draining.</strong></p>



<p>Onboarding onto a new codebase often took much more time than I would have liked. My productivity took a nosedive in those early days just <strong>trying to set up a working dev environment</strong>. I dreaded having to switch contexts between projects, even if it was to make a quick fix.</p>



<p>Collaborating with teammates in this fractured ecosystem also proved challenging. We wasted precious time sorting out why the same code behaved differently on each of our machines. I couldn&#8217;t stand encountering obscure bugs that only occurred in production or hearing somebody say <strong>&#8220;It works on my machine.&#8221;</strong> Our development velocity slowed to a crawl because the environments would rarely be in sync.</p>



<p>Provisioning development environments became a major bottleneck. We relied on tribal knowledge and incomplete READMEs for our workflows, but we knew there had to be a better way.</p>



<p><strong>An ideal dev environment enables developers to start coding within minutes, </strong>regardless of project or tech stack<strong>. It transitions seamlessly between machines without breaking. </strong>Developers can collaborate smoothly, unimpeded by configuration discrepancies.</p>



<p>Streamlining the environment setup would let us focus efforts on every developer&#8217;s core mission &#8211; creating stellar code.</p>



<h2 class="wp-block-heading"><span id="vision-for-the-ideal-coding-environment"><strong>Vision for the ideal coding environment</strong></span></h2>



<p>To overcome these struggles, we have conceptualized key attributes of an ideal development environment:</p>



<ol class="wp-block-list" type="1" start="1">
<li><strong>Instant Onboarding:</strong> Developers should be able to start coding within minutes on any project without days of setup. No more digging through confusing documentation or going through dependency hell.</li>



<li><strong>Environment Portability:</strong> The environment should transition seamlessly across machines without breaking. You should be able to continue working on any device from exactly where you left off.</li>



<li><strong>Security Minded:</strong> Safe environments for devs by default. Eliminating the need to worry about complex aspects like fine-grained access controls, vulnerability scanning, and secrets management.</li>



<li><strong>Cloud-Scale Resources:</strong> Built to leverage the elasticity and power of the cloud. But also able to run in hybrid environments.</li>



<li><strong>Environment Ownership:</strong> Standardized configurations maintain consistency. Developers can customize their environment with personalized dotfiles, tools, and integrations.</li>



<li><strong>Vendor Agnostic:</strong> Compatible with any source code repository, infrastructure, or tools. Developers should use their preferred stack and be able to switch any part quickly if needed.</li>
</ol>



<p>This was the dream. But turning this vision into reality would require completely rethinking how development environments are created and managed.</p>



<h2 class="wp-block-heading"><span id="assembling-a-team-of-cloud-development-veterans"><strong>Assembling a team of cloud development veterans</strong></span></h2>



<p>Having outlined the dream of an ideal coding environment, it became clear that achieving such a feat would be no small task.</p>



<p>To achieve this vision, three cloud development environment veterans came together to found Daytona &#8211;<a href="https://www.daytona.io/dotfiles/meet-ivan-burazin-our-ceo-and-dev-empowerment-champion" target="_blank" rel="noreferrer noopener"> Ivan Burazin</a>,<a href="https://www.daytona.io/dotfiles/meet-vedran-jukic-our-co-founder-and-cto"> </a><a href="https://www.daytona.io/dotfiles/meet-vedran-jukic-our-co-founder-and-cto" target="_blank" rel="noreferrer noopener">Vedran Jukic</a>, and<a href="https://www.daytona.io/dotfiles/meet-goran-our-co-founder-and-chief-architect" target="_blank" rel="noreferrer noopener"> Goran Draganic</a>. Their combined expertise equipped them to architect the next generation of standardized dev environments.</p>



<p>Our team has decades of collective experience operating developer tools at a massive scale, serving millions of users. We set out to design a secure and adaptable platform that would <strong>become developers&#8217; go-to coding environment</strong> &#8211; not just for individual projects, but their daily driver.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2023/10/daytona_SDE-1024x538.png?x73249" alt="" class="wp-image-1668" srcset="https://shiftmag.dev/wp-content/uploads/2023/10/daytona_SDE-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/10/daytona_SDE-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/10/daytona_SDE-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2023/10/daytona_SDE.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><span id="starting-from-scratch-to-craft-the-smoothest-developer-experience"><strong>Starting from scratch to craft the smoothest developer experience</strong></span></h2>



<p>Rather than retrofitting existing solutions, Daytona was envisioned from the ground up based on accumulated wisdom and first-hand lessons from years of hands-on tooling development. Our goal was for Daytona to become <strong>developers&#8217; virtual &#8220;home&#8221;</strong> &#8211; an environment to code, collaborate, and create regardless of context.</p>



<p>The key innovation of Daytona is its<a href="https://www.daytona.io/dotfiles/embracing-standardized-development-environments"> </a><a href="https://www.daytona.io/dotfiles/embracing-standardized-development-environments" target="_blank" rel="noreferrer noopener"><strong>Standardized Development Environments (SDEs)</strong></a>. SDEs encapsulate pre-configured tools, services, and dependencies into disposable ready-to-code workspaces. We <strong>automate the provisioning and management of standardized configurations</strong>, eliminating the dreaded setup previously required when starting a new project. Developers can start coding instantly, using their preferred editors and tools.</p>



<p>Developers retain the flexibility to customize their SDEs with personalized configurations, dotfiles extensions, and tools. However, the environment foundation remains standardized, avoiding the crippling configuration drift that once obstructed team collaboration. With SDEs, developers <strong>invest more energy in writing stellar code</strong> rather than wrestling configurations.</p>



<h2 class="wp-block-heading"><span id="optimized-for-enterprise-grade-security"><strong>Optimized for enterprise-grade security</strong></span></h2>



<p>The introduction of <strong>GitHub Codespaces</strong> has validated our vision for Daytona, but it falls short of meeting the needs of enterprise-scale development. To address this gap, there is a clear demand for a self-managed solution that offers robust security features, advanced access controls with fine-grained role-based permissions, and comprehensive auditing capabilities to meet strict enterprise requirements.</p>



<p>With self-managed environments, users have the flexibility to choose where their environment is deployed, whether it&#8217;s on-premises, in a public cloud, or in a hybrid setup. This allows for independent configuration and management without being locked into a specific platform or provider.</p>



<p>Daytona was specifically designed to cater to these enterprise security requirements. We provide users with the confidence to leverage the power and scalability of the cloud while ensuring they <strong>maintain the necessary control and protection required by their security teams and regulators.</strong></p>



<h2 class="wp-block-heading"><span id="adaptable-design-to-meet-developers-where-they-are"><strong>Adaptable design to meet developers where they are</strong></span></h2>



<p>A key focus while designing Daytona was adaptability. We wanted developers to be able to <strong>seamlessly access their coding environment anywhere, anytime, on any device</strong>. With our web dashboard and CLI, developers can access their workspaces using their preferred code editor, regardless of their device&#8217;s hardware or operating system.</p>



<p>In addition, Daytona seamlessly integrates with all major source code repositories, including GitHub, GitLab, and Bitbucket. This adaptability ensures developers never have to leave their preferred tools or workflows.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2023/10/daytona_cli-1024x538.png?x73249" alt="" class="wp-image-1669" srcset="https://shiftmag.dev/wp-content/uploads/2023/10/daytona_cli-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/10/daytona_cli-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/10/daytona_cli-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2023/10/daytona_cli.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><em>*screenshot of the Daytona CLI overlaying the Daytona web Dashboard</em></figcaption></figure>



<h2 class="wp-block-heading">The days of &#8220;works on my machine&#8221; are gone</h2>



<p>The feedback from developers has been tremendous, with many expressing how Daytona has positively influenced their productivity. Improvements in onboarding efficiency have been particularly noticeable, allowing developers to devote more time to coding tasks. This has resonated well with clients from various sectors, including banking and defense. </p>



<p>The days of &#8220;works on my machine&#8221; are over. No more wasting days setting up environments. With Daytona, the developer commute becomes frictionless. Just click and code.</p>
<p>The post <a href="https://shiftmag.dev/standardization-of-dev-environments-1661/">The days of &#8220;it works on my machine&#8221; are gone; meet standardized development environments</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>They&#8217;ve created a GPT Web App Generator and realized AI is not going to replace developers</title>
		<link>https://shiftmag.dev/gpt-web-app-generator-wasp-1253/</link>
		
		<dc:creator><![CDATA[Antonija Bilic Arar]]></dc:creator>
		<pubDate>Tue, 29 Aug 2023 14:13:26 +0000</pubDate>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[GPT Web App Generator]]></category>
		<category><![CDATA[Martin Sosic]]></category>
		<category><![CDATA[Matija Sosic]]></category>
		<category><![CDATA[Wasp]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=1253</guid>

					<description><![CDATA[<p>Developers do much more than programming - planning, communication, architecture... Many things have to happen, and decisions have to be made before the first line of code is written.</p>
<p>The post <a href="https://shiftmag.dev/gpt-web-app-generator-wasp-1253/">They&#8217;ve created a GPT Web App Generator and realized AI is not going to replace developers</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2023/08/GPT-Web-App-Generator.png?x73249" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2023/08/GPT-Web-App-Generator.png 1200w, https://shiftmag.dev/wp-content/uploads/2023/08/GPT-Web-App-Generator-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/08/GPT-Web-App-Generator-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/08/GPT-Web-App-Generator-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p>Don&#8217;t worry; <strong>developers are not getting replaced with AI</strong>, and there is still a lot of programming to be done by humans. It may only be done faster in some instances.</p>



<p>What&#8217;s especially reassuring is that these words come from the <a href="https://wasp-lang.dev/" target="_blank" rel="noreferrer noopener">co-founder of a dev tool startup</a> that recently launched a GPT Web App Generator. It works almost like magic &#8211; <strong>you describe the web app you&#8217;d like to create in plain English</strong>, and in a matter of minutes, a full-stack web app codebase written in React, Node.js, Prisma, and Wasp is generated, available for you to download, run it locally and deploy with a single CLI command.&nbsp;</p>



<p>But it&#8217;s not magic, nor an attempt to make developers obsolete. It&#8217;s just an experiment created by the team behind Wasp, <strong>an open-source, full-stack framework for React &amp; Node.js</strong>.&nbsp;</p>



<h2 class="wp-block-heading"><span id="developers-do-more-than-just-programming">Developers do more than just programming</span></h2>



<p>Although Wasp is also in the business of automating and speeding up a lot of the developers&#8217; work, its co-founder Matija Šošić says <strong>there is no such tool that can fully replace developers</strong>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>First, developers do much more than programming &#8211; planning, communication, architecture, etc. Many things have to happen, and <strong>decisions have to be made before we can finally fire up our favorite code editor and start typing.</strong></p>
</blockquote>



<p><em>&nbsp;Another thing is that the code isn&#8217;t going away &#8211; it still needs to be written, understood, and maintained and serves as a unique specification of how your app works. Also, the libraries and frameworks need to keep progressing &#8211; we can&#8217;t stay forever on, e.g., React 18, and that&#8217;s it.</em></p>



<h2 class="wp-block-heading"><span id="the-challenges-of-creating-a-gpt-web-app-generator">The challenges of creating a GPT Web App Generator:</span></h2>



<p>&nbsp;1) The first challenge was to <strong>become better at writing prompts</strong>. Since GPT is a black box from the usage perspective, it took time to try it out for our use case (building web apps) and learn what is too little and what is too much information. After a few days of experimenting, we figured out the correct approach and started seeing pretty consistent results.</p>



<p>2) Another way to battle GPT&#8217;s non-determinism is to provide some fixed boundaries for it to operate within, <strong>reducing search space and minimizing the amount of errors</strong>. It&#8217;s where the simplicity and declarative nature of&nbsp;<a href="https://wasp-lang.dev/" target="_blank" rel="noreferrer noopener">Wasp</a>&nbsp;framework came in handy. With the basic setup of a new Wasp app, we could ensure the app has the whole, full-stack architecture correctly in place, along with the authentication system.</p>



<p>&nbsp;3) App generation is divided into three main phases:&nbsp;</p>



<ul class="wp-block-list">
<li>Generating an implementation plan (from the user&#8217;s input)</li>



<li>Implementing the files that are part of the implementation plan</li>



<li>Fixing errors</li>
</ul>



<p>Initially, we would use GPT-4 for all the phases, but then we discovered it was unnecessary. The first step, plan generation, is the most complex, and <strong>using GPT-4 for it makes a difference</strong>. On the other hand, file implementation and error fixing are straightforward enough to be performed well by GPT-3.5 (GPT-4 still provides better results, but only marginally).</p>



<p>With that approach, we managed to <strong>reduce the cost of the generated app to $0.10 &#8211; $0.20</strong>. For the comparison, some of the&nbsp;<a href="https://wasp-lang.dev/blog/2023/08/01/smol-ai-vs-wasp-ai" target="_blank" rel="noreferrer noopener">other GPT coding agents we tried</a>&nbsp;took up to $10 to generate the same kind of application.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2023/05/Shift-Miami_conference-1024x538.png?x73249" alt="" class="wp-image-415" srcset="https://shiftmag.dev/wp-content/uploads/2023/05/Shift-Miami_conference-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/05/Shift-Miami_conference-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/05/Shift-Miami_conference-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2023/05/Shift-Miami_conference.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><span id="frameworks-and-llm-will-keep-advancing-together">Frameworks and LLM will keep advancing together</span></h2>



<p>Matija and his co-founder (and twin brother) Martin have been <strong>building web apps for nearly 15 years </strong>before creating Wasp and have gone through pretty much all the major stacks, starting from PHP/Java to jQuery/Backbone/Angular and finally React/Node.</p>



<p>Every time they would start a new major project, there was a <strong>new stack to learn to figure out the best practices of that particular stack</strong>, and it would just get more complicated each time.&nbsp;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>That motivated us to start experimenting with the idea of Wasp &#8211; we wanted <strong>a solution that wouldn&#8217;t drastically change with every new library/framework</strong>. Thus, the config language, which is very &#8220;human readable&#8221;, pretty much a specification of your app and isn&#8217;t dependent on the specific technology.</p>
</blockquote>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2023/08/martin-matija-sosic-1024x538.png?x73249" alt="" class="wp-image-1259" srcset="https://shiftmag.dev/wp-content/uploads/2023/08/martin-matija-sosic-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/08/martin-matija-sosic-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/08/martin-matija-sosic-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2023/08/martin-matija-sosic.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>They wanted to simplify the whole DX, reduce the boilerplate code, and make sure best practices were set and enforced from the start. Also, the key was to make sure their solution was not reinventing the wheel and that it still works with the dev’s favorite technologies, such as React and Node.js. That would be, Matija says, crucial for adoption.</p>



<p>Ever since they&#8217;ve set out to build Wasp, Matija and Martin got the same question:&nbsp;</p>



<p><em>Why are you bothering to create a new language for web app development? <strong>Isn&#8217;t Github Copilot soon going to generate all the code for developers?</strong></em></p>



<p>Matija says they believe Wasp is what&#8217;s the future of web development. For humans and machines alike:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Wasp&#8217;s declarative nature and higher-level abstractions is what make it easy for LLMs to work with it and produce better, more consistent results. The same goes for humans.&nbsp;<br></p>



<p><strong>This is the future of web development</strong> that goes hand-in-hand with the LLM-powered development. You can read more about our thesis on how <strong>both frameworks and LLMs will keep advancing together</strong> and power each other&nbsp;<a href="https://wasp-lang.dev/blog/2022/06/24/ML-code-gen-vs-coding-by-hand-future" target="_blank" rel="noreferrer noopener">here</a>.&nbsp;</p>
</blockquote>
<p>The post <a href="https://shiftmag.dev/gpt-web-app-generator-wasp-1253/">They&#8217;ve created a GPT Web App Generator and realized AI is not going to replace developers</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>API Bakery: Building APIs that build APIs</title>
		<link>https://shiftmag.dev/api-bakery-code-generator-1091/</link>
		
		<dc:creator><![CDATA[Senko Rasic]]></dc:creator>
		<pubDate>Fri, 18 Aug 2023 11:27:02 +0000</pubDate>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[AI code generator]]></category>
		<category><![CDATA[API Bakery]]></category>
		<category><![CDATA[API development]]></category>
		<category><![CDATA[code generator]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=1091</guid>

					<description><![CDATA[<p>Writing almost-boilerplate APIs seemed like a waste of time and clients' money. We've tried several existing code generators and ended up writing our own from scratch.</p>
<p>The post <a href="https://shiftmag.dev/api-bakery-code-generator-1091/">API Bakery: Building APIs that build APIs</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2023/08/API-bakery.jpg?x73249" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2023/08/API-bakery.jpg 1200w, https://shiftmag.dev/wp-content/uploads/2023/08/API-bakery-300x158.jpg 300w, https://shiftmag.dev/wp-content/uploads/2023/08/API-bakery-1024x538.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2023/08/API-bakery-768x403.jpg 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p>API Bakery is a project generator SaaS. More specifically, it generates API services that can be used for web or mobile app backends or exposed to the public. In a way, it&#8217;s an API for generating APIs &#8211; with a twist. Based on a recipe that describes the project and data on a high level, API Bakery generates the complete ready-to-use project in a way that makes it easy to modify and build upon.</p>



<h2 class="wp-block-heading"><span id="code-generation-pros-and-cons">Code generation pros and cons</span></h2>



<p>Generative AI helping programmers be more productive is all the rage now, but using programs to generate new programs is nothing new. As an industry, we&#8217;ve been doing that for decades. This is especially true for APIs. In the broadest strokes, an API can be understood as a specification of how to call (interface with) some program or service. <strong>And we programmers are lazy: if we have the spec, why not generate code for it?</strong></p>



<p>The problem is two-fold: we can rarely <strong>automagically create <em>all</em> the functionality that we need</strong>; and auto-generated code is usually an ugly, unmaintainable mess.</p>



<p>The many code-generator tools that exist can&#8217;t handle all imaginable cases and situations. Because of this, they focus on covering the most common functionality, or what&#8217;s the easiest to automate. For APIs, that&#8217;s usually the client SDKs that wrap the HTTP calls and parse the responses. This works, but the resulting code isn&#8217;t as nice to use as something crafted by hand. On the server side, the generated code usually consists of empty wrapper methods that need to be filled in by the user to actually provide the working code.</p>



<p>This brings us to the second problem: <strong>having to update and maintain that code manually</strong>. Often, the generated code <strong>doesn&#8217;t conform to the coding style, best practices, or patterns of the framework or platform being used</strong>. Because it doesn&#8217;t have a wider context of the entire application, it can also be sub-optimal or have potential security issues. Nobody likes having to go in and deswamp that.</p>



<h2 class="wp-block-heading"><span id="trying-existing-code-and-api-generators">Trying existing code and API generators</span></h2>



<p>On the other hand, <strong>code generators <em>can</em> save you a lot of time</strong>. In our web development agency work, we&#8217;ve worked on a lot of projects where the API was mostly standard CRUD (Create, Read, Update, Delete) methods, plus a few things like payments and project-specific flows. <strong>Writing this almost-boilerplate API seemed like a waste of time and clients&#8217; money</strong>, so we started using existing project generators and building an internal tool to automate as much of it as possible.</p>



<p>Most modern web frameworks have one (or a few) project generators. We work with Django (a web framework for Python) a lot, and there are at least a dozen Django project generators, with the most popular being <code>cookiecutter</code>. However, we found that those generators can only provide a barebones skeleton for a new empty project. <strong>All those CRUD APIs we still had to write ourselves.</strong></p>



<p>The more we tried to customize the generators to help us generate more code, the more we had to maintain those customizations, in effect creating our own framework on top of Django. This was definitely not the way we wanted to go.</p>



<p>We also tried using Swagger (an open API specification that can be used to generate documentation or client or server code) and found out that <strong>writing a complete OpenAPI spec was almost the same amount of work as writing the Django code for it!</strong></p>



<h2 class="wp-block-heading"><span id="how-we-built-api-bakery">How we built API Bakery</span></h2>



<p>What we ended up doing was <strong>writing our own code generator from scratch</strong>, focusing on two things: making it take a description of a project only to generate what&#8217;s needed and making sure the generated code looks and works great, <strong>like it was written by an actual person on the team.</strong></p>



<p>This means, for example, that the code passes code-style and quality checks (linters), has unit tests (we aim for 90%+ coverage out of the box), and that when you open any file in the editor, the layout, variable naming, etc. all feels &#8220;normal&#8221;. On the flip side, we wanted to make sure we didn&#8217;t generate any generic code that would do more than asked: we aimed for the simplest, straightforward solution like a human programmer would.</p>



<p><strong>We sorely underestimated how hard it would be!</strong> It took us a few rewrites of the generator itself to make it to a point where we&#8217;re satisfied with the output and with the complexity of the generator.</p>



<p>Realizing how useful it could be to other developers beyond our agency, we decided to spin it off into a separate standalone software as a service &#8211; <a href="https://apibakery.com/" target="_blank" rel="noreferrer noopener">API Bakery</a>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2023/08/api-bakery-2-1024x538.png?x73249" alt="" class="wp-image-1093" srcset="https://shiftmag.dev/wp-content/uploads/2023/08/api-bakery-2-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/08/api-bakery-2-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/08/api-bakery-2-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2023/08/api-bakery-2.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><span id="how-api-bakery-works">How API Bakery works</span></h2>



<p>API Bakery combines project scaffolding (creating a structure for a new empty project), database model generation, CRUD API generation, and tests (and other features, but these are the main areas). Of those, the project scaffolding part is straightforward and doesn&#8217;t need to be customized much &#8211; it&#8217;s the most like other generator tools like <code>cookiecutter</code>. For a new project, we just create a couple dozen files with (mostly) boilerplate code.</p>



<p>The database model generation needs to know the structure of your data. This structure is an input to API Bakery in a form of a JSON recipe. The recipe describes the database models and their relationships. For example, a webshop might have Products that are grouped into Categories. Each Product might have a few Variants (SKUs), and so on. API Bakery users configure this through a web-based UI, and it is passed as a JSON recipe to the project generator. Based on this, the actual code to create and manage the data is created.</p>



<p>The API generation builds on this. <strong>API Bakery generates the standard CRUD methods for accessing and managing the data through a REST API.</strong> The code for this is generated in such a way that it&#8217;s easy to add custom API (like payments or more involved data flows) later. We realize that no generator can generate all the functionality, so we take care to make it easy to expand it with custom code.</p>



<p>Finally, we generate automated tests. This has proven the most tricky part because tests must be tailored to the API for the custom data models. Things like default or required fields, allowed values, and permissions all must be handled here; there are tons of edge cases that we have to handle.</p>



<p>Finally, we have a Docker-based isolated environment in which we run the linters and tests to make sure the generated code does what it&#8217;s supposed to do. Automated tests with high coverage make this easier &#8211; we just run the tests we generated in the previous steps.</p>



<p>For the user, this all takes a few seconds, and the project is baked and ready!</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2023/08/api-bakery-3-1024x538.png?x73249" alt="" class="wp-image-1094" srcset="https://shiftmag.dev/wp-content/uploads/2023/08/api-bakery-3-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/08/api-bakery-3-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/08/api-bakery-3-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2023/08/api-bakery-3.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><span id="the-ai-future">The AI future?</span></h2>



<p>Will AI replace us all? The jury is still out, but in the meantime, we&#8217;ve started exploring how it can make our projects better. For API Bakery, we&#8217;re very happy with the code generator and don&#8217;t think GPT or other coder AIs are there yet when it comes to creating a full non-trivial project. Where we see the value is in combining AI&#8217;s ability to understand imprecise, implicit, and context-dependent human instructions.</p>



<p>Our current integration takes advantage of this &#8211; users can describe their project in as much detail as they like<strong> in normal human language. We then use GPT4 to turn these instructions into a recipe, which then feeds into our existing code generator. The results have been striking. You can literally type one sentence and get a fully working and tested project for what you describe.</strong></p>



<p>Where AI can be of great use is also in side-coding or co-piloting, i.e., helping the programmer write code faster and better. This is an area that API Bakery doesn&#8217;t currently cover &#8211; once you have the initial project generated, you&#8217;re on your own. Using AI to add custom code to an existing project and to go beyond CRUD API is an exciting proposition and within the realm of feasibility already.</p>



<p><strong>With continuing AI progress, the life of API developers will just get easier!</strong></p>
<p>The post <a href="https://shiftmag.dev/api-bakery-code-generator-1091/">API Bakery: Building APIs that build APIs</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Stack Overflow Survey: 70% of developers use AI tools for coding, but 3% highly trust their accuracy</title>
		<link>https://shiftmag.dev/stack-overflow-developer-survey-2023-815/</link>
		
		<dc:creator><![CDATA[Marko Crnjanski]]></dc:creator>
		<pubDate>Fri, 16 Jun 2023 09:46:36 +0000</pubDate>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Stack Overflow]]></category>
		<category><![CDATA[Stack Overflow Developer Survey]]></category>
		<category><![CDATA[work]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=815</guid>

					<description><![CDATA[<p>The global study questioned more than 90,000 developers on their education, salaries, ways of work, and technologies they love and hate.</p>
<p>The post <a href="https://shiftmag.dev/stack-overflow-developer-survey-2023-815/">Stack Overflow Survey: 70% of developers use AI tools for coding, but 3% highly trust their accuracy</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2023/06/shift_final.jpg?x73249" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2023/06/shift_final.jpg 1200w, https://shiftmag.dev/wp-content/uploads/2023/06/shift_final-300x158.jpg 300w, https://shiftmag.dev/wp-content/uploads/2023/06/shift_final-1024x538.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2023/06/shift_final-768x403.jpg 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p>The results of the <a href="https://stackoverflow.com/" target="_blank" rel="noreferrer noopener">Stack Overflow</a> Developer Survey 2023 are in! </p>



<p>This year, the survey included questions about the usage of AI/ML tools, and <strong>70% of more than 90,000 respondents use or plan to use AI tools in their development process.</strong><br><br>More precisely, 44% of them use AI tools in their development process now, and 26% plan to soon. Those learning to code are more likely than professional programmers to operate or use AI tools (82% vs. 70%). When asked about the specific AI tool they use, it turned out that <strong>most developers use the two most popular tools: 83% of them use ChatGPT, and 56% use GitHub Copilot. </strong><br><br>Developers turn to AI tools to increase productivity (32.81%), speed up learning (25.15%), and become more efficient (24.96%). When asked how AI tools would evolve their workflow over the next year, <strong>77% of developers said AI would change how they write code, and 75% of them feel the same about debugging. </strong></p>



<p>While they use it, developers don&#8217;t trust the accuracy of AI tools &#8211; of those using or planning to use AI tools, only 3% highly trust the accuracy they provide, and twice as many (6%) highly&nbsp;<em>distrust</em>&nbsp;them. </p>



<h2 class="wp-block-heading"><span id="developer-profile">Developer profile</span></h2>



<p>Regarding developer education, most professionals obtained a bachelor&#8217;s degree (47%), while a quarter received a master&#8217;s degree (26%). <strong>More than half of developers learning to code are between 18 and 24</strong>, so it stands to reason that they&#8217;re more likely not to have a degree.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1025" height="449" src="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_1.png?x73249" alt="" class="wp-image-823" srcset="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_1.png 1025w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_1-300x131.png 300w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_1-768x336.png 768w" sizes="auto, (max-width: 1025px) 100vw, 1025px" /></figure>



<p>The survey shows that learning to code from online resources <strong>has increased from 70% to 80% compared to the 2022 survey</strong>. Respondents under 18 are the most likely to choose resources (e.g., videos, blogs, forums) to learn online. Respondents aged 25 to 34 were the highest age group to study online courses or certifications (52%) but still participated more, thanks to traditional schools (55%).</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="353" src="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_2-1024x353.png?x73249" alt="" class="wp-image-824" srcset="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_2-1024x353.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_2-300x103.png 300w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_2-768x265.png 768w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_2.png 1312w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="484" src="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_3-1024x484.png?x73249" alt="" class="wp-image-825" srcset="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_3-1024x484.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_3-300x142.png 300w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_3-768x363.png 768w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_3.png 1423w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>When it comes to the types of developers, more precisely about their roles, full-stack developers make up the majority of the respondents at 33.48%, followed by back-end developers at 17.88%, front-end developers are at 6.6%, and those who develop desktop or enterprise applications at 5.08%, and mobile developers at 3,38%. </p>



<h2 class="wp-block-heading"><span id="javascript-is-the-most-used-language-for-11-years-in-a-row">JavaScript is the most-used language for 11 years in a row</span></h2>



<p>Several technologies moved up this year (Bash/Shell, C, Ruby, Perl, and Erlang), and two moved up two spots (Elixir and Lisp). The big mover, gaining seven places in 2022, was Lua, an embeddable scripting language. The top three technologies for professional developers are the same as last year—<strong>JavaScript, HTML/CSS, and SQL</strong>. But it&#8217;s a different picture for those learning to code. HTML/CSS and JavaScript are almost tied as the most popular languages for people learning to code.</p>



<p>Student developers use Python more than SQL (59% vs. 37%), while professional developers report using SQL more than Python (52% vs. 45%). Compared to experienced programmers, those learning to code are more likely to use <strong>Java (37% vs. 31%), C++ (32% vs. 20%), and C (32% vs. 17%)</strong>.</p>



<p>On the other hand, 47,883 people in the survey answered questions on what technologies are paid the most. Zig took first place with an annual salary of $103,611, Erlang with $99,492, and F# worth $99,311. Interestingly, Ruby came in fourth place with $98.522.</p>



<p>Namely, according to the survey, work in Python is paid 78.331 dollars, and for other popular languages, the statistics look like this: </p>



<ul class="wp-block-list">
<li>C# &#8211; 74.963; </li>



<li>C++ &#8211; 74.963; </li>



<li>SQL &#8211; 74.963;</li>



<li>JavaScript &#8211; 74.034; </li>



<li>Java &#8211; 72.701;</li>



<li>HTML/CSS &#8211; 70.148;</li>



<li>PHP &#8211; 58.899.</li>
</ul>



<h2 class="wp-block-heading"><span id="developers-resist-returning-to-the-office">Developers resist returning to the office</span></h2>



<p>For all respondents this year, we see a slight increase in &#8220;Independent contractor, freelancer, or self-employed&#8221; and an equal-sized decrease in full-time students (1 percentage point) compared to last year and other employment statuses changing less than that. The costs of investing in oneself have risen with inflation in 2023, but more is needed to sway many from the opportunity to level up their developer skills.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="861" height="473" src="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_7.png?x73249" alt="" class="wp-image-830" srcset="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_7.png 861w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_7-300x165.png 300w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_7-768x422.png 768w" sizes="auto, (max-width: 861px) 100vw, 861px" /></figure>



<p>The most popular topic in the IT industry is the work environment. Hybrid is here to stay for larger organizations; <strong>over half of the employees in 5,000+ organizations are hybrid</strong>. The smaller organizations are most likely to be in-person, with one out of five organizations with fewer than 20 people reporting being in-person. More developers are working in person this year than last (+2%). Return-to-office initiatives aside, coding easily lends itself to fully remote work, and one-third or more of all organization sizes are still fully remote.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="704" height="193" src="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_8.png?x73249" alt="" class="wp-image-831" srcset="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_8.png 704w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_8-300x82.png 300w" sizes="auto, (max-width: 704px) 100vw, 704px" /></figure>



<p>On the other hand, the most crucial topic concerns salaries in the IT industry. Almost 47,000 people completed this segment of the survey. <strong>Quite expectedly, senior and engineering positions occupy the very top of the list regarding salary</strong>. </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="811" height="445" src="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_9.png?x73249" alt="" class="wp-image-832" srcset="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_9.png 811w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_9-300x165.png 300w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_9-768x421.png 768w" sizes="auto, (max-width: 811px) 100vw, 811px" /></figure>



<h2 class="wp-block-heading"><span id="70-of-developers-code-outside-of-work">70% of developers code outside of work</span></h2>



<p>Regarding other popular positions, back-end developers have an average median annual salary of $76,034, while full-stack developers earn $71,140. Mobile developers earn $68,192, while front-end developer positions earn $59,970. <strong>Interestingly, most professional programmers also code outside of work and do it as a hobby, even 70% of them</strong>.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="815" height="376" src="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_10.png?x73249" alt="" class="wp-image-834" srcset="https://shiftmag.dev/wp-content/uploads/2023/06/gfx_10.png 815w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_10-300x138.png 300w, https://shiftmag.dev/wp-content/uploads/2023/06/gfx_10-768x354.png 768w" sizes="auto, (max-width: 815px) 100vw, 815px" /></figure>



<p>The Stack Overflow Developer Survey is <strong>based on a survey of 89,184 software developers from 185 countries worldwide</strong>. </p>
<p>The post <a href="https://shiftmag.dev/stack-overflow-developer-survey-2023-815/">Stack Overflow Survey: 70% of developers use AI tools for coding, but 3% highly trust their accuracy</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>From open-source to a unicorn with Milin Desai, CEO of Sentry</title>
		<link>https://shiftmag.dev/milin-desai-sentry-open-source-business-model-739/</link>
		
		<dc:creator><![CDATA[Antonija Bilic Arar]]></dc:creator>
		<pubDate>Mon, 05 Jun 2023 13:36:04 +0000</pubDate>
				<category><![CDATA[Event]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Milin Desai]]></category>
		<category><![CDATA[Sentry]]></category>
		<category><![CDATA[Shift Conference]]></category>
		<category><![CDATA[Shift Miami]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=739</guid>

					<description><![CDATA[<p>The CEO of open-source tracking tool and developer who moved to the dark side (business side) is the perfect person to talk to on the open-source business model.</p>
<p>The post <a href="https://shiftmag.dev/milin-desai-sentry-open-source-business-model-739/">From open-source to a unicorn with Milin Desai, CEO of Sentry</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2023/06/Milin_Desai_Shift.png?x73249" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2023/06/Milin_Desai_Shift.png 1200w, https://shiftmag.dev/wp-content/uploads/2023/06/Milin_Desai_Shift-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/06/Milin_Desai_Shift-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/06/Milin_Desai_Shift-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p>Error tracking and APM (Application Performance Monitoring) tool <strong>Sentry</strong> was founded as an open-source tool in 2008, a solution to the frustration its founder <strong>David Cramer</strong> felt because he had had to talk to 10 sys admins to get access to logs he needed to fix if he broke something in production.</p>



<p>Cramer launched Sentry as an open-source product, and there was never much discussion on whether that was the right way to go, not even when Chris Jennings joined Cramer as co-founder.</p>



<p>The idea for Sentry has always been to <strong>bring that solution to as many developers as possible</strong>, and the open-source route was the only way. Sentry is now used by <strong>4 million developers</strong>, has been bootstrapped for a long time, and has raised 217 million dollars in six funding rounds. We&#8217;ve talked to <strong>Sentry&#8217;s CEO, Milin Desai</strong>, on the journey from open-source project to unicorn company on and off the <strong><a href="https://shift.infobip.com/us/" target="_blank" rel="noreferrer noopener">Infobip&#8217;s Shift Miami</a></strong> conference stage.</p>



<p>Desai describes himself as a &#8220;developer who moved to the dark side, which is the business side,&#8221; which makes him the perfect person to discuss <strong>open-source as a business model</strong> and how to turn open-source projects into unicorn companies.</p>



<h2 class="wp-block-heading"><span id="bring-value-be-affordable-developers-will-choose-to-pay">Bring value + be affordable = developers will choose to pay</span></h2>



<p><em>Sentry founders, he shares, just wanted to get the solution to as many developers as possible. They just started building it in the open and for the community.</em></p>



<p><strong>Desai: </strong>The product had to be open-source. The reasoning was: If we deliver value and do it well, people will want to pay, one way or the other.</p>



<p>We make sure our service is always accessible and affordable, and <strong>because it&#8217;s so affordable and so easy to use, developers choose to pay us.</strong> The other option is to run it yourself, but then you have to set it up, upgrade, and maintain it. Why worry about all that when you can pay just 29 dollars a month not to have to? That&#8217;s the equivalent of five Starbucks coffees.</p>



<p><em>&#8220;Just be open-source, and millions of developers will use your product&#8221; is easier said than done, especially now when <strong>hundreds of open-source tools and products compete for engineers&#8217; attention</strong>. How do you get the hearts and minds of developers?</em></p>



<h2 class="wp-block-heading"><span id="how-do-you-create-a-community-around-your-product">How do you create a community around your product?</span></h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>We chose not to go for maximum dollars, and we went for maximum adoption.</p>
<cite>Milin Desai, CEO, Sentry</cite></blockquote>



<p>There is no easy formula, and it is hard to do.<br>One thing is crucial, the product has to <strong>bring value to engineers</strong>. Are you building just another library that&#8217;s nice to have but not essential, or is it <strong>something critical that significantly moves the needle</strong> for them?</p>



<p>There&#8217;s no magic trick to getting to developers. If they find your product useful, they will use it and talk to other developers about it, and your product will spread like that.</p>



<p>Also, <strong>get their feedback and listen to them, show them you&#8217;ve heard it</strong> &#8211; you won&#8217;t be able to fix everything right away, but you can acknowledge it and show the community you&#8217;ve listened to them. There is no other magic tool!</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2023/06/milin_desai_shift_miami-1024x538.png?x73249" alt="" class="wp-image-747" srcset="https://shiftmag.dev/wp-content/uploads/2023/06/milin_desai_shift_miami-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/06/milin_desai_shift_miami-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/06/milin_desai_shift_miami-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2023/06/milin_desai_shift_miami.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Milian Desai held a fireside chat at the Shift Miami conference.</figcaption></figure>



<h2 class="wp-block-heading"><span id="the-business-model-of-open-source">The business model of open-source</span></h2>



<p><em>Sometimes it takes years of building the community and building the right product with that community. Sentry was bootstrapped until raising 1.5 million $ in 2015. </em><br><br><strong>Desai:</strong> There is no secret to building a sustainable business with an affordable open-source product and, even if it wouldn&#8217;t make you millions in revenue from the start, there is one metric to tell you if you&#8217;re on the right track: <strong>the number of users.</strong></p>



<p>We&#8217;ve always had the philosophy of growing sustainably. It&#8217;s a simple business; if you&#8217;re spending too much, not making enough revenue, and not growing fast enough &#8211; you&#8217;re in trouble!</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>It comes back to <strong>if you&#8217;re delivering the value in the first place and if you understand the value you&#8217;re delivering</strong>. You won&#8217;t make millions from the start, but you will grow. <br><br>We&#8217;ve had thousands of customers to sign-up for Sentry daily, so there was no doubt we were delivering value. If you&#8217;re not, of course, no one will use it, and no one will pay for it, and you&#8217;re in trouble.</p>
<cite>Milin Desai, CEO, Sentry</cite></blockquote>



<h2 class="wp-block-heading"><span id="packaging-not-pricing-is-crucial">Packaging, not pricing, is crucial</span></h2>



<p><em>Founders, especially the ones with engineering backgrounds, often think pricing is crucial for building a sustainable company from a tool they&#8217;ve made to solve their pain points. Desai disagrees:</em></p>



<p><strong>Desai:</strong> It&#8217;s packaging, not pricing! Founders should spend a lot of time figuring out what should be included in what plan, making sure the product&#8217;s main value is included in the entry-level plan, and what would drive someone to level up. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><br>If you get the packaging right, you can always change the price. Packaging is super hard to change!</p>
<cite>Milin Desai, CEO, Sentry</cite></blockquote>



<p><em>What if an enterprise customer shows up with a big check and a request to build a few features just for them?</em></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Sentry&#8217;s motto is to <strong>never build for a few but to build for many</strong>. We&#8217;ve been in situations like that, and we turned them down because it did not fit what we had in mind for the company and the product.</p>
<cite>Milin Desai, CEO, Sentry</cite></blockquote>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2023/06/Milin-Desai_Sentry-1024x538.png?x73249" alt="" class="wp-image-748" srcset="https://shiftmag.dev/wp-content/uploads/2023/06/Milin-Desai_Sentry-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/06/Milin-Desai_Sentry-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/06/Milin-Desai_Sentry-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2023/06/Milin-Desai_Sentry.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><span id="we-need-to-talk-about-funding-open-source">We need to talk about funding open source</span></h2>



<p><em>Desai agrees with <strong><a href="https://shiftmag.dev/on-everything-but-kubernetes-with-kelsey-hightower-463/">Kelsey Hightower&#8217;s</a></strong> take that t<strong>he open-source movement is and has to stay the source of innovation in tech.</strong> They also agree that the industry still needs to fully figure out how to turn open-source projects into sustainable businesses.</em></p>



<p><strong>Desai:</strong> There is so much talk about open source, but we need to talk more about how we will fund the open-source. <strong>When we solve that, the pace of innovation will accelerate even more.</strong></p>



<p>Many companies still habitually use numerous open-source projects and libraries without a second thought about their sustainability.</p>



<p>There is still a problem in open-source of developers contributing their time and expertise, and nobody&#8217;s paying them. <strong>Large companies are using many open-source products and not contributing financially, and I would say they&#8217;re abusing open-source.</strong> When using OS products, you must think about how you will give back.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Many big companies, hyper scalers, use a lot of open-source libraries without ever thinking about whether developers maintaining them are paid or not. We have to hold them accountable for such behavior. <strong>They get the most value from the open-source community and rarely give back.</strong></p>
<cite>Milin Desai, CEO, Sentry</cite></blockquote>



<p><em>But Desai thinks we&#8217;re on the right track to figuring out the business of open-source:</em></p>



<p><strong>Desai:</strong> Some companies give back through regular donations or by employing engineers who develop open-source projects they share with the community. </p>



<p>At Sentry, we encourage engineers to work on their open-source side projects, and <strong>we pay extra to our engineers who contribute to libraries that we use </strong>or let engineers decide which project they want us to donate to. The idea of giving back is an easy one for us. </p>



<p><strong>We became what we are because of the open-source community that supported us.</strong> Sentry&#8217;s CEO will also share more in detail at <strong><a href="https://shift.infobip.com/" target="_blank" rel="noreferrer noopener">Shift Zadar</a></strong> on how Sentry has used their product to grow into a software company <strong>used at 95,000 organizations and a vibrant community of 4 million developers. </strong><br></p>



<p><em>To hear more about Desai&#8217;s thoughts, check out the recording of his fireside chat with Ivan Burazin.</em></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="From Open Source to Unicorn: How to build on a project - Milin Desai &amp; Ivan Burazin" width="500" height="281" src="https://www.youtube.com/embed/AwBG21B1pR4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
<p>The post <a href="https://shiftmag.dev/milin-desai-sentry-open-source-business-model-739/">From open-source to a unicorn with Milin Desai, CEO of Sentry</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>On fetishizing frameworks and everything old becoming new again with CSS Wizardry&#8217;s Harry Roberts</title>
		<link>https://shiftmag.dev/frameworks-tools-harry-roberts-456/</link>
		
		<dc:creator><![CDATA[Anastasija Uspenski]]></dc:creator>
		<pubDate>Tue, 16 May 2023 14:00:16 +0000</pubDate>
				<category><![CDATA[Frontend]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[CSS Wizardry]]></category>
		<category><![CDATA[developer tools]]></category>
		<category><![CDATA[Harry Roberts]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=456</guid>

					<description><![CDATA[<p>Everything old is new again, and we’ve already seen some of the largest and most prominent frameworks return to the ideas and solutions of yesteryear. </p>
<p>The post <a href="https://shiftmag.dev/frameworks-tools-harry-roberts-456/">On fetishizing frameworks and everything old becoming new again with CSS Wizardry&#8217;s Harry Roberts</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2023/05/Harry-Roberts-1.png?x73249" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2023/05/Harry-Roberts-1.png 1200w, https://shiftmag.dev/wp-content/uploads/2023/05/Harry-Roberts-1-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/05/Harry-Roberts-1-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/05/Harry-Roberts-1-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p>CSS Wizardry&#8217;s Consultant Performance Engineer, <strong>Harry Roberts</strong>, has been a professional developer for 14 years and says he finds it funny how <strong>old trends in technology have become new again</strong>. He comments on developers&#8217; tendency to get distracted by new frameworks again and again, and tend to fetishize frameworks. Oh, and he does not love the fact that <strong>everything is going JavaScript and into the browser.</strong><br> <br>As a Consultant Performance Engineer at CSS Wizardry, Harry also helps companies improve website speed and optimize front-end development. </p>



<p>Roberts has worked with some of the most prominent and respected global companies and organizations, including Google, the BBC, the Financial Times, and the United Nations. His<strong> </strong>meticulous and analytical approach has made him a<strong> go-to expert in the field</strong>, and he regularly speaks at conferences worldwide to share his knowledge with the technical community.</p>



<p>We&#8217;ll also share Harry&#8217;s insights, including his perspective <strong>on choosing the right tools for you and your team</strong> and whether the market needs so many tools. So if you&#8217;ve ever wondered whether you need all those developer tools, keep reading – we&#8217;ve got you covered.</p>



<h2 class="wp-block-heading"><span id="on-working-at-big-companies-and-impact">On working at big companies and impact</span></h2>



<p><strong>Harry</strong>: Honestly? Some of the most meaningful work I&#8217;ve done has been <strong>with much smaller companies</strong> where you can affect way more significant change. It&#8217;s probably not a very &#8220;rock and roll&#8221; and exciting answer, but some of <strong>the most impactful work happens on smaller teams</strong>. Because it&#8217;s a small environment, your impact is way more significant. </p>



<p>But working for BBC before the Olympics, was inspiring. It was stressful but exciting, and working with the UN &#8211; you know you&#8217;re doing something good.</p>



<h3 class="wp-block-heading"><span id="on-website-speed-issues-impacting-business-in-the-millions-of-dollars">On website speed issues impacting business in the millions of dollars</span></h3>



<p><strong>Harry:</strong> It varies dramatically for some companies. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Companies leave hundreds of thousands of dollars on the table yearly because they’re getting site speed wrong.</p>
<cite>Harry Roberts, CSS Wizardry</cite></blockquote>



<p>Most companies aren’t aware of how serious it is. The way I try to describe it is &#8211; if the roof blows off the top of your house, you notice it immediately, and you fix it immediately. </p>



<p>However, if the insulation in your roof isn’t perfect, someone might tell you you can save 500 euros per year on your heating bill if you put in insulation, but for you, it kinda works well enough for now. So for companies, it’s that kind of thing. Their roof blows off, and they fix it immediately, but it’s harder to notice slowdowns that might happen for 12 months.</p>



<p>So I’ve worked this before, where a simple 300 ms speed up would have made them an extra 8 million pounds a year, and I’ve worked with a client this year where a <strong>500 ms speed up would make them an extra 11,5 million euros a year</strong>. These numbers are enormous, but it’s all because of lost sales. It’s not like someone took 11,5 million euros out of a bank. </p>



<p>It’s a simple case of them earning that much extra. It’s not as urgent if you’re missing out. It’s critical if you’re losing money. So many clients don’t panic until they hear those numbers and see how big they can be. </p>



<h2 class="wp-block-heading"><span id="on-developer-tools-making-life-easier-or-more-complicated">On developer tools making life easier or more complicated </span></h2>



<p><strong>Harry:</strong> I don’t think it makes it more complicated, no. Most developers can pick the subset of tools that suits them and their day-to-day work, safely ignoring anything superfluous.  <strong>The more significant fear is the obsession with frameworks rather than developer tools</strong>. </p>



<h3 class="wp-block-heading"><span id="on-favorite-developer-dools">On favorite developer dools</span></h3>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="610" src="https://shiftmag.dev/wp-content/uploads/2023/05/webpagetest-1024x610.png?x73249" alt="" class="wp-image-631" srcset="https://shiftmag.dev/wp-content/uploads/2023/05/webpagetest-1024x610.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/05/webpagetest-300x179.png 300w, https://shiftmag.dev/wp-content/uploads/2023/05/webpagetest-768x458.png 768w, https://shiftmag.dev/wp-content/uploads/2023/05/webpagetest.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><em>WebPageTest, one of the tools Harry couldn&#8217;t live without.</em></figcaption></figure>



<p><strong>Harry: </strong>100% DevTools, in whatever browsers you’re working and testing in. Beyond that, a good command of whatever text editor you use and any useful plugins. For more peripheral development work (i.e., not actively writing code), solid foundational command line knowledge is constructive: <strong>Git, basic Bash/Zsh, etc</strong>. As a Performance Engineer, I also have tools like <strong>WebPageTest</strong> (a wrapper around DevTools anyway) that I couldn’t live without. </p>



<h2 class="wp-block-heading"><span id="on-developers-being-fascinated-by-every-new-framework-and-tool">On developers being fascinated by every new framework and tool? </span></h2>



<p><strong>Harry:</strong> Firstly, don’t be! We fetishize frameworks, and they often get implemented on projects before they’ve stood the test of time elsewhere. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Everything old is new again</strong>, and we’ve already seen some of the largest and most prominent frameworks return to the ideas and solutions of yesteryear. <br><br>Some frameworks’ most significant initial selling points are now almost universally regarded as anti-patterns.</p>
<cite>Harry Roberts, CSS Wizardry</cite></blockquote>



<p>U-turns at the scale are pretty terrifying. Instead, <strong>look at the problems you must solve and choose the most straightforward available tool</strong>. <strong>Focus on the fundamentals, and the rest will follow. </strong><br><br>(Harry is not the only one highlighting the focus on the fundamentals, <a href="https://shiftmag.dev/on-everything-but-kubernetes-with-kelsey-hightower-463/">Kelsey Hightower said exactly the same in his interview for ShiftMag!</a>)</p>



<h2 class="wp-block-heading"><span id="on-disappointement-that-everything-is-going-into-javascript">On [disappointement that] everything is going into JavaScript</span></h2>



<p><strong>Harry:</strong> It used to be that a user visited a URL, their browser requested a page, and the server built the page and sent it back. It was the norm, and it worked very, very well. Folk decided to improve this for many reasons by shifting the workload to make it more like a user visiting a URL, requesting a near-empty page, receiving it from the server,<strong> </strong>asking for potential megabytes of JavaScript, running the JavaScript, and then building the page in the browse<strong>r</strong>. </p>



<p>I mean, on what planet is that going to be faster?! (Note: not Earth, as we’ve learned.) </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Developers made this a lot worse when<strong> they forgot that HTML exists and went to extraordinary lengths </strong>to rebuild native, accessible, fast browser features in woefully subpar JavaScript.</p>
<cite>Harry Roberts, CSS Wizardry</cite></blockquote>



<p>That’s a lot of work (and code) to do a much worse job than we were five to 10 years ago! Thankfully, people have started to notice that this new way it’s better, and more considered solutions are slowly coming to the fore. That is reassuring! </p>



<h2 class="wp-block-heading"><span id="on-predicting-tech-trends">On predicting tech trends </span></h2>



<p><strong>Harry:</strong> I&#8217;ve been thinking about this a lot. Trends move fast. And my career has always been based on something other than trends. In a way, I&#8217;m dull. Certain things are just fundamental to how the web works. So I&#8217;ve always bet on soft.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>I&#8217;ve always gone with the reliable way things work. And I&#8217;ve felt like some miserable old man in the last five years.</p>
<cite>Harry Roberts, CSS Wizardry</cite></blockquote>



<p>Everything&#8217;s really going JavaScript and into the browser, and I&#8217;ve always felt uneasy about that. But it turns out that the new trend is going along with the old ways but in a better way. <strong>I find it interesting that everything old is new again</strong>. And I&#8217;ve been a developer professionally for 14 years. I&#8217;ve seen a lot of changes and trends. They progressed fast, but they&#8217;re sometimes the right thing to do. </p>



<p>So over the next 12 months, we&#8217;ll see a bit of a return to, well, not necessarily basics, but more advanced ways of doing the old things. <strong>Developers have gotten more insightful and more mature</strong>. What I&#8217;m going to be focusing on, I have yet to learn! I need to start thinking about where I want to position myself in the next 12 months. But the industry is beginning to mature, so we won&#8217;t need to move as fast. Indeed, from a site speed perspective, the industry is moving as fast as ever, and I can&#8217;t comment on anything beyond my field.</p>



<h3 class="wp-block-heading"><span id="on-shift-conference">On Shift conference</span></h3>



<p>Harry Roberts is a long-time supporter of the <strong><a href="https://shift.infobip.com/" target="_blank" rel="noreferrer noopener">Infobip Shift conference</a></strong>. A few years ago, he participated as one of the speakers, and is coming back to Zadar this September.</p>



<blockquote class="wp-block-quote is-style-default is-layout-flow wp-block-quote-is-layout-flow">
<p>Shift stands out as a rare gem in a world of cookie-cutter tech conferences. <br><br>Listening to insightful talks from the brightest minds of today&#8217;s tech scene while surrounded by the enchanting history of a town built nearly two millennia ago, you&#8217;d be hard-pressed to find a more inspiring blend of past and future. <br>Oh, and it&#8217;s the most fun you&#8217;ll have all year!</p>
<cite>Harry Roberts, 2019</cite></blockquote>
<p>The post <a href="https://shiftmag.dev/frameworks-tools-harry-roberts-456/">On fetishizing frameworks and everything old becoming new again with CSS Wizardry&#8217;s Harry Roberts</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>On everything but Kubernetes with Kelsey Hightower</title>
		<link>https://shiftmag.dev/on-everything-but-kubernetes-with-kelsey-hightower-463/</link>
		
		<dc:creator><![CDATA[Antonija Bilic Arar]]></dc:creator>
		<pubDate>Wed, 10 May 2023 21:52:49 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Kelsey Hightower]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=463</guid>

					<description><![CDATA[<p>We talk about the return of monolith, tools for the job, open source, and if ChatGPT will lead to better code reviews. OK, we did mention Kubernetes!</p>
<p>The post <a href="https://shiftmag.dev/on-everything-but-kubernetes-with-kelsey-hightower-463/">On everything but Kubernetes with Kelsey Hightower</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2023/05/Kelsey_Hightower-1.png?x73249" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2023/05/Kelsey_Hightower-1.png 1200w, https://shiftmag.dev/wp-content/uploads/2023/05/Kelsey_Hightower-1-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/05/Kelsey_Hightower-1-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/05/Kelsey_Hightower-1-768x403.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>


<p>In the tech world, <strong>Kelsey Hightower</strong> needs no introduction. Officially he is a <strong>Distinguished Engineer and Developer Advocate at Google Cloud</strong> and has been one of the <strong>key engineers behind the Kubernetes<br>project.</strong> Unofficially he has been an advocate of tech pragmatism, a role model, and the voice of reason in the industry for the past 20 years.</p>



<p>Regardless of his status in the industry, he has been an active supporter of developers worldwide, sharing his knowledge selflessly. He is the kind of person who would fly from the US to Europe to speak at the <a href="https://qed.croz.net/">QED conference</a> in Zadar, do a 3-hour-drive to answer questions at a meetup in another city, and then stay for more than an hour after to <strong>talk to people and answer their questions</strong>.</p>



<p>And, yes, agree to <strong>do an interview for ShiftMag</strong> before the meetup!</p>



<p>Right off the bat, I had to ask him to weigh in on the most recent micro-trend in the tech world &#8211; that of <strong>monoliths becoming cool again</strong>.</p>



<h2 class="wp-block-heading"><span id="on-monoliths-vs-microservices-and-technology-becoming-like-fashion">On monoliths vs. microservices and technology becoming like fashion</span></h2>



<p><strong>Kelsey:</strong> For me, it&#8217;s less about monolith vs. microservices. Words like monolith, cloud-native, or microservice become destinations from whatever we&#8217;re currently doing.</p>



<p>Some people were going on stages saying, &#8220;We&#8217;re doing microservices, that&#8217;s why we are good.&#8221; And other people would think &#8211; <strong>we could fix all problems at our company just by doing microservices</strong>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>It has become like fashion. Just like when you see nice clothes on the cover of the magazine, it looks beautiful, you want to look beautiful so you go and buy it. <strong>Technologies have become a fashion.</strong></p>
<cite>Kelsey Hightower</cite></blockquote>



<p>Regular people hear people from well known and innovative companies, look up to them, want to be like them, and want to try the same technologies those people are using. Nuance is lacking in these decisions and conversations on monoliths or microservices.</p>



<p>That&#8217;s how you end up with a company saying <strong>five years ago &#8220;microservices everything,</strong>&#8221; and today, they write <strong><a href="https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90" target="_blank" rel="noreferrer noopener">a blog post saying that was too much</a></strong> and they had to walk some of that back because it was inefficient.</p>



<p><strong>The reason it caused so much stir is because it&#8217;s Amazon.</strong> People tend to forget that Amazon is a big and diverse company. If you heard something from their serverless team, it doesn&#8217;t mean it&#8217;s the be-all and end-all, and all applications have to be serverless at some point. Now there is one group that says <strong>they&#8217;d tried serverless, and it wasn&#8217;t the most beneficial thing for what they were doing.</strong></p>



<p>People were also confused because there was never a discussion on when serverless was not good. As a technologist, I try to be very balanced. Whenever I talk about something positive, I also talk about what it&#8217;s not suitable for.</p>



<p>The original problem was &#8211; you have this code base that has evolved over time. Maybe you were rushing, there are bugs, people come and go, and the code base you&#8217;re left with is fragile, and you want to get rid of it at some point. Just like when you have an old car that has to be repaired too often, you want to buy a new one. <strong>Many people just wanted to declare bankruptcy on their existing stack</strong>. And if someone called that existing stack a monolith, you wanted to go whatever the other side was, which was microservice. <strong>They thought that would fix all of their problems, so they will blindly go.</strong></p>



<p>But people have been doing that for over a decade, and it&#8217;s not working! If you just do that, <strong>microservices will also suffer the same fate as the monolith</strong>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>People now <strong>feel relieved when they see their peers at Amazon admitting it&#8217;s not working</strong>. Wow, smart people are saying you don&#8217;t have to do it; they think maybe they were not crazy. It&#8217;s not just us, there are smart people out there that failed at adopting what everyone else is calling the best practice.</p>
<cite>Kelsey Hightower</cite></blockquote>



<p>The industry needs that periodic reminder that <strong>microservices are not the best practice. It&#8217;s a trade-off, just like everything else</strong>. Some people are now relieved that microservices are not something they have to have on their roadmap, and they can stop chasing that fashion thing. And now they can back up their conversations with data &#8211; <strong>a team at Amazon failed at serverless, they walked it back, and they&#8217;ve saved 90%, and it got faster.</strong></p>



<h2 class="wp-block-heading">On companies &#8220;leaving the cloud&#8221;</h2>



<p><strong>Kelsey:</strong> We&#8217;re 100% at the same point when it comes to the cloud. Any technology, really.<br><strong>People are often guilty of buying something they don&#8217;t use, and technology is no exception.</strong><br><br>There is a premium on the cloud. If you don&#8217;t know how to turn it into your benefit, <strong><a href="https://shiftmag.dev/leaving-the-cloud-314/">going to the cloud was probably the wrong decision in the first place.</a></strong> But again, it&#8217;s fashionable. There was lots of noise, and a lot of people just went with it without considering the complete picture.</p>



<p>Many people will go to the cloud and realize it was not a good decision and will reevaluate it. That should be a part of any engineering discussion if it hadn&#8217;t been a part of the discussion in the first place.</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://shiftmag.dev/wp-content/uploads/2023/05/Kelsey_Hightower1-1024x538.png?x73249" alt="" class="wp-image-482" style="width:840px;height:441px" width="840" height="441" srcset="https://shiftmag.dev/wp-content/uploads/2023/05/Kelsey_Hightower1-1024x538.png 1024w, https://shiftmag.dev/wp-content/uploads/2023/05/Kelsey_Hightower1-300x158.png 300w, https://shiftmag.dev/wp-content/uploads/2023/05/Kelsey_Hightower1-768x403.png 768w, https://shiftmag.dev/wp-content/uploads/2023/05/Kelsey_Hightower1.png 1200w" sizes="auto, (max-width: 840px) 100vw, 840px" /><figcaption class="wp-element-caption">Photo: Edin Fazlic</figcaption></figure>



<h2 class="wp-block-heading"><span id="on-kubernetes">On Kubernetes</span></h2>



<p><strong>Kelsey:</strong> Kubernetes is one small tool in the big equation. <strong>People turn to Kubernetes with hope, thinking it will solve all of their infrastructure problems.</strong> And yes, for some people, adopting Kubernetes moves them ten years to the future of managing applications. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>I don&#8217;t think about Kubernetes as the end-all-be-all for all of your needs. I like to say Kubernetes is the SDK for the cloud.</p>
<cite>Kelsey Hightower</cite></blockquote>



<p>And you probably have other things to solve at your company than just the cloud. You have a website, mobile app, martech, data analysis, machine learning… so even if you did Kubernetes perfectly, it&#8217;s probably just 1% of your company&#8217;s needs. <strong>People get very excited about Kubernetes, but it&#8217;s just a small piece of the puzzle in the grand scheme of things.</strong></p>



<h2 class="wp-block-heading"><span id="on-fomo-when-it-comes-to-tech">On FOMO when it comes to tech</span></h2>



<p><strong>Kelsey:</strong> There has not been enough balance in the discussion. <strong>Today you hear microservice, microservice, DevOps, microservice, Kubernetes, buy this product to help you with your microservice. </strong>The discourse has never been &#8211; there are microservices, but you might not need them. People feel like they&#8217;re missing out if they&#8217;re not doing what everyone is talking about, no matter if that would be the right solution for their problem in the first place.</p>



<p><strong>It&#8217;s like you having a cold and buying a simple cold medicine at the pharmacy and feeling you&#8217;re missing out because you didn&#8217;t get a heart or diabetes medicine like the person before you!</strong> You don&#8217;t need that solution if you don&#8217;t have that problem.</p>



<p>Many open-source products and technologies now have conferences, meetups, and books dedicated to them. People tend to attach their identity to a specific tool or technology and become too attached to it as the only right solution to all problems. I&#8217;ve met someone who had the Kubernetes logo tattooed!</p>



<p>I keep reminding engineers to think about fundamentals. Not whether they know how this or that new tool works, but what it actually does, to try and understand the problem that tool solves. When you get to fundamentals, you realize <strong>a lot of new tools and technologies fundamentally do the same thing</strong>, they&#8217;re maybe 10 % different than the other tools; we just call them by different names.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>If you know the fundamentals, you will know how to work with any tool.</p>
<cite>Kelsey Hightower</cite></blockquote>



<p>Just like the news or fashion, technology has become hype-driven. <strong>I choose to ignore a lot of things. I don&#8217;t want to get distracted.</strong> Don&#8217;t feel the FOMO. New stuff comes out every day; I take a look and, more often not, say it&#8217;s not for me. I focus and go deep.</p>



<h2 class="wp-block-heading"><span id="on-proliferation-of-dev-tools">On proliferation of dev tools</span></h2>



<p><strong>Kelsey:</strong> When you go to the hardware store, <strong>there are hundreds of tools, and it&#8217;s easy to get lost if you don&#8217;t know what you&#8217;re looking for.</strong> Luckily, I only go to the hardware store when I know exactly what kind of tool I need and what I want to do with it.</p>



<p>There are millions of people building software. All of them won&#8217;t be served by one thing. The same when you go to the grocery store, and there are 30 or more types of bread.</p>



<p>There are a lot of tools, but most of them focus on specific situations and use cases. Most of the tools first mature inside of a company or a team that has a problem, learns how to solve it, and then shares it as open source or go an make a company from it. Of course, people and companies that have similar problems will say, &#8220;This is amazing!&#8221;</p>



<p>If we consider all the permutations of all the software stacks, we end up with hundreds of thousands of attempts to build tools to solve those problems. Of course, venture capital is betting more on it because there is a market, and it&#8217;s valuable. <strong>The platforms have changed, the issues have changed, and there is an opportunity for new tools to show up to address those problems.</strong></p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://shiftmag.dev/wp-content/uploads/2023/05/kelsey_hightower-1024x683.jpeg?x73249" alt="" class="wp-image-494" style="width:840px;height:560px" width="840" height="560" srcset="https://shiftmag.dev/wp-content/uploads/2023/05/kelsey_hightower-1024x683.jpeg 1024w, https://shiftmag.dev/wp-content/uploads/2023/05/kelsey_hightower-300x200.jpeg 300w, https://shiftmag.dev/wp-content/uploads/2023/05/kelsey_hightower-768x512.jpeg 768w" sizes="auto, (max-width: 840px) 100vw, 840px" /><figcaption class="wp-element-caption">Photo: Lorena Puskaric</figcaption></figure>



<h2 class="wp-block-heading"><span id="on-learning-fundamentals-vs-tools">On learning fundamentals vs. tools</span></h2>



<p><strong>Kelsey:</strong> I started my career in Linux some 20 years ago, but Linux now looks roughly the same. The fundamentals are the same.</p>



<p>There is a lot of fear about the ever-increasing speed of innovation, cycles becoming shorter and shorter, technology becoming hype-driven, and engineers becoming lost and confused about what to learn and what tools and technologies to focus on. My advice is &#8211; to focus on the fundamentals. <strong>Specific technology or a particular tool is just a means to an end. Thinking about fundamentals means thinking about what that end is.</strong></p>



<p>The number one fundamental every software engineer should possess is curiosity. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The secret of a successful career in tech is not about learning a specific tool. It&#8217;s about the willingness to learn a different tool when the time comes.</p>
<cite>Kelsey Hightower</cite></blockquote>



<p><strong>My first interview at Google was for the position of Linux system engineer, and I knew nothing about Linux!</strong> When they asked me about Linux, I said I knew nothing about Linux, but I knew about FreeBSD. Luckily, my interviewer actually had a FreeBSD tattoo and started asking questions about FreeBSD. But I knew fundamentals and was lucky that person took the time to get to know who I was as a person and if I knew fundamentals and not if I knew specific Linux commands. </p>



<p><strong>When interviewing people, I didn&#8217;t care if they copied/pasted code from StackOverflow.</strong> Guess what the team does? I only cared if they would understand the code they&#8217;ve copy-pasted.</p>



<h2 class="wp-block-heading"><span id="on-open-source-and-innovation">On open source and innovation</span></h2>



<p><strong>Kelsey:</strong> <strong>If we had let enterprise tech lead innovation, today we&#8217;d have a better mainframe!</strong></p>



<p>Open source has to be the source of innovation because the industry needs innovation independent of enterprise needs. There has to be a no-limitation approach &#8211; I can use tools other companies have developed and even develop something on top of them. As open-source tools become widely adopted, they become industry standards and, in the end, adopted by enterprises as such.</p>



<p>We still haven&#8217;t fully figured out how to make open-source sustainable in the long run, but a lot of open-source is paid. Google has at least 1000 people working on open source, and a lot of big companies sponsor open source projects, but admittedly there are still people who maintain libraries used by thousands of companies and get nothing from it.<br><strong>But open source is here to stay</strong>, and it has 30 years of proven track record of being the right model for innovation.</p>



<h2 class="wp-block-heading"><span id="on-chatgpt-leading-to-better-code-reviews">On ChatGPT leading to better code reviews</span></h2>



<p><strong>Kelsey:</strong> If you&#8217;re a software engineer and the point of your work is to write certain pieces of the same code each day or deploy specific code each day, <strong>ChatGPT will take your job.</strong></p>



<p>Junior developers will use ChatGPT to do their jobs, and I don&#8217;t blame them &#8211; even senior developer copy/paste code from StackOverflow! </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>What&#8217;s the difference between people blindly importing libraries from StackOverflow and those using ChatGPT to write their code? There is no difference.</p>
<cite>Kelsey Hightower</cite></blockquote>



<p>You have to ask yourself what kind of engineer you want to be or what kind of engineers you want to hire or work with, in the case of juniors. What&#8217;s the goal of their role? If the goal is to write the code and do it fast, then ChatGPT can do that easily. If the goal is to know what that code does and understand the fundamentals, then you must invest time to teach them.</p>



<p><strong>ChatGPT makes code reviews even more important</strong>. That&#8217;s your chance to teach juniors fundamentals. And with ChatGPT taking the tedious and robotic parts of your job, you will have more time for code reviews!</p>
<p>The post <a href="https://shiftmag.dev/on-everything-but-kubernetes-with-kelsey-hightower-463/">On everything but Kubernetes with Kelsey Hightower</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 

Served from: shiftmag.dev @ 2026-04-18 22:55:07 by W3 Total Cache
-->