Software is a very fluid realm, and the ebbs and flow move quickly. Moore’s Law in hardware is dragging software with it, if the software isn’t already pushing the hardware itself. Often people ask, what’s next?
Days Gone By
I remember when I first started as a Software Engineer back in 2000. I cut my teeth on C++ and the spiral model of design. The internet had not quite exploded as it is now and the .NET framework (one of my primary development technologies today) didn’t exist. Software for U.S. companies was still primarily developed within the United States.
I didn’t have to imagine much about the future of software in my little corner of the world. The future was coming to me, as I had to learn new technologies left and right to be able to keep up. In the software world, continuous learning is a requirement. No one likes having to work with outdated stuff.
Carpe Diem
Now there are lean/agile methodologies, and I’ve become a Product Owner. My tool sets include story mapping and acceptance criteria, instead of pointers and structs from “the good ol’ days”. After 13 years in the industry, I’ve picked up a thing or two. I’m starting to see the bigger picture. When developing code, sometimes you have blinders on and miss the forest for the trees. In my Product Owner role, I try to make sure that my teams see that big picture; where their piece fits and why it is important. Knowing how the end user is affected gives the developer that empathy and drives them to bring out the best in their software.
But creating that software is different. Software now is getting to be more and more of a commodity. The days of selling a software CD in a box for $50 a piece is about gone. Everything is going digital distribution and micro-purchases. Smart phone apps are $0.99. Large swaths of software are being farmed overseas because the manpower is so much cheaper (but, in general, I contend you still get what you pay for).
Back to the Future
I see software development getting back to the roots of innovation and design. In the early days of computing, we had a laundry list of things we wanted to hand off to computers because the number crunching aspect. Hardware and software exploded. Now I feel the boom has subsided and a new wave is coming. An intellectual wave of finding the right problems with the right solutions.
Software is everywhere. In your car. In your phone. In your appliances. People are embedding chips under their skin or their pets skin with medical records and/or identification. But interfacing with all of that is being done by “normal” people today, not just the techno-nerds like in the past. Problems of the future entail refining the piles of duplicated software into something meaningful with a good user experience. Software needs to help someone accomplish a task quicker and easier. Software shouldn’t add complexity; it should just work.
Cliches abound: new challenges await just over the horizon where the possibilities are endless. As a Product Owner, I feel I’m getting in the right position to be able to impact software in the right ways. That might be with new software processes or helping brainstorm the newest innovations. And as new ideas come (and they will come), I’ll be there learning and adapting. Maybe I should brush up on thinking 4th dimensionally.