Uncategorized
Vasyl Soloshchuk
CEO at INSART
16 July 2019

Polyglot Approach and Autonomy for Developers as the Pillars of Success

Based on an interview with Anthony DiSanti, CTO at Shift Markets

 

Anthony started in the FX market. He began building an end-to-end solution for one of the major Forex brokers, managing product and development teams. This led to his taking a CTO position in Shift Markets, a company that offers a turnkey solution for cryptocurrency exchanges and brokerages. The crypto market is even harsher than Forex is; it operates on a twenty-four-hour clock, every day including weekends. Anthony’s goals weren’t limited to building a great product; he also wanted to adapt his own and the team’s routines to the market. Read on to see how he has succeeded.

The squeaky wheel gets the grease

Many things demand Anthony’s touch. His typical day starts with unblocking everything that came in the night before. The work never stops at Shift Markets, and the team is distributed across time zones with offices in New York, Seattle, and Maine, as well as the Philippines, Ukraine, Poland, Malta, and other European countries. So, his first task is to make sure that everyone is unblocked and ready to move fast.

“I feel like other people are demanding my time more than I get to manage it. Whatever needs my attention is where I work first. As the team has grown, I’m trying to empower more people below me to act as the escalation path for inquiries that the more junior developers might have.”

However, there’s a way deeper problem than managing personal time. How does Anthony keep the remote team productive? The development team has been growing rapidly, along with the rest of the company, and they didn’t necessarily have the right processes and tools to scale. Anthony and his team needed someone capable of responding to trading emergencies, diagnosing, debugging, and resolving issues immediately, or passing on the issue to another officer if it’s beyond their capabilities, which is uncommon but does happen.

Their solution was twofold: (a) encouraging initiative and autonomy and (b) ensuring that all personnel understood the financial domain and the market in which they operate.

Freedom of choice and autonomy go hand-in-hand

At Shift Markets, different projects within Asana represent different products, each requiring a range of development skillsets. Anthony and his team prioritize the sprint’s tasks and depend on each developer to select tasks that suit their skills. This autonomy drives higher productivity than direct delegation and generally results in a better end product, Anthony says.

“We rely on the developers to understand whether a task fits their particular technical skillset or not. We use a service-oriented architecture. So often, a developer can pick up a service template and build the service from the ground up. We prioritize the backlog and allow the developers to pick what they feel they’re best suited for. And [we encourage them to] take from the top of the backlog if they can; those are the most important tasks.”

This sort of informal structure seems to have worked very well for Anthony and his company. It results in developers jumping on tasks that they’re happy to work on and feel qualified to deliver. If a task slips through the cracks or stays at the top of the backlog for a couple of days, they cover that during the daily stand up. There, they discuss blockers and the best fit for this or that task.

Knowledge exchange and financial background

Shift Markets try to have monthly company-wide training sessions to cover critical topics. These include blockchain, how their software interacts with it, how funds are kept secure, and what the flow of funds looks like. Also, they cover topics aimed to develop a deep understanding of the financial business domain such as how an order book works; the concept of a “bid/ask spread;” and models for maker-taker trading versus an exchange product, which is what they do for crypto.

“Knowledge sharing is very important for keeping everyone productive and moving their knowledge forward. As new members join the team, we want to make sure that they’re seeing all the latest and greatest that we’re developing. And oftentimes, the newer things are deprecating older things anyway. So, the trainings keep everyone up to speed, and to a certain degree, onboard new developers as well.”

Anthony says that strong experience with the concepts of financial markets is crucial for that market, something he learned when hiring people from outside of financial markets and outside of FinTech. One of their major challenges is understanding the requirements for each project. Also, he explained that they have a growing team in Ukraine with very strong development expertise, especially within the FinTech vertical but also in general, across both the front and back-end systems.

“Obviously, there’s an error in your code if you have an order book with an inverted spread. These concepts can be very difficult for someone just entering the market to understand and often results in lost time and development effort.”

When managing product teams, seeing the big picture in the financial domain allows engineers to stay focused on building the right things and understanding customer pain points.

A quick conversation is worth a thousand velocity measurements

According to Anthony, a lot of development teams like to point all of the user stories or tasks inside of their task management software, and then to measure the velocity of the team based on the number of points that have been completed. This is something he has never found to be particularly helpful because the points are some combination of complexity and expected time commitment. In other words, there’s no tool to measure contribution properly.

“It might be helpful if it were really accurate. I just haven’t found a good velocity measure that I find useful as a manager of a development team.”

Instead, he maintains an intuitive understanding of whether a developer is being productive or not throughout the team.

“Realistically, we get done when we get done. We’re working together every day, or on stand-ups together every day. It’s very clear when someone has seen a drop in their productivity. People get burnt out, maybe they need to be moved to a different project. And that’s something that is easy to address with a quick conversation.”

 

Takeaways

Managing an internationally distributed team can be a great challenge. Autonomy, responsibility, and trust are the pillars for making such a structure a success. However, autonomy requires all parties to know the domain deeply. Knowledge sharing sessions and a culture of freedom and trust contribute to the overall expertise and the quality of the resulting product.