Resources
Nov 21, 2023

How Top Indian Companies are Surpassing Engineering Bottlenecks with Flutter

Discover how top Indian companies are effectively overcoming engineering bottlenecks by leveraging the power of Flutter.

How Top Indian Companies are Surpassing Engineering Bottlenecks with Flutter

Introduction

The Indian job market is diverse and complex, and recruiting for niche roles can be challenging. In our previous article, we provided insights into recruiting skilled Flutter app developers in India. The article highlighted the popularity of Flutter and its adoption by Indian companies, especially startups. We offered key statistics and insights into the market for Flutter developers in India, discussing the top companies that hired Flutter talent, their compensation ranges, notice periods, and many more. We also talked briefly about how to hire Flutter developers and retain top talent within the company. 

In this article, we take a deeper dive to understand how Flutter has helped Indian companies remove engineering bottlenecks and accelerate the development of apps. We'll discuss a few intriguing use cases for Flutter that international and Indian tech companies are using. Finally, we will talk about how to hire top Flutter talent in India.

How Flutter Enabled Rapid App Development across Platforms: Dream11's Case Study

Dream11 App images from Google

Dream11, India's largest sports game platform boasting around 50 million registered users, has revolutionized fantasy sports by allowing users to engage in cricket, football, kabaddi, basketball, and hockey. The platform enables users to put their sporting knowledge to the test by creating fantasy teams and competing against others. 

About four years ago, Dream11 decided to expand beyond the core fantasy sports platform and build a diverse ecosystem of sports-related apps to further enhance user engagement. This case study delves into how Dream11 embraced Flutter to achieve this ambitious goal.

The Problem Statement

To make Dream11’s vision of creating a diverse ecosystem of apps a reality, the developers need to amp up the speed at which they are creating apps. This required them to explore new technologies and frameworks that would allow them to build at an accelerated pace. While exploring newer technologies, there were two key challenges that loomed in front of Dream11:

  1. Uncertainty in Time and Resources: Dream11 faced the dilemma of not knowing how long it would take or how many resources they would need to bring their dynamic sports app ecosystem to life.
  2. Diverse Developer Backgrounds: The development team comprised three app developers, each hailing from distinct backgrounds. The challenge here was to create a collaborative environment where these developers, with their varying skill sets and perspectives, could seamlessly work together to achieve a common goal.

In the face of these challenges, Dream11 needed a solution that would not only accelerate development but also foster collaboration among their diverse team of developers.

The Approach

Dream11's quest to address the challenges led them to embrace the power of Flutter. Flutter, a versatile UI framework by Google, held the promise of a rapid and efficient development process across both iOS and Android platforms. It was the perfect choice to bring Dream11's dynamic sports app ecosystem to life.

To initiate their solution, Dream11's developers embarked on a small Proof of Concept (POC) mission. The focal point of this endeavor was the creation of the Power Predictor app, an application that allowed users to predict cricket game outcomes. The primary goal was to assess the development time and effort required using the Flutter framework.

The initial step involved crafting an Android version of the app. Despite the developers' diverse backgrounds, they found Flutter's DART programming language to be remarkably intuitive. Flutter's seamless integration with powerful development tools like Android Studio emerged as a game-changer. Features like hot reloading, which enabled instant debugging, and the real-time visualization of code outcomes on emulators or devices streamlined the development process and accelerated progress.

Screenshot of how Flutter gives real-time visualization to outcomes from code changs.

Hot reload, a standout feature of Flutter, expedites experimentation, UI development, feature integration, and bug fixing. This functionality operates by seamlessly integrating revised source code files into the active Dart Virtual Machine (VM). Subsequently, the VM updates classes with the latest iterations of fields and functions. Harnessing this dynamic, the Flutter framework instantaneously reconstructs the widget tree, enabling you to promptly visualize the outcomes of your modifications.

With the Android version successfully developed and operational, the developers shifted their focus to rolling out the iOS app. Traditionally, developing an iOS app requires 2 to 3 weeks due to platform-specific adjustments. However, the magic of Flutter's single code base allowed Dream11's developers to have the iOS version up and running within a mere two days.

To validate the reliability of their creation, the team subjected both Android and iOS apps to rigorous testing. They challenged their colleagues to find vulnerabilities that could crash the apps. To their astonishment, the Flutter-powered apps emerged unscathed from repeated testing of diverse use cases, underscoring Flutter's robustness as the chosen solution.

The Final Results

Flutter proved to be a game-changer for Dream11. A diverse engineering team that was using Flutter for the first time built the Power Predictor app in record time. It exhibited reliable performance with minimal issues. Flutter’s ability to support simultaneous development for Android and iOS platforms with a single code base greatly impressed the team. The success of the Power Predictor app solidified Flutter's standing as a reliable and efficient framework for Dream11's development needs. 

With this success, Dream11 started to leverage Flutter for future projects, continuing to expand their ecosystem of sports-related apps and providing a delightful user experience to millions of registered users. In embracing Flutter, Dream11 not only overcame their challenges but also set a remarkable example of how an innovative framework can transform the landscape of app development.

Embracing Innovation: How Gojek Adopted Flutter to Drive Progress while Mitigating Risks

Screenshot of Gojek App.

Gojek, a leading technology platform based in Indonesia, has revolutionized various aspects of daily life through its comprehensive range of services. From ride-hailing and food delivery to payments and more, Gojek's impact resonates far beyond conventional boundaries. Notably, Gojek also boasts a remote engineering team in India, reflecting its global outreach and commitment to innovation.

The Problem Statement

In the face of evolving technologies, the engineering team at Gojek recognized the importance of staying ahead of the curve while considering the implications of every choice. They began by brainstorming on the questions and doubts that often arise while introducing new technologies:

  • How can one ascertain a technology's durability?
  • Is it worth embracing early adoption risks?
  • Will the value derived outweigh the costs?
  • How do we ensure our existing workforce is trained and ready?

These questions, while stressful, provided the compass for guiding innovation.

The Approach

"We strive to actively invest in exploring new things, knowing that most of these investments will return nothing." - Keith Adams and Johnny Rodgers' philosophy at Slack

The team understood that not every shiny new technology is worthwhile, yet rejecting all things new isn't the solution either. The solution was to actively explore and experiment with new technologies, and be ruthless in discarding experiments that didn't hold value. 

The inception of Gojek's venture with Flutter can be attributed to this very principle. Around the close of 2020, the engineering leaders within Gojek initiated a discourse centered on enhancing the quality of Gojek's mobile applications and refining the process of their construction. This resulted in the creation of a comprehensive document that systematically evaluated user-centric priorities, gathering consensus from business, product, and engineering authorities. Notably, among the approved projects, one entailed the exploration of Flutter, a cross-platform framework.

The Final Results

Exploration - The Flutter Experiment

Initially, the team aimed to validate if Flutter could deliver benefits without requiring a complete rewrite of their apps. They tested Flutter by embedding a Flutter-built screen into the existing Gojek app for restaurant listings. After about two months of work, the results were positive. It was interesting to note that two of the three engineers who were working on this project were new to Flutter.

Building Momentum

The Gojek team encountered the challenge of infrastructure barriers for teams interested in trying Flutter. To overcome this, they initiated the development of the Asphalt Aloha design system in Flutter. This endeavor not only tackled barriers but also paved the way for further adoption.

Holy Grail for Adoption - Lowering the Barrier to Entry

To make it easier for teams to experiment with Flutter and try it out for something real, the Gojek team built a UI library, created a Flutter developer community, and organized meet-ups. They emphasized the importance of communication channels and social systems in driving technology adoption, highlighting the need for a holistic approach.

Conclusion

Gojek's experience with Flutter highlights the importance of a methodical and well-balanced approach to adopting new technologies. Their systematic evaluation, experimentation, and emphasis on communication channels showcase how organizations can effectively navigate the evolving tech landscape, driving innovation while minimizing risks.

Revolutionizing User Experience: How Zerodha Leveraged Flutter to Transform Their Trading Platform

Digital poster of Zerodha's Kite 3.o app reveal.

In the fast-paced world of finance and trading, providing a seamless and robust mobile trading platform is crucial. Zerodha, India's largest retail stockbroker by volume, understands this all too well. With a vast user base of millions of people, Zerodha's flagship trading platform, Kite, has become a lifeline for many, enabling them to participate in India's capital markets efficiently. However, as the user base grew and the demand for a reliable mobile trading experience increased, challenges started to emerge.

The Problem Statement

As the engineering team at Zerodha faced the challenge of maintaining and enhancing the mobile trading platform, they embarked on a journey to find the best solution. The initial version of Kite was a native Android app, followed by a cross-platform version using React Native. However, as the app's complexity and user demands grew, these solutions revealed their limitations.

The Approach

The team needed a framework that could provide a native experience, streamline development efforts, and offer the flexibility to adapt to changing requirements. Enter Flutter, a relatively new player on the scene. Despite being in its alpha stage, Flutter caught the team's attention with its promise of a native UI with a "just works" experience.

The decision to consider Flutter wasn't made lightly. The team, consisting of just two mobile developers, meticulously weighed the pros and cons, considering factors like development time, performance, and maintainability. They also acknowledged that betting on bleeding-edge technology could be risky, but they were drawn by Flutter's potential to address the challenges they were facing.

Zerodha's journey with Flutter began in 2018 when they decided to rewrite their mobile trading platform, Kite. The first step was to replace the native Android app, which was becoming increasingly challenging to maintain. Flutter's architecture, simplicity, and fast development cycle appealed to the team. Despite Flutter being in its alpha phase, they decided to take the calculated risk and explore its potential.

The transition to Flutter wasn't without its hurdles. The team had to adapt to a new language, Dart, and deal with the early version's limitations. However, as they became more familiar with Dart and Flutter's documentation, their confidence grew. They found that Flutter's UI building capabilities and Hot Reload feature significantly boosted development efficiency.

During the transition, Zerodha leveraged its experience with code generation, resulting in a smoother migration of state management behavior from the React Native app to Flutter. The team also customized UI elements to suit their needs, taking full advantage of Flutter's capabilities.

The Final Results

The results were impressive. Kite 3.0, the Flutter-powered version of Zerodha's mobile trading platform, was released in early 2019, replacing both the native Android and React Native apps. The new app provided a seamless trading experience and addressed several issues that plagued the previous versions.

With Flutter, Zerodha achieved a truly native UI that rivaled the user experience of native apps. The platform's performance, responsiveness, and stability improved significantly, allowing users to trade with confidence. While challenges such as graphics glitches and biometric authentication were addressed, the engineering team remained committed to refining their app to provide the best possible experience for their users.

Flutter's Influence and the Surge in Demand for Proficient Developers

Collectively, these stories underline the profound impact that Flutter has had on diverse industries, highlighting its role in accelerating development, reducing complexity, and fostering innovation. As Zerodha, Gojek, and Dream11 continue to thrive and evolve, their adoption of Flutter serves as a testament to its ability to revolutionize user experiences and drive success in the modern digital landscape.

As a result, the demand for Flutter developers has surged significantly. Hiring managers are actively seeking professionals who are well-versed in Flutter's unique framework, its widgets, and its rich ecosystem. The ability to build cross-platform apps with a single codebase while ensuring performance and aesthetics is a skill that has become highly sought after in the job market. In the subsequent section, we will analyze the skills that managers are looking for in Flutter developers.

How to Hire Flutter Developers in India

Hiring Flutter developers in India can be a strategic move to tap into the country's vast talent pool of skilled developers. Here's a step-by-step guide to help you navigate the process effectively:

  1. Define Your Requirements: Determine your project's scope, objectives, and technical requirements. Are you building a mobile app from scratch, enhancing an existing app, or something else? Identify the specific skills, experience level, and expertise you need in a Flutter developer.
  2. Job Description Creation: Craft a detailed job description that outlines the responsibilities, qualifications, skills, and experience you're seeking in a Flutter developer. Include information about your company, the project, and any technologies or tools the developer will be working with.
  3. Choose the Right Platforms: Decide where you want to post your job openings. Popular platforms for hiring developers in India include job boards like Naukri.com, LinkedIn, Indeed, and specialized tech job portals.
  4. Review Resumes and Portfolios: As resumes start coming in, carefully review candidates' qualifications, work experience, and Flutter-specific projects they have worked on. Look for a history of building successful mobile apps using Flutter.
  5. Conduct Technical Interviews: Conduct technical interviews to assess candidates' Flutter knowledge, problem-solving skills, and ability to write clean and efficient code. Ask about their familiarity with Flutter's architecture, widgets, state management solutions, and integration with backend services.
  6. Review Past Projects: Ask shortlisted candidates to showcase their past Flutter projects. This will help you evaluate their ability to develop user-friendly, visually appealing, and functional mobile applications.
  7. Assess Communication Skills: Communication is key, especially if you're working with remote developers. Gauge candidates' communication skills through interviews, emails, and interactions. Strong communication ensures effective collaboration throughout the project.
  8. Cultural Fit: Assess how well the candidate's work style aligns with your team's culture and values. A good cultural fit contributes to a more harmonious and productive work environment.
  9. Technical Test or Assignment: Consider giving a technical test or a small coding assignment to evaluate the candidate's hands-on coding skills. This can provide insights into their problem-solving approach and coding practices.
  10. Negotiation and Offer: Once you've identified the right candidate, discuss compensation, benefits, and any other terms. Make a formal job offer and give the candidate sufficient time to consider and accept the offer.
  11. Onboarding and Integration: Upon acceptance, ensure a smooth onboarding process. Provide access to necessary tools, documentation, and resources. Encourage open communication and collaboration with the existing team.

List of Indian Companies with Top Flutter Talent

Here is a list of companies that hire top Flutter talent in the country:

List of Indian Companies with Top Flutter Talent

Desired Skills and Attributes: What Companies Seek in Flutter Developers

We conducted an in-depth analysis of Job Descriptions from leading product companies in India and around the world. Our aim was to comprehend the essential skill traits that hiring managers prioritize when seeking their next Flutter developer. The following compilation highlights the skills that consistently emerged across all the job descriptions:

  1. Proficiency in Flutter and Dart: A robust grasp of Flutter and Dart is fundamental, as companies underscore the importance of these technologies. Flutter and Dart form the cornerstone for building cross-platform mobile applications that seamlessly function on both Android and iOS platforms.
  2. Mobile App Development Expertise: Prior experience in mobile app development stands as a key criterion for candidates. Hiring managers in product companies prioritize individuals who have successfully built and launched applications on Android and/or iOS platforms. This background signifies the candidate's familiarity with the mobile development lifecycle, platform-specific guidelines, and the intricacies of app deployment procedures.
  3. Mastery of State Management Patterns: A crucial point highlighted by several companies is that the candidate should be adept in understanding and implementing state management patterns within Flutter applications. Proficiency in popular state management approaches like BLOC (Business Logic Component), MVVM (Model-View-ViewModel), and Provider holds substantial weight, as these patterns are pivotal in constructing intricate apps.
  4. Unit Testing and Code Excellence: Ensuring the quality and resilience of code is imperative in app development. Companies expect candidates to write unit tests for their code that encompass various scenarios, including edge cases and usability scenarios. The creation of clean, readable code that follows industry best practices and design principles is highly regarded, as it contributes to the development of maintainable and scalable applications.
  5. Familiarity with Diverse Programming Languages: Some companies mention the incorporation of additional programming languages like Java, Kotlin, Swift, Python, and Go within their tech stack. Flutter developers might need to collaborate with teams engaged in different projects or integrate Flutter with existing systems. Proficiency in these languages can be an advantage in such scenarios.
  6. Integration with External Services: The integration of mobile apps with external services and libraries is a paramount aspect accentuated by numerous companies. Familiarity with tools such as Firebase for Cloud Firestore, Push Notifications, Cloud Functions, and Analytics is often a prerequisite. A developer with experience in utilizing Google Play Services and other third-party APIs can be at an advantage in such cases.
  7. Performance Optimization Acumen: Attaining optimal app performance is pivotal to delivering a seamless user experience. Companies are actively seeking candidates capable of profiling and fine-tuning Flutter apps for peak performance, particularly on resource-constrained devices. This may encompass optimizing memory consumption, reducing app size, and enhancing rendering speed.
  8. Comprehension of UI/UX Principles: Flutter developers are expected to possess a strong grasp of UI/UX design principles, as emphasized by companies. The ability to collaborate effectively with product and design teams to shape user interfaces that intuitively enhance the overall user experience is a highly regarded skill.

Hiring Flutter Developers with Wisemonk

Are you looking to build a top-notch Flutter development team for your company's next big project? Look no further than Wisemonk! As a leading talent acquisition platform, we specialize in connecting businesses with highly skilled Flutter Developers across India.

Whether your business is a startup or a well-established enterprise, our network of talent spans various industries, ensuring that you discover the ideal candidate to meet your project's specific needs. We leverage exclusive candidate data and employ customized search tactics to pinpoint the ideal match for your requirements. This approach has led to an impressive track record where 1 in 6 candidates who undergo interviews for our clients successfully secure positions! 

With Wisemonk, you have the opportunity to "Directly Offshore" your engineering initiatives to India, propelling your business growth to unparalleled levels. Reach out to us today and equip your team with top-notch Flutter expertise!

/* */