<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gerard Jaryczewski</title>
    <description>The latest articles on DEV Community by Gerard Jaryczewski (@gjaryczewski).</description>
    <link>https://dev.to/gjaryczewski</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F234488%2Fd24d1e30-5aa7-4da5-9e4a-0708e05752db.jpg</url>
      <title>DEV Community: Gerard Jaryczewski</title>
      <link>https://dev.to/gjaryczewski</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gjaryczewski"/>
    <language>en</language>
    <item>
      <title>How to define local software development?</title>
      <dc:creator>Gerard Jaryczewski</dc:creator>
      <pubDate>Sat, 02 Jul 2022 13:06:28 +0000</pubDate>
      <link>https://dev.to/gjaryczewski/how-to-define-local-software-development-261k</link>
      <guid>https://dev.to/gjaryczewski/how-to-define-local-software-development-261k</guid>
      <description>&lt;p&gt;Besides &lt;a href="https://www.linkedin.com/in/gjaryczewski/"&gt;professional&lt;/a&gt; areas of interest in programming, I am looking for a better approach to &lt;a href="https://dev.to/t/localsoftwaredevelopment"&gt;local software development&lt;/a&gt; in my free time. "What do you mean saying: local software development?", you can ask.&lt;/p&gt;

&lt;p&gt;It's a great question. I asked many folks and forums, whether this topic is real or imagined by me only? Maybe there is no such specific context? But before I lost interest, I will try again, in other words:&lt;/p&gt;

&lt;p&gt;I recognize a specific context of programming, when:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;an organization has a need of some application - a need which is hidden or published, nevermind - but has not enough resources or no required will to design it in a "canonical way" (by public order, an internal request to local IT, etc.),&lt;/li&gt;
&lt;li&gt;and there is an employee - a programmer, an administrator, a business employee with entry-level experience in coding, nevermind - who is ready to get this task and design the application using available tools (usually a spreadsheet with macros, a database with form designer, etc.),&lt;/li&gt;
&lt;li&gt;and as a result, this application becomes part of so-called &lt;a href="https://en.wikipedia.org/wiki/Shadow_IT"&gt;shadow IT&lt;/a&gt;, a growing and usually uncontrolled collection of tools, which bypasses existing "professional" systems, designed by software houses or installed by IT from public sources,&lt;/li&gt;
&lt;li&gt;usually developed by copy-pasting, without a coding standard, without environments, with the manual delivery procedure (if that procedure exists at all), with poor or no documentation, out of control in emergency plans, without regular maintenance procedures, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This specific context I called the local software development.&lt;/p&gt;

&lt;p&gt;There are so many exciting consequences of this definition, so many built-in troubles... We'll look at some practical approaches in the next posts.&lt;/p&gt;

</description>
      <category>localsoftwaredeveloper</category>
      <category>localsoftwaredevelopment</category>
    </item>
    <item>
      <title>My local software developer story</title>
      <dc:creator>Gerard Jaryczewski</dc:creator>
      <pubDate>Fri, 27 May 2022 20:38:04 +0000</pubDate>
      <link>https://dev.to/gjaryczewski/my-local-software-developer-story-1m1h</link>
      <guid>https://dev.to/gjaryczewski/my-local-software-developer-story-1m1h</guid>
      <description>&lt;p&gt;In my previous post - &lt;a href="https://dev.to/gjaryczewski/the-case-of-the-local-software-developer-1891"&gt;The case of the local software developer&lt;/a&gt; - I asked for your stories. That's mine.&lt;/p&gt;

&lt;p&gt;It will be about my first job position at the bank. I joined the IT team as a support guy because the team was small, summertime was coming, and in the last quarter of this year, office movement was scheduled. Printers, cables, hardware, office applications - that was my garden.&lt;/p&gt;

&lt;p&gt;But in the meantime, I was talking with a guy from the treasury department, who had some troubles with his spreadsheet, full of smart integrations designed for getting things done faster. It was not the first occurrence, but the first significant one, when I saw "serious" applications - bought for millions, developed by thousands - glued by a "primitive" spreadsheet to work as expected.&lt;/p&gt;

&lt;p&gt;I took this spreadsheet to the desk, make many improvements according to &lt;a href="https://en.wikipedia.org/wiki/Software_craftsmanship"&gt;software craftsmanship&lt;/a&gt; - which was completely unknown to the author - and because it was effective, probably that was my ticket to the long and pleasant journey of the local software developer in the bank.&lt;/p&gt;

&lt;p&gt;During the next nine years, I designed and implemented tens of applications, for exactly every department of the bank. Treasury, marketing, accounting, internal audit, security office, customer service, back office, credit &amp;amp; risk analysis, general services, our local IT of course, and even board management. My last works were related to the merger of our bank with another: my locally developed applications supported the merging of CRM systems, general ledgers, internet banking, and data warehouses.&lt;/p&gt;

&lt;p&gt;Reaching the end of my first job in the bank, I was full of reflections on how to build that kind of stuff. And when I was fired, while waiting for a new job, which took me four months, I started a pet project to collect all of the ideas and solutions into an integrated framework.&lt;/p&gt;

&lt;p&gt;I thought it will be easy, but it wasn't, and it still isn't.&lt;/p&gt;

&lt;p&gt;Since this time I made more than one hundred approaches and prototypes. With shorter and longer feature lists. With different main languages and engines - VBA of course, PHP, Node.js, SQL (yes, I know, I know...), and ASP.NET. Different frameworks provided CRUD and full web application generators, scaffolders, and templates. On-premise and cloud. Monoliths and microservices on microfrontends. Including the full development cycle, with issue management, and reduced to installers only.&lt;/p&gt;

&lt;p&gt;Let's skip the rest of the paths, less or more blind.&lt;/p&gt;

&lt;p&gt;If an architect from DDD school could classify most of them, probably they will be named &lt;a href="https://en.wikipedia.org/wiki/Big_ball_of_mud"&gt;Big Ball of Mud&lt;/a&gt;, although I was pretty sure that it is made with care and competence.&lt;/p&gt;

&lt;p&gt;Last year I wrote the manifesto on LinkedIn, which I called &lt;a href="https://www.linkedin.com/pulse/manifest-devshire-gerard-jaryczewski/"&gt;Devshire Manifesto&lt;/a&gt; - what is a manifesto without a good and proud name? - to take out from the shade and expose local software development, to define and find some answers for obstacles that local software developers meet in their everyday work. (The manifesto is currently written in Polish, there is no translation, I am working on it, and probably it will be published here, on DEV, in the next post.)&lt;/p&gt;

&lt;p&gt;This was my first attempt to find help from other local software developers to extract and address some. I know many local software developers. Most of them, asked for an opinion, agreed with me, that there is something to do, but it is not clear what exactly, when and what is a surface of economically important support.&lt;/p&gt;

&lt;p&gt;Because I know - we know? - that this help is not required. We can make the next local application as usual, without dedicated discipline, productivity tools, and frameworks.&lt;/p&gt;

&lt;p&gt;What's more, some of the prominent players are working on solutions for more general &lt;a href="https://en.wikipedia.org/wiki/Shadow_IT"&gt;The Shadow IT&lt;/a&gt; problem. From the economical point of view, no specific approach is REQUIRED - maybe?&lt;/p&gt;

&lt;p&gt;But maybe no. Maybe we can - or we should? - do it better, smarter, introducing software craftmanship to this programming niche.&lt;/p&gt;

&lt;p&gt;What do you think?&lt;/p&gt;

</description>
      <category>localsoftwaredeveloper</category>
      <category>localsoftwaredevelopment</category>
    </item>
    <item>
      <title>The case of the local software developer</title>
      <dc:creator>Gerard Jaryczewski</dc:creator>
      <pubDate>Sat, 14 May 2022 22:19:14 +0000</pubDate>
      <link>https://dev.to/gjaryczewski/the-case-of-the-local-software-developer-1891</link>
      <guid>https://dev.to/gjaryczewski/the-case-of-the-local-software-developer-1891</guid>
      <description>&lt;p&gt;So it is about local software developers.&lt;/p&gt;

&lt;p&gt;You can consider "the local software" as the core problem, or you can see "the local developer" behind it. As Jack Sparrow said, &lt;a href="https://www.goodreads.com/quotes/1310655-the-problem-is-not-the-problem-the-problem-is-your"&gt;the problem is not the problem, the problem is your attitude about the problem&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Fortunately, these two attitudes are good enough, are relevant, and are complementary to my question to all of you.&lt;/p&gt;

&lt;p&gt;Let's look at the example. Let's assume you are a dealer in a bank, or you are a raw IT specialist, working for the dealer. And you need to make some calculations not available at all in company IT systems, or available too late, or constantly incoming with some bugs and gaps.&lt;/p&gt;

&lt;p&gt;If you are smart - and dealers are usually pretty smart, I know many smart dealers, some are smarter than me - you can do it by yourself.&lt;/p&gt;

&lt;p&gt;Of course, there is usually a possibility to send a request to the local IT and order an application, but... there are many reasons why it could not be possible. The reason is unimportant.&lt;/p&gt;

&lt;p&gt;Let's move forward to the next episode, to keep it short: we make a decision that we do it in Excel and VBA. Looks familiar? No doubt. We can even formulate a rule:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In every non-trivial business IT ecosystem, at least one Excel spreadsheet is an important, non-easily removable part of the most critical core process.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I do not know, whether someone already formulated this rule, but I am pretty sure that I cannot be the first.&lt;/p&gt;

&lt;p&gt;Go to the next season: we make a decision about a next application of this kind, and a next, and a next...&lt;/p&gt;

&lt;p&gt;The applications have some parts in common, especially these parts of code with holy curtains of comments, saying nothing, or saying something incomprehensible, including declarations of a better future (TODO), with warnings about dangerous spells within (XXX and HACK).&lt;/p&gt;

&lt;p&gt;We were there, all of us, weren't we? Maybe we forget, but our comments do not forget about us.&lt;/p&gt;

&lt;p&gt;Less or more similar, generally these applications are milestones of our education, at least in VBA, sometimes in programming at all. So every one of these pieces is working in another manner and requires a different approach to maintenance.&lt;/p&gt;

&lt;p&gt;Sometimes we have a bigger twist in this serial: we build the one omnibus application, which rules all of the applications.&lt;/p&gt;

&lt;p&gt;Yeah, we know this story very, very well, at least some of us.&lt;/p&gt;

&lt;p&gt;So my question is: can we proceed with that case in another way? A smarter way? The programmer's way?&lt;/p&gt;

&lt;p&gt;Maybe not, because this local software developer case is often the usual software developer case. So maybe this is a bigger problem, a paradigm problem.&lt;/p&gt;

&lt;p&gt;But maybe it is possible?&lt;/p&gt;

&lt;p&gt;I have a general concept with many details, but now I am pretty interested in gathering opinions. I have started with a similar question at some world-known communities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://community.atlassian.com/t5/Jira-questions/Single-developer-s-perspective/qaq-p/1799113#U1801206"&gt;Atlassian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.community/t/single-developers-perspective/200097"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://forum.gitlab.com/t/single-developer-s-perspective/58271"&gt;GitLab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Reddit's &lt;a href="https://new.reddit.com/r/Development/comments/pkxyyw/single_developers_point_of_view_how_to_work_with/"&gt;r/Develpment&lt;/a&gt; and &lt;a href="https://new.reddit.com/r/programming/comments/pky0d0/single_developers_point_of_view_how_to_work_with/"&gt;r/programming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stackoverflow.com/questions/69102821/how-to-work-with-projects-issues-and-repositories-in-the-single-developers-poi"&gt;Stack Overflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sourceforge.net/p/forge/site-support/22674/"&gt;Sourceforge&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In brief, I have found some nice and interesting comments by programmers writing about their own professional career stories, but the feedback was rather poor. Maybe it is my fault, I have made at least one mistake, asking for opinions at Stack Overflow - do not do this at home, I earned a ban although the goal was precisely defined at the beginning.&lt;/p&gt;

&lt;p&gt;To the shore! What do you think, is it possible to build local software in a better way? Or, at least, what is your local software developer's story?&lt;/p&gt;

&lt;p&gt;PS It was my first post at dev.to, thank you very much for reading.&lt;/p&gt;

</description>
      <category>localsoftwaredeveloper</category>
      <category>localsoftwaredevelopment</category>
    </item>
  </channel>
</rss>
