Tanvir Ahmad Palash is the Chief Technology Officer at the fast-growing travel-tech startup GoZayaan. In this fascinating conversation, we talk about a wide range of topics, including his journey to what he is doing, his approach to work as CTO at GoZayaan, technology operations at GoZayaan, GoZayaan’s approach to building travel tech products for emerging markets like Bangladesh and Pakistan, developer mindset and problem-solving, how to decide what not to build when it comes to building tech products, the philosophy of technology at GoZayaan, how GoZayaan tech team works, how to run a remote tech team effectively, common tech mistakes companies make, best tech practices, lessons from building a tech product for Bangladesh and much more. This is a fascinating read in its entirety. I hope you enjoy reading it as much as we enjoyed doing the interview.
Ruhul Kader: Thank you for agreeing to this interview. Let's start with broadly discussing your role as the Chief Technology Officer at GoZayaan, including your responsibilities, and approach to your work, and then we'll get to the specifics.
Md Tanvir Ahmad Palash: I've been at GoZayaan since 2018, so it's been quite some time. As the CTO, my broad responsibility encompasses anything technology-related. My team and I are responsible for all technological initiatives and efforts at GoZayaan, including our website, our app, new initiatives, and anything else that falls under the technology umbrella. I'm the one you'd come to if something isn't functioning correctly from a technical perspective across GoZayaan's products and services.
In developing technology products, we've developed our own unique approach over time. We differ from traditional software companies, partly because we're a consumer technology company. In traditional software development, and even B2B tech companies, there isn't as much direct pressure from customers. But we run B2C technology solutions—both web and app—where customers constantly use our products, making everything more intricate.
Our tech team consists primarily of engineers and developers. I'm an engineer and developer myself, with experience in several software firms before joining GoZayaan. My team members share this developer mindset.
As CTO, one of my key roles is to foster a culture and environment that supports my tech team's performance. I aim to create a setting where they feel fully supported—culturally, environmentally, and otherwise—to facilitate their technical development efforts.
We're a development-focused team. To that end, one of my responsibilities is to ensure the team stays focused, productive, and actively contributes to the decision-making process in our product and service development.
GoZayaan is a dynamic company. Our CEO, Ridwan Hafiz, is constantly brimming with new ideas. He juggles many interests and explores countless possibilities. He would often share these ideas and seek my input.
We have an abundance of ideas and initiatives we'd like to explore, and we're constantly faced with the challenge of prioritizing. In these instances, deciding what to pursue and what to leave behind is also part of my job.
While technology offers the potential to do many things, the question of whether we should do everything is equally crucial. Every time we decide to take on a project, we should ask ourselves why we're building specific features or pursuing a particular path.
Of course, we're constantly developing and building things. We write code, develop features, and handle technical firefighting. My team and I are responsible for these aspects, supporting the product team. In short, I lead the team that builds and shapes the product. However, it's not just about the technical work; there are many nuances behind the scenes.
Ruhul Kader: I have a couple more questions about GoZayaan's tech operations. Before we dig in, could you explain the 'developer mindset'?
Md Tanvir Ahmad Palash: People in different professions operate differently. Those in creative fields (and I don't mean to suggest that others aren't creative) have their own unique way of working. They require a specific environment to create something beautiful. Similarly, software developers, like other creative professionals, need a specific environment for the kind of work we do. When you're coding, it's not just about writing lines of code; you have to visualize the problem and its solution. You need to think about the product from all angles and consider its scalability in the future. Code can be written in 100 different ways, but there is almost always an optimal approach. To perform at their best, developers need a creative space. In this sense, every developer, just like other creative professionals, has a creative mindset and needs a conducive environment to thrive.
This environment doesn't have to resemble a yoga studio, but it should be a space tailored to the individual, where they can say, 'Okay, I'll do some gaming for an hour, then work for two hours, take a 10-minute nap, and satisfy my craving for fries and drinks.' These random activities can emerge while working. Additionally, programmers often have different work patterns.
For instance, I used to work through the night. When you're engrossed in a problem, you're more likely to keep pushing forward. We enjoy problem-solving. When we encounter a complex problem, we relish the challenge of breaking it down and tinkering with it until it's solved or figured out.
This is what we refer to as the developer mindset.
Another aspect is the deep collaborative approach to work. You typically don't work on a problem in isolation. When four or five developers collaborate on a problem, everyone is in sync. We speak the same language, and others can often understand what I'm going to say because we're in the same zone. This is why it's essential to have a particular engineering culture and development culture that supports this collaborative approach. At GoZayaan, we strive to offer this culture to our people. For the business side, it's more about finances and growing the business, while for engineers, it's more about doing what they're passionate about and having their own space to do it.
Ruhul Kader: I'm not an engineer, but I find engineers and designers incredibly interesting because they have unique ways of thinking. When considering the developer mindset, could you elaborate on how developers and engineers approach problem-solving? How do they tackle problems?
Md Tanvir Ahmad Palash: Let's discuss how we approach feature/product development when new ideas arise, which I believe will provide clarity.
When developing a product or a feature, it typically involves a complex process. You don't simply take an idea and start building; you have to consider various aspects, including business requirements, what the business expects from it, product considerations, marketing strategies, and customer preferences. When building a product, you must address all these aspects and incorporate them.
The job of our product managers and senior team members is to look at the problem from various angles, considering the needs and wants of all the teams and stakeholders. We then plan the layout. Afterward, the respective engineering team takes on the development, with senior members making architectural decisions.
However, we don't make these decisions in an ad hoc or isolated manner. When working on a new initiative, we must keep in mind the existing system. My developer mindset doesn't permit me to introduce something new if we already have something similar, or to build something that doesn't align with our existing infrastructure, as both scenarios would risk disrupting the current system. When introducing something new, we ensure that the addition doesn't destabilize our core system.
I sometimes explain to our teams across departments why we need to approach things in a specific way to keep the core stable and accommodate scalability. We usually receive support from the teams. With my team, I always attempt to provide insights into the business aspects, helping them understand the importance of those aspects. Whenever they have feedback, they share their ideas, which is valuable in the product development process.
We utilize tools to manage our operations. This year, my team is nearly fully remote, with only one or two members coming to the office out of our 25-person tech team. I haven't met some of them yet. Naturally, we had to implement additional tools and processes. Teams provide feedback on these tools, which informs our processes.
Startups are ever-evolving organizations, requiring readiness for new changes every week. We usually maintain the stability of our weekly tasks but keep 20 to 30% of things flexible, enabling us to adapt to new developments.
Every day, I have meetings with my developers. I aim to see everyone's face, have a brief conversation, and review our tasks to start the day. This approach is important to maintain our team's cohesion.
Ruhul Kader: You mentioned that there are always many demands and feature requests, and one of your responsibilities is saying no. Saying no is probably more important than saying yes because, technically, you could build anything and everything. However, the crucial question is whether you should build it or not. How do you make that decision?
Md Tanvir Ahmad Palash: It's quite challenging, of course, but I have some advantages. One of these advantages is my long tenure here. I possess unique insights about our product and business. We now have an organizational history, and I've witnessed GoZayaan's evolution from its early days to where we are today. Similar to the company and its services, our technology has undergone a parallel evolution.
In the past, we had fewer than 20,000 users, but now we have more than 500,000. Consequently, our system has adapted to these changes. My advantage lies in my understanding of these historical transitions and changes, making it easier for me to assess the feasibility of new ideas. If I were new to the organization without this knowledge, it would be more challenging for me to quickly grasp and evaluate ideas.
The second aspect of this is our company culture. We empower our people to make their own decisions. It's not just due to my product and organizational understanding; it's also because I’m given the freedom to make decisions. Our management team values this approach. They appreciate the insights I provide. I don't merely say no to ideas; I explain why I think they should not be pursued, and we discuss and debate. Sometimes, I also engage in discussions with our senior engineers, seeking their input and thoughts on these matters, including potential challenges and scalability when moving from one point to another in our system. These conversations enable me to gain a deeper understanding of the problem at hand.
The final decision-making is a highly collaborative process. I contribute my ideas based on my experience at GoZayaan, but I never make decisions in isolation. Our management team, other relevant teams, and our tech team all offer their perspectives and insights, helping us understand the challenges and make informed decisions.
I keep up with developments in the technology world. There are numerous remarkable companies doing innovative work. Both I and our team study these developments, which often provide us with a comprehensive perspective and help us make better decisions.
Ruhul Kader: If we could extend the conversation to the philosophy of technology at GoZayaan, that would be great. You are building a travel tech product for the Bangladesh market. What is your philosophy for building tech solutions? What guides your product decisions?
Md Tanvir Ahmad Palash: We take a simple approach and put our customers at the center of everything we do. We have a data-driven operation where we regularly take customer feedback and triangulate that with the real-life usage of our customers that drives our product and other technology decisions. That is the short answer.
The other aspect is that we are highly attuned to the development in this sector across the world. There are over 15 top-class global and regional OTAs, such as booking.com, Expedia, Skyscanner, MakeMyTrip, Yatra, and so on. Some of those are OTA and others are metasearch. Many of these companies have been around for more than 10-20 years, which offers a certain insight into the market. Companies like Airbnb and OYO help us to understand the hotel thing and how innovation works. All of these OTAs and their work offer us useful insight into the trajectory of travel tech services in Bangladesh. The point I wanted to make is that our future trajectory is already there and we take inspiration from the work of all these companies.
To give you an example, whenever ChatGPT came up, Trip.com brought it to their customers in no time. This is the speed many companies in our sector operate. We aim to emulate them.
In terms of systems and products, we are always looking up to the best products and services in the space—how booking.com does it, how Trivago or Skyscanner operates. We follow their work. We try to learn from their good work as well as from their mistakes.
To that end, our products and systems are of global standard. We set very high standards for ourselves. For instance, we have a partnership with Skyscanner. When we were having the first discussion for the collaboration, we realized that even though we were not connected, some of our flight systems were almost similar to Skyscanner. That was a great feeling.
Similarly, we learn about the future trajectory of travel from these companies—what's our future, what may happen after five years, 10 years, etc. Of course, we don’t blindly follow and copy them. We have our vision and direction. We have our goals and ambitions. We have our way of doing things and solving problems. More importantly, we operate in markets that are completely different from the markets these companies operate in. But we want to set our standard high and we take inspiration from their work.
When GoZayaan started in 2017, after one year, it was a tough time. I joined in 2018, but we had quite a challenging year following that. We didn't have a system in 2018. I was following random things and chasing random systems.
We started working on our own system towards the end of 2019 and early 2020, just before the COVID. To that end, you can say our current system is like a three years old system. It's a three years old baby.
When we started working on it, our plan was to build something that would last around five years. It was not about the years and was more about how we need some runway before we embark on building our next system. If this system can do it for five years, after that we may be able to work on other things. We made some decisions, and apparently, few things actually were good for us, which helped us to come where we are today.
After that, COVID happened and everything changed. After COVID, we shifted our focus to adding more features. In 2022, our only focus was on features. We had the system and we didn't focus on optimization or other things, we just focused on adding more features for our customers.
We expanded to Pakistan and did a few regional things. In a month, we evolved from a single-country system to a multi-country system. Our system is truly scalable now where you can dramatically scale everything overnight. You can be in another country tomorrow, I can give you that by tomorrow. That's how the system is scalable right now.
After that time, we built a ton of features. We now have a lot of customers. We are getting more sales, we're getting more customers, more visitors. We are kind of in that three-year time span. We had a plan before that we would be moving forward to the structural things and architectural things. We took that decision in 2022.
This year we are revamping all our architecture and structures to a different level with a view to preparing us for the next 10 years. Although these are not visible to our customers, these are not like features to show, but this foundation allows us to provide more services to our customers, serve more customers, and give our customers a better experience.
This is actually going on. You can say our work is now divided 50/50. You see 50% of our work is in the form of features, etc and the rest 50% of the work goes to preparing ourselves for the future. That's our current way of working.
Ruhul Kader: Returning to tech operations at GoZayaan, you mentioned that your tech team comprises approximately 24 members, and you manage multiple products and services, including flights, hotels, and tours, along with an app and a website. From a technical perspective, what are some of the team's responsibilities and processes? Could you elaborate on how your team operates and its structure?
Md Tanvir Ahmad Palash: It's mostly about the team. Although we are a team of 24, it's a very small team compared to the kind of tech operations we are running. It is a huge system. We have created smaller teams within our overall tech team, such as a frontend team, app team, backend team, and so on.
We give people complete ownership. For instance, we assign a team member to a feature or part of a feature and make him/her own that. For instance, you can be a domain owner for a flight search system, a motor search system, or a payment system, and you will take care of it.
This approach allows our people to become domain experts over time. When you work on a flight system for two years, you become an expert in that and build more domain knowledge.
As a developer, you always need coding skills. Coding is clearly one of the first things but everyone can have that. A new engineer can easily do some coding. Obviously, the senior engineers have more skill, knowledge, more depth in programming skills but only coding skill is not enough. The second thing you need is domain knowledge because that actually helps you stand out and make a real difference. I can hire 5-10 more engineers tomorrow, but they will not be as effective as senior developers with some experience in the problem we are trying to solve. Because he has domain knowledge, he knows how a system like ours works. He knows how travel tech works.
However, it is not that simple either. It's not like I've worked in a travel tech, I can join other travel tech and do the same. Every system is different. Obviously, there are some advantages if someone already has some experience of working in travel tech. In my team, we have some domain owners. You can think of it from the perspective that it is his career track. You understand that domain, you work on it and further develop your expertise. For example, someone is leading the payment. Maybe he's not that senior engineer, but what he can do is plan those things around that payment service, he can bring some seniors and sit together and find out what can be done. Then he can compile these things that we have to do.
We have some documentation systems. We have a tool where we are putting all the tasks together, whatever we are doing, we are actually connecting those things there. Our every tool is connected. So we know what's happening. Every code is traceable. For instance, an issue can come up suddenly and we can trace back how, when, what the process and how it was actually developed, and what mistake was there because our code, and our tools all are linked. This is the system and the process we are trying to follow in terms of documentation, code of ethics, and internal tools. However, not everyone in GoZayaan is using the same system. There are some other systems that people use. This is an internal system that our small tech team uses so that they can be more productive. These tools keep us on track.
In the last three years, I never asked anyone when you can deliver this or that because I don't want to set a specific time for anyone. Instead, we encourage people to operate in a self-directed manner. All our team members are honest. They try their best and they operate with ownership. I give them an approximate idea about a deadline. For instance, we will need to release certain products or features in these many days and they operate with that. What usually happens is that if we can do something in four hours, which has a deadline in four days, we get it done in four hours and move on to the next thing. Since we give freedom to people, they operate with a certain drive and they don't wait for a formal deadline.
Our people feel and understand that, no matter whether they are junior developers or senior developers, the things they are building are going live, people are using their code, people are using their system and their work is changing lives. I think that helps sometimes.
We use a process that is a modified version of Scrum. When you are using Scrum, there are some rules and you have to follow them. Since we operate with some flexibility, we use a combination of Scrum and Kanban. It is more like you are flexible but you also need to keep things on track. We use Discord for communication.
Internally, we have Spotify for the team. When people ask for similar opportunities for entertainment, I personally try to arrange those things for them. We have some learning initiatives as well. We organize knowledge sessions, we encourage people to take courses and attend events, we run experiments, and so on. In a nutshell, we try to help our people learn and grow.
We are always running experiments. We have open sessions where anyone can join and contribute and share their ideas and thoughts. For instance, we are currently running a discussion on ChatGPT around what people are doing using the system and so on.
Ruhul Kader: You operate as a remote team. Can you talk about how to effectively run a remote technology team?
Md Tanvir Ahmad Palash: You know, it's a very interesting one. Remote team is very hard, but it's very effective if you can set the culture. There are lots of pros and cons. For us, when COVID happened, on that day, we understood that maybe we'd have to go for a full remote. We were using Slack for communication, and in two days, we were over our free quota. That much of the communication we did was remote.
I think the key things are honesty and communication. You have to say things, you have to be honest. For instance, if someone wants a one-hour break, maybe for family affairs or other things, I've no way of knowing it unless he is honest with the team and shares it. If he's honest with me, he's informing the team members that I'm taking a break for one hour at 3 p.m. and everyone knows about it, or he informs the senior who's managing the team, then you can avoid the availability problem because the remote team is not properly available on time. So if they're honest, if they're communicating properly, whatever happens, it can be good, it can be bad if that's communicated properly, the operation gets much easier.
While you are working remotely, communication is the key and it has to resemble the shape of how you usually communicate in person when you are working out of an office. You communicate everything. You are not only talking about work all the time. Similarly, when you are working remotely, your communication shouldn't be only about work. Sometimes you have to post some memes, discuss things outside of work, you have to talk about movies, and games, that can spice things up. Otherwise, it wouldn't work. Even in the calls, it doesn't have to be always about work, sometimes you should go out of these only work approaches. As I said, in our daily calls, obviously, we talk about work but we also talk about health, tools, recent events, and sometimes what is happening in Inter Miami or something else. It can be anything, the point is you make it fun and interesting. As I said, communication and availability are the major problems.
Similarly, building the culture is a challenge as well when you are working remotely because you cannot maintain the culture because they are in different places. So to maintain that, I think the solution is, again, communications. You have to bring them in frequently. It's not like, I will have a call and talk with someone in the morning, and I will get back to that guy, maybe in the evening, then the culture will not happen. The basic work will be done, but that person will feel bored some days. The back-to-back communications, back-to-back other things, personal things, these things help.
I also worked with several international teams before GoZayaan and during my freelancing days, in any remote job, communication is the key factor. If you can maintain communications and create a culture of honesty, then you will have a stable operation. We're trying to build this mindset in my team so that they know even though I'm not in the office, I feel like I'm with everyone. Currently, we are planning to go to Sundarban, and every day, people talk and discuss the trip on our online groups. Sometimes I even don't feel like they're not here. This is the thing.
Ruhul Kader: I'm moving on to the next set of questions about building a travel tech product for the Bangladesh market. What makes building a travel tech product for Bangladesh unique? As we discussed, travel tech penetration is relatively low, with usage not exceeding 20-30%. When designing a product for this market, what considerations do you need to address, and what's your experience in building and growing one?
Md Tanvir Ahmad Palash: There are a few things. Just after COVID, we have seen an acceleration in digital services penetration. Obviously, in the last two years, it has evolved a lot. For travel tech, one of the reasons I think there are fewer competitors or companies in Bangladesh. Although we have lots of travel agencies, the majority of these companies operate in the old world. There is a lack of true understanding of how travel tech works. You would see people asking on Facebook if they want a system like GoZayaan or ShareTrip without hinting at any idea that they understand how these systems work. Because people think that tech is not critical and it is simply about building a website. For example, I can give anyone a GoZayaan system tomorrow, but will it be a second GoZayaan? No, because to run GoZayaan, you need to understand the vision and philosophy of GoZayaan and how people work at GoZayaan. It's not about the system alone. It is based on the system, but the operation and making the system work is much more complex than one realizes. To run that, you need a proper marketing team, a product team, an accounts team, and visions, obviously. Without vision, you will just have a portal, a website.
There's an ecosystem, and there is a site. A site can be a portfolio site, it can be a one-page site but the ecosystem is a different thing. OTA is like an ecosystem. GoZayaan, ShareTrip, and FlightExpert are the ecosystems we have right now. All of us are working to evolve this system and to take this market and also give the users to understand what is in it for them. Even now many new customers don't know about the flight system, hotels, how to book, etc. But we are trying to educate customers. It's more like when bKcash came, they did an amazing job of setting up a process about how to bKash, how to send money, and everything. Right now everyone knows about it. And it's the achievement of bKash and the others are actually using that as an advantage.
For us, we are also trying to do the same thing. We are trying to educate the customers and make them understand what things you have to see, what things you have to check for whenever you're doing something, etc. We are trying to provide transparency to the customers. I think fewer things are going on in this market for travel tech. Although we have lots of travel agencies, they are not working as OTAs. If they are focused on as the OTA then maybe it will grow or GoZayaan and ShareTrip will grow eventually.
Apart from that in terms of the product or features, all of the features are customer-centric. We are fully into B2C. That has been our focus. Although if we go for b2b, we can earn more money, we don't want that. We want to build a B2C platform. Every feature we have right now is for the customers, whatever they might need in the future or right now. Our product team is constantly analyzing the data we have, checking what challenges people are facing when using our platform, and what are the issues or journey hiccups.
For example, one of the major things for our Bangladeshi customers was the name fix. We know about our names, it is different in certificate, different in passport, and different in NID. In flight, it is an important thing. You can change lots of things but you can’t change your name. Even if you can, it's quite restricted in some airlines and you have to request it manually and there is a separate process. You have to put your right name in the right place whenever you're making a booking. But we found out that our users were making mistakes all the time. We tried to show them some references, and we tried to rearrange them. It was one of the most complex challenges for us. How could we make our customers understand you have to put your first name here and last name here and you need to check what's your last name because sometimes people put their last name in the place of their first name.
We had lots of insight about it and we considered many different ideas—maybe we can put up an OCR to scan their passport but for domestic use, there is no passport which you will scan, in that case, maybe NiD. We discussed many ideas. Then we ran a series of experiments and A/B testing, we sent some customers on specific user journeys, and others on a different journey on other specifications and we checked the success cases. If we change something, if we play with words, if we rearrange things, maybe perception is changing. This is one of the features we have actually worked on a bit.
We did a similar thing with seat bookings in early 2022. People can purchase tickets without booking seats and they can get the seats allocated at the counter. But they are purchasing tickets for like $400/500 and we had some insight from the customers that they want to book seats in advance. When we implemented that, we saw a lot of users start using it.
We are regularly doing new things that will empower our customers, give them better experiences, and additional benefits, and they won't need to reach out to us manually. Uber is one of the prime examples in terms of their support system. Whenever you need any support from Uber, they have an intuitive system that automates that support. We're trying to build that.
Ruhul Kader: That clearly explains how we should approach building a technology product. When you were doing that, what were some of the challenges that you faced?
Md Tanvir Ahmad Palash: I have worked on different projects throughout my career. In travel tech, one major difference is that we have to work with suppliers a lot. We are connected with third-party systems. We call a third party whose system is not ours. We have been connected with over 40-50 third parties, which is huge because every system is different. Simply think about payment processing, we have a long list of options, and then you have Pakistani gateways and international gateways.
Similarly, for flights, we have around 14 to 15 suppliers. For hotels, we have four or five suppliers. When you are working with these suppliers, it usually takes two-three months, sometimes six months with research and planning. These are some of the most complex things whenever you are actually connecting with lots of suppliers and in Traveltech, you can not avoid that, because your flight feed will come up from different sources. If you want to bring more revenue and more direct connectivity, you have to work with every airline, you have to work sometimes with every hotel. These things actually make things complex.
In Bangladesh, what I face a lot is education in terms of building complex technical systems. A system can be built in many different ways. It can be small, but you can do it in a good, proper way. For example, bKash. They are not just awesome in their app, they are also perfect in their system, whenever we are doing something with bKash, you don't have to ask me because I know they have that kind of process and system, which helps us to scope our work and to know exactly what needs to be done.
I wouldn't name any names but there are products where people are doing things for the sake of doing it. They take things casually and build features for the sake of building them. When that is the case, it now takes time to develop. Maybe it's small work, but we are actually doing, testing, and retesting, and again it is not working just because we don't have the proper details, or proper process in place. And it takes a lot of time. We have been working on a similar issue for a while and it has been three months now and it remains unresolved. We have been trying to incorporate it and wrap it up but it's not done because it is not working. Why? We don't know. It is not our fault. It is not like we can change our code, and it will work. It isn't like that. It looks like today, their system is working, tomorrow their system is not working. This is the most complex challenge we face in travel tech.
This is not unique to us, this is the case with every other player. Connecting with third parties and dealing with that is the most complex thing.
There are partners we work with where our work is simple and easy. For instance, we worked with Skyscanner, and our entire development was done in a week. We had a call with them and shared details with them. They said you guys have these details, this layout, which matches ours, it will be done by this week. It was done. That was a pretty good integration. But whenever it's not, it takes three-six months and sometimes you cannot find a way. These things actually delay other things. And sometimes we cannot actually provide a service in a timely manner to the customers. That's one of the biggest challenges.
Ruhul Kader: I think a lot of the time people don't think long-term when they're making a product or a feature. They think I need to build this and they go on and do it without thinking how other people will use it. If I need to integrate it with some other product, how will we do it? Whether it is scalable or not? And those kinds of questions.
Md Tanvir Ahmad Palash: We really take time to build things properly. For instance, we were speaking about an integration with Google. When it came to us, we requested some time so that we could create a proper config for Google so that we don't need to go back and forth while doing it. API is increasingly important in today's tech product ecosystem. While we could open an API today, we don't do it half-baked. When we work with some specific partners, for instance, Google, we create specific configs for that partner and try to make it as effortless for them as possible.
Ruhul Kader: When you look at the people building technology products, what are some of the common mistakes people make?
Md Tanvir Ahmad Palash: We briefly discussed this already, it is the 360 view, the scalability, that's the key. We always think about flexibility and customization but we don't think about scalability.
The second aspect is the standardization. Although things appear random, often there is standardization within a sector where things maintain certain standardization. For instance, if you look at the MacBook or Windows, these things maintain standardization so that they can interact with other similar things. However, these standardizations are not random. You reach these conclusions through years of studying customers' behavior and understanding. You invest years in order to understand customer behavior and then build something that can define a certain market. For us, it's also similar and it is similar for every piece of software you make regardless of their size — big or small, you have to maintain a specific standard. We can do a lot of things, obviously. We have to support customers in every way. But there should be some standards. You can't randomly do things. You can provide a ton of features to your customers but that doesn't mean you would not maintain any coherence. For instance, when you are designing a travel tech product, there are certain UX standards, certain product standards, that you have to maintain. The same is true for many other products and services.
In Bangladesh, we don't focus on the product. We have to design the product first, we have to make it proper, it should look like a finished product even before we start working on it, then we should start developing it.
These are the two things. One is scalability, we don't think about the future of it. So we have to think about it. The other one is product design. Before implementing or writing a single code, you should have the whole scope of things mapped out—what this feature will do, what this product will do, and how the interaction will be done. If you create a product based on what people are asking, you will not have any fixed frame for doing things. Someone will ask for something, others will ask for something else and you will have to keep changing it. We have to define the standard and of course, we have to speak with customers and develop those insights about what people want. I think that's needed in our industry now.
Ruhul Kader: You mentioned two important things where people usually make mistakes: scalability not thinking long-term enough and not starting with the end in mind, you need to design a standard or you need to outline the UX and then you go on building that thing. Apart from those two things, are there any best practices that you apply at GoZayaan or any set of rules that you follow whenever you're designing products or thinking about technology?
Md Tanvir Ahmad Palash: You can say a few things are already in practice. Two seemingly opposing ideas. One, the world of tech is constantly changing. What we do is keep that in mind when designing a product or feature that things change fast. The second aspect is not reinventing the wheel. Of course, you build things from scratch when need be but you don't always need to do that. Sometimes there is no meaning in reinventing the wheel. Instead, you can take advantage of others. Whenever we are building something, a product, or a feature, maybe we always think let's do it by ourselves. Alright, we should do that. But we also think that if there's already something in the industry, let's check it out, maybe it will help make our own system good. We are working with lots of software, we always look for other precedences and examples. We can build things from scratch all the time. We can build a feature by spending a year or six months but if there is a precedent for it, we can operate it in our own way. You need that mentality to learn.
The other thing is the focus. You might want to do everything. But that will only lead to nothing. What you need is to find the most important things and do them well. In terms of the software design, sometimes it looks like everyone wants to be a super-app, everyone's trying to do everything. It is probably right for some players but not for all. So, focus is another part. Keep the focus on where you are going right now, maybe other things will come up, but you shouldn't stray from your path.
Finally, the use of proper tools and having that process ready. I can do a lot of things verbally, but having tools in place will make things organized, and help us not only now, it will help us in the maintenance.
We have a word called technological debt. It's more like whenever you are doing something, you do it haphazardly to the extent you need to do it again and again. The initial lethargy makes the later compensation costly for you. This is called technical debt. The first one can be improper. Maybe you try to save some time, but it will cost you many years to come. To avoid that, if you have some tools, maybe you can avoid those things. You can have a record of things such as discussions, requirements, and so on. Having some good documentation tools helps us in planning and future changes. It offers visibility. Tools are one of the core things in terms of software development. It helps in many ways even if you are one or two members of a team.
Ruhul Kader: Your role has two parts. One is you are a leader of your team. And you maintain the communication with your leadership and the other teams in the organization. When it comes to people, running the team, and building a tech team, what is your experience? What are some of the best practices for doing that?
Md Tanvir Ahmad Palash: I often speak with startup founders and I understand that for many new startups, it is difficult to hire a CTO, because they can afford someone like a senior software engineer, but they cannot afford a business-oriented CTO. This is a problem, obviously. I always suggest thinking about it in a different way. Maybe you don't need a CTO. Think of it that way. Maybe you can look into what your business needs. The core thing is the business itself. And technology can support it.
Perhaps you don’t need a CTO or a big 200-member tech team. Instead, you perhaps can do it with a small team of two or three people. However, I always recommend people have at least one senior engineer on the team. Obviously, seniors are expensive, but one senior is also enough. Lots of people easily build up a team of 10 people, when you are a small company that is a big team, with mostly junior developers. Probably this allows you to save money in salary but the product they will be developing will have more issues because they don't have that kind of experience. They are super productive and super enthusiastic, but they do not have the skills or experience to deal with things in the future. So it will collapse in a year. I always suggest not hiring a CTO, but almost always bring one or two senior software engineers from the industry who can take some ownership, who you can elevate to a CTO position in the future.
Always keep your team small. Have concrete plans about what you want to achieve in a year, in five years, and so on. Maybe you need rapid development this year, a prototype, to show the investors. Next year, maybe you'll be looking into more optimizations and customer experience. It depends on every business. But I always prefer a small team. Having a small team is super fast in terms of development because they are close, and they are quicker. But the senior is the key. You need some seniors on the team. Without that, it will fail eventually whatever the business is that I can say.
Ruhul Kader: How should you run a team? Is there any art to it?
Md Tanvir Ahmad Palash: I think there are a few aspects to running a team. I will go with a few of them. You have to keep them motivated. You have to give them the freedom and autonomy to perform. There should be alignment between your vision and your team so that they can also understand what they're doing, and what impact it will have.
In terms of the process, maybe you don't need all the tools on the first day, but you should have an internal development process. Probably you don't need to buy expensive tools and software services in the early days. You can put an expensive system at work from day one but you will not see any productivity from the system alone but you will have to continue paying the fees. In the first year, you don't need heavy tech. You are mostly doing documentation and initial architecture. You can start small and grow gradually. Your vision should be bigger. But you can grow gradually. Start with planning for a year ahead. In the early days, while you always should focus on building a robust system, you should also focus on speed and doing things faster. When you are choosing tech, there are a ton of variables. You need to create a prototype within six months. So you have to think which architecture will help me to do that.
There are lots of other variables like which tech stack developers are more available in Bangladesh. This can also dictate your cost and investment. Instead of copying someone, maybe if we can keep it simple, we know what we'll be doing in one year, and in the future, we know the vision, maybe we have something in mind, and we can start small with that. We should give some documentation on a small scale, then I think it should be fine to actually start something and take it further. Eventually, in a year, there will be some more members, and there will be some other things. Even though we had less than 10 members for one or two years, we actually went big last year.
Ruhul Kader: I think that sums up the kind of how people should approach, you start small and then gradually grow from there. That's usually the best approach for almost anything.
Md Tanvir Ahmad Palash: Exactly, it's almost similar for everything. It's a very common sense strategy. You need to use your common sense, that’s all.
Ruhul Kader: When it comes to how technology is changing the travel industry in Bangladesh, you have been working for more than four years now at GoZayaan, one of the most prominent players in the travel tech space in the country. How do you see technology changing travel and travel service delivery in the country? What other second-order consequences does travel tech bring to the market?
Md Tanvir Ahmad Palash: More people in Bangladesh are now familiar with OTAs. They know about booking.com and Expedia, and many people use some of these services. Travel has witnessed a significant increase in popularity. People are going on trips more frequently.
At the same time, we are witnessing a new group of customers emerging. We need flexibility for these customers as we educate them. We have segments of customers who haven't taken flights before, but they are doing so now.
There has been a growing focus on tourism, with the government giving a lot of attention to the sector. We are getting the 3rd terminal, and we are seeing many international airlines also looking to enter the Bangladeshi market. A similar shift is also happening in Pakistan.
The second aspect is the significant reduction in the cost of travel. Even flights are much cheaper now, almost on par with AC bus prices. These factors are creating more demand in the sector.
The services we provide as OTAs have also evolved. It's no longer just about the basics. Previously, it was solely about GDS connections, which are essentially flight inventory connections we have from suppliers. You had a single GDS connection, and a single supplier, and you could provide search, booking, and ticketing services, which was sufficient. However, that's no longer the case. People now expect frequent flier programs, loyalty programs, and insurance. Customers are increasingly asking for more services that they see on international platforms.
Other aspects like fare optimization are also in demand. How can I find the cheapest fare more easily? The growing customer demand for better experiences is now pushing us to offer these features to our customers.
As we grow, we need to provide services to more customers. Our servers and network should be much faster, and our API responses should be quicker. This is driving changes in our architecture.
Furthermore, AI adoption is rapidly growing. People have been working with data science and AI for decades, but building these solutions requires specialist ML engineers, machine learning engineers, and data science engineers. Technologies like ChatGPT and MidJourney are changing the landscape, making it possible for even small teams to implement advanced solutions using readily available technologies. I believe the future of travel services will be transformed under the influence of AI. The core elements will remain, but AI will enhance the experience and make things easier. You should have a robust product at the core that serves customers. However, AI and data can be used in much more fascinating ways.
For instance, customers want flexibility. They may ask for recommendations, which we currently don't have. Perhaps we need a proper customization and recommendation system for them. Think about Google—whenever you search for something, they somehow understand your needs and provide relevant results. The same should apply to OTAs. While this feature is not present in GoZayaan yet, it should be. When you visit GoZayaan, you should see something relevant based on your usage patterns. We hope to implement this in the next two or three years. By introducing these features alongside the basics, we aim to revolutionize the travel tech market and hope to achieve a 50%-60% market share because it's a vast market.
Ruhul Kader: When it comes to market share, do you believe that the growth of travel technology or OTA has been relatively slow in Bangladesh compared to expectations? What's your take on this?
Md Tanvir Ahmad Palash: While growth was relatively slow in the past, it has picked up recently. One important aspect here is trust; people have to trust your brand and your service. Without trust, you cannot penetrate the market. For people to book something on the GoZayaan website, you should have the trust that you will get the ticket from GoZayaan if you pay. You are essentially sending your money to GoZayaan and trusting that GoZayaan will provide you with the exact service they promised. If we can build that trust, everything will change. I think we have been able to do it to some extent over the last few years.
The second aspect is the number of online travel agencies (OTAs), which is relatively small. We have a plethora of travel agencies, but the number of OTAs remains limited. There are only a few key players. On the other hand, the number of travel agencies that control most of the corporate segments is substantial. You can say that the large volumes are already there. When people start trusting online platforms, I believe OTAs will gain more market share. I'm hopeful; it's obviously possible. We have been experiencing a gradual shift in the market. But we'll have to remain customer-centric; otherwise, there will be no long-term, stable growth.
Ruhul Kader: You have been building technology products for the Bangladesh market for a long time. What lessons have you learned?
Md Tanvir Ahmad Palash: The most important part of building anything is the vision. You should have a vision of where you want to go.
Start small. Don't choose super-expensive tech for the sake of it. A lot of the time, I see people jump on the high-tech first, instead of focusing on the basics.
Pay attention to your business model, to what your business needs, and then design your system around that business model.
The second aspect is that there are great resources available online, study them. Look up the major players in your vertical and learn from their experience.
You have to be adaptive. Be willing to change if things don’t work. You have to understand that this business might not work and if that happens, I will change my approach. The same is true for technology. Adopting new tech is also important.
We now work on a certain technology stack. But if I need to change and adopt another tech stack for sustainability or changes in the market, I should be ready to do that.
Ruhul Kader: I think this is a good place to end this conversation. Thank you so much for taking the time to speak with us. This was a wonderful conversation.
Md Tanvir Ahmad Palash: Thank you for having me. I also enjoyed the conversation.