Skip to Content

I felt a great disturbance in the Force, as if millions of voices suddenly cried out in terror and were suddenly silenced.” – Obi-Wan Kenobi, sensing the destruction of Alderaan

All the non-Star Wars fan please condone the cheesy quote, yet given that the majority of the target audience community are geeks and nerds it kind of feels appropriate to use it as a metaphor for what happened yesterday. It all started with a simple tweet:

Oh my, that surely doesn’t run well with me. I’ve spent years honing the craft of software engineering and I believe it’s far from being childsplay! Hence my reply:

It turned into a lively discussion on Twitter (incl. Jan Penninkhof, DJ Adams, Frank Koehntopp and Ian Daniel) and during the course of the conversation it turned out that Tom was actually ranting about something slightly different: the fact that the business does not value code quality and as such hires the cheap hacker, rather than the experienced software engineer. Yet it may be best if you directly hear it from him: Is there still a future in development? by Tom Van Doorslaer

As said, I take the opposite view on that controversial matter. I believe that the golden era of software engineering is yet to come. Here’s 3 reasons why:

1. Software is eating the world

In the meanwhile this article by Andreessen made its round and while it may got a bit dull from overuse, his rationale remains valid: going forward everything will be driven by software. Everything… and while the numbers differ from one prediction to the other all analysts predict that the number of devices joining the internet of things will greatly outnumber us humans. Consequently, developers will remain a scarce resource. Sure, the absolute number of developers will grow tremendously, yet the demand will exceed the number of available human resources in the coming years! (Who came up with that term anyway?!?)

2. The Platform Wars

It already started – what happened in the mobile space will repeat itself in the enterprise software space: that platform wars already rage! Cloud computing is taking over (see The Cloud Platform Play) and we see a shift from heavily customised on-premise systems towards standardised SaaS (Software-as-a-Service) solutions. With that trend there’ll be a shift in the type of software in demand. I do see two extremes here: on one side there’ll be a huge demand for simple, business-savvy applications running on these platforms (very similar to your typical ABAP program these days) and on the other side there’ll be a small number of extremely complex technical projects to address the infrastructure challenges accompanying the digital era.

/wp-content/uploads/2015/05/golden_era_713208.png

At the moment topics like Big Data (see lambda architectures) and elastic cloud architectures dominate the technical spectrum, and developers with these skills do earn a premium salary. Can’t predict the next big thing (firmware for embeddable nanobots in the age of Singularity?), but if there’s one thing I learned working in IT it’s that there is always a next big thing just around the corner (and the speed of innovation is accelerating!) So, there will always be a space for knowledgable pioneers…

However, let’s get back to the shift in application types. As stated, I see two extremes… complex custom coding vs simpler standard solutions. The big platform provider will address the later. They’ll probably use a fabric approach to address the common requirements for enterprises. Their cloud platforms will make it easy and quick to develop business-logic applications based on a comprehensive set of technical capabilities provided by the underlying platform. That’s the promise of Platform-as-a-Service: to free developers from having to solve all the complex challenges of enterprise-grade software and allowing them to focus on developing the required business logic. This is what made R/3 and ABAP so successful. These people will not need to know much about proper software architecture, fail-over mechanisms, disaster recovery, elasticity, etc. And yes, I’m sorry to say … that’s not gong to be a very comfortable position (see A Call to Arms for ABAP Developers by Graham Robinson.)

At the other side of the spectrum will be custom coding. Here, experienced developers will be required! A huge portion of this space will be about integration. Complex system landscapes and custom requirements will be the norm. To be successful in this space you’ll need to be sort of a polymath and capable of holding your ground on an aspects of software development. You need to be able to derive solutions based on customer requirements and that will require both technical and soft skills. Both things you only learn through experience.

However, there’ll also be demand for developers developing both the next gen of SaaS solutions and technical software (e.g. firmware, adapters, etc,.) I believe that there’ll be plenty of smaller companies that will claim a white space and use their expertise to position themselves. In the platform area the early bird has a great advantage and a good chance to establish themselves as the goto solution in a specific vertical market. I’d expect that to be a very lucrative business and a very comfortable job for developers as well.

3. Survival of the fittest

Now, that argument counts double: once for companies, once for individuals. Let’s talk about companies first. As I outlined above, the sweet spot will be in custom coding. With a standardised core, the main area to differentiate yourself from the competition will be through unique processes that separates you from the crowd. Here time-to-market will be crucial! Furthermore, companies will treat this very area very carefully as this is their biggest advantage. Do you truly believe that companies will put the future of their companies at risk by handing it over to the hands of script kiddies? See! As one of my mentorettes (Marilyn Pratt) once put it so eloquently:

“People do business with people they trust!”

The only way for companies to get/stay ahead of the competition is to constantly evolve and stream-line their business. It requires a very skilled team of developers to create and maintain an extensible application that is both flexible and robust. Companies will bring their A-team to the job!

Which brings me to the individual level. Every smart developer will know his market value and charge the respective price. Hence, companies will get what they pay for. In my career I witnessed it multiple times that we lost a bid to a cheaper competitor and a year later the customer came back desperately. On that matter, I just attended the Mastering SAP Technologies conference in Melbourne and this topic was omni-present. From what I can tell, those (and I won’t put them on the spot here, you know who you are!) that have been able to build a reputation for delivering quality work are in high demand.

Wrap up

All of the above makes me confident that the golden era for software engineers is yet to come! Furthermore, I have no doubt that people like Tom will be the ones leading the charge – he’s just that type of guy companies will be looking for! And while I haven been ranting about the current position of developers within a company’s pecking order for the longest time myself, I came to the conclusion that things will change for the better.

At the end of the day I have to agree with Tom’s closing words:

“So I’m not saying development has no future whatsoever, but it’ll be very different from what we know today. A freelance developer will have a hard time making a living, no matter how talented he is. Successful developers will have to be more, than just developers. They’ll have to be architects or entrepreneurs. And that is no easy task.”

Right! Yet, it was always like that: technical skills won’t be enough. Never was, never will. So, you better skill up – NOW!

Or what do you think? Do you share Tom’s view or mine – would love to hear what you think!

PS: One more thing… there’s one argument that Tom brings up that I have to comment on, which is software being a virtual business. Absolutely! Yet, I believe that’s one of the things that make the job as a software engineer so attractive – the fact that we can work from anywhere as long as we have a reliable internet connection. Many seasoned developers do get to work from home, some even travel the world and work from wherever. Yet, of course that requires trust between the developer and the employer. How do you establish trust? By proofing your value… over and over again! There you go…

To report this post you need to login first.

10 Comments

You must be Logged on to comment or reply to a post.

  1. Robin van het Hof

    See, the only way for companies to get/stay ahead of the competition is to constantly evolve and stream-line their business. It requires a very skilled team of developers to create and maintain an extensible application that is both flexible and robust. Companies will bring their A-team to the job!

    Unfortunately, this is what people tell me since the mid-90’s, and I rarely see them bringing in their ‘A-team’

    As such, unfortunately I have no high hopes they will act any different in the now-software-driven world…

    The only way I see software quality / developer satisfaction increasing is if companies finally realize their old habit of going to the cheapest bidder will bite them in the arse. Then again, I have first-hand experience they also seem to have a sadomasochistic preference to be bitten, repeatedly…..

    (0) 
  2. Tom Van Doorslaer

    Software is eating the world: yes, absolutely. Which means you have to go beyond the basic software skills.

    You either find a very specific niche (which ABAP was), or you go broad and become an architect.

    As a niche player, you could create software packages and resell them.

    As an architect you can guide the entire IT vision of a company and integrate those packages.

    With the cloud, if you want to be a niche player, you have to up your game and partially become an architect yourself. Then you can build apps in the cloud, integrated on-prem, with mobile front-ends etc…

    If you’re at that point, you’re set, because you can put your app on the marketplace and resell it. (So now you also have to be an entrepreneur)

    See where I’m getting at?

    Knowing how to program brings you nowhere. You have to know how to program, integrate, know the market to identify missing functionality and be an entrepreneur to sell your product/service.

    At the end of it, we’re talking about the same thing, just from different perspectives. you from the exciting possibilities with all the new toys (I love those toys just as much), me from a consulting perspective, trying to sell projects with all these new toys.

    And that’s where the issue lies: The classic consulting/project model, does not work well with all these new toys, because you NEED that dedicated A-team, but an A-team is too expensive for most, spoiled, customers that were always able to find cheap ABAP’ers.

    In order to make money out of these new shiny toys, you first need to invest to build resellable products.

    (0) 
    1. Matthias Steiner Post author

      At the end of it, we’re talking about the same thing, just from different perspectives. you from the exciting possibilities with all the new toys (I love those toys just as much), me from a consulting perspective, trying to sell projects with all these new toys.

      And that’s where the issue lies: The classic consulting/project model, does not work well with all these new toys, because you NEED that dedicated A-team, but an A-team is too expensive for most, spoiled, customers that were always able to find cheap ABAP’ers.

      Right. That’s what I figured when I read your blog. 🙂

      Yes, times are changing… and consultants and SIs sure have to adopt to a new SaaS-dominated world. The whole industry will have to adapt… give it some time and keep honing your skills. You’ll be among those well-equipped for the ride ahead! 

      (0) 
    2. John Patterson

      i agree with you Tom

      The classic consulting/project model, does not work well with all these new toys

      Well kind of – the classic consulting model used to be based around Strategy, Delivery, Training and Support, the modern model seems to be diluted down to project work only.

      I was also at Mastering Technologies conference this week and I talked to a couple of the niche SAP technologies consultancies, the conversations were similar to your comments above, they have what they consider an “A-team”, they don’t want to get into a “race to the bottom” with lesser competitors and worse E-lance and Fiver. They know full well if they do sacrifice on price they will lose both the work and the talent. They have decided to change their business model and focus on becoming Product companies.

      IMO consultancies have to pivot into products/productised services or find alternative revenue making streams.  If they want to stay in the consulting business they will need to focus on a few different strategies beyond projects alone, strategies which lead to the good customers knocking on their doors.

      (0) 
      1. Robin van het Hof

        If I may add to your last paragraph, I see a productized service also as “consultancy as we did before” but for a fixed price instead of hourly rates.

        In this X-as-a-Service era, where customers are more and more accustomed to subscriptions and knowing beforehand what something will cost, offering fixed prices is only natural.

        And — especially with these A-Teams — fixed prices have some significant benefits; for the consultancies, as well as their clients

        (0) 
        1. John Patterson

          Robin interesting conversation

          wrt Fixed Price

          I think customers initially miss the distinction between price and cost.

          Price is what you pay one time, cost is how much you pay ongoing for the life of a product or service.

          Often with custom development price has an inverse relationship to cost.

          Lower the price the higher the cost and vice versa.

          The consultancies i see being being most effective in the “new toys” area are doing fixed ( price / scope / capped time ) work as opposed to T & M

          But rather than competing with others on price, they are getting in there before the customer starts the RFP process. Educating their customers on the value of the technology and the value of doing it right, using leverage like blogs, newsletters, training, strategy workshops etc. getting the customer to see them as “experts” and this quantifies why they should pay more.

          My point customers will know the difference in quality eventually and will work out the inverse price to cost ratio for new tech, its obvious especially to the users and IT Support.

          the other big difference i see is that proposing Agile is actually an easier sell than Waterfall.

          Waterfall or big bang implies a lot more risk for both Consultancy and Customer, Agile is iterative, no big bang, better quality and better fit === less cost of ownership

          I am not sure why but a lot of consultancies are very scared of Agile.

          I like the subscription part you mention, get them used to buying based on a price tag, for example a customer is far more likely to hire you to do the project and pay the price you pitch them, if they bought the training, or an off-the-shelf prototype or other service etc. before.

          Kind of product ladder, they start off on the first  small step (e-book, team training or  other leverage) and keep climbing higher and higher (project, support, retainer, product etc), the risks are mitigated based on previous experiences or customer testimonials.

          JSP

          (0) 
  3. Manuel Robalinho

    Excelent article.

    When you say “ the fact that the business does not value code quality and as such hires the cheap hacker, rather than theexperienced software engineer. “

    Today we have bad writters code, and bad software analist. We can see that whe we open the code and see the barbarie! Look some examples in SAP code, and tables SAP….

    Unfortunally we create this developpers!!!!!

    (0) 
  4. Ekaterina Bondarenko

    Thanks for the article.

    People sometimes mix coding and developing. 🙂
    Coding becomes really a childsplay, developing was and is always being also an architect or entrepreneur. Coders also have a future but it is not a developer golden dream.

    (0) 

Leave a Reply