Full Stack Developer
Location: Firenze, Italy
The Senior Software Engineer will be part of a talented software team and will be responsible for software development and operational support activities while providing expertise in the full software development lifecycle, from concept and design to configuration management and testing. He/She will design, test and evaluate computer software applications.
Duties of a senior software engineer include:
Designs and develops programming systems;
Responds promptly and accurately to bug reports;
Assesses and repairs legacy code;
Conducts system analysis and development;
Keeps up to date with changing technologies;
Analyzes, designs, coordinates and supervises development software programs;
Analyses system requirements, derive software requirements and divides them into tasks;
Analyzes the performance of programs of the company;
Tests programs;
Documents programming codes consistently;
Prepares presentations to customers and clients and maintains strong and positive client interactions.
Key Responsibilities
Analyze, design, coordinate and supervise the development of software systems.
Analyze system specifications and translate high level requirements into functional requirements to perform the design, development, testing, and maintenance of software from inception to the production system.
Design and develop large scale applications for critical infrastructure systems, delivering high availability and performance.
Contribute in all phases of the development lifecycle.
Write well designed, testable and efficient code.
Be responsible for analysis of programs including performance, diagnosis and troubleshooting and designing solutions.
Be responsible for the development of new programs, analyze current programs and processes, and make recommendations which yield a more cost effective product.
Support continuous improvement by investigating alternatives and technologies and presenting them for architectural review.
Document code consistently throughout the development process by listing a description of the program, special instructions, and any changes made in database tables on procedural, modular and database level.
Be responsible for adopting and using tools and equipment involved in performance of essential functions of programming including measuring instruments.
Communicate with system engineers and manufacturer's technical staff regarding programming needs and performance.
Provide assistance to testers and support colleagues as needed to determine system problems.
Software tool selection, installation and configuration for development, integration and production environments.
Provide recommendations to management concerning issues of programmer productivity and software development management.
Make presentations to customer, client and professional peers.
Maintain strong and positive relationship with the customer and suppliers.
Work as a member of an Agile team.
Skills, Experience and Qualifications
Masters' degree in Engineering (Telecommunications, Electronic, ICT).
Min. 3 years' experience in the design and development of complex software architectures.
Fluent in Italian and English.
Proven hands-on experience with Web Application development (more than 3 years).
Knowledge of Object Oriented analysis and design using common design patterns.
Experience with test-driven development.
Required strong knowledge of:
Coding skills in Java;
Git;
Angular;
Spring (Web and Security);
Docker;
RDBMS SQL (Percona, MySQL, Microsoft SQL Server Etc. );
A good knowledge of one or some of the following points enforce the profile:
Linux OS;
WebServices/RestServices development (SOA, REST, XML, JSON);
Modular application and multithreading application development;
Networking;
NodeJS;
OSGi, JPA;
JUnit;
Typescript/Javascript;
CSS;
Bootstrap;
Kubernetes;
Ansible;
Gitlab/Pipeline;
Helm;
Kafka;
Nice to have knowledge of:
Standard protocols such as SNMP, Modbus, OPC, HTTP, etc;
Spark;
Drools;
NGRX;
Material;
Karma;
Karate;
SonarQube;
GWT;
Rook/Ceph;
Velero;
Prometheus;
ClickHouse;
Argo;
Sealed-Secrets;
Keycloack (Oauth2/oidc);
Jasper;
Python;
Bash;
Good interpersonal skills and communication skills, including the ability to work in an Agile team environment.
Ability to manage Customer and Suppliers relationships and to work in an international environment.
Availability to travel.
At Thales we provide CAREERS and not only jobs. With Thales employing 80, 000 employees in 68 countries our mobility policy enables thousands of employees each year to develop their careers at home and abroad, in their existing areas of expertise or by branching out into new fields. Together we believe that embracing flexibility is a smarter way of working. Great journeys start here, apply now!
Interested in a CAREER IN THE RAIL transportation sector?
#J-18808-Ljbffr
Diventa il primo a rispondere a un'offerta di lavoro!
-
Perché cercare un lavoro con PostiVacanti.it?
Ogni giorno nuove offerte di lavoro È possibile scegliere tra un'ampia gamma di lavori: il nostro obiettivo è quello di offrire la più ampia selezione possibile Ricevi nuove offerte via e-mail Essere i primi a rispondere alle nuove offerte di lavoro Tutte le offerte di lavoro in un unico posto (da datori di lavoro, agenzie e altri portali) Tutti i servizi per le persone in cerca di lavoro sono gratuiti Vi aiuteremo a trovare un nuovo lavoro