Having worked in the software industry for the best part of the past 15 years, I have developed a sense about fellow software developers. My observations are obviously anecdotal and are not backed by empirical evidence, but so is my claim to a scientific break-through in the field of software development humanities.
So it was the case that C and C++ developers were obsessed about the amount of memory used by their code. Assembly coders would lose sleep over CPU cycles and the number of instructions and Java developers could spend a good part of their professional life over how to split their modules and manage their dependencies. Delphi developers were the ones always telling us how Delphi was the first to do everything. C# developers always came from another programming language that was better in many ways than C# but just wasn’t paying enough and Visual Basic developers just wanted to get the job done as if there was no tomorrow (and in most cases there wasn’t).
I am a Generation X and have mostly worked with other Gen X developers throughout of my career. We love our cliques and niche interests and this shows in the programming languages of our generation. We made many different programming languages that couldn’t talk to each other, share libraries and were difficult to learn. Our standards were not really standards: When the web was everywhere we made web service standards that had many different patrons and even more extensions, additions and reviews and were never adopted widely or played nicely with others. Deep
down we knew nothing is done right unless we do it ourselves.
I now work with Millennial developers. Us Gen X folk were told off by our parents for wasting so much time in front of our computers, but Millennials manage to make web social so their parents waste even more time in front of their tablets poking each other.
The Millennial developers use a different breed of programming languages: They use programming languages that are social, about sharing and (mostly) cannot do things that are not standard. We spent our time protecting our code, they share it on Github. We made proprietary protocols for everything, they use REST and move on. We couldn’t reuse our own code after a while, they build gems for others to use without thinking.
What has changed?
It seems to me that the social and sharing nature of the Millennials has crept in to the programming frameworks they use. Rails, Django, git and Github, Node.js and almost any new programming framework that the Millennials make, have inherent sharing capabilities baked into them. And that’s how they’ve managed to constantly add value to one another’s work and make the world a better place. We have tried to copy this into our old programming tools but it’s just not the same. Take NuGet and .NET for example. It’s a not-always-working-add-on at best.
It is true that our generation made computers personal. We made programming languages friendly and computers less scary. But as generations go, we have to admit that the Millennials have truly taken it to the next level and managed to successfully mix computers and human beings into each other, even at the code level.
So Kudos and thank you Millennials!