Software Engineer Voulgaris. Farewell!

Ivan Svogor
3 min readSep 3, 2020

To get into this story, let’s imagine a modern glass office with a lot of books, reclaimed wood, standing desks, geeky pictures, whiteboards, etc. Mike comes to work, fires up his PC hooked up to a weird-looking circuit board (PCB), and starts writing code. Then, Jerry comes, goes to the kitchen to grab some fruit, and sits next to Mike. Jerry’s computer connects to a stereo camera and when it’s fully booted, he starts analyzing the equations, plots, charts… Carrying a huge coffee cup, May enters the separate office full of weird aquariums containing green algae and sensors. Her two, 27” screens show lots of bar charts, likely data from an overnight experiment.

Mike, Jerry, and May are colleges, going way back to their graduate studies. While they worked in different labs, they were all Computer Science majors and kept in good relations through the years. However, after graduation, they went to work for a new startup focused on a promising bioinformatics product.

* * *

Sounds like just about any start-up, with people of different backgrounds, working on an interesting interdisciplinary approach to a promising new product. Yeah, but no…

May is a Software Engineer by training, but she specializes in bioinformatics algorithms. She studied Computer Science, however, she was always interested in biology so she enrolled in a postgraduate study concentrating on bio-programming. She is a brilliant programmer, but due to the current project, she spends a lot of time reading up on Genomics, Cytology, Bacteriology, etc. Jerry is also a Software Engineer, however, his issue is not programming, but those damn stereo cameras. He needs to develop a specific solution but to do this, he’s reading up on Optics, Photonics, Differential Calculus, VHDL, etc. Mike is a Software Architect and he is in charge of designing a framework and glue code that puts everything together and provides a useful API for the Frontend Team. While you might think he has it easy, there isn’t much Mike can read about. He is an expert in engineering software, he knows all the design patterns, anti-patterns, best practices, architectures, programming languages, etc. However, only a fraction of this can be actually applied, since only a fraction of their code runs in a “normal” environment (you know, like, having a Unix-based operating system, x86 architecture, etc.). So most of the work he is doing kind of needs to be designed as they go along carefully managing how the final solution evolves, while accounting for maintainability, separation of concerns, technical debt, providing a pacifier for the management, etc.

Are all of them just Software Engineers? Shouldn’t they specialize in something? Should all Software Engineers? They already do? — So, are we living in an Era where Software Engineering is not enough? Is it the end of Software Engineer Voulgaris? No more l’software pour l’software?

Well, we know that Software Engineering is a vertical discipline, but simultaneously one can hardly deny that it’s also a horizontal discipline, and Industry 4.0 only adds to this claim as we need more and more specialized Software Engineers. Of course, Software Engineering will remain Software Engineering in its own right, but my question is, do Universities need to start offering Software Engineering curricula in collaboration with other disciplines?

Do we need a Biology Software Engineer, a Chemistry Software Engineer, a Mechanical Software Engineer, Medical Software Engineer, Psychology Software Engineer (AI?), … or, do we need to start teaching software engineering courses to students of Biology, Chemistry, Psychology, etc.?

Food for thought!

--

--