<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on The Grumpy Dev</title><link>https://shvetsm.github.io/</link><description>Recent content in Home on The Grumpy Dev</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 16 Jun 2026 21:06:27 -0400</lastBuildDate><atom:link href="https://shvetsm.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Microservices Terms and Conditions</title><link>https://shvetsm.github.io/posts/microservices-terms-and-conditions/</link><pubDate>Tue, 16 Jun 2026 21:06:27 -0400</pubDate><guid>https://shvetsm.github.io/posts/microservices-terms-and-conditions/</guid><description>&lt;h1 id="every-piece-of-software-comes-with-terms-and-conditions"&gt;Every piece of software comes with Terms and Conditions.&lt;/h1&gt;
&lt;p&gt;Nobody reads them.&lt;/p&gt;
&lt;p&gt;They click Accept, install the software, and only discover six months later that it runs slower, costs more, and wants permission to everything.&lt;/p&gt;
&lt;p&gt;I sometimes think companies adopt microservices the same way.&lt;/p&gt;
&lt;h1 id="no-one-reads-the-terms"&gt;No one reads the terms&lt;/h1&gt;
&lt;p&gt;People install software all the time, but almost nobody reads the Terms and Conditions. If one of them said, &amp;ldquo;By installing this software you agree to give me half your paycheck and accept that your computer will run slower,&amp;rdquo; you&amp;rsquo;d probably notice eventually—but only after clicking Accept.&lt;/p&gt;</description></item><item><title>About</title><link>https://shvetsm.github.io/about/</link><pubDate>Mon, 15 Jun 2026 13:13:00 -0400</pubDate><guid>https://shvetsm.github.io/about/</guid><description>&lt;h1 id="bio"&gt;Bio&lt;/h1&gt;
&lt;p&gt;I&amp;rsquo;m Mark, a software engineer who&amp;rsquo;s been building software professionally for more than two decades. I&amp;rsquo;ve worked everywhere from startups to large enterprises, shipping systems in finance, healthcare, retail, and manufacturing.&lt;/p&gt;
&lt;p&gt;This blog isn&amp;rsquo;t about chasing the latest framework or predicting that AI will replace programmers next Tuesday. It&amp;rsquo;s about the things that actually matter: designing systems that survive contact with production, working with legacy code, using AI where it provides real leverage, and avoiding the expensive mistakes we&amp;rsquo;ve already made as an industry.&lt;/p&gt;</description></item><item><title>The Most Valuable Documents in the Company</title><link>https://shvetsm.github.io/posts/most-valuable-documents/</link><pubDate>Mon, 15 Jun 2026 11:40:24 -0400</pubDate><guid>https://shvetsm.github.io/posts/most-valuable-documents/</guid><description>&lt;p&gt;When we adopted Agile at MCA Solutions, management handed us what seemed like an impossible requirement:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Every feature had to be developed and tested in the same sprint.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;At the time our sprints were three weeks long. Development alone could consume the entire sprint. QA often tested features weeks or even months later. The idea that testing would somehow happen alongside development felt detached from reality.&lt;/p&gt;
&lt;h1 id="if-we-said-yes-how-would-it-work"&gt;If we said yes, how would it work?&lt;/h1&gt;
&lt;p&gt;By then we had already survived several other &amp;ldquo;impossible&amp;rdquo; Agile prescriptions. Instead of arguing about why this one couldn&amp;rsquo;t work, we asked a different question:&lt;/p&gt;</description></item><item><title>The Magic File</title><link>https://shvetsm.github.io/posts/the-magic-file/</link><pubDate>Tue, 26 May 2026 09:28:29 -0400</pubDate><guid>https://shvetsm.github.io/posts/the-magic-file/</guid><description>&lt;h2 id="one-declaration-to-rule-them-all"&gt;One declaration to rule them all&lt;/h2&gt;
&lt;p&gt;As a full-stack developer you work with a lot of data. Data that is stored, displayed, and processed in the bowels of your program. A lot of times there is a lot of repetition and repetition. The SQL CRUD, the UI CRUD. And when you are a junior programmer who is clever, you start thinking dangerous thoughts&amp;hellip; premature abstraction thoughts&amp;hellip; I am doing the same thing over and over again. What if&amp;hellip; we had another layer of indirection. Look at these objects I am displaying in grids and details. They are all stored in a similar way. What if I put them in a file, and then my program reads the file. And then it will do EVERYTHING!!!&lt;/p&gt;</description></item><item><title>Keep the Kitchen Clean</title><link>https://shvetsm.github.io/posts/keep-the-kitchen-clean/</link><pubDate>Fri, 22 May 2026 17:30:42 -0400</pubDate><guid>https://shvetsm.github.io/posts/keep-the-kitchen-clean/</guid><description>&lt;h2 id="bare-metal"&gt;Bare metal&lt;/h2&gt;
&lt;p&gt;I love food. There is something deeply human about sharing a meal, whether at home or in a restaurant. Some restaurants that I love have a view into their kitchen. Have you ever seen the kitchen at a good restaurant? One thing you may find surprising is how clean it is at all times. I mean I love to cook, but often after I am done cooking there is a mess to clean up. The restaurant kitchen is spotless. And then they clean it again at the end of the day! It is not just because they are all obsessed with cleanliness. Turns out that cleaning the kitchen is a safety issue.&lt;/p&gt;</description></item><item><title>The Best Engineers Write Less Code</title><link>https://shvetsm.github.io/posts/the-best-engineers-write-less-code/</link><pubDate>Wed, 20 May 2026 11:13:49 -0400</pubDate><guid>https://shvetsm.github.io/posts/the-best-engineers-write-less-code/</guid><description>&lt;h2 id="coding-is-expensive-and-time-consuming"&gt;Coding is expensive and time consuming&lt;/h2&gt;
&lt;p&gt;We are living in an age of mass denial. Some very smart people are telling us that we no longer need to write good software because LLMs can generate code now. But terrible software is still terrible software, whether it was written by Claude Code or by a human who did not know what they were doing. The computers running it are still real. Latency is still real. Complexity is still real. Maintenance is still real. All the old rules still apply. There is going to be an enormous amount of work fixing the slop now being pushed into production. But I digress.&lt;/p&gt;</description></item><item><title>Who looks at the code?</title><link>https://shvetsm.github.io/posts/who-looks-at-the-code/</link><pubDate>Fri, 15 May 2026 20:23:53 -0400</pubDate><guid>https://shvetsm.github.io/posts/who-looks-at-the-code/</guid><description>&lt;h2 id="patio-looks-great"&gt;Patio looks great&lt;/h2&gt;
&lt;p&gt;At some point my friend re-did the patio at his suburban Bucks County home. He is a Russian American as well, and as part of our immigrant community everyone knows &amp;ldquo;a good guy&amp;rdquo;. You can always call someone who is only referred to by their first name. This person charges far less than a private licensed and insured contractor costs. When it was finished, the patio looked fantastic. They built a beautiful wall with small square pillars and even attached some nice tiles to the side of the pillars. It looked great. But a couple of years later the tiles on the pillars separated away and had to be entirely re-done. Most likely the people doing the work used the wrong kind of bonding agent that was not correct for outdoor exposure in the hot sun. This is probably due to inexperience.&lt;/p&gt;</description></item><item><title>High AI ROI: Stack Traces</title><link>https://shvetsm.github.io/posts/ai-roi-stack-traces/</link><pubDate>Mon, 11 May 2026 19:28:27 -0400</pubDate><guid>https://shvetsm.github.io/posts/ai-roi-stack-traces/</guid><description>&lt;h2 id="who-does-square-roots-with-a-slide-rule-anymore"&gt;Who does square roots with a slide rule anymore?&lt;/h2&gt;
&lt;p&gt;When I was a little kid in the USSR my grandpa showed me his slide rule. I loved playing with the scientific calculator and I knew what a square root was, but here was a device that grandpa used at work in the 1930s we were not sure if he was born in 1912 or 1914. But yeah the slide rule was the bees-knees or the top-pickle or whatever they said in the 1930s in the USSR. Probably nothing because talking invited attention and attention was probably not a good idea at the time (for more info read Master and Margarita by Mikhail Bulgakov, or a history book). But anyways you could move the slide rule this way and that and it would yield the next number in the square root. I have no idea how to do it because I had a calculator with a button that you pushed after typing in a number and even in the 1980s behind the iron curtain it gave a pretty precise calculation.&lt;/p&gt;</description></item><item><title>High AI ROI: Working with legacy code</title><link>https://shvetsm.github.io/posts/ai-roi-legacy-code/</link><pubDate>Tue, 05 May 2026 09:30:43 -0400</pubDate><guid>https://shvetsm.github.io/posts/ai-roi-legacy-code/</guid><description>&lt;h2 id="the-tale-of-the-scheduled-task-that-times-out"&gt;The tale of the scheduled task that times out.&lt;/h2&gt;
&lt;p&gt;Another day in paradise. We are directed to fix a prod issue that has been happening on and off for some time. The scheduled task is timing out. Again. We need to fix it.We already moved the job to the middle of the night so it could have the whole machine to itself. More memory. More CPU. Still timing out. Ugh this thing. Someone ought to rewrite it. But this is a crucial piece of &amp;ldquo;the process&amp;rdquo;. If we rewrite it we got to be sure its rock solid. But there are no tests. We can see what the code is supposed to return, but how can we be sure it will do that when we change it?&lt;/p&gt;</description></item><item><title>Are we inside an AI bubble?</title><link>https://shvetsm.github.io/posts/bubbles/</link><pubDate>Fri, 01 May 2026 15:03:39 -0400</pubDate><guid>https://shvetsm.github.io/posts/bubbles/</guid><description>&lt;h1 id="are-we-inside-an-ai-bubble"&gt;Are we inside an AI bubble?&lt;/h1&gt;
&lt;p&gt;TLDR;
Every bubble claims the old rules no longer apply.
Having lived through several bubbles in the tech industry I offer my perspective.
The technology changes. Human incentives do not.&lt;/p&gt;
&lt;h2 id="my-bubbles"&gt;My bubbles&lt;/h2&gt;
&lt;p&gt;As someone who was born, as my kids tell me, in the last century I have had the personal pleasure of expereincing several bubbles first hand. I am not an economist but I can tell you what happened from my perspective.&lt;/p&gt;</description></item></channel></rss>