Job Description
Company Description
👋🏼We're Nagarro.
We are a Digital Product Engineering company that is scaling in a big way! We build products, services, and experiences that inspire, excite, and delight. We work at scale — across all devices and digital mediums, and our people exist everywhere in the world (18000+ experts across 38 countries, to be exact). Our work culture is dynamic and non-hierarchical. We're looking for great new colleagues. That's where you come in!
Job Description
REQUIREMENTS:
- Total experience 5+years.
- Extensive experience in Android, Java, Kotlin, Rx, Local storage/SQLite/Room, OOPS, Design principles/SOLID, MVP/MVVM, Unit Testing.
- Hands on experience in Jetpack navigation.
- Experience in Android Core Components (Services, Broadcast receiver etc), Android Architecture Components (View Model, Live Data, Room etc.)
- Experience in Retrofit, Material design, Push Notification, Gradle, Maps, Asynchronous Programming, Multithreading, DI/Dagger, Build Deployment, Security and Performance best practices.
- Knowledge of high-quality professional software engineering practices for agile software development cycle, including coding standards, code reviews, source control management, build processes, testing, and deployment
- Fundamental knowledge of design patterns
- Experience in communicating effectively with users, other technical teams, and management to collect requirements, describe software product features, and technical designs
- Passionate about building great solutions
- Mentoring the team members to meet the client's needs and holding them accountable for high standards of delivery
- Being able to understand and relate technology integration scenarios and be able to apply these learnings in complex troubleshooting scenarios
RESPONSIBILITIES:
- Writing and reviewing great quality code.
- Understanding functional requirements thoroughly and analysing the client’s needs in the context of the project
- Envisioning the overall solution for defined functional and non-functional requirements, and being able to define technologies, patterns and frameworks to realize it
- Determining and implementing design methodologies and tool sets
- Enabling application development by coordinating requirements, schedules, and activities.
- Being able to lead/support UAT and production roll outs
- Creating, understanding and validating WBS and estimated effort for given module/task, and being able to justify it
- Addressing issues promptly, responding positively to setbacks and challenges with a mindset of continuous improvement
- Giving constructive feedback to the team members and setting clear expectations.
- Helping the team in troubleshooting and resolving of complex bugs
- Coming up with solutions to any issue that is raised during code/design review and being able to justify the decision taken
- Carrying out POCs to make sure that suggested design/technologies meet the requirements.
Qualifications
Bachelor’s or master’s degree in computer science, Information Technology, or a related field.