L

Leonardo

Aerospace, defense tech design and manufacturing

Software Architect

Software EngineeringConfirmed live in the last 24 hours
Full-timeRome, Metropolitan City of Rome Capital, Italy

About the Job

Requirements

  • At least 3 years of proven experience in the role.
  • Knowledge of system-design architectural patterns, including three-tier architecture, microservices, and service-oriented architecture.
  • Proficiency with programming languages, frameworks, and development libraries, including Java and Spring.
  • Knowledge of software development methodologies such as Waterfall, Agile, or Scrum, and software engineering techniques.
  • Knowledge of relational databases such as SQL Server, PostgreSQL, and Oracle, and non-relational databases such as MongoDB and Cassandra.
  • Ability to design efficient, scalable database schemas and data models.
  • Experience designing and implementing microservices-based solutions and distributed architectures.
  • Experience integrating systems through APIs and middleware such as Enterprise Service Bus (ESB).
  • Experience designing event-driven architectures, including Apache Kafka or other message brokers, event sourcing, schema evolution, and idempotency management.
  • Knowledge of Domain-Driven Design (DDD) for application-domain modeling and defining service boundaries.
  • Knowledge of observability practices such as OpenTelemetry, distributed tracing, structured logging, and application metrics.
  • Ability to design and manage RESTful APIs, OpenAPI, GraphQL, or gRPC, and knowledge of related best practices.
  • Knowledge of application-security best practices and ability to design solutions resilient to threats and compliant with security standards such as OWASP Top 10.
  • Knowledge of Secure Software Development Life Cycle (Secure SDLC) and DevSecOps, including risk analysis, threat modeling, and automated security testing integrated into CI/CD pipelines.
  • Knowledge of cloud-computing architectures, including cloud-native systems, managed services, and IaaS, PaaS, and SaaS deployment models.
  • Knowledge of operating systems and containerization platforms such as Docker and Kubernetes, including AKS, GKE, and Red Hat OpenShift.
  • Knowledge of Agile and DevOps methodologies and Continuous Integration/Continuous Deployment (CI/CD).
  • Ability to gather, analyze, and define functional and non-functional system requirements; experience with requirements-management tools such as JIRA or Azure DevOps; and ability to work with Agile methodologies such as Scrum or SAFe.
  • Ability to produce detailed technical documentation, including architecture documents, UML diagrams, development guides, and supporting documents.
  • Knowledge of software testing techniques, including unit, integration, and system testing; ability to develop test strategies and ensure software quality.
  • Knowledge of code-quality and static-analysis practices and tools such as SonarQube to ensure code quality, security, and maintainability.
  • English proficiency at B2/C1 level.
  • Availability for domestic business travel.

Responsibilities

  • Oversee the architectural evolution of software products and share progress with project leads and client representatives.
  • Support the design of architectural solutions during initial project phases, including software selection and technical product evaluation.
  • Engage stakeholders to understand and define application and functional needs, translating them into technical requirements and solution plans in accordance with software-engineering best practices.
  • Develop high-level and detailed architecture documents that define project technical aspects and coverage of user, functional, and non-functional requirements.
  • Select appropriate platforms, tools, and technologies for project needs and identify software solutions that meet user requirements.
  • Coordinate and guide development teams and collaborate with infrastructure teams to ensure solutions are implemented according to defined architectural specifications.
  • Develop talent within the dedicated software team and foster a culture of continuous improvement.
  • Review and adapt solutions to ensure optimal performance, security, scalability, and resilience.
  • Review and test project code and take corrective action on errors.
  • Work within budget and schedule constraints to achieve the desired results.

Desired Qualifications

  • Certifications in Oracle Certified Professional, Java EE Application Developer; Oracle Certified Professional, Java SE Programmer; Microsoft Certified Solutions Developer; Certified Kubernetes Application Developer (CKAD); SOA Certified Professional; or Microservice Architect.

About the Company

Leonardo

Aerospace, defense tech design and manufacturing

Leonardo operates in aerospace, defense, and security, designing and manufacturing advanced technologies for militaries, intelligence agencies, and defense contractors. Its products combine hardware, software, and services and are delivered through subsidiaries in the US (DRS, Electronics US, Critical Infrastructure, Aircraft and Aerostructures US). It differentiates itself with a broad, diversified portfolio and end-to-end support from development to sustainment, plus training and customer service. Its goal is to provide reliable, state-of-the-art capabilities to defense, intelligence, and civil infrastructure customers while maintaining strong support and training.

Company size
10,001+
Company stage
IPO
Headquarters
Rome, Italy
Founded
2022

Recently Posted Jobs

Explore more opportunities at Leonardo

See more jobs