<?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, 28 Jul 2026 12:48:08 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.3</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>PewDiePie’s AI Experiment Is What Software Development Looks Like Now</title>
		<link>https://shiftmag.dev/pewdiepies-ai-experiment-is-what-software-development-looks-like-now-10697/</link>
		
		<dc:creator><![CDATA[Ivan Pelivanovic]]></dc:creator>
		<pubDate>Tue, 28 Jul 2026 12:48:08 +0000</pubDate>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[local AI]]></category>
		<category><![CDATA[Odysseus AI]]></category>
		<category><![CDATA[self-hosted]]></category>
		<guid isPermaLink="false">https://shiftmag.dev/?p=10697</guid>

					<description><![CDATA[<p>I let the dust settle, and this is what I think: regular apps usually need teams of dozens to ideate, build, and test before they ship. Odysseus, PewDiePie’s new AI platform, doesn’t - at least, not in the usual way.</p>
<p>The post <a href="https://shiftmag.dev/pewdiepies-ai-experiment-is-what-software-development-looks-like-now-10697/">PewDiePie’s AI Experiment Is What Software Development Looks Like Now</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="1200" height="630" src="https://shiftmag.dev/wp-content/uploads/2026/07/JPA.jpg?x32039" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://shiftmag.dev/wp-content/uploads/2026/07/JPA.jpg 1200w, https://shiftmag.dev/wp-content/uploads/2026/07/JPA-300x158.jpg 300w, https://shiftmag.dev/wp-content/uploads/2026/07/JPA-1024x538.jpg 1024w, https://shiftmag.dev/wp-content/uploads/2026/07/JPA-768x403.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>


<p class="wp-block-paragraph">Odysseus is interesting because it shows <strong>how a project with serious ambitions can now be built outside a traditional software company</strong>. </p>



<p class="wp-block-paragraph">After speaking with <strong>Ivan</strong> <strong>Mihić</strong>, a software engineer who spent time testing PewDiePie&#8217;s AI project, I ended up thinking that the software itself might not be the most interesting part of this story. </p>



<p class="wp-block-paragraph"><a href="https://odysseusai.dev/" target="_blank" rel="noreferrer noopener">Odysseus</a> may come from a YouTube creator with a massive audience, but the more important question is what it says about software development itself. </p>



<h2 class="wp-block-heading">Another AI app &#8211; or something more?</h2>



<p class="wp-block-paragraph">When <a href="https://youtu.be/rAzT5lcezPs" target="_blank" rel="noreferrer noopener">Felix &#8220;PewDiePie&#8221; Kjellberg unveiled Odysseus</a>, the internet reacted in the way it usually does when a major creator launches a software project. Some treated it as a celebrity side project, others focused on the privacy claims and some compared it with other AI tools such as GPT or Claude. </p>



<p class="wp-block-paragraph">For those of you who might be late to the party (same as we are with this text), Odysseus is an <strong>open source, self hosted AI workspace designed to run locally</strong>. Instead of depending only on cloud services, it combines local models with web search, document analysis, long term memory, and AI agents inside a single browser interface. If you want, you can also add cloud models to it as well.</p>



<p class="wp-block-paragraph">Under the hood, the application integrates components such as&nbsp;ChromaDB&nbsp;for memory,&nbsp;SearXNG&nbsp;for search, and local model serving, while also letting users decide whether they want everything on their own hardware or connected to external APIs.&nbsp;</p>



<p class="wp-block-paragraph">What stood out to Ivan was not just what Odysseus does, but what its existence says about <strong>how software gets built nowadays</strong>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The biggest thing isn&#8217;t that Odysseus is a good tool,&nbsp;It&#8217;s&nbsp;that a project of this size probably wouldn&#8217;t exist without AI.</p>
</blockquote>



<p class="wp-block-paragraph">A few years ago, building a system that combined models, search, memory, document pipelines, and agents would usually&nbsp;have required&nbsp;a much larger engineering team. Today, a determined individual or a small group can at least prototype that kind of product and keep iterating on it. </p>



<p class="wp-block-paragraph">To me as an outsider, this looks like the <strong>phase in which we built AI tools mainly for internal use is slowly coming to an end</strong>. More and more of these tools are now being prepared for public release, even if they are still far from fully polished.</p>



<p class="wp-block-paragraph">Ivan also&nbsp;admints&nbsp;that he was&nbsp;was&nbsp;surprised. Not because the tool is&nbsp;perfect,&nbsp;because it as you would expect isn&#8217;t&nbsp;but because something that started from a hobbyist, vibe-coding context grew into a project of this scale. For him, Odysseus is less a sign that AI has replaced engineers and more a sign that AI has changed the starting line. And I couldn&#8217;t agree more on this one.</p>



<h2 class="wp-block-heading"><span id="privacy-alone-won%e2%80%99t-protect-you%c2%a0">Privacy alone won’t protect you </span></h2>



<p class="wp-block-paragraph">Much of Odysseus’ appeal comes from privacy. Running AI models locally means <strong>sensitive data does not have to leave your machine</strong>, which is a real advantage. But Ivan pointed out that privacy and security are not the same thing. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Odysseus is local-first, but that doesn&#8217;t automatically make it secure.&nbsp;</p>
</blockquote>



<p class="wp-block-paragraph">The platform can access files, execute shell commands, perform web research, and interact with external services, therefore a bad configuration can quickly create security risks. That matters even more if users expose their instance to the public internet.&nbsp;</p>



<p class="wp-block-paragraph">Ivan’s point is simple: <strong>a tool can be private in design and still be unsafe in practice</strong> if people do not understand what they are connecting, exposing, or automating. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">When a tool presents itself through the lens of privacy, security becomes extremely important. Privacy without security&nbsp;doesn&#8217;t&nbsp;mean much.</p>
</blockquote>



<h2 class="wp-block-heading">Odysseus is not mature&#8230; yet</h2>



<p class="wp-block-paragraph">Architecturally, Ivan sees Odysseus as a <strong>large monolithic application coordinating several supporting services</strong> rather than a fully mature enterprise platform. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">It&#8217;s not the cleanest or most mature architecture I&#8217;ve seen. You can clearly&nbsp;tell&nbsp;it evolved through experimentation.</p>
</blockquote>



<p class="wp-block-paragraph">That <strong>experimental nature is visible throughout the product</strong>. Odysseus tries to combine chat, agents, research, memory, document analysis, and productivity tools into one personal AI workspace, with varying degrees of success.</p>



<p class="wp-block-paragraph">A few features stood out to Ivan in particular.&nbsp;&#8220;Compare&#8221; lets users run the same prompt across multiple models at once. &#8220;Deep Research&#8221; automatically performs multi step web research and returns cited sources.&nbsp;&#8220;Cookbook&#8221; helps users choose, download, and serve models based on the hardware they actually have.&nbsp;</p>



<p class="wp-block-paragraph">Still, for someone who is just entering the world of local AI, Ivan thinks more established tools currently make more sense, just because tools like Open WebUI has had more time to mature.</p>



<h2 class="wp-block-heading"><span id="this-is-not-exactly-a-beginner-friendly-tool">This is not exactly a beginner-friendly tool</span></h2>



<p class="wp-block-paragraph">Talking about Odysseus once it&#8217;s installed is fine, but <strong>getting there as a regular AI user might prove to be a challenging task</strong>. From my experience, users need to be wary of the fact that, in order to fully use Odysseus, many setup steps are needed. They also need to know that they might not understand a single thing about what&#8217;s happening, which is also a risk in itself.</p>



<p class="wp-block-paragraph">Odysseus is not an app you can install and run in a minute or two, while other tools do just that. The user experience for a beginner might be <strong>overwhelming</strong> and, at times, just simply not worth it if you&#8217;re in it just to experiment and see what the tool can offer.</p>



<p class="wp-block-paragraph">Ivan Šimić, the third Ivan in this story, a senior writer at ShiftMag who kept experimenting with the tool to figure it out, added:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Trying to hop on the bandwagon of local LLM&#8217;s after reading about Odysseus might not be the greatest idea, since it requires a capable machine, a basic understanding of key aspects of making things happen on a PC or Mac, patience and time. For many interested in trying it, this might prove to be too much &#8220;tinkering&#8221; for not a lot of results. </p>
</blockquote>



<h2 class="wp-block-heading"><span id="big-ideas-in-software-are-no-longer-a-big-team-privilege">Big ideas in software are no longer a big-team privilege</span></h2>



<p class="wp-block-paragraph">It would be easy to frame Odysseus as another celebrity tech experiment but that would miss the broader point.&nbsp;</p>



<p class="wp-block-paragraph">What matters here is that <strong>AI assisted development has lowered the cost of building ambitious software</strong>. A project that once would have required a sizable engineering team is now something a small group, or even one person, can assemble and refine much faster than before. </p>



<p class="wp-block-paragraph">And yes, while a fair portion of the pessimistic internet is claiming this means software engineers are disappearing, I highly doubt it. The job is changing, and the gap between an idea and a working product is smaller than it used to be.  </p>



<p class="wp-block-paragraph">As Ivan nicely put it, it’s like Jack Black’s quest for the magical guitar pick in The Pick of Destiny. In the film, that pick gives its owner superhuman guitar skills. In reality, <strong>even the best tool won’t make him or anybody else the world’s best developer</strong>, but it can certainly make everyday job a lot easier.</p>



<p class="wp-block-paragraph">Therefore, the most interesting thing PewDiePie built may not be another AI assistant, but proof that ambitious software is no longer reserved for traditional software companies and big teams. Big Tech, are you scared yet?</p>
<p>The post <a href="https://shiftmag.dev/pewdiepies-ai-experiment-is-what-software-development-looks-like-now-10697/">PewDiePie’s AI Experiment Is What Software Development Looks Like Now</a> appeared first on <a href="https://shiftmag.dev">ShiftMag</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<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 decoding="async" width="2100" height="1099" src="https://shiftmag.dev/wp-content/uploads/2025/06/shiftmag-branded-calling-social-post-1200x628-1-scaled.png?x32039" 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 class="wp-block-paragraph">Meet <a href="https://www.infobip.com/blog/branded-caller-id" target="_blank" rel="noreferrer noopener">Branded Caller</a> from Infobip.</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><strong>STIR/SHAKEN changes all that</strong>.</p>
</blockquote>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">So, how do you plug Branded Caller into your existing setup, and what’s needed to make it work?</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 loading="lazy" decoding="async" width="1024" height="538" src="https://shiftmag.dev/wp-content/uploads/2023/12/tech-stack-1024x538.png?x32039" 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="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">Another positive aspect that emerges from dynamic development is <strong>innovation and evolution</strong>. &nbsp;</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">Having outlined the dream of an ideal coding environment, it became clear that achieving such a feat would be no small task.</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">&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 class="wp-block-paragraph">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 class="wp-block-paragraph">&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 class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">Ever since they&#8217;ve set out to build Wasp, Matija and Martin got the same question:&nbsp;</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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?x32039" 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 class="wp-block-paragraph">The results of the <a href="https://stackoverflow.com/" target="_blank" rel="noreferrer noopener">Stack Overflow</a> Developer Survey 2023 are in! </p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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?x32039" 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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">We chose not to go for maximum dollars, and we went for maximum adoption.</p>
<cite>Milin Desai, CEO, Sentry</cite></blockquote>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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?x32039" 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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph">Many companies still habitually use numerous open-source projects and libraries without a second thought about their sustainability.</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><em>But Desai thinks we&#8217;re on the right track to figuring out the business of open-source:</em></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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?x32039" 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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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?x32039" 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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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>
	</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-09-07 14:03:23 by W3 Total Cache
-->