Switching gears from managing teams and doing fairly high level business and technology system design form many years, I’m finding myself having to get deep into many different technologies that I knew about, but didn’t actually know. This isn’t bad, per se, but it is daunting. The technology landscape for building a complex data driven system, with multi device front ends, analytics, security, and a supportable, distributable (i.e. cloud based) environment from scratch narrows my technology search down to a few million items. Different languages don’t really scare me (despite not really being up on any of them), but every language comes with a plethora of frameworks and development tools that also need to be learned. Development patterns change with each selection and the ability to make an informed decision (without a well versed team around who can call BS when appropriate) is a major challenge. Hello World! applications aren’t going to tell me whether the application will be able to distribute amongst multiple back end providers and maintain an acceptable database throughput and remain stable.
So I’m in the midst of not so much evaluating technology based on their actual capabilities, but based on the risk level each brings, assessed by the capabilities I can infer from very limited use. Some decisions are pretty easy, despite minimal experience with them. We’ll be using node.js for many of our back end elements. Why? It meets the design needs, has a reasonably comprehensive ecosystem, and I’m convinced it’s moving forward, not stagnating. I’m a believer in lightweight frameworks and that tends to be the mindset of the developer base.
What about Ruby/Rails? Not out of the question, and will probably be part of the mix, but it’s not going to be primary unless somebody shows up on the team and can knock some things out of the park quickly with it, and we can develop appropriate strategies for scaling.
Yes, there are a ton of options, but so far, it’s just little old me making these decisions, so aside from calling friends and asking them dumb questions about the tools, I’m going on gut feeling of what can produce a viable product without a short street with a dead-end.