Linked by Thom Holwerda on Mon 17th Jun 2013 17:52 UTC
Games "MineAssemble is a tiny bootable Minecraft clone written partly in x86 assembly. I made it first and foremost because a university assignment required me to implement a game in assembly for a computer systems course. Because I had never implemented anything more complex than a 'Hello World' bootloader before, I decided I wanted to learn about writing my own kernel code at the same time. Note that the goal of this project was not to write highly efficient hand-optimized assembly code, but rather to have fun and write code that balances readability and speed. This is primarily accomplished by proper commenting and consistent code structuring." Just cool.
Permalink for comment 564969
To read all comments associated with this story, please click here.
RE[7]: Comment by aligatro
by Alfman on Wed 19th Jun 2013 14:40 UTC in reply to "RE[6]: Comment by aligatro"
Member since:


"In the SMB space the demand for developers went from minuscule to huge and the costs of development went down. All due to less need in early optimisation."

The demand for IT overall has grown, but the rising tide hasn't been evenly distributed for skillsets. The overall demand curve has skewed significantly away from the "hard cs" skills that used to be absolutely essential for software development.

"And why would you think that these skills are suffering from atrophy? The software development market has expanded and got diluted. I could bet a lot, that the number of people with these skills only increased with time. Not as fast as the total number of developers, but still."

Don't get me wrong, there would be many developers who would be capable of employing such skills, but the need simply isn't there in typical modern jobs. Historically companies that needed features (compression/encryption/image decoding/code optimization/etc) in their software would pay for developers to bring those specific skills in house, even to the extent of paying directly for university costs, which is just about unheard of these days. It isn't that the need for these features has disappeared, it's just that they've been commoditized and are already available in highly efficient libraries that cost far less than inhouse developers, are of better quality, and are available for immediate use.

Today, developers aren't expected to know anything about JPEG compression in order to use them in software. It used to be that every software producing company would use it's own inhouse database engines, today virtually no SMB companies do this anymore. Few companies that want virtualization will hire employees with the skills to implement their own hyper-visors. Most companies need to use cryptography, yet few are hiring developers with skills to build/understand implementations in house any more.

It's generally good that we get to reuse higher quality software without having to rebuild the wheel over and over. But at the same time we have to recognize that demand for these kinds of hard-CS skills have been wayning overall as commoditization has gone up. That's the point I'm trying to get through. It's obviously true that developers are needed to implement these features, which are still very important to business. But unlike the past, SMBs no longer seek to fill that need with inhouse feature implementation specialists. These jobs have been replaced by systems administrators of various kinds and what I'll call "lightweight coders", who are good at putting together existing software components to meet the needs of the business.

Edit: I may be coming off as insulting, which isn't the intention. I myself am a lightweight coder by my own definition at my day jobs. It's not that I'm unskilled or incapable of hard-CS, it's merely that these clients are only interested in filling lightweight coding needs in the first place.

Edited 2013-06-19 14:51 UTC

Reply Parent Score: 2