Overall responsibilities required of qualified candidates include design, develop, implement and engineering test of portfolio client products following Agile/SCRUM development/deployment processes. Work products include System Architecture, Software Design, Technical Requirements, and API Design. In addition, support (analysis of issues, development of corrective actions) for existing products/solutions is required. Specifically the role will focus on mobile computing clients that provide access to all Zebra Solutions portfolio, voice/text communications with various endpoints, servers, and 3rd Party applications. Qualified candidate will work on a multi-disciplined team interfacing with software, systems, and solutions engineers/architects and serve as a key software development engineer security/authentication/ clients, advanced application interfaces, and 3rd party solution integrations
- Engineering degree with at experience from 3-6 years with the below mentioned work experience
- Develop an Android application using Java8 and Kotlin programming languages for Android platform-based zebra devices and their integration with back-end services using Restful web service.
- Responsible for functionality implementation in the application, by using standard methods suggested by google such as Material design, Recycler Views for better user experience for end users.
- Upgrading the 3rd party libraries used in the application like Retrofit, GSON Convertor modules and other SDK’s and implement changes to synchronize with updated software.
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency, integrated with Single Sign On applications, Identity providers using effective methodologies like AIDL and IPC between client and service providers.
- Implement OAuth2 authorization framework to obtain limited access to user accounts on an HTTP Service using access token-based authentication.
- Use different android components like Broadcast Receivers, Views, Shared Preferences, Services, Content Providers for storing contacts in android SQLite database and exchanging data between different applications.
- Updating the application with necessary permissions to support application on different versions of Android devices. Responsible to update application signing and security certificates when expired.
- Unit testing code for robustness, including edge cases, usability and general reliability. Develop Espresso test cases for UI testing and ran Monkey test. Utilized POSTMAN to verify different APIs by micro-services.
- For continuous deployment used Jenkins and responsible to resolve Sonar cube security, critical and major issues to maintain good code quality. Defined, utilized API’s and documented using Swagger Framework.
- Monitoring the Memory footprint of the application on regular basis using Android Profiler tool and taking measures to avoid high memory usage by the application.
- Performing Internationalization and localization on the application to support different languages. Updating the technical documentation, preparing release notes on implementation of new features in the application.
- Participate in the technical project discussions, planning and create stories to work upon in the sprints as per Agile Communicate effectively with team and working in coordination with the design and the testing team to develop better products with fewer bugs.
- Responsible to prepare and demo the solutions developed at the end of every Sprint cycle. Prepare and update all security requirement forms and update documentation using tools like
- Collaborate with cross functional teams to analyze, design and understand client requirements and translate designs and wireframes to high quality code and ship requested features in allotted time.
- Maintain Subversion source control repositories including branching, tagging, merging, versioning and other source control tasks using Git Hub and Source Tree.