Required Skills
About the Job
Thales, a global technology leader, is seeking a Senior Software Engineer with at least 5 years of experience in developing system software using Java/Kotlin in complex distributed environments. This role focuses on Android Framework development, including modifying/developing Android framework services, Android NDK, and HMI communications for Android API levels 21 and above.
Responsibilities include designing, implementing, and testing software components for IFEC distributed systems, creating proof-of-concepts for new technologies, and developing Android framework services and server-side Java on Linux systems. You will contribute to high-quality software delivery, ensuring code maintainability and testability throughout the software development lifecycle. The ideal candidate will modify/create Android framework services, possess strong Linux networking proficiency, and have experience with scripting languages like bash and Python.
This is an agile-driven (Scrum) role requiring proactivity, urgency, and accountability within sprint commitments.
**Required Qualifications:** * Bachelor's or Master's degree with a minimum of 5 years of software design and development experience in Android and/or Linux-based systems. * Strong Object-Oriented Programming (OOP) concepts, design patterns, and abstraction methodology. * Fluent in Java for Android Applications/Framework and familiar with open-source technologies. * Experience in designing and implementing security-related aspects of applications in Java. * Proficiency with development tools and methodologies including GIT, JIRA, Sonar, Maven, Jenkins, VersionOne, and other Atlassian tools. * Experience with Agile development methodologies and Test-Driven Development (TDD) (e.g., Google Test). * Familiarity with Linux internals and networking/security protocols (TCP/IP, SMTP, IMAP, VPN, VLAN, HTTP, SSL, PPTP). * Experience in all phases of the software development lifecycle: requirements analysis, technical design, implementation, code review, testing, and release. * Fundamental verbal and written communication skills. * Proficiency in troubleshooting and using tools to measure software quality and performance. * Experience with tools such as Android SDK, profilers, adb, systrace, iperf, netstat, and tcpdump.
**Desired Qualifications:** * Knowledge of Android Framework, AIDL, JNI, Android build system, Ninja, and SNOOG. * Experience with Agile software development frameworks like Scrum, eXtreme Programming (XP), or SAFe. * Knowledge of scripting languages such as bash and Python.