The main function of a software engineer is to apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the software and systems that make computers work. A typical software engineer researches, designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications.
Review and approve the modification of existing databases and database management systems.
Instruct staff to write and code logical and physical database descriptions and specify identifiers of database to management system.
Direct database development and approve project scope and limitations.
Review project requests describing database user needs to estimate time and cost required to accomplish project.
Plan, coordinate, and implement security measures to safeguard information in computer files against accidental or unauthorized damage, modification or disclosure.
Approve, schedule, plan and supervise the installation and testing of new products and improvements to computer systems.
Develop standards and guidelines to guide the use and acquisition of software and to protect vulnerable information.
Design, implement, and enhance features across 15+ Android apps, optimizing for performance, stability, and barcode scanning on Zebra devices.
Develop and maintain backend Spring Boot REST APIs that serve Android applications, with integrations to SAP services via Apigee.
Implement push notifications and manage related Firebase or third-party configurations.
Handle SQLite DB usage in apps; collaborate on backend Oracle database schema changes.
Participate in Android OS upgrade testing and compatibility fixes, especially within MDM-managed enterprise deployments.
Troubleshoot issues using logs and telemetry tools like Dynatrace and Kibana.
Support internal platform development with focus on SSO and enterprise-grade security.
Write clean, testable code using modern Android architecture patterns (MVVM, MVI).
Contribute to backend logic where mobile and service data structures converge.
Create technical documentation, including sequence diagrams and data flowcharts.
Participate in code reviews, design discussions, and CI/CD workflow improvements.
Requirements:
Verbal and written communication skills, problem solving skills, customer service and interpersonal skills.
Strong ability to work independently and manage one’s time.Strong mentoring skills necessary to provide support and constructive performance feedback.
Strong knowledge of the full software development lifecycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery.
Strong ability to troubleshoot issues and make system changes as needed to resolve issue.
Strong knowledge of computer hardware and software.
Knowledge of computer development software as it relates to systems, such as SQL, VisualBasic, etc.
Bachelor's degree in computer science, software engineering or relevant field required.
8-10 years experience required.
Senior Engineer 1 (SE1) – Android & Spring Boot Developer - TME team (Team Member Enablement- supporting in store workers)
Strong experience with native Android development using Kotlin/Java.
Solid grasp of Jetpack libraries, UI best practices, and mobile architecture patterns.
Hands-on experience with SQLite and push notification implementations.
Experience building and integrating with REST APIs via Spring Boot.
Familiarity with SSO concepts, especially Ping Identity.
Understanding of MDM platforms (e.g., Intune, AirWatch) and enterprise deployments.
Familiarity with API gateways like Apigee, and backend data flow.
Experience debugging Android apps using Dynatrace, Kibana, and Adobe Analytics.
Exposure to Zebra device SDKs and barcode scanning integration.
Ability to document technical systems through flowcharts and sequence diagrams.
Experience optimizing performance for rugged devices (e.g., Zebra).
Knowledge of SAP integration protocols (OData, RFC, BAPI).
Familiarity with CI/CD for Android apps (Bitrise, GitHub Actions, Azure DevOps).
Exposure to backend data modeling and schema upgrades beyond mobile-side SQLite.
Bachelor's in Computer Science, Engineering, or equivalent experience.
3+ years of professional experience in Android and API development