Software Developer

  • On Site
  • Remote, United States
  • Lehi, Utah, United States
  • Software Development

Employer Name: Ancestry.com Operations Inc.

Position:  Software Developer

Job Site:   1300 West Traverse Parkway, Lehi, Utah, 84043, United States. Telecommuting Permitted

Rate of Pay:   $107,730.00 - $161,490.00 per year

Job Duties:  Research, design, and develop DNA analysis software or specialized utility programs. Analyze user needs and develop solutions for genealogy software applications. Update software or enhance existing software capabilities. Analyze user needs and software requirements to determine feasibility of design within time and cost constraints. Build powerful, compelling, and immersive Android mobile apps. Create compelling UI and write high quality code. Unit-test code for robustness, including edge cases, usability, and general reliability. Leverage experience with Android App development in Kotlin and Java. Utilize knowledge of object-oriented development practices. Conduct analytical skills and adept at problem solving with strong attention to detail with software development of applications. Use experience with RESTful Web Services. Collaborate with Product Management, Quality Assurance, and other development teams. Conduct web application development with Node.js or Java. Perform mobile web development with HTML, CSS, and JavaScript. Develop Android application with KMM development experience and GraphQL client experience..

Minimum Requirements:  Bachelor’s degree in Computer Science or related field and 1 year of experience in the job offered or a software engineer occupation.

Special Requirements: Position requires at least 1 year of experience in each of the following skills:

  • Utilize knowledge of Java and Kotlin programming languages to design and develop Android applications;
  • Utilize knowledge of XML to create UI layouts for Android applications;
  • Utilize knowledge of Git version control to submit pull requests and participate in peer code review processes;
  • Utilize knowledge of Integrated Development Environments (IDE) such as Android Studio and IntelliJ;
  • Utilize knowledge of Computer Science fundamentals like Object-Oriented principles and algorithms;
  • Utilize knowledge of Agile methodology and other software development processes; and,
  • Utilize knowledge of software architecture patterns such as model-view-controller and microservices.