Senior Software Engineer - Mobile (Android)

  • Full-time
  • Function: Software Engineering(ENG)

Company Description

Freshworks makes it fast and easy for businesses to delight their customers and employees. We do this by taking a fresh approach to building and delivering software that is affordable, quick to implement, and designed for the end user. Headquartered in San Mateo, California, Freshworks has a global team operating from 13 global locations to serve more than 65,000 companies -- from startups to public companies – that rely on Freshworks software-as-a-service to enable a better customer experience (CRM, CX) and employee experience (ITSM). 

Freshworks’ cloud-based software suite includes Freshdesk (omni-channel customer support), Freshsales (sales automation), Freshmarketer (marketing automation), Freshservice (IT service desk), Freshchat (AI-powered bots), supported by Neo, our underlying platform of shared services.

Freshworks is featured in global national press including CNBC, Forbes, Fortune, Bloomberg and has been a BuiltIn Best Place to work in San Francisco and Denver for the last 3 years. Our customer ratings have earned Freshworks products TrustRadius Top Rated Software ratings and G2 Best of Awards for Best Feature Set, Best Value for the Price and Best Relationship. 

Job Description

About the Team:

We are looking for a talented Android Engineer to join us in building Freshsales, our flagship CRM for high velocity sales teams. You will work with the best and latest minds and technologies to design, develop, and maintain the Freshsales Android app. This includes collaborating with our product team to build new user features, crafting a scalable mobile architecture, building reusable components and innovating with emerging tools and technologies in the mobile landscape. You'll have an exciting work environment and plenty of opportunities to shape the future of Freshsales CRM. 

We’re passionate about creating elegantly designed, highly performant mobile applications that empower millions of businesses across the globe with an easy-to-use sales CRM. We deeply care about the quality, security & performance of the product we ship to our customers. Our work culture is deeply rooted in trust, learning and collaboration.

Freshsales is on a rapid growth trajectory, and as an Android Engineer, you can help us shape and build a differentiated product while gaining invaluable experience with complex problems and systems. If you have a passion for Android, emerging technologies, and mobile development, this role offers an invaluable opportunity to spearhead progress.

Overview of the Role :

We are looking for a mobile developer to bring the best of our apps to Android devices. You will be expected to commit to intuitive design, aesthetics and provide our app users with the best user experience possible.

Responsibilities :

  • Design and develop professional enterprise grade applications for the Android platform.
  • Collaborate with cross-functional teams to define, design, and ship new features in a dynamic work environment.
  • You’ll own features from the first line of code all the way to production understanding tools, concepts and processes, and underlying implementation.
  • Write code that is clear, readable, and reusable for the app's functionality, integrations, and design and unit-test code for robustness.
  • You’ll manage, triage, and fix crashes and bugs, improve application responsiveness, quality, and performance so that our users can focus on their sales pipelines and close more deals.
  • Strive to improve the team's development practices, enhancing its design patterns, deployment procedures, and user experience.
  • You’ll test and manage releases to the Google Play Store.
  • You’ll identify opportunities to eliminate or automate remediation of recurring issues to improve overall operational stability of mobile applications and systems.
  • Active participation in routine engineering activities like planning meetings, standups, code reviews, and product/technology demos.

Requirements :

  • Bachelor's degree in Computer Science, Engineering or related field, or equivalent training, fellowship, or work experience
  • At-least 4+ years of experience in native Android mobile app development, ideally in a team environment.
  • Strong computer science fundamentals: data structures, algorithms and programming languages
  • Experience working closely with product teams, designers, and other developers to create a truly delightful mobile experience. 
  • Experience developing highly performant Kotlin & Java code and view hierarchies.
  • Extensive understanding of Android framework components - activities, services, intents, broadcast receivers, and content providers and the like and their respective lifecycles. 
  • Strong knowledge of different versions of Android, and how to deal with different screens. 
  • Production grade experience with Kotlin coroutines & flows. Experience with dependency injection using Dagger and Hilt.
  • Detailed understanding in working with RESTful APIs over HTTP, third-party libraries and push notifications.
  • Familiarity with Jetpack Compose - Basic hands on experience with composables, lazy lists, interoperability with XML, adaptive apps with material navigation.
  • Familiarity with the Android tool ecosystem for development, testing, debugging, and performance benchmarking.
  • Current and detailed knowledge of the capabilities of different Android API levels
  • Experience with profilers and memory management, performance tuning, multi-threading, and offline storage.
  • Understanding of code versioning tools viz. Git, Mercurial
  • A disciplined approach to development, testing, documentation and code structure in a team environment while taking a thoughtful, practical approach to problem-solving that considers tradeoffs, edge cases and always has the customer in mind in every phase of development.
  • A constant desire to improve, learn more and make the app better with each passing day.
  • Bonus points 
  • Experience with reactive programming (e.g. RxJava)
  • Experience building design systems to create reusable and scalable components.
  • Experience with implementing mobile application security standards with a key focus on Android platform APIs, deprecations, vulnerabilities and application hardening.
  • Working knowledge on CI/CD tools, such as Jenkins

Qualifications

  • Data Structures - Proficient in lists, maps, queues, stacks, and trees.
  • Language Proficiency - Strong in Kotlin and Java.
  • Kotlin Coroutines - Highly skilled.
  • Android Development - Expertise in creating views, custom views, and complex view hierarchies.
  • Android Jetpack Components - Proficient in viewmodels, pagination, recyclerviews, room (database), and similar components.
  • Dependency Injection - Proficient in Dagger & Hilt (mandatory).
  • Jetpack Compose - Familiarity with composables and hands-on experience in creating views using Jetpack Compose required.

Additional Information

All your information will be kept confidential according to EEO guidelines.

At Freshworks, we are creating a global workplace that enables everyone to find their true potential, purpose, and passion irrespective of their background, gender, race, sexual orientation, religion and ethnicity. We are committed to providing equal opportunity for all and believe that diversity in the workplace creates a more vibrant, richer work environment that advances the goals of our employees, communities and the business.

Privacy Policy