OVERVIEW
We’re inventing the future, right here, right now, at Thales. We design the critical security solutions of tomorrow by combining the curiosity to explore, the intelligence to question and the vision to create. Together we solve complicated problems by combining our experience in the market with our leading research and development capabilities.
Be part of revolutionising our skies for the future of aerospace. A future where all modes of aircrafts piloted or unpiloted, civilian or military move around our skies safer, more efficiently and sustainably for a greener and more harmonised airspace.
OUR CULTURE: YOUR GROWTH AND DEVELOPMENT
§ Joining Thales means joining a worldwide and well establish company (85 000 headcounts and growing) and navigate your career in the vast different path available
§ Joining our program is joining an environment where you can discover engineering best practices to deliver safety critical systems
§ Joining the software community and our pillars around Agile and DevSecOps, means being on the critical path of our business challenges, and therefore upskilling our talent is a priority
The story of your journey in this role
Your role will be the software squad which maintains LORADS3, the current ATM system used operationally by the Civil Aviation Authority of Singapore. As a Principal SW engineer, you are seen as both a technology and people leader where you will develop the teams and overseeing the technical aspects of the LORADS3 project. You will also be supporting the program in the field of performance engineering which involves resolving performance related PCRs and/or enhancements, knowledge sharing and building competencies across the engineering teams.
KEY ACTIVITIES AND RESPONSIBILITIES
As a Principal Software Engineer, you are accountable for:
· Designing and delivering software to meet requirements including architecture, design, reuse, development, integration and verification.
· Defining and tailoring the software engineering environment and the process, practices and tools applicable to the project
· Ensuring that the designed solution is developed according to design, schedule, cost and quality expectations.
· Identifying risks, and proposing effective solutions; executing mitigation actions and reporting on outcomes and residual risks
· Mentor the SW Teams on idiomatic practices on producing software that’s scalable and resilient including writing maintainable software that is testable using best-in-class approaches
· Analyzing performance and looking for optimization opportunities on various workloads spanning from performance tuning on mid to large real-world applications
· Owns the knowledge and conducts regular knowledge sharing sessions on best practices (e.g., Java coding practices, JVM deployment options)
KEY KNOWLEDGE AND EXPERIENCE
To be successful in your role, you will have demonstrated and/or acquired the following knowledge and experience:
Qualifications
Relevant bachelor’s degree or Master Degree
Technical skills
§ Must-have
ü Led the software design, delivery of web2.0/classical (e.g., systems monoliths and distributed systems monoliths written in C++98/11 and Java) systems that run on machine clusters; demonstrated proficiency in systems designs
ü Familiar with the pros and cons of teams organizations that practices systems V, scrum, kanban, agile@safe models; demonstrated proficiency in engineering leadership in running single or more teams
ü Experience in performance analysis at either application (i.e., Apps that run on JVMs) or platform level (i.e., JVM)
ü Good knowledge of performance analysis methodology, profiling approaches, tools and automation.
ü Good understanding of the software stack from the application down to the OS and CPU levels.
ü Language: Strong proficiency in Java Core/Concurrency and Junit.
ü IDE/CICD Tools: GIT, Bitbucket, Jenkins, Eclipse, JIRA
ü Knowledge of formal software engineering process throughout lifecycle
§ writing & reviewing design, requirements, tests and code
ü DevOps culture and CICD methodologies
§ Nice-to-have
ü Participated in the software maintenance of the deployed systems and demonstrated proficiency in solving operational IS/IT issues
ü Used and deployed systems using other programming language stacks like LAMP, Java EE Stack
ü Experience in performance analysis on the Java stack like jstack, jconsole
ü Experience with Java specific profiling tools like JFR/JMC, AsyncProfiler
ü Air Traffic Management domain knowledge
ü Experience in software development in a safety-critical environment
Other
Either one of the following options to be presented:
(a) able to travel to Melbourne, Australia for a 6-8 week period for a one-off training session;
(b) OTJ training in Singapore.
Interpersonal skills
ü Sense of ownership
ü Team player
ü Verbal and non-verbal communication,
ü listening skills,
ü problem solving,
ü decision-making,
ü assertiveness,
ü patience,
ü empathy