Senior Software Engineer – Android | UpKeep | Remote (India)

Senior Software Engineer – Android | UpKeep | Remote (India)

Remote India
Application ends: August 4, 2024
Apply Now

Job Description

You’ll join our mobile centric team to build an app that helps maintenance technicians to do their best work. You’ll be collaborating with your Android and iOS and backend engineering peers along with product managers and other stakeholders to deliver the most robust and crafted features of our flagship CMMS mobile application.

We are looking for a great communicator who will be upfront and proactive in communicating with stakeholders and peers, suggesting better practices, solutions, and approaches to solve our engineering and process challenges.

You are a pragmatic engineer who thinks for themselves and understands good architecture and engineering practices. Your role will involve contributing to the development of robust and efficient Android application as well as participating in continuous improvement and knowledge-sharing. 

Kotlin-multiplatform (KMM/KMP) and RIBs architecture are what we are curious about and  considering using but we’re in the early stages of evaluating them. It is not a requirement for you to know them but you’d get bonus points if you’ve done it before and worked with them.

Job Duties

  • Design/Architect, develop, test, improve and deploy systems that serve our users. 
  • Drive designs of major software components, systems, and features within your squad and also cross teams.
  • Use your understanding of the product and our business goals to build proven and high quality solutions inline with our long-term strategy.
  • Work closely with engineering and product managers in your team and across teams.
  • Analyze website performance and implement solutions for improvement, including unit and integration tests.
  • Participate in code review, deployment, and improvements to our ability to ship reliable code.
  • Helping support other engineers through technical leadership, mentorship and lending a helping hand.

Experience

  • Great communication skills, both verbal and written.
  • 8+ years of hands-on programming experience in the following languages and technologies: Java, Kotlin, and Android framework
  • Not required but nice to have: KMM/KMP, RIBs, Jetpack compose, Kotlin flow, Coroutine
  • Self started who can work independently and autonomously
  • Experience managing projects and leading teams is preferable
  • Solid understanding of Clean Architecture and overall engineering best practices

DESIRED BEHAVIORS 

  • Strong sense of ownership and pride in your own work
  • Receptive to change – is flexible. Seeks and adopts improved approaches and processes.
  • Initiates action – is results oriented, takes responsibility for actions and outcomes. Meets commitments and strives for high performance.
  • Manages the workload – makes timely decisions, prioritizes effectively, solves problems, monitors results and takes remedial action where necessary.
  • Technically proficient – able to apply the technical knowledge and skills required in the job role and responsibilities in order to achieve the expected outputs. 
  • Takes responsibility for own learning – knows personal strengths, recognizes development needs, and takes action to improve. Is open to feedback and always seeks to learn. 
  • Communicates ideas – respectfully exchange information and proposes a way forward. Listen to views of colleagues and take in diverse perspectives. 
  • Works collaboratively – shares knowledge and information, fosters teamwork and contributes to a positive work environment where people want to come to work.  
  • Display ethical character and competence – acts with integrity and intent, is accountable for own actions, behaves according to the company values. 
  • Act as a good citizen of UpKeep.