Generations of Developers Part Two

Episode 106

In the previous episode, we introduced the idea of generations from the social science perspective. Generations were shaped by certain events and shifts in technology and society. We explored Strauss-Howe theory of repeating cycles through history and dived deeper into characteristics of the Silent Generation, Baby Boomers and the X Generation. We have met some famous people representing those generations that made an impact on the shape of the software industry from the business and science perspectives alike. 

Today we will continue our journey through generations, starting with a closer look at Millennials, followed by Generation Z and Generation Alpha. We will also explore a bit of related anthropology, and talk about reverse mentoring as well as the challenges and opportunities of generational diversity.

The Millennials

Millennials were born between 1981 and 1996, which makes them 27 to 42 years old now. Strauss and Howe describe them as members of the Hero or Civic generation – entering childhood during a time of individual pragmatism, self-reliance and laissez-faire and entering adulthood during a crisis. Millennials saw live coverage of the 9/11 attacks that started the war on terror, rising environmental issues and the 2008 financial crisis. But most importantly, they were the first global generation and the Read the rest of this entry »

Leave a comment

Posted by on February 26, 2023 in History, Leadership, Technology


Tags: , ,

Generations of Developers Part One

Episode 105

In the previous two episodes, we have been exploring the world of individual differences and types of personality and dived deeper into one of many ways to categorize those types. It’s an interesting and helpful exercise as long as we keep in mind that everyone is different and requires an individual approach. Our personality depends strongly on the genetic lottery and our environment, especially during childhood and youth. Another interesting device we can use to better describe and understand people around us is the notion of the generation or demographic cohort they belong to. Age is just a number as they say, but aren’t developers ultimately the ones dealing with numbers after all? Today we will look at various aspects of several different generations we interact with, check what events and experiences shaped them, explore what might be particularly important to them and look for influential examples in the tech industry.

Generations conflict. Age gap. This is a really old topic. For centuries and millennia, there was a clash between parents and children, old and young, wisdom and experience, order vs curiosity, energy, rebellion and all that stuff. You can find papers on that dating back to antiquity. There is an ample pool of work about differences, but there is also an array of publications saying that it’s all bullshit and hurtful stereotypes. That you can’t look at a person through the lens of age group, put a label and just act according to it. So, how is it in the end? As usual, it’s somewhere in the middle. Generational differences do exist, but they are weak compared to Read the rest of this entry »

Leave a comment

Posted by on February 19, 2023 in History, Leadership, Technology


Tags: , ,

Archetypes of Developers Part Two

Episode 104

In the previous episode we started with four personality types dating back to antiquity, today known best under DISC theory, color-coded as Red, Yellow, Green and Blue and RPG-coded as Fighter, Bard, Druid and Wizard.

Today, we are going to take a closer look at the introverted spectrum of our fellowship – Druids and Bards, and look for synergies, different paths to reach a goal and the perfect party.

The Green Druid

Druids are the Stable type. They are on the introverted, calm and passive side but are interested in relations and people. Just not too many people at once and not for too long. They are team players -they care about others, and like to help, support, develop, heal, repair and restore. They hate conflicts so they try to de-escalate the situation or back off if things go too far. They speak much less than Yellows which leaves space for listening and they listen carefully and empathically. Read the rest of this entry »

Leave a comment

Posted by on January 6, 2023 in Leadership, Technology


Tags: , , ,

Archetypes of Developers Part One

Episode 103

Have you ever had this thought that you are surrounded by people who fundamentally don’t understand you? They may seem to be listening but just don’t get it? Or they don’t even try? They do everything wrong, too slow, too rapid, too messy? Are they just weird or over the top? Sometimes you would say that you are surrounded by idiots. Sounds familiar? Excellent, you came to a good place. 


In this episode, we continue to stray from technicalities into people’s territory. We will talk about four main personality types you can encounter in your fellowship, work, and life: Reds – bold and fierce Fighters who get things done no matter the casualties; Yellows – inspiring and charming Bards with an aura of enthusiasm and loud mouths; Greens – calm and loyal Druids who make sure everyone is okay while resisting all changes and Blues – analytical and distant Wizards who have an eye for details but sometimes just kill all the fun. We will see how to leverage their strengths, how to live with their weaknesses, how to Read the rest of this entry »

1 Comment

Posted by on December 11, 2022 in Leadership, Technology


Tags: , , ,

Impostor Syndrome in Software Development

Episode 102

Have you ever had this feeling, that you are not good, skilled, knowledgeable, intelligent, or talented enough to do your job? That everyone around you knows what they are doing, and you are just getting on by sheer luck, favourable circumstances, and deceiving others that you are better than you actually are? That it’s just a matter of time when it will be discovered that in fact, you are a fraud, a phony, and an impostor? Well, my friend, you are not alone. Depending on sources, it’s said that up to around 90% of people in the tech industry had experienced impostor syndrome at some points in their careers and over 50% are dealing with it currently to some extent.


Image by tian zi

In this article, we are going to look closer at the psychological pattern known by the names of impostor syndrome, impostor phenomenon, or fraud syndrome. We will explore some backgrounds, try to answer why it’s especially relevant to the software development industry, talk about a mechanism that strengthens it, explain why Read the rest of this entry »

1 Comment

Posted by on November 15, 2021 in Technology



The Evolution of Software Development Part Three

Episode 101

In the previous part of this article, we continued a journey through important milestones in the history of software development through the eighties and nineties, including non-obvious influences of Gamers and Hackers, Version Control, Open Source, Common Runtime Environments, Virtual Machines, Agile, DevOps, Continuous Integration, and Automated Tests.


Image by Jose Borges

In this part, we will mostly explore what happened in the last twenty years, but as usually some of the concepts can be traced back to earlier times. As previously, we will be interested not only in pure technology but also methodologies and organizational ideas.

Extreme Programming and Software Craftsmanship

Prominent methodologies within Agile software development like Scrum or Kanban, provided some organizational guidelines over the process, which while very useful, is not very specific on the technical side. While navigating various simple and complex organizational ideas at the top, the industry was seeking a decent codification of good engineering practices at the bottom. One such approach was Read the rest of this entry »

1 Comment

Posted by on September 13, 2020 in History, Technology


Tags: ,

The Evolution of Software Development Part Two

Episode 100

And here we are, dear reader, six years and one hundred episodes later. The idea and form of this blog did evolve a bit over the years, from being a diary of a project through a collection of book reviews, conference reports, introductions to various IT technologies and concepts, article series on Spring, AWS, and web API design. There was digging up in history, a little bit on hardware, a little bit on people, and a little bit on dragons. There is not so much Java here anymore, so in the retrospective, one might think that the blog name is not exactly adequate. We all have our roots and backgrounds though and I’m kind of a sentimental person.


Image by Sergey Vasnev

We are also in the middle of another journey here. In the first part of this article, we traced the early history of significant milestones in the evolution of software development, starting with early achievement in computer science and first hardware through Assembler, recognition of Software Engineering, Compilers, Unified Hardware Architectures, Object-Oriented Languages, Design Patterns, Personal Computers, IDEs and finally The Internet and WEB APIs. We assessed how all that created and shaped the IT industry through the decades. In this part, we will catch up with the timeline somewhere between the eighties and the nineties and traverse towards a new millennium. Software development as an engineering discipline has changed a lot over this time as well. Several key phenomena fuelled those changes, and we are going to explore them right now.

Gamers and Hackers

Perhaps one of the most overlooked aspects of stimulating the growth of software development is computer games. Many people are not aware, that the computer games industry nowadays is worth over twice the film and music industry combined (154B vs 41B + 19B in 2018) and is growing at a 10% yearly rate. This has several consequences. Read the rest of this entry »

Leave a comment

Posted by on August 5, 2020 in History, Technology


Tags: ,

The Evolution of Software Development Part One

Episode 99

In the previous episode, we were discovering a history of cloud computing. Today we are going to continue with a historical theme and take a closer look at how software development changed over time. The art of software development is well over 70 years old now. Comparing with classic engineering disciplines, like building bridges or roads, one could say that it is still an infancy stage. The pace and extent of changes it had undergone are astonishing though. Numerous sources are focusing on the history of computers, programming languages, and software architectures, but in this series of articles, we will focus on how the craft of creating the software itself evolved and analyze a number of ideas and breakthroughs that had left the most significant imprints on it.


Image by Hongqi Zhang

Software development evolution is of course woven in computers, programming languages, and architecture evolution but it is much more. Numerous tools, techniques, movements, processes, and practices accompany it. Everything for the sake of efficiency and being able to deliver value faster and more reliable in the ever-growing complexity of modern technological stacks. The value itself evolved with growing possibilities as well.

Early Theory and Practice

Any tale related to the history of software would be incomplete without mentioning Ada Lovelace, widely recognized as the first programmer, well before any computers were physically built. She is famous for her theoretical work on general-purpose calculations on Charles Babbage Analytical engine in the 1840s. The machine itself was not constructed until Read the rest of this entry »

1 Comment

Posted by on July 22, 2020 in Technology


Tags: ,

Cloud Computing History

Episode 98

We talked about cloud computing quite a lot here in the past. We started with an introduction in Episode 57 and then focused particularly on AWS cloud, starting from Episode 64  and following with a series of 13 Episodes up to a conclusion with tips on how to pass some certifications in Episode 83. Today we will look back a bit and explore milestones in the IT industry that led to the emergence of cloud computing platforms as we know it today.


Image by Thomas Chamberlain-Keen

We will look at many factors and concepts that have played a crucial role in disrupting the industry across last six decades, including time-sharing mainframes, the birth of the Internet, virtual machines, containers, Software as a Service, Platform as a Service, Infrastructure as a Service, Read the rest of this entry »


Posted by on March 22, 2020 in Cloud, Technology



Web API Design Part Eleven: Miscellaneous

Episode 97

Our API design journey was long and adventurous, but we are getting to the end of it. This is the final installment of the series and will include all the little things I had difficulty classifying to any previous chapters, or that I have forgotten about earlier as well as some closing thoughts. If you don’t know how to name a chapter or a presentation slide with a random list of tips – you can always slip away with “miscellaneous”.


Image by Grosnez

It took a bit longer than usual, I know. Last few months I had a big project called “let’s pass another cloud certificate” and I decided to focus on that. Before we continue, with our final piece of API design thoughts and ideas, let’s briefly recap what we did up to this point.

The Road So Far

Formally, it all started ‎on Tuesday, ‎22 ‎August  ‎2017, ‏‎10:57:40 AM, according to Google Drive doc creation timestamp. I’ve created the first doc with notes, preparing to do a talk on web API design on the occasion of opening a new office of my company. I repeated this talk several times later and meanwhile decided to reforge it into a series of articles. Originally it was supposed to be three of them, but as you can see, I’m not the best at estimations. The first article was Read the rest of this entry »

Leave a comment

Posted by on June 16, 2019 in API, Technology