<?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: Parker Software</title>
    <description>The latest articles on DEV Community by Parker Software (@parkersoftware).</description>
    <link>https://dev.to/parkersoftware</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%2F53472%2F575860f5-da6a-4a0c-8a7e-eff1b4437a67.jpg</url>
      <title>DEV Community: Parker Software</title>
      <link>https://dev.to/parkersoftware</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/parkersoftware"/>
    <language>en</language>
    <item>
      <title>Why is on the job programming training so rare?</title>
      <dc:creator>Parker Software</dc:creator>
      <pubDate>Mon, 26 Oct 2020 15:45:38 +0000</pubDate>
      <link>https://dev.to/parkersoftware/why-is-on-the-job-programming-training-so-rare-118k</link>
      <guid>https://dev.to/parkersoftware/why-is-on-the-job-programming-training-so-rare-118k</guid>
      <description>&lt;h2&gt;
  
  
  &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lmMZmpmD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zrb8rfks2cxgeyv1t0jq.png" alt="Alt Text"&gt;
&lt;/h2&gt;

&lt;p&gt;On the job programming training is sought-after, but seldom offered in any kind of consistent, structurally embedded way.&lt;/p&gt;

&lt;p&gt;Market demand for developers is high. And there’s no shortage of budding or &lt;a href="https://www.parkersoftware.com/blog/5-tips-to-help-new-software-developers-find-their-footing/"&gt;would-be developers&lt;/a&gt; looking to get a foot on the career ladder. But few programming jobs offer formal, dedicated training and development opportunities.&lt;/p&gt;

&lt;p&gt;While this may sound counter-intuitive, there’s actually a reason why systemic on the job training is so rare in the programming field. Here’s a closer look.&lt;/p&gt;














&lt;h4&gt;Integral learning&lt;/h4&gt;





&lt;p&gt;First, independent learning is integral to programming. It’s difficult to succeed as a programmer without the drive to self-educate; without unquenchable curiosity on how to solve technical problems.&lt;/p&gt;

&lt;p&gt;As a programmer, you&lt;a href="https://www.parkersoftware.com/blog/a-programmers-work-is-never-done/"&gt; never stop learning&lt;/a&gt;. There’s always a new language to dive into, a new framework to master. Competence is something that must be energetically maintained.&lt;/p&gt;

&lt;p&gt;On the job programming training, then, is something that happens naturally and on an individual level. As a programmer, you’ll learn based on what challenge has surfaced that week, or what new feature request has rolled in, or what &lt;a href="https://www.parkersoftware.com/blog/legacy-code-dangers-code-inventory/"&gt;legacy codebase&lt;/a&gt; needs refactoring.&lt;/p&gt;

&lt;p&gt;Learning how to code in a classroom or bootcamp is &lt;a href="https://techbeacon.com/app-dev-testing/bootcamps-wont-make-you-coder-heres-what-will-0"&gt;not quite the same&lt;/a&gt; as coding in an office environment. The real world hosts a lot more surprises. (And a lot more headaches.)&lt;/p&gt;

&lt;p&gt;So, formal worksheets and carefully planned training sessions don’t always correlate with the &lt;a href="https://www.parkersoftware.com/blog/the-problem-with-long-term-roadmaps/"&gt;ever-changing needs of the business&lt;/a&gt;. Instead, your learning will happen organically and altogether more spasmodically.&lt;/p&gt;














&lt;h4&gt;An egalitarian environment&lt;/h4&gt;





&lt;p&gt;Next, development jobs are geared towards people who thrive on self-teaching. And that’s due to the egalitarian nature of programming.&lt;/p&gt;

&lt;p&gt;There’s no doubt that programming is a highly skilled occupation. But it remains one of the few highly skilled occupations that requires no professional certification.&lt;/p&gt;

&lt;p&gt;You &lt;a href="https://www.parkersoftware.com/blog/software-engineer-vs-developer-whats-the-difference/"&gt;don’t need a degree&lt;/a&gt; to be a programmer – it’s something you can go away and teach yourself with only a computer and an internet connection. (Provided you have the necessary commitment, of course.)&lt;/p&gt;

&lt;p&gt;So, developers who dedicate their free time and energy to constantly grow become the most successful. On a level playing field, your motivation to continually grow your skillset determines how far you climb.&lt;/p&gt;

&lt;p&gt;And this creates something of an unwritten &lt;a href="https://www.parkersoftware.com/blog/ten-laws-of-software-development/"&gt;programming rule&lt;/a&gt;. Namely, developers are often expected to be able to think problems through independently.&lt;/p&gt;

&lt;p&gt;Rather than on the job programming training, then, the assumption is that a good developer will be able to problem-solve and self-teach on the job.&lt;/p&gt;














&lt;h4&gt;A lack of resources&lt;/h4&gt;





&lt;p&gt;Last, most companies simply aren’t equipped to offer detailed, in-house training when it comes to programming.&lt;/p&gt;

&lt;p&gt;True, they might employ a junior developer and pair them with a senior &lt;a href="https://www.parkersoftware.com/blog/programming-jobs-and-the-age-effect/"&gt;mentor&lt;/a&gt;. Other times, the company might reimburse you for a book on a new language, or an online training course, perhaps.&lt;/p&gt;

&lt;p&gt;But ultimately, the developer will still have to do much learning by 'doing' in solitude. Very few organisations will have a specialised on the job programming training course in place for developers.&lt;/p&gt;














&lt;h4&gt;On the job programming training ain’t easy&lt;/h4&gt;





&lt;p&gt;In development, then, it is not quite so easy as to simply train employees on new skills.&lt;/p&gt;

&lt;p&gt;With so much ground to cover, so much &lt;a href="https://www.parkersoftware.com/blog/batman-and-agile-development/"&gt;changeability&lt;/a&gt;, and so much independent learning required, programming doesn’t naturally lend itself to formal in-house training.&lt;/p&gt;

&lt;p&gt;Rather, programmers must train themselves, or risk a gradual erosion of skillset value.&lt;/p&gt;






&lt;p&gt;Originally published here: &lt;a href="https://www.parkersoftware.com/blog/why-is-on-the-job-programming-training-so-rare/"&gt;https://www.parkersoftware.com/blog/why-is-on-the-job-programming-training-so-rare/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>programming</category>
      <category>coding</category>
    </item>
    <item>
      <title>Feature flags: what are they good for?</title>
      <dc:creator>Parker Software</dc:creator>
      <pubDate>Fri, 21 Aug 2020 09:58:14 +0000</pubDate>
      <link>https://dev.to/parkersoftware/feature-flags-what-are-they-good-for-185c</link>
      <guid>https://dev.to/parkersoftware/feature-flags-what-are-they-good-for-185c</guid>
      <description>&lt;h2&gt;
  
  
  &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7vvwwi6t2upzs7l8qieu.jpg" alt="Alt Text"&gt;
&lt;/h2&gt;

&lt;p&gt;Feature flags, otherwise known as a ‘feature toggle’ or
‘feature switch’, are a nifty tool that help with feature management. A feature
flag grants developers the ability to turn features in their software off or on
at will. (That is, without releasing new code.)&lt;/p&gt;

&lt;p&gt;With feature flags, you can enable or disable your product’s
features any time. Even after you’ve deployed your code. &lt;/p&gt;

&lt;p&gt;But why is this so useful? Here, we explore the different uses of feature flags, and why they’re so beneficial in product management. &lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;Good for release management &lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;One use of feature flags is for release management. Such
feature flags are sometimes known as release flags or release toggles. &lt;/p&gt;

&lt;p&gt;A key benefit of these helpful flags is that they help you
keep deployment separate from your rollout. You can add the feature-enabling
code to your server, without making it available to users. &lt;/p&gt;

&lt;p&gt;So, you can deploy a half-built feature as latent code. Then you can continue to work on it, and turn it on when it’s ready for people to use. Or, you can leave it switched off if you &lt;a href="https://www.parkersoftware.com/blog/feature-creep-software-guilty/" rel="noopener noreferrer"&gt;choose to drop&lt;/a&gt; that feature. &lt;/p&gt;

&lt;p&gt;Plus, feature flags help you reveal new features over time. That is, you can gradually turn on functionality as it becomes available.&lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;Good for allowing permissions&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;Feature flags are also useful in a permissions context.
These feature flags allow you to manage which features are available to any
given user. &lt;/p&gt;

&lt;p&gt;Permission flags, then, prove instrumental when it comes to managing &lt;a href="https://www.parkersoftware.com/blog/xaas-explained-an-as-a-service-overview/" rel="noopener noreferrer"&gt;different delivery models&lt;/a&gt;. You can turn features (or even sets of features) off and on based on the usage allowances of any given user. For example, toggling the use of premium features for customers that pay for them. Or revoking access to a feature after the user has hit a cap. Either way, feature flags are great for tightening control.&lt;/p&gt;

&lt;p&gt;They’re also handy if you want to restrict the availability of features to your internal teams only. This &lt;a href="https://www.parkersoftware.com/blog/are-you-eating-your-own-dog-food/" rel="noopener noreferrer"&gt;might be for testing&lt;/a&gt;, or it could be to help you manage the program. With permission flags, you can turn these features on for internal use and off for your customers. &lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;Good for operations &lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;Feature flags are equally useful for your operations team. They
are a powerful tool for controlling the operational aspects of your system. &lt;/p&gt;

&lt;p&gt;For instance, your team can mitigate the risk of outdated or
experimental features. If a new feature is posing an unforeseen consequence,
operational teams can turn it off. Or, if a feature becomes outdated, feature flags
can help you retire it. &lt;/p&gt;

&lt;p&gt;In addition, you can minimise &lt;a href="https://www.parkersoftware.com/blog/the-4-software-maintenance-categories-and-what-they-mean-for-your-users/" rel="noopener noreferrer"&gt;change aversion&lt;/a&gt; by removing features gradually. (Achieved by toggling small sections of functionality.) Or, if preferred, you can hit the kill switch and remove access to entire features in one go. &lt;/p&gt;

&lt;p&gt;Another use of operational feature flags is manual traffic management. So, a customer’s usage spikes or your traffic rises to a point that puts a strain on your systems. You could use operational flags to throttle usage and turn off draining features, to prevent a service outage. &lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;Good for experimenting&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;Next, feature flags are ideal for experimentation and
testing. You can release features to different customers. Then, you can collect
data about how they use the new features, which ones are popular and so on. &lt;/p&gt;

&lt;p&gt;So, feature flags also offer the benefit of easy A/B testing. With them, you can toggle the features for different groups of users in an experiment. Then, you can &lt;a href="https://www.parkersoftware.com/blog/product-feedback-the-proof-of-the-pudding-is-in-the-eating/" rel="noopener noreferrer"&gt;collect feedback&lt;/a&gt; about the preferred design, function or quality of your software.  &lt;/p&gt;

&lt;p&gt;With feature flags, you can also allow your users to preview upcoming features. You can then collect feedback to fine-tune new functionality before mass rollout.&lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;That’s what feature flags are good
for &lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;Feature flags are an underrated tool. They’re useful in
various ways, from managing permissions to facilitating experimentation.&lt;/p&gt;

&lt;p&gt;So, are you using feature flags in your code? &lt;/p&gt;










&lt;p&gt;&lt;em&gt;Originlly published here: &lt;a href="https://www.parkersoftware.com/blog/feature-flags-what-are-they-good-for/" rel="noopener noreferrer"&gt;https://www.parkersoftware.com/blog/feature-flags-what-are-they-good-for/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>development</category>
      <category>userexperience</category>
    </item>
    <item>
      <title>Batman and agile development</title>
      <dc:creator>Parker Software</dc:creator>
      <pubDate>Fri, 17 Jul 2020 12:32:28 +0000</pubDate>
      <link>https://dev.to/parkersoftware/batman-and-agile-development-2n8a</link>
      <guid>https://dev.to/parkersoftware/batman-and-agile-development-2n8a</guid>
      <description>&lt;h2&gt;
  
  
  &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxdgudim887zlo5cxqrtg.jpg" alt="Alt Text"&gt;
&lt;/h2&gt;

&lt;p&gt;There are times when a superhero swooping in to solve our
problems would be more than welcome. In agile development, this occurs when there’s
too much to do alongside the current sprint.&lt;/p&gt;

&lt;p&gt;And this is where Batman comes in. But we don’t mean the
caped crusader himself. Rather, a member of your team that fills the Batman
role. &lt;/p&gt;

&lt;p&gt;Here, we explain what exactly Batman has to do with agile development.&lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;The crime of distraction&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;A &lt;a href="https://www.parkersoftware.com/blog/a-programmers-work-is-never-done/" rel="noopener noreferrer"&gt;programmer’s work is never done&lt;/a&gt;. And that doesn’t change because you’re in a planned sprint. There’s just so much to do. When it comes to agile development, it’s easy for an ongoing iteration to fail simply because there are too many distractions. &lt;/p&gt;

&lt;p&gt;It could be an emergency support request, or the discovery
of a major bug. Whatever it is, agile teams all too often find their time eaten
away by emergencies that occur outside of the scope of the current sprint.&lt;/p&gt;

&lt;p&gt;The result of this is a team stretched too thin to achieve the goals of their current sprint. This drags out the time taken to get new features working and new releases ready. Which, of course, means delayed launches and disrupted marketing rollouts. &lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;The hero we need&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;Batman is all about preparation. He even has contingencies
in case anyone in the Justice League becomes a problem. It’s this idea of
preparation and organisation that your agile development Batman should embody. &lt;/p&gt;

&lt;p&gt;Batman in agile development is a team member that doesn’t
work on the iteration with the rest of the team. He or she enables the team to
get on with the planned development.&lt;/p&gt;

&lt;p&gt;Your agile Batman is the answer to the crime of distraction. They’re responsible for those sudden support problems, the &lt;a href="https://www.parkersoftware.com/blog/rubber-ducking-not-just-a-funny-phrase/" rel="noopener noreferrer"&gt;surprise bugs&lt;/a&gt; not included in your planned sprint. Your Batman fights off the emergencies that would otherwise distract, hold back and disrupt.&lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;A hero can be anyone&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;In agile development, any member of your development team — new and old — can fill the Batman role. In general, the Batman role requires a broad knowledge of the organisation and the activities of the team. However, for &lt;a href="https://www.parkersoftware.com/blog/5-tips-to-help-new-software-developers-find-their-footing/" rel="noopener noreferrer"&gt;newer developers&lt;/a&gt;, the Batman role offers a great opportunity to learn about the organisation quickly.&lt;/p&gt;

&lt;p&gt;The Batman developer might not work with your team during
that sprint, but they are still a full member of the team. With each new
iteration, you should also choose a new Batman. This allows each developer the
opportunity to fill the role of the hero. It also reinforces that Batman is a
close member of the team. &lt;/p&gt;

&lt;p&gt;This means that, because Batman is a team member, you should plan your sprints minus one developer. &lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;Whatever the team needs me to be&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;It’s possible, to an extent, to plan for development needs.
But you can’t predict when you’ll have a support request, or a bug will pop up,
or a server needs immediate attention. So, what happens if none of those things
happen? &lt;/p&gt;

&lt;p&gt;The point of your Batman developer is that they &lt;a href="https://www.parkersoftware.com/blog/managing-casaastrophe-communication-during-a-crisis/" rel="noopener noreferrer"&gt;handle the emergencies&lt;/a&gt;. If there are no current emergencies, they’re ready to handle one the moment it appears. &lt;/p&gt;

&lt;p&gt;To that end, there’s no point in having Batman complete any work
on the sprint. All this does is encourage the team to plan for an extra pair of
hands they may not have — potentially causing a sprint to fail. &lt;/p&gt;

&lt;p&gt;Instead, your Batman developer can spend their time completing low-priority distractions. For example, &lt;a href="https://www.parkersoftware.com/blog/what-is-technical-debt-and-what-should-you-do-about-it/" rel="noopener noreferrer"&gt;clearing technical debt&lt;/a&gt; or fixing other bugs.&lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;Optional boy wonder&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;What if it goes the other way, and Batman gets buried in too
many big emergencies or stuck on a particularly tricky problem? Batman is only
human, and it can happen, after all. &lt;/p&gt;

&lt;p&gt;In the comics, Batman has back up in the form of Robin. So, there’s always the option for your agile development to have a Robin developer too. In agile development, your Robin is a second developer on your team that does work on the planned sprint. However, if Batman finds themselves needing backup, they can call on Robin for support. &lt;/p&gt;

&lt;p&gt;Robin drops out of the sprint to assist Batman and re-joins once Batman can go on without him or her. In cases when a less experienced or new developer holds the Batman role, Robin may get called on more. (This presents an excellent &lt;a href="https://www.parkersoftware.com/blog/programming-jobs-and-the-age-effect/" rel="noopener noreferrer"&gt;opportunity for mentoring.&lt;/a&gt;) &lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;Batman and agile development&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;In the movies, Batman states that anyone can be a hero.
Anyone could have been Batman. In your agile development, your entire team has
the capacity to be the hero of the sprint. Your very own Batman. &lt;/p&gt;

&lt;p&gt;We could all use a hero from time to time. So, who’s ready to step up, and don the (figurative) mask and cape?&lt;/p&gt;






&lt;p&gt;Originally published here:  &lt;a href="https://www.parkersoftware.com/blog/batman-and-agile-development" rel="noopener noreferrer"&gt;https://www.parkersoftware.com/blog/batman-and-agile-development&lt;/a&gt;&lt;/p&gt;

</description>
      <category>agile</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
    <item>
      <title>The benefits of being a boring developer</title>
      <dc:creator>Parker Software</dc:creator>
      <pubDate>Fri, 10 Jul 2020 15:16:17 +0000</pubDate>
      <link>https://dev.to/parkersoftware/the-benefits-of-being-a-boring-developer-4fco</link>
      <guid>https://dev.to/parkersoftware/the-benefits-of-being-a-boring-developer-4fco</guid>
      <description>&lt;h2&gt;
  
  
  &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X3xQRGl3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6381oqlnqyw7ch1vvubn.jpg" alt="Alt Text"&gt;
&lt;/h2&gt;

&lt;p&gt;We’re in the age of rockstar
developers and ninja programmers. These extravagant job titles beg the question:
what’s wrong with being a normal, boring developer?&lt;/p&gt;

&lt;p&gt;Not everyone is going to identify as a ‘rockstar’. No matter
how great they are at coding, few developers would really consider their work
to be magic-wielding wizardry. And not every coder needs their role
romanticising with grandiose descriptions.&lt;/p&gt;

&lt;p&gt;In the world of development, there’s a lot to be said for being content without the fancy title. But what are the benefits of being a developer, sans ‘rockstar’ attributes?&lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;The labels&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;A boring developer is one that avoids the fancy titles. Instead, boring developers are those happy to just be developers. They aren’t rockstars, ninjas or wizards. Nor do they see themselves as gurus, geniuses or &lt;a href="https://www.parkersoftware.com/blog/tech-hero-seven-technical-support-tips/"&gt;heroes&lt;/a&gt;. They certainly aren’t mythical ‘unicorns’. &lt;/p&gt;

&lt;p&gt;When we hear these flashy job titles, distinct images form
in our minds. Rockstar developers are the egotistical team members that work at
night, to the sound of cheering crowds. Programming ninjas stealthily defeat
software bugs with their advanced fighting skills. Tech support wizards fix
problems with magic and spell casting. &lt;/p&gt;

&lt;p&gt;It’s fun, fanciful and entirely unrealistic. &lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;Step out of the spotlight&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;With a flashy title comes a metaphorical spotlight on the
developer and their work. Rockstars are always in the spotlight. For developers,
this means their work is always expected to be at performance level. There’s
more pressure and less room for mistakes. &lt;/p&gt;

&lt;p&gt;A boring developer, meanwhile, is human. They aren’t mythical, and they aren’t asking for a spotlight all the time. This means they have room to grow and learn – and make mistakes – without being under &lt;a href="https://www.parkersoftware.com/blog/deal-another-developers-bad-code/"&gt;severe scrutiny.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flashy job titles put developers in the spotlight, but also
hide the hard work behind their achievements and project progress. Their
ability to fix bugs or to write high-quality code is explained away as ‘magic’.
So, plugging a developer’s skill via a sensational job title only serves to
obscure it.&lt;/p&gt;

&lt;p&gt;In contrast, a standard developer’s work isn’t hidden behind titles. It is the hard work that goes behind quality code that shines – not a shiny label. &lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;Have a team, not a solitary hero&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;One of the key elements of the flashy-titled developer
(specifically the rockstar) is that it suggests a high level of ego. Egotistical
developers are over-confident in what they can do, and they don’t need help
doing it. &lt;/p&gt;

&lt;p&gt;Too much ego can alienate colleagues and disrupt workflows. It makes collaboration difficult, which then impacts productivity. The &lt;a href="https://www.parkersoftware.com/blog/shattering-the-myth-of-the-lone-tech-genius/"&gt;lone tech genius&lt;/a&gt; is a myth — developers need to be team players. &lt;/p&gt;

&lt;p&gt;A boring developer doesn’t exude ego. Instead, they have a better &lt;a href="https://www.parkersoftware.com/blog/5-tips-to-help-new-software-developers-find-their-footing/"&gt;emphasis on soft skills&lt;/a&gt;. They’re willing to learn, accept mistakes and support their team members. &lt;/p&gt;

&lt;p&gt;This kind of humility has a key role in development. The field, after all, is a role in which everyone is always learning. New ideas, ways of thinking and innovative solutions can come from anywhere. (As can mistakes.) &lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;Have a clear path, not a maze of
shadows&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;A boring developer also has a clearer view of their &lt;a href="https://www.parkersoftware.com/blog/software-engineer-vs-developer-whats-the-difference/"&gt;career progression&lt;/a&gt;. It’s impossible to tell who is the most senior out of a ninja, a rockstar, and a wizard. And even if you know the answer for one company, it might be different in another. &lt;/p&gt;

&lt;p&gt;A boring developer, meanwhile, is more likely to have a
title such as junior developer, developer, senior developer and so on. Here,
it’s much easier to tell when you’ve received a promotion, or if changing to
that new job is a demotion. In other words, it’s clear where you stand in the
company and what the next step up is. &lt;/p&gt;

&lt;p&gt;Plus, non-fanciful job titles (like those of the boring developer) are likely to look better on your CV or resume. ‘Senior developer’ is a more solid indication of experience and skill than ‘coding ninja’, after all.&lt;/p&gt;








&lt;h4&gt;&lt;strong&gt;Enjoy the job, not the title &lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;There’s a lot going for the boring developer. There’s less pressure on perfection, and more room for growth, &lt;a href="https://www.parkersoftware.com/blog/developer-impostor-syndrome-why-you-feel-like-a-fake/"&gt;teamwork&lt;/a&gt; and productivity. A boring developer is a good developer. They work with their team, they’re humble, and they enjoy the job for what it is. &lt;/p&gt;

&lt;p&gt;So, leave the ‘rockstar’ title to the actual rockstars, and own the fact that you’re an awesome, boring developer. When you have a passion for the job, why would you want to be titled as anything else?&lt;/p&gt;






&lt;p&gt;Originally published here: &lt;a href="https://www.parkersoftware.com/blog/the-benefits-of-being-a-boring-developer/"&gt;https://www.parkersoftware.com/blog/the-benefits-of-being-a-boring-developer/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Should you hire a lazy developer?</title>
      <dc:creator>Parker Software</dc:creator>
      <pubDate>Fri, 26 Jun 2020 13:20:18 +0000</pubDate>
      <link>https://dev.to/parkersoftware/should-you-hire-a-lazy-developer-e8o</link>
      <guid>https://dev.to/parkersoftware/should-you-hire-a-lazy-developer-e8o</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MMBvqtYC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h32rwam307fw68ah3wtd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MMBvqtYC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h32rwam307fw68ah3wtd.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Laziness isn’t typically a trait you’d see listed in a developer job specification. Nor is it a quality that many programmers would list in their CV. But that doesn’t necessarily mean that laziness is a negative characteristic in a developer.&lt;/p&gt;

&lt;p&gt;In fact, laziness can be beneficial to a career in coding. We’ve all heard the Bill Gates quote: “I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it.” And according to one maxim, efficiency is just intelligent laziness.&lt;/p&gt;

&lt;p&gt;But is that true, or just wishful thinking? We give our two cents on the virtues of a lazy developer.&lt;/p&gt;














&lt;h4&gt;&lt;strong&gt;Laziness and the Pareto principle&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;Laziness is defined as an all-around negative trait. It’s viewed as being related to one of the seven deadly sins: ‘sloth’. It suggests a lack of motivation, a lack of productivity and a shiftless attitude. So how could a lazy developer possibly optimise anything?&lt;/p&gt;

&lt;p&gt;It all starts with the Pareto principle. The Pareto principle suggests that out of everything you do during the day, only 20% matters. Yet this 20% of your time accounts for as much as 80% of your results.&lt;/p&gt;

&lt;p&gt;The numbers may be scary, but they suggest that a lazy approach could be wise. A lazy developer, supposedly, would be one that could better identify and optimise the 20% of tasks that produce results.&lt;/p&gt;

&lt;blockquote class="wp-block-quote"&gt;&lt;p&gt;‘Do this well, and you will enjoy the world of productive laziness’ – Peter Taylor&lt;/p&gt;&lt;/blockquote&gt;














&lt;h4&gt;&lt;strong&gt;Types of laziness&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;‘Productive laziness’ is the crux of the matter. There are different categories of laziness, and hiring someone with the right type could optimise the time and tasks of your whole workforce. The wrong type, however, is a costly bad hire.&lt;/p&gt;

&lt;p&gt;You don’t want ‘idle laziness’. The ‘no-motivation-to-do-anything-ever laziness’. Hiring a sluggish developer won’t get you very far, and isn’t advisable.&lt;/p&gt;

&lt;p&gt;But that wasn’t the type of laziness Bill Gates was referring to. The right kind of laziness, as many smart developers will know, is more resourceful than work-shy. A ‘good’ lazy developer will know that laziness doesn’t mean doing the job poorly. It means doing the job the best way first, so that they don’t have to go back to it later.&lt;/p&gt;

&lt;blockquote class="wp-block-quote"&gt;&lt;p&gt;‘Do it right, do it once. That’s the lazy option.’ – Moray Taylor&lt;/p&gt;&lt;/blockquote&gt;














&lt;h4&gt;&lt;strong&gt;Make the machine do it&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;In essence, the idea behind a productively lazy developer is one of efficiency. Lazy developers will only focus on tasks that are important, rather than robotically wading through a to-do list. They’ll &lt;a href="http://www.thinkautomation.com/"&gt;automate anything&lt;/a&gt; that can be automated.&lt;/p&gt;

&lt;p&gt;This means that a productively lazy developer can optimise not only their own workflows, but also the workflows of others. They can identify new areas that would benefit from automation, and streamline their workloads to only include the important jobs.&lt;/p&gt;

&lt;p&gt;No one like complex tasks. Equally, &lt;a href="https://www.parkersoftware.com/blog/feature-creep-software-guilty/"&gt;no one likes complex software&lt;/a&gt;, or complex code. All of this can be avoided by finding the easiest, most efficient method for completing any one task. A lazy developer is great at avoiding complexity, as they can be counted on to find the simplest way of doing something.&lt;/p&gt;

&lt;p&gt;And the best part of this is that once the easiest method has been identified, other members of your team are able to use it as well. Laziness, despite all its negative connotations, can be quite the productivity boon.&lt;/p&gt;














&lt;h4&gt;&lt;strong&gt;Most important?&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;When it comes to laziness and hiring, it’s not so much that you should go out of your way to employ a lazy developer. Rather, you needn’t actively avoid laziness as a trait in prospective new hires.&lt;/p&gt;

&lt;p&gt;Laziness can work well, but it’s not the definitive trait of a good programmer. So instead of worrying about finding the perfectly lazy developer, look for other, more important traits, such as:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Positive attitude&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Positivity breeds a good work atmosphere, a willingness to learn, and confidence in the team and its output. Don’t let a&lt;a href="https://www.parkersoftware.com/blog/a-universal-tech-code-of-conduct/"&gt; negativity virus&lt;/a&gt; corrupt your dev team.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Adaptability and problem solving&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;In programming, fixing problems is a large part of the daily work. The last thing you need is a hostile employee with a closed, ‘can’t-do’ approach to development.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Teamwork&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Development is a&lt;a href="https://www.parkersoftware.com/blog/shattering-the-myth-of-the-lone-tech-genius/"&gt; team job&lt;/a&gt;, and all new team members must be able to integrate well. They could be the prime lazy developer, but they won’t inspire productivity if their lack of teamwork causes a system error.&lt;/p&gt;

&lt;p&gt;If your new hire happens to hold the quality of ‘productive laziness’ on top of these traits, great. Just see it as a bonus, not a prerequisite.&lt;/p&gt;














&lt;h4&gt;&lt;strong&gt;Now loading, please wait…&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;Having the coveted lazy developer can improve office workflows, unlock new efficiencies, and decrease burnout of team members. And they can make great team leaders, after all, it’s the second mouse that gets the cheese.&lt;/p&gt;

&lt;p&gt;But they can be tricky to find. A developer that’s lazy in the wrong ways can be just as negative as any other bad hire, and gives the rest a bad name.&lt;/p&gt;

&lt;p&gt;So, should you hire a lazy developer? Rulers of effective time management, masters of avoiding ‘busywork’; productively lazy developers are lauded for prioritising and cutting out the unimportant. We’d say that makes for a smart hire.&lt;/p&gt;








&lt;p&gt;&lt;em&gt;Originally posted here: &lt;a href="https://www.parkersoftware.com/blog/hire-lazy-developer/"&gt;https://www.parkersoftware.com/blog/hire-lazy-developer/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The ‘done is better than perfect’ approach to programming</title>
      <dc:creator>Parker Software</dc:creator>
      <pubDate>Fri, 19 Jun 2020 09:02:06 +0000</pubDate>
      <link>https://dev.to/parkersoftware/the-done-is-better-than-perfect-approach-to-programming-2khk</link>
      <guid>https://dev.to/parkersoftware/the-done-is-better-than-perfect-approach-to-programming-2khk</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4BV5kYjn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3hiub11kl5t2ivevqhyc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4BV5kYjn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3hiub11kl5t2ivevqhyc.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you’ve developed a working product, it’s normal to take pride in its performance— you’ve worked hard on it. It’s normal to want to hold off on release until it’s got &lt;em&gt;this&lt;/em&gt; feature, or &lt;em&gt;that’s&lt;/em&gt; been tweaked, or it’s gone through yet another round of testing. In short, it’s perfectly normal to pursue perfection.&lt;/p&gt;

&lt;p&gt;It is notoriously hard to declare a software product, project, or even a single feature ‘finished’. There’s &lt;a href="https://www.parkersoftware.com/blog/a-programmers-work-is-never-done/"&gt;always something else&lt;/a&gt; that could be finetuned, or added, or upgraded. This makes it incredibly difficult to take the leap to release.&lt;/p&gt;

&lt;p&gt;In today’s competitive market, though, can you afford to release your product before it’s perfect? Well, the ‘done is better than perfect’ approach suggests that you can’t afford not to. Perfectionist programmer or not, here’s why you should consider the ‘done is better than perfect’ approach.&lt;/p&gt;














&lt;h4&gt;&lt;strong&gt;Done is better than perfect&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;‘Done is better than perfect’ is a maxim made popular by Facebook COO Sheryl Sandberg. In her book, she refers to the motto as a reminder to let go of impossible standards. She writes that: “Aiming for perfection causes frustration at best and paralysis at worst.”&lt;/p&gt;

&lt;p&gt;The concept is not so very different in a coding context. The ‘done is better than perfect’ approach to programming is the idea that a released software product is better than an unreleased product. It focuses on completing a product and having the courage to share it, rather than &lt;a href="https://www.parkersoftware.com/blog/software-development-and-the-moscow-method/"&gt;getting lost in minute details&lt;/a&gt; and endless iterations.&lt;/p&gt;

&lt;p&gt;The ‘done is better than perfect’ approach, then, is a mindset that challenges perfectionism. It drives us to recognise when our software is good enough, and it pushes us to get each new project ‘out there’. When you’re not busy agonising over intricacies, you can get busy building a customer base and solving the core pains you set out to solve.&lt;/p&gt;

&lt;p&gt;That doesn’t mean to say that the ‘done is better than perfect’ approach equates to complacency. It’s not a reason or excuse to release a bad product. The software you release should be able to &lt;a href="https://www.parkersoftware.com/blog/user-story-writing/"&gt;solve the pain points&lt;/a&gt; that it’s designed to answer. It needs to be a good product, it just doesn’t need to be perfect. After all, is there ever any such thing as a ‘perfect’ product?&lt;/p&gt;














&lt;h4&gt;&lt;strong&gt;Perfectionism pitfalls&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;Without adopting the ‘done is better than perfect’ mindset, you can easily fall foul of perfectionism. And unfortunately, perfectionism is an affliction that comes with more than a few major downsides for your software and your business.&lt;/p&gt;

&lt;p&gt;For a start, ‘perfect’ simply takes too long to develop, meaning that it could end up never being released. There will always be something else to tweak. Plus, with technology advancements moving so quickly, pushing for perfection can often leave you working on &lt;a href="https://www.parkersoftware.com/blog/the-security-risks-of-outdated-software/"&gt;outdated software&lt;/a&gt; and continually playing catch up.&lt;/p&gt;

&lt;p&gt;Striving for perfect sets an unattainable goal, based on the need for your product to be liked. It makes sense, on the one hand. After all, you want your customers to love your product, and it can be hard to see that they would do that unless it’s perfect. But perfect is subjective. It’s difficult to align your view of ‘perfect’ with a customer’s perspective, and even more difficult on a granular user by user level. No two users will have the same view on what precisely makes for perfect.&lt;/p&gt;

&lt;p&gt;Perfectionism also means you run the risk of software plagued with &lt;a href="https://www.parkersoftware.com/blog/feature-creep-software-guilty/"&gt;feature creep.&lt;/a&gt; With every new capability that you add in your quest to make that elusive ‘perfect’ product, the core function of your software becomes more crowded and buried. You end up with a &lt;a href="https://www.parkersoftware.com/blog/overengineered-software-and-the-juicero-problem/"&gt;mess of functionality&lt;/a&gt; that brings no long-term value or competitive edge to your product.&lt;/p&gt;

&lt;p&gt;It’s also worth remembering that having a perfect product isn’t the only thing that guarantees success. Does your product efficiently solve a problem? Is there a viable need for it in the market? Key questions such as these are more important than striving for perfection.&lt;/p&gt;














&lt;h4&gt;&lt;strong&gt;Why done is better than perfect&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;Adopting the ‘done is better than perfect’ approach means that you can get your product out there. When you release your ‘good enough’ product, you start building your customer base, generating a return from all your hard work and efforts.&lt;/p&gt;

&lt;p&gt;Along the way, you &lt;a href="https://www.parkersoftware.com/blog/tech-myths-better-will-always-beat-first/"&gt;learn more about the market&lt;/a&gt; that your software appeals to. You create the opportunity to collect &lt;a href="https://www.parkersoftware.com/blog/product-feedback-the-proof-of-the-pudding-is-in-the-eating/"&gt;feedback&lt;/a&gt;. In all likelihood, you could discover that the ‘perfect’ you were originally striving for was the wrong one anyway. You might even attract an unexpected audience, or uncover unexpected popularity in certain features or functionality.&lt;/p&gt;

&lt;p&gt;A released product means that you now have &lt;a href="https://www.parkersoftware.com/blog/top-3-benefits-building-mvp-need-begin-minimum-viable-product/"&gt;something to build on&lt;/a&gt;. As the saying goes, ‘perfect is the enemy of good’. A supposedly ‘perfect’ software product, once released, won’t lend itself to being improved. A ‘good enough’ product, however, motivates us to improve on it. It lends itself to &lt;a href="https://www.parkersoftware.com/blog/whats-the-difference-between-a-software-upgrade-and-a-software-update/"&gt;upgrades&lt;/a&gt;, to new tech, to &lt;a href="https://www.parkersoftware.com/blog/tech-innovation-is-our-obsession-unhealthy/"&gt;innovation&lt;/a&gt; – instead of being a finished product aging into obscurity.&lt;/p&gt;














&lt;h4&gt;&lt;strong&gt;Your products are only ever drafts&lt;/strong&gt;&lt;/h4&gt;





&lt;p&gt;The ‘done is better than perfect’ approach to programming is a mindset that reminds us that the products, software and services we release are drafts of the next one. Instead of trying to release the ultimate product in one go, we can release something that’s good enough, and build on it, update it and improve it as we go.&lt;/p&gt;

&lt;p&gt;There is nothing wrong with taking pride in your product. Equally, there is never an excuse to ship shoddy, substandard code that you will have to re-do all over again. This is not what the ‘done is better than perfect’ approach is about.&lt;/p&gt;

&lt;p&gt;It’s about recognising when your product is good enough. At some point, you have to be able to acknowledge that a product may not quite be absolutely, unequivocally and breathtakingly ‘perfect’ – but that it’s still pretty darn good.&lt;/p&gt;








&lt;p&gt;&lt;em&gt;Originally published here: &lt;a href="https://www.parkersoftware.com/blog/the-done-is-better-than-perfect-approach-to-programming/"&gt;https://www.parkersoftware.com/blog/the-done-is-better-than-perfect-approach-to-programming/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;





</description>
      <category>programming</category>
      <category>productivity</category>
      <category>motivation</category>
      <category>tips</category>
    </item>
    <item>
      <title>Is programming art?</title>
      <dc:creator>Parker Software</dc:creator>
      <pubDate>Fri, 12 Jun 2020 11:30:16 +0000</pubDate>
      <link>https://dev.to/parkersoftware/is-programming-art-3kho</link>
      <guid>https://dev.to/parkersoftware/is-programming-art-3kho</guid>
      <description>&lt;blockquote class="wp-block-quote"&gt;&lt;p&gt;&lt;em&gt;“You might not think that programmers are artists, but programming is an extremely creative profession. It’s logic-based creativity.” – John Romero&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Is programming art? Are those structured, complex blocks of code a stream of creativity that we wouldn’t necessarily recognise as such?&lt;/p&gt;

&lt;p&gt;Typically, art is a piece of work that is open to interpretation. It can mean different things to different people; take on a unique significance for every individual subject. But programming is altogether more logical. A computer understands code logically; it can only interpret it in a single way – not based on its experiences or feelings.&lt;/p&gt;

&lt;p&gt;So, does this mean that programming and art are distinct, dissimilar disciplines that simply do not overlap? Well, not quite.&lt;/p&gt;














&lt;h4&gt;&lt;strong&gt;Art vs science&lt;/strong&gt;&lt;/h4&gt;











&lt;p&gt;Traditionally, programming has been viewed as a science. After all, it is rooted in engineering and computer science. It requires formal reasoning and a methodical process to program successfully. This, then, is why many would never perceive programming as ‘art’. It is a science – knowledge that has been logically arranged and systematised to create accepted ‘laws’.&lt;/p&gt;

&lt;p&gt;Art, meanwhile, is not governed by law or logic. When we think of art, it typically creates connotations of the fine arts – painting and sculpture and suchlike. We would generally connect art to visual work created primarily for aesthetic and intellectual enjoyment. (Very) broadly speaking, fine art exists to be appreciated rather than to be put into functional use.&lt;/p&gt;

&lt;p&gt;With these commonplace perceptions in mind, it is easy to see why so many would instantly leap to no if questioned, ‘Is programming art?’ The two are as different as a motor and a mosaic.&lt;/p&gt;














&lt;h4&gt;&lt;strong&gt;False dichotomies&lt;/strong&gt;&lt;/h4&gt;











&lt;p&gt;So, it’s easy enough to understand how the general perceptions of programming and art have formed. Nonetheless, setting up logical disciplines like programming as an antithesis to art is deeply flawed.&lt;/p&gt;

&lt;p&gt;Asking ‘Is programming art or science?’ is like asking ‘Are burgers bun or patty?’ It’s an entirely unnecessary (and rather absurd) distinction that embeds a false dichotomy. Work needn’t be art &lt;em&gt;or&lt;/em&gt; science; the two can, and commonly do, overlap. And for many, programming is one such logical field that overlaps into artistry.&lt;/p&gt;














&lt;h4&gt;&lt;strong&gt;Delving deeper&lt;/strong&gt;&lt;/h4&gt;











&lt;p&gt;We know the typical connotations of art. But what does the dictionary have to say? There are two main definitions: art as creation and the expression of imagination, and art as skilled craftsmanship. While programming clearly applies to the latter, some don’t recognise its relation to the former.&lt;/p&gt;

&lt;p&gt;That, unfortunately, would be short-sighted. Programming is a deep and multi-faceted discipline; one that shares a blend of aspects from science, engineering, and art alike. Yes, programming will always be a logical process, and yes, code will always be framed within a systematic pattern. But that still leaves ample room for creativity.&lt;/p&gt;

&lt;p&gt;So, before you ask, ‘Is programming art?’, you need to delve a little deeper into the highly inventive process of writing code.&lt;/p&gt;














&lt;h4&gt;&lt;strong&gt;Logic-based creativity&lt;/strong&gt;&lt;/h4&gt;











&lt;p&gt;A programmer starts in the same place as a poet, or a composer, or a painter. That is, they start with nothing and pull something into existence, using their skill and creativity.&lt;/p&gt;

&lt;p&gt;And, as with art, there is no single, correct way to program. It’s down to the developer, their brain, and their imagination. The scope of what can be created with code is vast, and it’s all down to the developer to design and architect.&lt;/p&gt;

&lt;p&gt;Like creating a symphony, or a literary saga, there are endless options to carry the endeavour from conception to completion successfully. Each programmer will have their own approach; will bring their own unique style to the challenge.&lt;/p&gt;

&lt;p&gt;Indeed, a good developer will have a certain ‘feel’ for programming beauty. They will strive to create code that is elegant and aesthetically pleasing. So, programming isn’t just typing logical rules into a screen. Rather, it’s an intersection of logic, individuality, and artistry.&lt;/p&gt;














&lt;h6&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/h6&gt;





&lt;h4&gt;&lt;strong&gt; Is programming art?&lt;/strong&gt;&lt;/h4&gt;











&lt;p&gt;So, is programming art? Ask anyone who has coded their own program, or chipped away at a software product to make it run smoother and quicker with cleaner code.&lt;/p&gt;

&lt;p&gt;Firstly and most obviously, programming is art in a skilled craft sense. Programming can also be used to create art; with code as a resource to create a beautiful end product. But beyond that, on a deeper level, programming is often art as a &lt;em&gt;form&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Programming can be aesthetically beautiful. It is imagination and ingenuity manifest; pure creation branded with each developer’s own individual style. If that’s not art, then what is?&lt;/p&gt;








&lt;p&gt;&lt;em&gt;Originally published here: &lt;a href="https://www.parkersoftware.com/blog/is-programming-art/"&gt;https://www.parkersoftware.com/blog/is-programming-art/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>coding</category>
      <category>development</category>
      <category>motivation</category>
    </item>
  </channel>
</rss>
