<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>RockIT</title>
    <link>https://rockit.zone/</link>
    <description>Recent content on RockIT</description>
    <generator>Hugo -- gohugo.io</generator>
    
    <managingEditor>attila@rockit.zone (Attila Fejér)</managingEditor>
    <webMaster>attila@rockit.zone (Attila Fejér)</webMaster>
    
    <lastBuildDate>Tue, 25 Jun 2024 21:25:00 +0200</lastBuildDate><atom:link href="https://rockit.zone/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Engineering vs Craftsmanship</title>
      <link>https://rockit.zone/post/engineering-vs-craftsmanship/</link>
      <pubDate>Tue, 25 Jun 2024 21:25:00 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/engineering-vs-craftsmanship/</guid>
      <description>&lt;p&gt;In the world of software development, two terms often arise when discussing the
qualities of experienced professionals: engineering and craftsmanship. While we
sometimes use these terms interchangeably, they represent distinct skill sets
and mindsets.&lt;/p&gt;
&lt;p&gt;Emily Bache and Dave Farley published the video
&lt;a href=&#34;https://www.youtube.com/watch?v=yHCds5IbKa4&#34;&gt;What Is A Software Engineer? | Craftsmanship Movement Was A &amp;ldquo;Step Backwards&amp;rdquo;&lt;/a&gt;.
It inspired me to write this post with a different opinion: combining the two
approaches leads to superior software development.&lt;/p&gt;</description>
    </item>
    
    
    
    <item>
      <title>Sustainable Refactoring</title>
      <link>https://rockit.zone/post/sustainable-refactoring/</link>
      <pubDate>Wed, 15 May 2024 18:49:00 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/sustainable-refactoring/</guid>
      <description>&lt;p&gt;In the fast-paced world of software development, maintaining code health while
delivering new features is a constant challenge. One strategy that has emerged
as a crucial practice is refactoring. However, the traditional approach to
refactoring can often clash with the demands of project timelines and
stakeholder expectations.&lt;/p&gt;
&lt;p&gt;In this post, we&amp;rsquo;ll explore how sustainable refactoring techniques can help
strike a balance between code health and feature delivery.&lt;/p&gt;</description>
    </item>
    
    
    
    <item>
      <title>Will Customers Ever Speak Our Language?</title>
      <link>https://rockit.zone/post/will-customers-ever-speak-our-language/</link>
      <pubDate>Thu, 09 May 2024 09:10:00 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/will-customers-ever-speak-our-language/</guid>
      <description>&lt;p&gt;Software developers face a constant challenge: the communication gap between
them and customers. TLDR: customers will never speak the developers&amp;rsquo; language.
While both parties strive for the same goal—creating valuable, functional
software—their perspectives, priorities, and vocabularies often differ. In this
post, we&amp;rsquo;ll dive into the reasons for this difference, explore the implications,
and discuss strategies for bridging the gap.&lt;/p&gt;</description>
    </item>
    
    
    
    <item>
      <title>Replacing Type Code With State/Strategy</title>
      <link>https://rockit.zone/post/switch-case/replacing-type-code-with-state-strategy/</link>
      <pubDate>Wed, 01 May 2024 22:13:00 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/switch-case/replacing-type-code-with-state-strategy/</guid>
      <description>&lt;p&gt;Previously, we talked about potential issues &lt;code&gt;switch&lt;/code&gt;-&lt;code&gt;case&lt;/code&gt; can cause, and what
to do when the type affects only data, or behavior, too.&lt;/p&gt;
&lt;p&gt;Now that we are &lt;code&gt;switch&lt;/code&gt;-&lt;code&gt;case&lt;/code&gt; ninjas, we can go even further and see how to
tackle when the type code and the behavior change dynamically at runtime.&lt;/p&gt;</description>
    </item>
    
    
    
    <item>
      <title>AI Tools and Refactoring</title>
      <link>https://rockit.zone/post/ai-tooling/ai-tools-and-refactoring/</link>
      <pubDate>Wed, 24 Apr 2024 20:50:00 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/ai-tooling/ai-tools-and-refactoring/</guid>
      <description>&lt;p&gt;Previously in the series, we saw that AI tools have limitations. We also
discussed maximizing our productivity by using them to write code - without
shooting ourselves in our legs.&lt;/p&gt;
&lt;p&gt;In this post, we&amp;rsquo;ll cover one more piece of the puzzle: how they can (or can&amp;rsquo;t)
help us to refactor.&lt;/p&gt;</description>
    </item>
    
    
    
    <item>
      <title>How To Use AI Developer Tools In 2024</title>
      <link>https://rockit.zone/post/ai-tooling/how-to-use-ai-dev-tools-2024/</link>
      <pubDate>Thu, 18 Apr 2024 12:15:00 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/ai-tooling/how-to-use-ai-dev-tools-2024/</guid>
      <description>&lt;p&gt;In the previous post, we saw the limitations of AI developer tools. Yes, they
are not perfect. However, they are still able to improve our productivity
significantly.&lt;/p&gt;
&lt;p&gt;This time, we&amp;rsquo;ll dive into how we can effectively use them to achieve a better
development experience, higher-quality output, and faster delivery.&lt;/p&gt;</description>
    </item>
    
    
    
    <item>
      <title>Describing Software Behavior</title>
      <link>https://rockit.zone/post/describing-software-behavior/</link>
      <pubDate>Wed, 10 Apr 2024 22:54:00 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/describing-software-behavior/</guid>
      <description>&lt;p&gt;In the world of software development, understanding software behavior is
crucial. It&amp;rsquo;s not just about writing code; it involves various steps and
artifacts. In this post, we&amp;rsquo;ll dive into the different ways to describe what a
software product does, showing how they all connect to depict software behavior.&lt;/p&gt;</description>
    </item>
    
    
    
    <item>
      <title>AI Developer Tool Limitations In 2024</title>
      <link>https://rockit.zone/post/ai-tooling/ai-dev-tool-limitations-2024/</link>
      <pubDate>Wed, 03 Apr 2024 20:53:00 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/ai-tooling/ai-dev-tool-limitations-2024/</guid>
      <description>&lt;p&gt;With the rise of &lt;a href=&#34;https://chatgpt.com/&#34;&gt;ChatGPT&lt;/a&gt;,
&lt;a href=&#34;https://gemini.google.com/app&#34;&gt;&lt;del&gt;Bard&lt;/del&gt; Gemini&lt;/a&gt;,
&lt;a href=&#34;https://github.com/features/copilot&#34;&gt;GitHub Copilot&lt;/a&gt;, Devin, and other AI
tools&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;, developers started to fear that AI tooling would replace
them. Even though their capabilities are indeed impressive, I don&amp;rsquo;t fear our
jobs will go away in 2024.&lt;/p&gt;</description>
    </item>
    
    
    
    <item>
      <title>Replacing Type Code With Subclasses</title>
      <link>https://rockit.zone/post/switch-case/replacing-type-code-with-subclasses/</link>
      <pubDate>Sun, 04 Feb 2024 09:51:00 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/switch-case/replacing-type-code-with-subclasses/</guid>
      <description>&lt;p&gt;We&amp;rsquo;ve previously dived into the complexities and maintenance challenges of
&lt;code&gt;switch&lt;/code&gt;-&lt;code&gt;case&lt;/code&gt; and saw a refactoring technique for simple scenarios.&lt;/p&gt;
&lt;p&gt;Today, we&amp;rsquo;ll raise the bar a bit and focus on situations when our type code
affects behavior. We&amp;rsquo;ll use pets to demonstrate the concepts.&lt;/p&gt;</description>
    </item>
    
    
    
    <item>
      <title>Replacing Type Code With Class</title>
      <link>https://rockit.zone/post/switch-case/replacing-type-code-with-class/</link>
      <pubDate>Sun, 23 Apr 2023 09:48:00 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/switch-case/replacing-type-code-with-class/</guid>
      <description>&lt;p&gt;In the previous part, we had an overview of why &lt;code&gt;switch&lt;/code&gt;-&lt;code&gt;case&lt;/code&gt; could be hard to
maintain. This part will focus on the simplest scenario: when type-code only
affects data, not behavior. We&amp;rsquo;ll do this by modeling a pizzeria.&lt;/p&gt;</description>
    </item>
    
    
    
    <item>
      <title>The Dark Side of Switch-Case</title>
      <link>https://rockit.zone/post/switch-case/the-dark-side-of-switch-case/</link>
      <pubDate>Sun, 23 Apr 2023 09:47:00 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/switch-case/the-dark-side-of-switch-case/</guid>
      <description>&lt;p&gt;In a nutshell: &lt;code&gt;switch&lt;/code&gt;-&lt;code&gt;case&lt;/code&gt; makes code harder to maintain. We&amp;rsquo;ll understand
the reasons to eliminate it and see when its usage is justified.&lt;/p&gt;</description>
    </item>
    
    
    
    <item>
      <title>Tech Content Creators&#39; Responsibilities</title>
      <link>https://rockit.zone/post/tech-content-creators-responsibilities/</link>
      <pubDate>Wed, 15 Mar 2023 13:02:20 +0200</pubDate>
      <author>attila@rockit.zone (Attila Fejér)</author>
      <guid>https://rockit.zone/post/tech-content-creators-responsibilities/</guid>
      <description>&lt;p&gt;As online learning flourishes, it&amp;rsquo;s easier than ever to learn new things. If we
search for virtually any technology, we&amp;rsquo;ll get remarkable amounts of results. In
some sense, it&amp;rsquo;s good, since we have the freedom to choose. But how should we
make that choice?&lt;/p&gt;</description>
    </item>
    
    
    
    
    
    
  </channel>
</rss>
