So you have launched. You figured out how to make money and you are ready to grow. A good tech stack for growth businesses is depicted in the diagram. Gowing the business usually requires more people. So your tech stack will need to expand to include user management tools. My guidance here is to make sure you figured out what’s available from Gsuite or Office 365 before adding new complexity. By the way, you should only use either Gsuite or Office 365. Never both. Remember to always avoid complexity. If you like us and many other businesses, you will have Macs and Windows. You should also understand Gsuite or Office 365 offering for user kit management before adding new tools. As a growing business, you will consider adding new customer channels. We added fairly quickly telephony and webchat and also integrations to other (non-core) services. You don’t want to build any of this unless it’s your USP which is very unlikely. Finally, remember to constantly review your technology stack to continuously remove legacy.
Coding in Node.js
I created a couple of simple scripts in Node.js: Desk.com / Salesforce API call and store data in Azure SQL for further analysis with Power BI and credit bureau reports.
I default to VS Code IDE that I find clean and efficient. Code is simpler to use compared to full VS as it reduces clutter by making you add what you need rather than switching off / ignoring features that you don’t need.
NPM packages need to be used with caution as majority provide dead ends. My learning is to start solving the problem using baseline language features and only add packages when absolutely necessary.
You plan. Design. Code v0.1. Re-plan. Code, code, code. Test. Demo. Test, test. Fix. Test. You go live.
Google Experiments don’t support serving geography-driven landing pages. MaxMind free API allows you to query user’s IP address and determine user’s ISP location.
How do you make tech decisions? How do you make them under under pressure? In a stressful project situations? When a deadline is approaching and dev delivery is late?
Develop a set of standards that relate to domains (data architecture, solution design, versoning, dependency management…). When you are faced with a decision think about how it relates to your standards which will help you make better decisions faster and also it will make you aware when you compromised and added to you tech debt – your legacy elephant that you need to drag with you.
Testing the initial appeal and actual usage of a potential new product by simulating its core experience with the smallest possible investment of time and money.
Cheaply test your thinking “build it, and they will come.” Learn from it as fast as possible. Think 1 PowerPoint slide, single page website, $100 AdWords campaign, product packiging/logo… search Pretotyping for examples.
I think of pretotyping as minimum-viable MPV ie MVMVP. Does sound like an acronym hell but you what I mean.
Further thoughts on setting up telephony. If you feel your competative advantage is customised in cloud voice app, Twillo is an option. Full REST imtegration is available for every step of the caller experience.
All work needs to create value and opportunity for easily building new functionality. Pick the best tool for the job. Uniformity of tools in big organisations might be necessary. Startups have no legacy. So choose wisely. Picking a Programming language follows the same rule. For data / file work Python is fine, for web or backoffice C#/.NET offers integrated stack to accomplish results fast while taking care of performance and basic security, for distributed content creation WordPress is a solution. Don’t feel the need to go with a single vendor or open-source. Also remember that some components of the stack are easier to replace.
Designing a new backoffice which will process large datasets and implement different statistical models is about being able to create a number of simple modules that work together. Braking complex into simple is the main function of the design.
Making a system simple buys you agility in the future. Agility buys you an opportunity to innovate while competition is refactoring their code. Simple design and implementation make programs readable and easier to test and fix which makes the business agile – allows you to change, go from A to B, while others are untangling A.