Net Minds Tech Stack (Part 1)
by Alan Baker
The world of application development changes rapidly. If there’s one thing I’ve learned it’s that there’s never just one way to solve a problem.
Take technology and programming: non-programmers don’t usually understand this, but programming has soul. Application design has so many possibilities; even programming simple functions can be done in many ways depending on the personality of the programmer. Just as in art and writing, we transfer our philosophy and personality into the code we write.
Programmers and application designers have the added challenge in that code can do nearly anything; it just comes down to time and money. And making it easier but also harder is the amount of choices we have to write applications, including the massively growing choice in technology.
I want to look at the choices we’ve made at Net Minds and why. I’m breaking this post up into parts so it’s more manageable to read, so for this post, I’m covering the core language we’ve chosen to develop in. Later, I’ll cover our API, database, and front-end.
When you look at the activity on GitHub above, which did surprise us, you really can see the excitement surrounding the language. All this activity shows there are fast cycles of continual improvements and tons of examples of different ways of programming.
Where I get excited in the overall application design, we have less likelihood of investing gobs of time and resources into eventually-abandoned codebases.
But most importantly, we’re able to iterate our application design and feature list with far less pain. We’re able to maintain consistent logic and portable code from the front-end to the back-end because we have one unifying language.
For me, this is extremely critical. I think a lot of our user experience and assumptions are really very solid, but like anyone, we’re not perfect and we won’t always be right. But being right all the time isn’t important, instead what is important is to recognize when you’re wrong and quickly iterate.
Well, that’s all for now. Stay tuned for part two when we discuss our front-end, Ember.js.