Senior Software Engineer - Java Android Framework
Summary :
- Senior Software engineer with experience of at least 5 years in developing System Software using Java/kotlin in a complex distributed environment.
- Experience of at least 5 years developing Android Framework with specific experience in modifying/developing Android framework services, Android NDK, and HMI communications not less than Android API level 21.
Essential Duties and Responsibilities :
- Design, implement, and test the software components that make up the IFEC distributed system
- Create proof-of-concepts as necessary to demonstrate new ideas and technologies
- Involved in developing Android framework services and Java on server-side Linux based systems.
- Quality focused in terms of software delivery and adherence to the code maintainability and testability within the phases of software development lifecycle.
- Able to modify/create services in the Android framework, not just caller of the Framework services.
- Proficient in Networking in Linux platform.
- In addition to Java skills, knowledge of scripting language such as bash, Python.
- Proactively engaged with the team and work with sense of urgency and accountability.
- The software development cycle is agile-drive (Scrum) and requires to be self-driven within the context of the sprint commitments.
Required Education, Competencies and Experience :
Competencies and Experience :
- Bachelor's degree or masters degree with minimum 5 years of experience or related field from a four-year college or university
- Experience in software design and development of android and/or Linux-based systems following an industrial process.
- Experience with Object Oriented Programming concepts and design patterns, and abstraction methodology.
- Experience with and be fluent in JAVA in Android Application/Framework and familiar with open-source technologies.
- Experience with design and implementation of security-related aspects of the application in JAVA.
- Experience with GIT, JIRA, Sonar, Maven, Jenkins, VersionOne and any other Atlassian Tool Sets.
- Experience with Agile development methodologies.
- Experience with Test Driven Development like google test;
- Experience with Linux internals
- Experience with networking and security protocols (TCP/IP, SMTP, IMAP, VPN, VLAN, HTTP, SSL, PPTP).
- Experience in all phases of software development lifecycle: requirements analysis, tech design, implementation, code review, testing, and release.
- Fundamental verbal and written communication
- Proficiency in troubleshooting issues during development lifecycle and use necessary tools to measure software quality/performance.
TOOLS :
- Android SDK, profiler, Selinux-audit tools, adb, systrace Networking tools (iperf, netstat, tcpdump)
Desired Qualifications :
- Knowledge of Android Framework is preferred.
- AIDL, JNI, Android build system, Ninja, SNOOG is preferred
- Worked in Agile software development, such as Scrum, eXtreme Programming (XP) or SAFe
- Knowledge of scripting languages such as bash, python