Tim Bray has a great post discussing the state of software development in 2014. ?I found myself nodding in agreement virtually all the way through this one, mainly about client-side development for mobile and the web.
The client-side mess ? Things are bad. You have to build everything three times: Web, iOS, Android. We?re talent-starved, this is egregious waste, and it?s really hurting us.
A bit about mobile:
Mobile sucks ? I?m going to skip the differences between Android and iOS here because they?re just not that significant in engineering terms. Anyhow, here?s the suckage.
- First of all, you have to do your mobile development twice.
- The update cycles are slow. Days in the case of iOS, hours for Android (compared to seconds for browser-based apps). What?s worse is that you can?t even count on people accepting the mobile-app updates you send them. Got a critical data-losing account-compromising privacy-infringing bug? Sucks to be you.
- The devices are memory-starved, CPU-starved, and battery-starved.
- There are loads of form factors and it?s getting worse.
- You don?t get a choice of languages; if you hate both Java and ObjC, get another job.
Bottom line, client-side development is a difficult place to live but server-side is more stable. ?I have felt this way for a long time, client-side makes me cuss and server-side makes me smile. ?
It?s a good read.