I\u2019m sometimes a bit starry-eyed about blockchains myself<\/a>) replacing the consumer-app founders of yore. I doubt we\u2019re alone in having had a spate of blockchain startup projects late last year and early this, which has diminished to only a couple active at the moment. (Not least because the tooling is still so crude it reminds me of 90s command-line hacking.) But I strongly doubt that sphere is going away.<\/p>\nWe haven\u2019t dealt with as many AI projects as I would have expected by now, probably partly because AI talent is still so scarce and highly valued, and partly because it turns out a lot of seeming \u201cAI\u201d work can be done with simple linear regressions rather than by building and training and tuning deep-learning neural networks\u2026 although if you do those linear regressions with TensorFlow, it\u2019s still \u201cAI\u201d buzzword-compliant, right? Right?<\/p>\n
Most of all, though, the tools we use have changed. Nowadays when you want to build an app, you have to ask yourself: really native? (Java or Kotlin? Objective-C or Swift?) Or React Native? Or Xamarin? Or Google\u2019s new Flutter thing? When you want to build a web site, you have to think: traditional? Or single-page, with React or Angular or Vue? As for the server \u2014 Go is a lot faster than Rails, you know, and oh, that elegant concurrency handling, but, oh, where is my map\/filter\/reduce? Javascript is still a clumsy language, but there are certain advantages to having one language across the stack, and Node is powerful and package-rich these days. And of course you\u2019ll want it all containerized, because while Docker definitely adds another layer or two of configuration complexity, it\u2019s usually worth it.<\/p>\n
Unless you want to go fully \u201cserverless,\u201d at least for aspects, with Amazon Lambda or Google Firebase? Even if you don\u2019t use Firebase for a datastore, how about for authentication, huh? And if you\u2019re all containerized, and Kubernetized if\/as appropriate, though maybe let\u2019s not go the many-microservices route until you\u2019re sure your product-market fit justifies it, then where do you want to roll it out, AWS or Azure or Google Cloud or Digital Ocean? Or do you want to use one of their PaaS services, like App Engine or Beanstalk, which, like Heroku, sorta kinda live between \u201cserverless\u201d and \u201cbare metal virtual machines\u201d?<\/p>\n
I oversimplify, but you get my point. We\u2019ve never had more options, as developers, more tools available to us \u2026 and we\u2019ve never had to struggle more with analysis paralysis, because it\u2019s awfully hard to determine which of the possible toolsets is the best one for any particular situation. Sometimes \u2014 often \u2014 we have to be happy with just selecting a good one. And that selection problem doesn\u2019t look like it\u2019s going to get easier anytime soon, I\u2019m afraid. It\u2019s a strange time to be a coder. We live and work all tangled up in an embarrassment of riches.<\/p>\n
\n1<\/sup>Yes, that\u2019s really our name. No, this TC column isn\u2019t a full-time gig. (Which is something people frequently assume, because it\u2019s so much more visible and to some people writing a column every week sounds like a lot of work, but no, I\u2019m really a CTO.)<\/small><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"Building web services and smartphone apps, which is most of what I\u2019ve been doing professionally at HappyFunCorp1 for the last decade or so, used to be pretty straightforward. Not easy, but straightforward, especially when the client was a consumer startup, which so many of them were. The more we did the better we got at […]<\/p>\n","protected":false},"author":4,"featured_media":4175,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false},"categories":[6],"tags":[],"acf":[],"yoast_head":"\n
The tools, they are a-changing - Adept Asia Consulting<\/title>\n \n \n \n \n \n \n \n \n \n \n\t \n\t \n\t \n \n \n \n\t \n\t \n\t \n