
Senior Software Engineer - Android
Job description
Overview
The job profile involves understanding and implementing the latest technologies and closely following the global trends on the web and mobile web development.
Here is what we look for in a Software Engineer Android
It’s all about the users. We have to think like the user and plan all strategies and align content strategy accordingly. The efforts of the Technology team are to keep our primary TG engaged and attract a newer audience.
- Be the USER: Think from a user perspective, and plan content strategies according to what will be relatable to them.
- Deliver WOW: Never settle for mediocrity. Aspire for new user benchmarks. Passionately seek unconventional solutions that have the potential of breaking new grounds achieving exponential reach and engagement.
- Embrace & Drive CHANGE: Embrace curiosity. Accept and enthusiastically encourage change while questioning the status quo and showing initiative. Never let the fear of failing hold you back.
Role
This is a front-end role, but not limited to it. You will be learning a lot about Android development along with other mobile technologies too. Also, we believe in extreme ownership!
And to be honest, everyone loves working with kind and smart people. We are building a kick-ass team with humble and empathetic talent.
What you will do in this role
- Design and build advanced applications for the Android platform
- Collaborate with cross-functional teams to define, design, and ship new features
- Unit-test code for robustness, including edge cases, usability, and general reliability
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency.
- Translate designs and wireframes into high-quality code.
- Design, build and maintain high performance, reusable, and reliable Java code
- Ensure the best possible performance, quality, and responsiveness of the application
- Identify and correct bottlenecks and fix bugs.
Job requirements
What you should have
- 3-7 years of work experience developing complex software.
- Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes
- Good knowledge of design patterns like Creational, Structural and Behavioral patterns, MVP, MVC, etc.
- Familiarity with RESTful APIs to connect Android applications to back-end services
- Strong knowledge of Android UI design principles, patterns, and best practices
- Experience with offline storage, threading, and performance tuning
- Knowledge of the open-source Android ecosystem and the libraries available for common tasks
- Ability to understand business requirements and translate them into technical requirements
- Familiarity with cloud message APIs and push notifications
- A knack for benchmarking and optimization
- Understanding of Google’s Android design principles and interface guidelines
- Proficient understanding of code versioning tools, such as Git
- Proven software development experience and Android skills development
- Have published at least 3 original Android app
- Experience with third-party libraries and APIs
- Solid understanding of the full mobile development life cycle
Education: Any Graduate
Experience (years): 3 to 7 years, good to have prior experience in product development
Brownie Points
- Mobile Application Development
- Model-View-Controller (MVC)
- User Experience (UX)
- Model-View-Presenter (MVP)
- Representational State Transfer (REST)
- Android
- Mobile Architecture
- SDK
- Android SDK

Similar jobs
Experience in Core Java and Spring Boot.
• Extensive experience in developing enterprise-scale applications and systems. Should possess good architectural knowledge and be aware of enterprise application design patterns.
• Should have the ability to analyze, design, develop and test complex, low-latency clientfacing applications.
• Good development experience with RDBMS.
• Good knowledge of multi-threading and high-performance server-side development. • Basic working knowledge of Unix/Linux.
• Excellent problem solving and coding skills.
• Strong interpersonal, communication and analytical skills.
• Should have the ability to express their design ideas and thoughts

Key Responsibilities:
· Design, develop, and maintain AEM-based backend solutions, components, and templates.
· Develop custom AEM Sling models, servlets, services, and OSGi components.
· Build and integrate RESTful services and APIs to support frontend and third-party systems.
· Work closely with frontend developers and AEM content authors to support dynamic content delivery.
· Develop automation scripts using Java/Python for data handling, deployment, and reporting needs.
· Implement AEM workflows, user permissions, and version control for content.
· Troubleshoot and resolve technical issues in AEM environments.
· Optimize AEM performance, scalability, and security configurations.
What You’ll Bring:
· Bachelor’s degree in Computer Science, Engineering, or a related field, or equivalent work experience.
· Proven experience delivering high-quality web applications.
Mandatory Skills
· 3+ years of experience in AEM backend development.
· Strong hands-on experience with Java, OSGi, Sling, and JCR.
· Experience with Python for backend scripting, automation, or integration tasks.
· Knowledge of AEM architecture including dispatcher, replication agents, and workflows.
· Experience working with AEM APIs, servlets, event handlers, schedulers, and custom components.
· Understanding of REST APIs, JSON/XML data handling.
· Familiarity with Maven, Git, Jenkins, and Agile development practices
Preferred Skills (Nice to Have):
· Exposure to Adobe Experience Cloud tools like Adobe Target, Analytics, Campaign.
· Working knowledge of cloud-based AEM (Adobe as a Cloud Service) is a plus.
· Basic familiarity with frontend technologies (React/Angular/HTL) is beneficial.
Job Responsibilities:
* Design, build, and maintain efficient, reusable, and reliable Java code
* Ensure the best possible performance, quality, and responsiveness of the applications
* Identify bottlenecks and bugs, and devise solutions to these problems
* Help maintain code quality, organization, and automatization
* Prepare the technical design of complex technology components
Mandatory Skills:
* Proficient in Java (JDK 1.7) or above JDK 8 preferable, with a good knowledge of its ecosystems with a knack for writing clean, readable Java code, writing reusable Java libraries along with knowledge of concurrency patterns in Java
* Solid understanding of object-oriented programming along with various design and architectural patterns
* Hands on experience with Spring, Spring Boot, JUnit
* Familiarity with concepts of MVC, Microservices, RESTful
·What You will do
● Create beautiful software experiences for our clients using design thinking, lean and agile methodology.
● Work on world-class software products using the latest cutting edge technologies and platforms.
● Work in a dynamic, collaborative, transparent, non-hierarchical culture.
● Work in collaborative, fast-paced and value-driven teams to build innovative customer experiences for our clients.
● Help to grow the next generation of developers and have a positive impact on the industry.
Basic Qualifications
● Experience: 4+ years.
● Hands-on development experience in backend, Java, SprintBoot, Hibernate, SQL, MongoDB, Jenkins, Microservices etc...
● Server-side development experience mainly in JAVA.
● Passion for software engineering and follow the best coding concepts. ● Good to great problem solving and communication skills.
● Experience in working with cross-border, distributed teams is a must.
Nice to have Qualifications
● Product and customer-centric mindset.
● Great OO skills, including design patterns.
● Experience with large-scale enterprise systems
Experience:4-7years
Package: Exp- 3.5X max
Location: Hyderabad Location (WFO)
Skillset: Java developer with spring boot and microservices
Note: If you get selected you need to come and work in the office Hyderabad location

- B.Tech/B.E (preferably in Computer Science Engineering)
- 7+ years of hands-on programming experience in building data-driven REST APIs, services & platforms using advanced Java frameworks like Spring, Redis, Node.js etc. with deep focus on integration & scale.
- We also look for hands-on experience with Mysql, Elasticsearch (or Solr) and Nosql stores.
- Our evaluation starts with focus on computer science fundamentals, data structures & algorithms.
- You will have been learning new technologies every week and prefer folks who can use golang/rust for backend development and are familiar with equivalent data stores, index stores and pub-sub technologies.
Coding in Java8, Spring, Microservices, WebFlux/Reactive Programing, Rest services, Kafka, PCF, Azure, Spring Cloud Config and NoSQL technologies.
Solve technical problems using cutting-edge technologies and best practices.
Ensure code meets the required development standards and is optimized for performance.
Unit testing for each line of new code introduced (JUnit/Mockito)
Peer code review process using GIT pull requests and Crucible (for SVN)
Propose multiple solutions to a problem, show how one option is better than another.
Ensure all aspects of technical design are correctly incorporated.
Contribute in research and implementing POCs as required.
Collaborating with onsite team in scrum ceremonies.
Who you are:
Hands on experience on Java/J2EE programming, especially on Java 8 features
Experience using latest frameworks like Spring, Spring Boot, Spring Rest, Spring Cloud Config and Webflux.
Experience in Microservices architecture & development
Experience with Test Driven Development
Experience with SQL on any of the RDBMS Oracle, PostgreSQL, My SQL
Exposure to NoSQL DB is added advantage, preferred MongoDb / Cassandra
Experience with any of the ORM frameworks Hibernate/iBatis, JDBC, JPA
Exposure to JMS Kafka, IBM MQ or Active MQ is good to have
Experience with JUNIT and any of the mocking frameworks Mockito, EasyMock, JMock
with hands on any one of the cloud platforms like PCF, Azure
Use of code repository tools like SVN, GIT
Exposure to any of the build and deployment tools like Gradle, Maven, Ant
Experience in CI/CD pipeline such as JENKINS
Experience using different design patterns, especially GoF, J2EE and Integration design patterns
Exposure to performance testing using JMeter is good to have
Ensuring the code meets the required development standards and is optimized for performance
Experience managing teams and deliveries
Providing technical design or approach for a business problem
Leading the team towards the right solution with expected quality and timelines
Experience with Agile practices
With good collaboration skills to coordinate with US based onsite team and client team.
Good team player and coordination skills
Today, MoEngage is an industry pioneer in the space and engages more than 350M devices. This includes approximately 40B events tracked per month, 30B+ messages sent, to millions of users across the globe.
As part of the Engineering team at MoEngage, here are some things you can expect:
- Take ownership and be responsible for what you build - no micro management
- Work with A players (some of the best talent in the country), and expedite your learning curve and career growth
- Make in India and build for the world at scale of 350M active users, which no other internet company in the country has seen
- Learn together from different teams on how they scale to millions of users and billions of messages.
- Explore the latest in topics like Data Pipeline, MongoDB, ElasticSearch, Kafka, Spark, Samza and share with the team and more importantly have fun while you work on scaling MoEngage.
Skills required:
- Minimum 2 year experience in Android Development
- Good understanding of Java Programming language
- OOPs concepts
- Multi-threading
- Good understanding of Android Framework
- Framework Components
- Data Storage/Persistence
- Offline support for application
- Rest APIs
Good to Have:
- Knowledge and understanding of Kotlin
- Experience in building dynamic UI
- Knowledge of hybrid frameworks like React-Native/Cordova/Xamarin/Flutter, etc.







