The Bulk of Software Engineering in 2018 Is Just Plumbing
...that argument has been around for as long as computing itself, and it&#x27;s no more true today than it was at any point in history.<p>If the microcosm you&#x27;re in is CRUD systems, that argument may be valid, but I think the author is overgeneralizing if he equates CRUD to the sum total of everything there is to Software Engineering.<p>There is a constant lifecycle in this:  A new idea is born or first becomes technologically possible.  At that point it&#x27;s very difficult to put the idea into reality, but the demand is so pressing that the market will pay whatever it takes for individuals to live up to the challenge.  Then, gradually, it becomes commoditized and, eventually, everything that&#x27;s left to do is &quot;plumbing&quot;.  ...but at that point, a new idea will have been born or will have become technologically possible for the first time ELSEWHERE, and the REAL MEN will have moved on to that (leaving behind only the QUICHE EATERS to do the plumbing work).<p>So, if you&#x27;ve been in the field for a long time, your career path might have looked like:<p>Writing CRUD systems on IBM host systems in the 80s, when that was still an intellectually demanding job, because you wouldn&#x27;t have learned programming at university as programming wasn&#x27;t yet a thing, but you still managed to learn what bytestreams to send down some line to make an IBM terminal show a number in red or green, and you did it in PL&#x2F;2, a programming language that hadn&#x27;t yet had a chance to learn the lessons learned from several decades of software systems gone wrong.<p>Writing some of the first pieces of internet banking software in the 90s.  Your employer, the bank, wanted to make damn sure they were not going to make fools of themselves by using this new and unproven technology in a way that would allow funds to be misappropriated.  So they paid you handsomely to learn everything you could about telecommunication technology, security engineering, encryption, etc because you actually had to manually code all that as there were no frameworks or libraries for that just yet.<p>Doing algorithmic trading software in the 00s.  Everyone else was ripping databases out of their systems because XML was the future, and the XML was processed by a java programme to run in a virtual machine to run in a container to run in a virtual machine to run on god knows what.  Since you still knew how to do real programming for real machines in a way that didn&#x27;t involve converting your data to XML and back, your software executed orders to buy and sell equity on the world&#x27;s major exchanges faster than anyone else&#x27;s, and you were paid handsomely for it!<p>Doing data science &amp; data engineering in the 10s.  Organizations had been run for several decades by numbers-driven people whose computing competence only reached as far as Excel.  The numbers-driven mindset did not go away.  But the data was now there in such quantities, and stored in such nonsensical ways, that everyone who was previously an Excel-guy now needed one or two of those data engineers at their side.  Also, because it now became possible to use the data to answer some pretty complex questions, those questions were now seriously being asked for the first time, and everyone discovered that they had been asleep at university during the lecture where someone explained what a standard deviation was.  So that&#x27;s why you learned everything you could about statistics, machine-learning etc etc.  You applied it, and you got paid very well.<p>So, what really sets you apart if you&#x27;re not just a software engineer, but a GOOD and SUCCESSFUL one, is that the stuff you&#x27;re working on is always the stuff that&#x27;s NOT YET plumbing, because it&#x27;s a major force right here and now despite the fact that nobody has seen it coming.<p>...I don&#x27;t know what the future holds, but I think I&#x27;ll be well equipped to deal with it, because THAT&#x27;s what real software engineers do and there&#x27;s no framework to do THAT.<p>On a side-note: Stack Overflow developer survey results routinely indicate that like half of the nation of software developers have been writing code for a ridiculously small number of years (like two?  don&#x27;t remember the number now).  If you&#x27;re one of them: The above argument does not include you.  You&#x27;re not a software engineer yet in the sense of the argument that I&#x27;m making, above.  But don&#x27;t feel bad about that.  Next year, you&#x27;ll probably switch to sales or become the pointy-haired boss of some REAL software engineers.