DEV Community

Asim Aslam
Asim Aslam

Posted on

The end game for developers

Something I often wonder is how we're stuck in this pre-historic phase of software development. Where technology has largely advanced from a consumer experience standpoint, but as developers it feels like we're moving at a snails pace.

The languages of today remain largely unchanged. The frameworks which appear continually offer the same experiences as those that came before them. And every so often we develop new technologies which create a "paradigm shift" which ultimately sets us back 10 years as we have to build the same tools again for new platforms.

As a developer and former systems engineer, I'm tired. I'm tired of the same old same old. I'm tired of building the same things as I built before. I'm tired of constantly reinventing the wheel because we decided to use a different technology stack or because we want to learn docker, kubernetes, Go or whatever the next new hyped thing is.

Ultimately I feel like software development is at a standstill. And the reason why we only have 24m developers in the world is because we're not progressing. We're not evolving. I believe this has to change.

I think the end game for developers is really to turn every human being with a mobile device into a developer. This requires a fundamental change in how we design programming languages and tools. It's a first principles approach no one dares take.

What is the end game for developers? Let us know your thoughts.

Top comments (8)

Collapse
 
ssimontis profile image
Scott Simontis

Patience, young Padawan! Think about how slowly linguistics has evolved for the human race...when you compare that pace to computing, we are moving at the speed of light! Linguistics isn't always very logical either, certain aspects of a language just get reinforced more often than others.

We've had noble attempts like Esperanto to unify language that simply haven't caught on, which you could almost compare to attempts today with using JavaScript for the full stack. In that regard, we probably have made more progress than linguistics!

I think all we can do is keep teaching and coding. Reinforce good habits, exchange information freely, and be willing to try new things! I look at it like I do my poetry...I don't want to become rich or famous from my writing (money would be nice tho), the ultimate goal is to express myself and deliver something others can relate to and share an emotional experience with them. Programming is a chance to express myself and show others how I make sense of the world around me, and hopefully it makes sense to someone else.

Collapse
 
anwar_nairi profile image
Anwar • Edited

Agree but disagree!

I think you being tired comes from the framework fatigue that strike us all. Look Angular uses Typescript, oh look Electron, oh man get this out, React Native. Wow look back, Angular 8...

I get it, but 2 things came into my mind: IT is not a perfect science like Physics where truth have to be found. Computer programming is more a creative way to use tools to develop new, innovative tools. A tool making tool, like Legos.

We are actually working with patterns, finding which one best fit the most use cases possible. We are not advancing in term of pure technology but in problem solving we have made giant steps. Just look now, SPA PWA app-like web app, and SEO friendly. You would never bet that we could access the Bluetooth hardware from a tiny HTML and Javascript page but here we are now!

That's why I understand, but we will keep it like this until real hardware breakthrough like 5G, quantum computing, In-memory persistant data storage, and others technology that opens up the field of the possibles...

Let's pray Dev.to prosper in 10 years, revive this topic, and let us see what new amazing techs emerged 😁

Collapse
 
carmatrocity profile image
Carmen H. Andoh

Super interesting question Asim. I see it as "there is no destination, it's all about the journey."
Software is never done in the same way that fitness is never done. Just because we switched from running to yoga, and yoga to cycling, doesnt mean we do it once and are in shape forever. You still need to the work of keeping the body machinery in shape,or it will atrophy. Same woth nature. Mowing the grass this week doesnt mean you never have to again. I see mechanical systems as being the same as living systems. There is no end game. Only chopping wood and carrying water, forever.

And I very much think we are are evolving...as a fellow sysadmin, 6 years ago I was in data closet racking and stacking switches and routers and blades. Standing a server fleet and being responsible for their uptime was hell. Oncall during a power outage was stressful. Configuration drift was hell. Not version controlling it all was hell. Patching and deploying was hell. We have come light years for the practice of operations in just 6 short years... the same for developer practices. CI/CD can be managed in a single YAML file in your browser... for free. Scaling your app is a one-line command from your laptop, or even better, automated self-detecting, and self-healing. You dont need to get purchase orders for new hardware and wait for IT
.. I look forward to telling these old fogey stories to the youngins too, "back in my day"... you just need to step off the treadmill. If if it felt like you didn't go anywhere, changes happened nonetheless.

There are 24 MM developers in the world. 5 years ago it was 18.5 MM. I cant find the data for 20 years ago, but I know that our industry has 12.5X more growth than any other. And it has been around for only 80 years.

But I feel your sentiments. I am tired of new shiny too. But as I mentioned, this is the nature of things. There's new shiny in tech (put it in a container! Orchestrate those containers! Data plane and control plane the orchestrators, service mesh the control plane for your data plane!) I see this happening in diets (keto is the new paleo, paleo was the new Atkins), in fashion (hi rise is the new skinny jeans, is the new bell bottom, is the new wide leg).

And on and on the wheel turns. There is no end game.

Collapse
 
kayis profile image
K • Edited

I have the feeling this is already happening.

My girlfriend programs text generators to generate thousands of product descriptions and business analytics documents and she is basically a marketeer.

Her friend is a designer and programs Arduinos and processing.

I see my future job as computer scientist in general and programmer mostly in teaching non CS people how to code.

Collapse
 
nicknapoli82 profile image
Nicholas Napoli

I would argue the following. Your headline is an eyecatcher, but really much todo about nothing. Because you are right. We, as a software development industry have not provided anything of any real tangible value since 1985 by my estimate. Everything that appears amazing shiny and new is really just a hash collision with something that already existed years ago. This includes the idea of containers. Docker... Fortunately the hardware has caught up with these things to make them real and valuable.

Unfortunately every step forward we think we take now. Is really conflating progress with stagnation, but I fully support the attempt and the ideas from everyone. Good and bad. This has been the case for many years, much to the chagrin of new developers coming into the industry.

I fully suspect the stagnation will continue until we, as an industry, realize that we have two options. Embrace the insane intelligence that came from those in the early years of computing and build on those ideas, or simply reinvent the wheel with more new and aging things which are only a facade guised as progress.

Collapse
 
bigbeneco profile image
Venancio (Ben) T Zunigo

I agree whole heartily, and turning everyone into a programmer is a project I have been working on starting as recent as a few months ago. Not just make another tool or programming language, but rethinking the nature of programming and the nature of language itself.

While I would love to talk in detail about what I am working on, as anyone who is passionate about their project would naturally want to do; I will refrain from going into details until I have a version of my project that I can demo and copyright. But what I will say as to what it would take to make a universal programming language possible (things my project have achieved so far) include: 1 to be both intuitive and powerful, 2 allow for dynamic top down creation and editing, and 3 to be painless to transition to and universally supported.

When I say a universal language has to be both intuitive and powerful, I am saying, something (such as my current project) should be able to handle natural language (as Scott S. warned to be probably the slowest aspect of any language to be adopted), requiring nothing more than a single power point slide example to learn the language, and with only a few commands, do what took 100+ lines of code could do with other languages. I find something that helps with making a language more powerful is to make the language a top down language, something that allows you do design and sculpt ideas with, hot swapping parts to test out different ideas, rather than slowly build up a foundation and tools to create your ideas.

A major concern would be, not only developing a powerful language, but having so that it is painless to integrate. The less BS it takes to get up and running, the less reason people and companies have not to adopt a superior language. It should be a single download, run on any operating system on any device, and still allow veterans to continue to use the other tools they are comfortable with. Anyone who is interested, skilled or not with programming, should be able to hear about it, and after a quick search and download be able to make a program within the first 15 minutes of first hearing the name. Being able to capture peoples inspiration at the peak of their initial interest may be the key to launching a new language to the top of the charts, for both programmers and non programmers. While this seems unrealistic, it is something I have so far managed to handle well with my project (and is the primary reason I will not release any details until I have a version I can copyright).

After that, I guess when everyone is a developer, it would be more like everyone’s an artist rather than a designer, and since the origin of my project was actually me working on a custom game engine, I would expect one reason people would start using such power (to develop) would be to create things to share with others, such as small game projects. I have a friend who wants to make a new rpg system and I am hoping my language will be the tool they’ve been looking for to help them make their idea come to reality.

Some times thing (such as cooking) is both a science and an art. It’s a science because we have to figure out what makes something good or bad. It’s an art when after we learn the science and the rules, we then know how much free room we have and what rules can be bent or broken to allow for room for creativity. A skilled programmer can become an artist while others are still stuck at the science stage of gaining skills with programming. If my idea of a universal language is as powerful and intuitive as I think it is, and top down enough that not even having a technically oriented mindset is needed, then the science stage can be mostly skipped for most people.

Building on top of the idea that future devs may be more like artist than engineers, one thing I am working towards is embedded compiling. Essentially, a built in command line found in some games. In order to allow for powerful user input and control should game devs allow it. Mostly useful in RPG games that need to be flexible, be it table top or a vr game such as described in the novel/manga/anime series Overlord, but to be powerful it would have to use the same universal language system as what was utilized to create the game.

Can you tell you managed to start a topic I have an invested interest in? ;D

Collapse
 
adam_cyclones profile image
Adam Crockett πŸŒ€ • Edited

My two cents: Go and write some games or other similar to development activities, learn some antiquated language that doesn't benefit your career, because it's not all framework and new stuff, Lua would be a good fun easy one, mentor people, all that may change your outlook?

Collapse
 
eriksk profile image
Erik Skoglund

Imagine how theoretical physicists feel :D