Explore the story, challenges, and solutions ‘behind the code’ with eCabs Technologies’ Backend Team Lead.
What are the main responsibilities of a backend developer in your team?
Working in backend development at eCabs, I focus on designing, developing, and maintaining our server-side logic and databases. I write clean, efficient, and reusable code to ensure seamless platform operation.
My day-to-day involves collaboration, code reviews, mentoring, and optimising for performance, scalability, and security. I also troubleshoot and stay updated with industry trends to implement cutting-edge solutions.
How does your team’s work contribute to fulfilling eCabs’ mission and improving transportation services?
My team’s work is pivotal in fulfilling eCabs’ mission. We focus on backend infrastructure, ensuring it’s robust and aligned with company goals.
By delivering high-quality, scalable solutions, we provide a seamless user experience, revolutionising transportation services. Our emphasis on code quality and performance optimisation positions us for long-term success and growth.
Can you share a specific project that you are proud of, and what challenges you faced during its implementation?
One project that I’m particularly proud of is our multi-tenancy transition. Initially, our operations were exclusive to Malta, but this project marked a significant leap in our expansion strategy.
However, this transition came with its fair share of challenges. Adapting our platform for multi-tenancy required a meticulous approach.
We needed to ensure that each tenant could seamlessly and securely access their data and services while maintaining optimal performance and reliability across all regions.
What strategies and actions did you take to tackle these challenges?
To tackle these challenges, we conducted a comprehensive analysis of our existing infrastructure.
This informed our strategy for implementing multi-tenancy, which involved an almost complete redesign of our backend architecture, optimisation of database schemas, and the establishment of robust access control mechanisms.
Additionally, we put in place rigorous testing protocols to validate the scalability and security of the system.
The successful execution of this transition not only expanded our operational reach but also positioned us for further growth and expansion into new markets.
It stands as a testament to the dedication and expertise of our team in overcoming complex challenges and achieving strategic objectives.
Can you describe the technologies and tools you use in your tech stack for backend development?
As a backend developer, the arsenal of technologies at my disposal is diverse and tailored to meet the specific needs of our platform. Our tech stack is finely tuned to ensure the efficiency, scalability, and robustness of our services.
For legacy services, Java 8 remains an essential component of our toolset, allowing us to maintain stability and support for existing systems. For newer services, we adopted Java 17, leveraging its cutting-edge features to build innovative solutions that align with industry best practices.
How do you ensure scalability in your tech mobility platform, and what role do cloud-native architecture and microservices play in this?
Frameworks play a pivotal role in our development process. Spring Boot is a cornerstone, enabling rapid application development and seamless integration with various components.
Additionally, we’ve embraced Quarkus, harnessing its lightweight and reactive architecture to further enhance the performance of our applications.
In terms of databases, we rely on Postgres for its reliability and robust feature set. For more specialised data requirements, we have integrated MongoDB, offering flexibility and scalability for specific use cases.
As for message queuing and communication, we utilise RabbitMQ to facilitate asynchronous communication between different parts of our system. We also leverage pubsub mechanisms to ensure real-time updates and notifications.
Containerisation and orchestration are fundamental to our deployment strategy. Kubernetes forms the backbone of our container orchestration, providing a scalable and resilient environment for our services.
This, in conjunction with our cloud infrastructure, is hosted on Google Cloud Platform (GCP), ensuring a secure and performant environment for our applications.
In essence, our tech stack is a carefully curated blend of proven technologies and innovative solutions. It allows us to deliver a high-performance platform while maintaining the flexibility to adapt to evolving industry standards and user demands.
How do cloud-native architecture and microservices contribute to this scalability?
Scalability is central to our tech mobility platform. We adopt cloud-native architecture and microservices, allowing us to independently scale components based on demand.
Auto-scaling and horizontal scaling ensure seamless handling of increased user activity. Rigorous testing and load balancing fine-tune performance. Our team continuously explores emerging tech to enhance scalability.
Our development process thrives on effective collaboration. Working closely with product managers, designers, frontend developers and mobile developers, I ensure a clear understanding of project goals. Continuous communication, including stand-up meetings and design reviews, keeps us aligned.
With frontend and mobile developers, we establish seamless integration and troubleshoot together. Knowledge-sharing and cross-training further enhance our collective expertise, leading to high-quality solutions.
In the rapidly evolving field of software development, what steps do you take to stay updated with emerging technologies and industry trends?
Continuous learning is fundamental in software development. Staying updated with emerging technologies is imperative.
In the dynamic field of software development, complacency is not an option. Keeping pace with emerging technologies is crucial.
Recent breakthroughs such as serverless architectures and widespread Kubernetes adoption have reshaped how we develop and deploy. This adaptability ensures our solutions remain cutting-edge.
Embracing microservices empowers rapid response to changing demands. A steadfast focus on observability and stringent security safeguards system reliability and data integrity.
The commitment to continuous learning not only enhances our capabilities but also leads to innovative and effective software solutions.
In the fast-paced, competitive market of ride-hailing, sustaining innovation and agility is pivotal. We actively seek customer feedback and foster a culture of experimentation.
Agile methodologies empower us to swiftly adapt to changing needs. Additionally, we keep a vigilant eye on industry trends and invest in ongoing learning.
This comprehensive approach ensures we stay at the forefront of development, remaining both competitive and responsive to our customer base.
What advice would you offer to aspiring backend developers entering the tech mobility industry
I would advise aspiring backend developers looking to enter the tech mobility industry to focus on a few key areas.
Firstly, mastering core backend technologies is crucial. This forms the foundation of your technical prowess.
Additionally, familiarise yourself with cloud platforms like AWS or Google Cloud, as they’re integral for creating scalable and reliable infrastructure.
Understanding microservices architecture is equally important, as it allows for flexibility and scalability in complex systems.
APIs are a cornerstone in mobility services, so becoming proficient in designing and working with them is essential.
Given the sensitive nature of user data, prioritising knowledge of data security, encryption, and privacy regulations is paramount.
Lastly, remember that continuous learning is non-negotiable. The tech industry is ever evolving, so staying curious and open to adopting new tools and frameworks is imperative.
This combination of technical proficiency, problem-solving abilities, and a passion for learning will undoubtedly pave the way for success in the tech mobility industry.