We’ve already written about our team structure and how the autonomous teams operate. Another important factor in how well we perform is our toolset. Before joining TransferWise four months ago it was never quite clear to me what kind of tools startups use and why do they need to use them at all. I hope this article sheds a bit of light on it.
We’ll start with communication tools that everyone here uses and try to add a brief description of what we think is awesome about them.
Slack - It’s the main chat-tool everyone uses to communicate with each other. We have a gazillion different channels ranging from translation requesting to scheduling tequila-nights with our lovely co-workers! We also have a lot of other tools integrated with it.
Gmail & Google Calendar - Yes, you guessed it - we use Gmail for our e-mails and Google Calendar as our scheduling tool. Everyone who joins TW, gets their own @transferwise.com e-mail address and we can see everyone’s calendar schedules to help us sync up with each other. Yes, that also includes Kristo’s and Taavet’s calendar!
Google Hangouts - Since we have offices in five different places (London, Tallinn, New York, Tampa and Cherkasy), we often have to have online-meetings. We use Hangouts for that - it’s a great group-video tool that can also help you add a moustache and a pirate-patch to your face if you feel like it.
Google Docs, Spreadsheets, Drive and Dropbox - We share our docs via Google Docs and Spreadsheets and also use Google drive and Dropbox to store some of them in the cloud. Nothing super-exciting to add here.
Skype - We often do interviews via Skype if in-house isn’t possible. We also have a few ex-Skypers working here, so it’s good for them to keep an eye on their creation :)
Custom WIKI via Google Sites - Info about our teams, info about TransferWise stuff, TransferWise library - you name it. Everything is on a site which we call WikiWise and it’s currently built with Google Sites.
Adobe Creative Cloud - For Adobe tools
Microsoft Office - Cloud office tools
And now to the interesting part - what do we use for development?
IntelliJ IDEA - Most of us have chosen to use IntelliJ as our main development IDE. It works great with the Grails framework and is an amazing tool overall.
Sublime Text 3 - For those seeking simplicity, we’ve found that Sublime Text 3 with its lightweight form is a good alternative to IntelliJ. Its speed, variety of plugins and customizability makes it well-suitable for developing front-end and it’s an editor of choice for many of our Angular developers. Of course, we also keep an eye on upcoming competitors such as Atom
GitHub - We use Github for our code-management and collaboration.
Jenkins - We use Jenkins for continuous integration. We try to have new releases at least daily and are big fans of good test-coverage. Jenkins helps us test our new features out on test-nodes, integrate our code with the master-repository by running all the necessary unit/integration/functional tests and so on. It’s also integrated with Slack.
Bugsnag - Bugs are a natural part of software development. We use Bugsnag to detect crashes in our system. Also integrated with Slack.
Assembla - We use Assembla as our coding-ticket management system. It helps us keep track of features we have built and are going to build.
Docker - Docker mostly helps us to organize local development environment. But it also used in production on a few non-critical services. There are also some plans to use Docker inside our core system to simplify deployment process.
There are some tools that our application uses:
JRebel, XRebel -
Since our system is big, it takes a time to start it for developer. Grails comes with Spring loaded agent which helps to reload code changes on the fly, but it’s very limited. This is why we use JRebel - tool for instant code reload without restarting of an application.
We also adopted XRebel recently because it helps us to locate DB performance issues during development before this code will goes to production. Also XRebel helps a lot when it comes to optimizations of existing requests.
TrustPilot - We have over 18500 reviews on TrustPilot and we also use their API to show some of the reviews on our landing pages. We also use it to analyze how our product is doing.
Data & Analysis
We are big fans of the build-measure-learn tactic. Since we have A LOT of stuff we need to keep track of, we use various tools to manage them.
ELK stack - We log A LOT of stuff. We use the ELK stack to stash, search and visualize them.
MySQL database - Our analytics database is a real-time obfuscated replica of our production DB. It’s the foundation for Looker, Tableau, and other analytics tools.
Looker - Looker is web-based Business intelligence tool. It’s job is to monitor and dig in to our team-KPI’s. We like it because it’s super easy-to-use for end-users and fast to add new data to.
Tableau - A specialized data visualization tool that we use to dive deep into our data and pull apart complicated issues.
New Relic - We use New relic to track how well and fast our application is performing.
Datadog - For metrics tracking
Google Analytics and Mixpanel - Mixpanel and GA help us analyze how customers interact with our site. Where does the conversion drop, which features are more popular, are they properly used and so on. Both are great tools for user-behavior analysis.
Optimizely - We also like to do a lot of AB-testing on our customers and Optimizely helps us set up small experiments in an effortless way. For bigger AB-tests we use our internal logic.
Marketing & User research
Impact Radius - Our platform of choice to track traffic coming from our affiliated partners. The platform allows us to use seasonal banners and provides us great insights into the performance of each partner.
Google Tag Manager - More friendly addressed as GTM, with a minimal initial setup allows the marketing team to easily deploy scripts, tags and tracking pixels without the need to ask for help from the development team.
SEOwise - SEOwise uses the Authority Labs API to collect ad-hoc rankings and calculate traffic share based on click-through rates and search volumes. It allows us to accurately forecast traffic and conversions based on rankings values. It categorizes keywords into niches, allowing us to break down traffic share on a niche level and to accurately measure and forecast the benefit of our content and link campaigns.
MailChimp & Mandrill - The fastest and simplest way to create good looking email newsletters and communication that reliably reach our customer base. They also provide plenty of analytics options to easily understand the impact and effectiveness of emails campaigns.
Intercom - A recent add on to our tools set, it quickly helps the team to define user segments and trigger communication at the right time, to the right people.
Typeform - We often ask our users to give us feedback to improve our product. We like to do that using beautiful forms with a nice usability and plenty of customisation options.
Marvel app - Marvel is a quick and dirty prototyping tool that designers at TransferWise use to create prototypes. It allows flat UI mockups for any device (even Apple Watch) to be uploaded and linked together with clickable hotspots. We use Marvel as a vital tool for user-testing and would waste a lot of time without it.
Sketch - Sketch is the UI design tool we use to design the user interfaces across desktop, iOS and Android. It is built specifically for UI design, making it more lightweight versus Photoshop or Illustrator. As a vector based drawing tool it allow us to scale and export up or down without degradation, which proved extremely useful when redesigning the Android app and supporting multiple pixel densities.
Zeplin - Zeplin is what we use to handover UI design to our engineers. It outlines all margins, padding, font-styling, colours and even has support for asset exporting. It also supports web, iOS and android units of measurement (px / pts / dp or sp) making it another truly cross platform tool. It has proven to reduce the amount of documentation we need to do when working between design and engineering.
Our own internal Ninjas-tool - This is our own internal tool that helps our CS and OPS-people do their work properly.
Desk - Desk.com is an all-in-one case management, emailing and knowledge base maintenance tool. It allows us to move cases between teams, from Customer Support to Operations and back again without the need for a complex ticketing system. It handles not only emails and our self-service Support Center, but also social media and, through plug-ins, phone calls and live chat chases.
SAP CDT - CDT is a web-based telephony tool that allows us to have local phone numbers in several countries connected to a centralized web service which provides us with full recording and caller-ID capabilities, while allowing agents to handle calls to any of these from a web browser. It exports call metadata to Desk, allowing agents to follow up on cases.
SnapEngage - SnapEngage is a live-chat tool accessible from any part of the user experience. Provided there’s a free agent available at the time.
JobVite - We use JobVite to keep track of new applications, to see candidates’ current status, to assess them, to have an overview of communication with them.