Senior Developer
Location: Irving, TX 75062
Duration: 35 weeks
Key Responsibilities and Duties
• Ideal candidates will be responsible for the coding and front end development of the proprietary QSR POS application.
• Coding and testing
• Working closely with the product owner and technical lead
• Adhere to guidelines set forth by the technical lead
• Write well designed, testable, efficient code
• Ensure designs are in compliance with specifications
• Support continuous improvement by investigating alternatives and technologies, presenting these for architectural review.
“Must Have” Specific Knowledge and Skills
• Bachelor's degree in Computer Science or related field
• 6+ years of experience in Mobile app software design & development
• 5+ years of experience developing apps for Android
• 3+ years of experience developing apps using Kotlin/Java
• Experience with test-driven development and software test automation
• Excellent debugging, performance and optimization skills
• Experience working with agile methodologies (e.g. user stories, iterative development, etc.)
• Experience with distributing mobile applications via public app stores and/or enterprise channels
• Experience with integrating calls to backend services (REST or GraphQL, using JSON etc.)
• Excellent hands on skills with Android application development tools, including Android Studio, Android SDK and ADT
• Working with Code Andriod Services that keeps the services working with offline/online support.
Additional Skills and Other Requirements
• Integrating with third party frameworks tools and SDKs, such as Ktor, Retrofit, OkHttp, Moshi and Glide
• Reactive Programming: RxJava, coroutines / flow
• Dependency injection (ideally via Dagger and Hilt)
• Android architecture components (ideally MVVM experience)
• Java/Kotlin expertise (standard functions, data classes, etc.)
• Accessibility & offline support of the features
• Continuous delivery in mobile, including Test- or Behavior-Driven Design, code review, static analysis, continuous integration, automation and functional testing.
• Build systems: Gradle / Maven, custom plugins
• Static and dynamic analyzers: Android lint, ktlnt, Danger. Custom Rules
• Code generators (annotation processors, compiler plugins)
• Hands-on experience working with android data persistence technologies like Room API.
• Hands-on experience working with background threads