As developers, before we deploy our applications or even before we choose our cloud provider, we should consider which tools we use for our day-to-day internal workflow. The tools included in our toolbox can either boost our productivity dramatically or turn our web development project extremely complex and difficult to maintain or scale up by recruiting more team members.
A major part of growing ourselves from being junior developers into senior developers involves adaptation of tools that simplifying our task management process, making communication with other team members seamless and building integrations between the tools we use so they work together in harmony to create a perfect stack that works best for you and for your team.
As a technical startup co-founders, we have the responsibility of creating workflows that work well at scale and are easy to use, adapt and maintain by most of the developers that will join our team. In order to implement the most productive workflows for our team, we need to master them ourselves at first.
In this post, I will introduce you to the set of tools that most of the junior web developers use on a daily basis to manage, analyze and maintain their products. You might already be well-familiar with some of them, and therefore, my goal is to not only introduce you to these tools but also provide you with best practices of how to use them and how to integrate them together to create a harmony that works for you.
Before I start listing the tools and diving deep into each of them, I want to mention the most important consideration of all which is the operating system you use. I’m not going to get into further details about operating system considerations here because I’ve already discussed it in depth in my previous post lessons learned moving from Windows to Ubuntu.
Slack is a communication platform for teams. Despite its initial goal of completely replacing the need for emails which hasn’t been achieved in my opinion, Slack has so many additional advantages. Even if you’re still working alone, keep reading — Slack can be an amazing tool also for individuals.
Slack introduces a new and seamless way to communicate internally with team members, stay on top of milestones, goals, and issues, schedule meetings, and even order lunch.
Rather than having one chat in which all the team communicates in, Slack introduced us with channels. Channels are rooms in which you can discuss different aspects of your company, venture or project: development, sales, PPC campaigns, UI / UX and much more.
Slack provides you with everything you need to manage a rich conversation with your team members: emojis, image sharing, YouTube videos embedding, and of course, integrations.
Integrations provide you with the ability to connect 3rd party tools into your Slack group. You can either install public tools from Slack’s marketplace or develop your own using Slack API and use it inside your Slack group. Slack integrations allow you to schedule meetings with team members by sending a message, set a recurring reminder, notify when a new user signs up or subscribes, order lunch, entertain the team by reacting to specific messages and so much more.
Slack’s search system is robust. Every message is indexed and therefore it is extremely easy to recover anything said in any channel.
Naturally, Slack is built for teams. But, as a developer that works alone on a side project, I encourage you to open yourself a Slack group and play around with everything Slack has to offer. You can increase productivity by sending messages to yourself for settings reminders and schedule meetings instead of accessing many apps in the browser.
Slack’s pricing model offers a free plan that can serve small teams perfectly with the ability to search and access only the most recent 10K messages (Once you subscribe you can access all of your messages). For Standard and Plus plans you pay per team members and get more integrations, prioritized support and more.
Slack is not used only for internal teams but also for public communities. There are thousands of Slack communities you can join (most of them for free) to discuss with people from all over the world about product, design, development and much more. One of the directories lists Slack communities is Slack List.
Trello is a simple yet wonderful task management (or project management) tool. Trello can be used to manage development workflow and tasks, as well as marketing projects, blogs, online businesses and more.
Trello’s user interface is very simplistic and minimalistic but has anything you need in order to manage a project with up to 10 team members, including task labeling, attachments, task assignments and task scheduling.
As a solo developer who runs his own side project, Trello can be a perfect match for managing your tasks and workflow. Once you add new team members (up to 10), Trello contains everything you need to keep managing the project efficiently. Notice that Trello might not be enough for projects that grow to more than 10 team members or have many moving parts.
All of the essential features Trello provides can be found in the free plan. For integrations, better security and support check out the Business and Enterprise plans, although in my opinion when scaling up your project you might want to look into different task management solutions.
To see examples of Trello boards and get inspired by them, browse here.
Redash is a great open-source tool for visualizing your data in a dedicated dashboard. It provides you with everything you need to give your team the ability the query data, visualize and share it.
It integrated with all of the most popular data sources including MySQL, PostgreSQL, MongoDB, ElasticSearch and much more.
With Redash you can generate visualizations to track milestones and keep yourself and your team engaged with what is going on with your project.
You can also create alerts that will pro-actively warn you about important changes.
Once you deploy your application to production and start collecting data by pushing it to your databases, you should consider using Redash. It can help you monitor potential issues, track your progress to achieve your milestones, get insights from your data and more.
Redash is open-source and therefore is completely free of charge. If you’d like to get a hosted and managed instance of Redash, you can pick on of the paid plans.
Once you feel something is missing, implement it and contribute to the Github repository.
How many times did you tell to yourself: if we could push the data from Facebook ads to a Google spreadsheet it would be great! And then a few minutes later you find yourself struggling with APIs to get the integration done?
Zapier is a great tool that worth investigating exactly for this reason. It teaches us, as developers, that we don’t have to run and implement every integration we want to achieve in our company. Not only that but the less code we have in our system and the less in-house developments, the better.
Zapier moves info between web apps automatically by integrating more than 750 apps. It allows you to create automated processes and workflows with a few clicks of a button that will last forever.
With Zapier you can, for example, push every issue from BitBucket to Slack in a 2 minutes setup or create Trello cards from Google Form responses.
As developers, we are used to dealing with APIs on a daily basis. I encourage you to check out what Zapier has to offer next time before you’re getting into coding your own integration. It might save you A LOT of time.
If you’re running your own company, consider using Zapier as soon as possible in order to avoid redundant development projects, bugs, and maintainability.
Zapier offers a free forever plan with limited 2-step zaps and integrations. The free forever plan is definitely enough for playing around with the tool. Once you’re getting real value from Zapier you can consider one of the paid plans without limitations on the zaps you can automate.
Try to work with Google Sheets as much as possible. It will simplify things for you.
Draw.io is a great tool for prototyping, mock-ups and architecture design. It can be used in a wide variety of ways thanks to its template collections while the main focus for using Draw.io is for designing processes, systems, and views before implementing them with code (or with photoshop).
Draw.io is an add-on for Google Drive, therefore it exposes all the sharing and collaboration capabilities that Google Drive has. You can seamlessly collaborate with additional team members on designing servers architecture, for example.
Draw.io offers many components for easy insertion into the sketch. You can go from flow charts up until Android, Bootstrap or iOS screens.
Draw.io is one of the best sketch tools I know, and it’s completely free. I encourage you to try and use it for your next project while in the designing stage.
Draw.io is offered free of charge.
Most of us have more than one channel of communication with our co-workers, friends, and family. Usually, each communication channel, like WhatsApp, Slack or Facebook Messenger, has its own web application which makes it relatively difficult to stay on top of everything.
All-in-one Messenger is an awesome Chrome application for collecting all your communication channels in one place. It enables you to open a new tab for each communication channel and supports all of the most popular ones. They act and feel in the same way and therefore it is easy to operate them.
From individual developers to companies, All-in-one messenger is applicable for everyone who deals with more than one communication channel on a daily basis.
All-in-one messenger is free of charge.
If you want to be more productive at work (which I guess you do, otherwise you weren’t read this post), do yourself a favor and cancel the notifications in the settings tab.
BitBucket is a distributed version control system that makes it easy for you to collaborate with your team. BitBucket is owned by Atlassian which owns Jira, HipChat, and Trello that are great products for developers as well.
BitBucket, unlike Github, offers private repositories for up to five users for free. BitBucket user-interface is welcoming and easy to use, and the integrations that BitBucket offers are extremely helpful.
For teams of developers, the usage of a version control system is obvious (hopefully). As a solo developer, I encourage you to use a BitBucket as your version control system to manage your code versions, deploy your app to production, integrate with 3rd party tools for code inspection and more.
As aforesaid, BitBucket offers unlimited private code repositories for up to five collaborators. Once you want to scale up your team you’ll need to upgrade your subscription by paying per user per month.
As web developers, we often deal with creating APIs for exposing our backend code to different clients like front end apps, mobile apps, and 3rd party cooperations. When building APIs or when using APIs own by different entities, it sometimes difficult to test, document and monitor them.
Postman is a Chrome application allows you to easily send HTTP requests to either local or global server with any parameters, headers and authentication settings you need.
Postman, unlike other tools out there, has a wonderful GUI (graphical user interface) for defining your HTTP request and analyzing the response.
From individual developers who develop or test their own API to companies that require team collaboration and sharing.
Postman’s free forever plan offers everything you need as a solo developer working on his own side project. For team collaboration and advanced features see the paid plans.
Adapting productive habits for your web development workflow is a must. For you own productivity, and for the team you’ll be in charge of soon, try and play around with different tools to figure out your perfect match.
If you found this post useful please show your appreciation by clapping the post.
CodingStartups is a community for developers with entrepreneurial mindset.
Published originally on CodingStartups.