Software coding is fun. Ask any developer why they are compelled to a life of programming and they’ll all confirm this truth. Software application development professionals, hobbyists, students and even casual coders do it because it’s essentially very enjoyable.
Engineers love to program because they love problem-solving. They are usually attracted to the challenge of creating things, fixing things, improving things and making our lives and the particular world better and safer. Typically, they form a close bond with the systems, platforms and tools that they work with and get to know them far more intimately than many other craftspeople; but like any kind of marriage, this is the relationship that can experience growing pains.
Developers get to know their software tools so well which they inevitably end up finding flaws in the particular platforms these people use. It’s not unusual to hear a programmer tell you that a service (i. e. any given tool, component or even software program language) is ‘really good at X’, yet pretty much ‘sucks when it comes to Y’ and therefore on.
Developer Experience (DX)
If this fun vs. fear factor really exists, then surely enterprise software vendors should be considering this aspect of the way they build their technologies. We’ve all heard of customer encounter and the quirkily written User eXperience (UX) factor, so should we be more concerned about Programmer Experience (DX) to make sure the software engineers building our next killer apps are actually having a good time doing so?
“Absolutely, yes it’s true. A key consideration for software platform development today is that will the equipment and services created ought to enable the users – and in this case, I clearly mean the developers in the first instance – to have fun while using them. Even if we don’t define it as enjoyable, developers need to feel a sense of joy. Some software engineering tools really are a joy to use, while others are (and let’s be as democratically polite as we can here) the ones we have to suffer for want of a better alternative because they are functional… but more painful than joyful, ” said Kris Jenkins , developer advocate at Confluent, a full-scale data streaming platform that enables users to access, store plus manage data as continuous real-time streams.
“If there is a category of tools with regard to software development that will we could label as the ‘fun to utilize ones’, then it would end up being the parts of any software program engineering offering that enable developers to get started quickly. This fast start cadence element is critical because it enables developers in order to get on with problem-solving and delivering for customers, ” added Jenkins. “Tools of this particular kind also engender the better ability to iterate, change and be dynamic – and what’s not fun about that?
The general consensus here is that while technically complex and intricate and professionally demanding software development will be, it really should always become an enjoyable, fulfilling and (at times) fun exercise.
“If we had to pick a handful of the most important, the majority of progressive and most compelling technology principles today, I think we can zone in on some solid cornerstones, ” said Shawn Ahmed , CMO at CloudBees. “There’s AI and Machine Learning (ML), there’s DevOps plus DevSecOps, there is MLOps in the middle tier substrate and there’s edge and the Internet of Things – although we can easily extend that list if needed. But above all those elements we need to also embrace fun. ”
CloudBees’ Ahmed points out that as much like we recognize the developer enjoyment factor as well as the need to strive for it, it’s not going in order to be because simple as just saying let’s have fun. This is usually in no small part down to the particular need to perform so-called ‘shift-left’ alignment in program development – a notion meant to describe earlier software program testing plus more stringent checking controls.
“There has been so a lot talk about shifting left which is not inherently a bad idea, but if done incorrectly it sucks the life out of innovation. We find yourself asking developers to become security experts, operations experts, compliance specialists and so on. It leaves zero room regarding the enjoyable stuff – writing code and solving complex challenges. But whenever shift left is done right, it really supports development and velocity. It’s almost all about making sure the things you are moving left (like security, compliance, operations, etc. ) are done in an intelligent, automated way, ” said Ahmed.
This topic was originally tabled by Sacha Labourey , co-founder and CEO at CloudBees, when asked for a key takeaway when speaking (virtually) at his company’s recent developer/user conference. Quite unashamedly and with totally positive fervour, he called for the fun element to end up being addressed from a serious productivity perspective.
“The problem of a lack associated with ‘fun’ in DevOps lies in the tools that are usually not directly useful at the task at hand — like security, compliance and testing tools – that are introduced into the particular developer’s workflow, ” said Labourey. “Today, they are known to be particularly good at… interrupting a developer’s ‘flow’ and every interruption makes it hard intended for developers to get back into their ‘zone’. ”
Labourey reminds us that with an avalanche of alerts and notifications to attend to, just about all classified differently and requiring access in order to different equipment, it’s tough to expect any designers to possess a fun experience.
“So, to put ‘fun’ back in DevOps [and software coding in general], we must move our perspective through ‘how may we industrialize a process that brings safety to the organization’ to ‘how can all of us ensure that the daily experience of a developer is as smooth as possible, all while making this safe and secure to get the organisation? ‘. By following this rule, we can keep programmers in their area as much as possible, whilst ensuring organisations satisfy their responsibilities, ” he additional.
Hashtag: I love my job
It’s a compelling thought if we stop plus think regarding this subject i. electronic. how many people in fact stop and tell you that will they have got fun in work plus love performing their job? Okay yes, if a person happen to be a television travel show presenter, the ‘seeing dogs’ for the particular visually impaired trainer or even a cocktail bar manager on a private luxury yacht, we all don’t need to question whether work is fun. For many of us, fun function is whenever we work with good people and encounter minimal stress, but perhaps now we are able to extend the definition further.
“Having been inside software architectural for some three decades, this is a subject close to my heart. Developer solutions should be fluid and slick, while delivering excitement in the backend that translates into excellent user experiences, ” stated Matt Quinn , general manager, Tibco, a business unit of Cloud Software Group.
In a way, there are within fact parallels with gaming, he suggests.
“It’s exciting, addictive, intuitive and competitive. There’s the yearning pertaining to status among peers and a desire in order to acquire new skills plus talents to keep you ahead associated with competitors. But, it is also a collaborative process, where contributing often counts for more compared to the achievements of a good individual and where glories – or wins – are a shared experience. I am the happiest when I is coding. Along with the excitement of competing plus creating something new, I see it as this super weird combination associated with art and science. This touches the part of my soul, ” added Tibco’s Quinn.
Quinn’s upbeat Australian tones are perhaps well suited to this discussion. He smiles when he talks about software development challenges plus realises with some clarity that the job itself is typified by a Sisyphean cycle of never ending problem solving. From his viewpoint, the scope element this individual describes is critical, as is the need for any tool in order to be able to integrate with the developer’s existing toolset – having to repeat tasks in more than one place due to poor integration is painful… and never enjoyable.
Beanbags & soda
There’s undoubtedly a consensus building here and we’re seeing a groundswell of effort moving in order to ensure developers do get to get fun, perhaps upon the back again of society’s wider efforts to address happiness plus well-being. No self-respecting enterprise software vendor event passes without some kind associated with live coding challenge, the particular use of a beanbag filled programmer zone and the provision of an unlimited refrigerator for all those that want to drink their own body weight in Pepsi (other colas are available) during the ‘hackathon’ challenges.
Ebullient and high-spirited on most things developer-related is Taylor Dolezal in his role since head associated with ecosystem on the Cloud Native Computing Foundation (CNCF).
“Creating experiences or even solutions along with code is definitely incredibly enticing, ” mentioned Dolezal. “With software program code, we aren’t bounded by the physical limitations that we traditional consider fundamental to our everyday lives. Instead, the biggest limitation in order to creative scope is usually how quickly someone can type in most cases! Code allows us the space try away and prototype many things; it enables us all to probe, test, verify and then iterate [in cycles of cumulative progression] until we have some thing [an app, an internal service, anything] truly helpful or engaging. inch
Through their tenure from the CNCF working with software application designers from college students through to all grades of professional engineers, Dolezal explains how he or she sees coders get positively charged as a result of what he calls the ‘instant gratification’ that programming offers.
“If we have to define exactly what really makes development enjoyable, it probably comes down to the fact that coding allows people to experiment and explore their own deepest code curiosities : and that often happens inside a personal journey whenever someone wants to fix points, or make the world much better in a few way. That’s not just fun, that’s good karma too, ” added Dolezal.
For his money, all of us need in order to build software systems, systems and tools that deliver a positive creator experience, due to the fact this factor is now essential in everyday software program workflows. Dolezal concludes simply by pointing out there that inside any given software project, there are usually always numerous moving parts and components, so designer will lose momentum plus motivation (and the fun factor) in case they are constantly trying to debug a workflow.
Starting out there his working life because a software application builder, but now enjoying a successful ‘upgrade’ to chief technology officer at business cloud software company IFS is Dan Matthews . Swedish born Matthews still codes on occasion (because it’s simply fun, correct? ) and takes the hands-on approach to working with the programmers that create up the IFS community. Why? Because he knows what the long term impact associated with good (fun) versus bad software equipment leads to.
“It’s a known fact (ask any kind of software programmer) that a good developer experience attracts individuals to a software ecosystem, just as a bad experience can drive them elsewhere in pursuit of attractive, compelling, intuitive (and yes, fun) tools that will work they will way they want, ” explained Matthews. “This factor is especially important when enterprise organizations consider which software they will underpin their particular business upon. If they wish to attract top talent to implement, integrate plus extend their software stack, they should aspect in that this developer encounter that comes with it is enjoyable. ”
Matthews says that this rationale can be the validation for the reason why IFS has an entire team dedicated in order to developer experience. He champions the use of tools (software equipment and, provided his practical weekend pursuits building sheds, power tools too meant for that matter) that an user may depend on to get the particular job done.
“Whether we are creating software or a shed (I admit to having around twenty power tools, you can’t go wrong with a circular saw and an impact driver), we need to use equipment that work all the time which impose no waiting time for the user to take the next step. Whether its an user interface upgrade or perhaps a new roof, the same logic applies, ” said Matthews.
In terms of where this subject sits at a higher level, the more seasoned plus experienced software industry professionals may think of this whole discussion as some kind of mechanism designed to pander towards the whims associated with snowflake Generation-Z.
That’s (arguably) quite wrong. We should all enjoy ourselves – especially after the last three years of global change that still leave us along with inflation, infection and invasion as all of us look to close out 2022.
Going forwards, perhaps we all can hope for a time when more of our line managers will not just delegate work in addition to instruct us, they are going to also think about coming over (physically or virtually) and asking us if we’re enjoying what we’re doing. Who knows what expression they might use to do this, but let’s just hope they say something to show they’re thinking about this topic.
Are we having fun yet?