|
|
|
|
|
by dqdo
4152 days ago
|
|
I worked at 2 start-ups so here are the technology stacks: The first company was started 3 years ago and our technology included:
(1) Python-Flask
(2) Postgresql
(3) SQL Alchemy
(4) JQuery for web
(5) Objective C for IOS
(6) Bootstrap In my second company we wanted to take advantage of the growing ecosystem around Node. We also did not want to have to manage a DB, migrations, and server scripts. Our rationale is that we should focus more on the customer and turning the customer requirements into the product than on the technology working. We are an enterprise software company and so the less complicated the technology the better since we are not doing anything ground breaking from a technology standpoint. Our stack includes:
(1) NodeJS/Express
(2) Heroku
(3) Angular JS (I don't get all the negative comments about Angular lately because it works fine for us)
(4) Lodash (Javascript utilities)
(5) S3 - static file storage (images and files)
(6) Jquery
(7) Bootstrap
(8) Firebase
(9) Angular Fire (to connect firebase with angular) Using our current backend, we were able to build the SAAS product in about 1 month with only myself as a developer instead of 2-4 months that might be required if we had used the previous technology stack. Firebase, Angular, and the Node ecosystem really helped make the coding much faster than before. |
|
When choosing a technology stack I look to Southwest Airlines for inspiration. I might sound strange but more people should embrace the Southwest model. As an airline, they only have 1 type of plane and tries to keep things as simple as possible. So instead of building some of your products in Ruby, other parts in Python, and another part in Erlang; it is better to just stick with one or two core technology. The rationale behind this is to reduce context switching, reduce errors and bugs that occurs at the crack of technology systems, make it easy to train and onboard other people to your project, and make it easier for yourself to maintain it over the long run. My rule of thumb is that software is maintained and read more often than it is written so now I tend to take much longer to write software because I have to think about how people would read it. For every 2 days of coding, I spend about 1 day of refractoring and I do this religiously to keep the technical debt low.