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.

About MoEngage
About
Connect with the team
Similar jobs
JOB DESCRIPTION
Experience: 4-8 years
Wissen Technology is now hiring for a Java Developer - Bangalore with hands-on experience in Core Java, algorithms, data structures, multithreading and SQL. We are solving complex technical problems in the industry and need talented software engineers to join our mission and be a part of a global software development team. A brilliant opportunity to become a part of a highly motivated and expert team which has made a mark as a high-end technical consulting.
Required Skills:
- Exp. - 4-8 years
- 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 client- facing 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.
Senior Software Developers collaborate with Business and Quality Analysts, Designers, Project Managers and more to design software solutions that will create meaningful change for our clients. They listen thoughtfully to understand the context of a business problem and write clean and iterative code to deliver a powerful end result whilst consistently advocating for better engineering practices. By balancing strong opinions with a willingness to find the right answer, Senior Software Developers bring integrity to technology, ensuring all voices are heard.
For a team to thrive, it needs collaboration and room for healthy, respectful debate. Senior Developers are the technologists who cultivate this environment while driving teams toward delivering on an aspirational tech vision and acting as mentors for more junior-level consultants. You will leverage deep technical knowledge to solve complex business problems and proactively assess your team’s health, code quality and nonfunctional requirements.
Job responsibilities
- You will learn and adopt best practices like writing clean and reusable code using TDD, pair programming and design patterns
- You will use and advocate for continuous delivery practices to deliver high-quality software as well as value to end customers as early as possible
- You will work in collaborative, value-driven teams to build innovative customer experiences for our clients
- You will create large-scale distributed systems out of microservices
- You will collaborate with a variety of teammates to build features, design concepts and interactive prototypes and ensure best practices and UX specifications are embedded along the way.
- You will apply the latest technology thinking from our Technology Radar to solve client problems
- You will efficiently utilize DevSecOps tools and practices to build and deploy software, advocating devops culture and shifting security left in development
- You will oversee or take part in the entire cycle of software consulting and delivery from ideation to deployment and everything in between
- You will act as a mentor for less-experienced peers through both your technical knowledge and leadership skills
Job qualifications:
Technical Skills
- You have experience using one or more development languages (Java, Nodejs, React, TypeScript, JavaScript, etc.) with experience in Object-Oriented programming
- You can skillfully write high-quality, well-tested code and you are comfortable with Object-Oriented programming
- You are comfortable with Agile methodologies, such as Extreme Programming (XP), Scrum and/or Kanban
- You have a good awareness of TDD, continuous integration and continuous delivery approaches/tools
- Bonus points if you have working knowledge of cloud technology such as AWS, Azure, Kubernetes and Docker
Professional Skills
- You enjoy influencing others and always advocate for technical excellence while being open to change when needed
- Presence in the external tech community: you willingly share your expertise with others via speaking engagements, contributions to open source, blogs and more
- You’re resilient in ambiguous situations and can approach challenges from multiple perspectives
Other things to know:
Learning & Development
There is no one-size-fits-all career path at Thoughtworks: however you want to develop your career is entirely up to you. But we also balance autonomy with the strength of our cultivation culture. This means your career is supported by interactive tools, numerous development programs and teammates who want to help you grow. We see value in helping each other be our best and that extends to empowering our employees in their career journeys.
Job Description
- Java engineer with 6-8 years of experience , person with strong Java, spring core, Springboot, Rest API , Microservices hands-on experience.
- Knowing Kafka is a plus.
- Well versed with CICD, Agile processes . good attitude, good communication skills.
Role
- Code development, testing, team coordination,
- Open to work on non-tech activities along with coding also.
- Should be ready and flexible to work from Impetus office and customer office as per the requirement of project.
- Building customer products that operate at a scale
- Working on a back-end system using Python and Java
- Working on MySQL, NoSQL, Solr, Thrift, Flask, RabbitMQ, Redis, etc.
- Working on analytics and data science
- Working on server management (Google Cloud)
- Explore different functions of building a tech product/company early in your career.
- Learn to Prioritize Work and learn the ability to decide some technical decisions vs others ata very early stage of your career
- Be instilled with the value of hard work, ownership, and self-sustainability.
- Be more actively involved in the decision-making and functioning of the company.
- Understand the great importance of personal ownership and the liberty needed to pursue that ownership
- Hungry for Growth & Learning
- Willing to go all out for an accelerated career in software engineering
- Ready to experiment things never done before – Conquer uncharted waters
- Think Out-of-the-Box – Innovative and effective solutions
- Top Gun command over technologies (Mentioned above)
- You'll learn how to target efficiency rather than perfection.
- This empowerment will help you become a better leader at a very early stage of your career.
- Join the Core team – Get real insights into building a Product and Business ground up
- Enjoy the freedom, that comes with a lot of ownership
- Challenging and fun work environment
- Flexible Work Culture – We are a target driven organization. We like hard-workers, but we adore smart-workers more!
- Unlimited Vacation policy - Work hard, and take a break when you need
Designation: Technical Lead (ABL_SS_272)
Position description:
- Work with Product and Engineering leaders to drive and implement platform and product vision.
- Leverage deep and wide knowledge of technology stack to recommend appropriate architecture and design solutions, and provide technical leadership to a team of rock star Software Engineers.
- Translate the impact of design choices on non-functional attributes like scalability, performance, availability, and security.
- Create large-scale, multi-tiered, distributed web applications with databases, and designing web services, APIs, data models, and schemas, using SQL or NoSQL.
- Experience with Cloud environments, such as AWS.
- Comfortable working with Windows and Linux environments.
- Work with different data storage solutions such as Postgres, Oracle, SQL Server, ElasticSearch, SQL, Hadoop, or MongoDB.
- Experience delivering high-quality software following continuous delivery and using code quality tools (JIRA, GitHub, Jenkin, Hudson, Sonar, and Fortify, etc.).
- Drive adoption of best practices across the Software Engineering Lifecycle, including reviews, source control, build processes, continuous integration, and deployment.
- Develop and maintain cross-functional relationships and alignment.
Primary Responsibilities:
- Application Development using Golang / C++.
Reporting Department: Application Development and Maintenance (1991)
Educational qualifications preferred Degree: Bachelors degree
Required Skills:
- Experience of building scalable architectures
- Hands-on experience with GoLang, Node Js, C++ or Java or any other Open Source technologies/ Cloud Servers
- Experience in developing software using a formal & structured development methodology
- Ability to work in a collaborative team environment
- Experience with test-driven development & proper unit testing of code
- An iterative approach to development, using short development cycles & frequent builds
- Object-oriented programming/ Object Oriented Design (OOP/OOD)
- Ability to develop secure solutions & knowledge of industry best practices regarding information security & defensive development
Basic Qualifications:
- 2+ years of non-internship professional software development experience
- Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
- 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
Additional Job requirements
- BS/MS/PhD in Computer Science/Math or equivalent
- BS in computer science or related field.
- 2+ years of relevant professional software development experience: designing, developing, and delivering software written in Java, C#, or C++, web development.
- Knowledgeable in object-oriented design patterns.
- Experience building highly scalable and distributed systems
Preferred Qualifications
- Experience with service-oriented architecture and application/services development
- Passion for performance debugging and benchmarking
- Ability to clearly and concisely communicate with technical and non-technical stakeholders across all levels of the organization
Building highly-scalable and secure payments platform
Primary owners of one or more components of the platform and will drive innovation in
your area of ownership
Working with various product teams gathering requirements and adding capabilities
Working with some of the smartest people in the industry and will have ample opportunity to learn and grow
Using cutting-edge cryptography to secure payments beyond industry standards
Deriving actionable insights by mining TBs of data
Building a low-level infrastructure that aims to push the boundaries of network
performance
Participating actively in recruitment and nurturing of engineers as awesome as you
What do we look for?
Review and influence new evolving design, architecture, standards and methods with
stability, maintainability, and scale in mind
Identify patterns and provide solutions to class of problems
Research, evaluate and socialize new tools, technologies, and techniques to improve the value of the system
Be able to multitask, prioritize and handle dependencies with minimal oversight
From a technology perspective, you should have the knowledge and/or experience in a
reasonably sized subset of the following ( the more, the merrier!! )
Worked on one or more large scale java applications
Good understanding of nuances of distributed systems, scalability, and availability
Good knowledge of one or more relational and NoSQL databases and transactions
Shrewd focus on latency and throughput of services
In-depth understanding of concurrency, synchronization, NIO, memory allocation and GC
Experience with IaaS clouds like AWS/Google Cloud, Azure, OpenStack etc..
Experience in working with Message Brokers and Application Containers
Great ability to mentor and train other team members











