Congratulations! you started working on your genius startup idea, it’s software based so you have a lot of serious work to do, here are 7 essential tools for building your software startup that will make your job much easier.
In my opinion using tools are essential from day one especially when working in teams not solo, tools will help you increase code quality, have organised process, facilitate communication between team members and even help you operate remotely in a smooth way, this article will be generic and opinionated, of course each startup can have it’s own different use cases.
Git is the most popular version source control system right now, if you’re new to programming and writing software you really need to learn how to use git, but first let’s go through why we like git?
- Smarter way to save your software versions, instead of traditional saving result files with stupid names like “project”, “final project”, “last final project”, it will keep track of every version of your software, you can revert back to any of them at any time.
- Easier way to work in teams, using branches and pull requests to merge your work on master branch made it very easy for different team members to merge their work with minimum conflicts.
- when using hosted git, you’ll get single source of your code to access from anywhere.
A cool communication tool, it has many features that will make your work communions organized. Just like a chat app but with channels organised by topics. Also offers open way to communicate with anyone in your team plus private groups, and direct messages. But my favorite feature in slack is integrations, the ability to integrate and share information from other tools we’re using, like Github and Trello and much more.
Trello is a free simple tool to organize and plan your work ahead and keep track of your progress using Kanban Board style, we like it because it’s simple, easy to understand and perfect for the software engineering agile mindset.
However it maybe too simple to scale with your team numbers, for example at Instabug trello was perfect for our sprints planning and tracking use cases till we reached twenty something engineer, dependencies between different teams increased and things god messy so we started using Jira.
Docker is a containerization tool, a simpler way to virtualization, this will make sure the software you are building is getting developed, tested, and deployed in the same exact environment as your team members, independent on their machines, testing machines, or production machines.
It’s just a great tool that will help you dodge a lot of configuration problems, promising the Build Once Run Anywhere concept even more than java.
A Tool to automate running CI/CD, like linting, unit tests, UI tests, documentation specs and deploy scripts, Jenkins will help you automate a lot of work, hence saving you time, plus making sure the software you’re building stay at high quality.
There are of course a lot of cloud solutions out there, but AWS, Azure, GCP are the most popular ones, Those will be your options for deploying your software product into production or having any compute or data storing resources you’ll need while development and testing, these tools might have a learning curve to get used to, but they will do the job just fine.
If your product has UI/UX, this tool will make a lot of things easier for your design team, from easily exporting their work from Sketch, Figma or Adobe XD using plugins, to collaborating with each other as it offers some sort of version control like git for development, but my favorite feature in zeplin is how it exports UI resources into code snippets ready to use for web, mobile ensuring accurate design implementation.
Please contact me if you have any thoughts about the topic, and hit share if you like it 🙏.
Thank you for reading ❤️