Job offer
Principal Software Engineer - (NET Technical Lead)
Principal Software Engineer (.NET Technical Lead) at Norton Foster in Los Angeles (hybrid/remote), who leads the architecture and development of enterprise solutions in the aerospace and defense sectors, with a focus on .NET, C#, and Azure.
Tasks
- Leading the architecture, engineering, and development of enterprise technology solutions for a leading aerospace and defense contractor.
- Working in an agile team using the Scrum process.
- Leading the design, development, and implementation of enterprise technology solutions.
- Mentoring, influencing, and developing other team members.
- Providing agile technical leadership and effective development of new and existing applications.
- Increase internal user adoption through clear technical communication and collaboration with other engineers and supply teams.
- Support with backfilling, customization of existing software, and training to ensure maximum usability of the developed software.
- Collaborate with cross-functional teams to develop and promote an integrated strategy for one or more iterations of a product or brand.
- Design, implementation, and testing of application architecture and APIs.
- Work on architectural patterns and solutions, including DDD, MEDD, CQRS, ODP, and state aggregation.
- Development and maintenance of a microservices-based architecture on Windows/Docker or Kubernetes clusters, including cross-cutting concerns such as authentication, authorization, logging, health checks, and telemetry.
- Creating or modifying service contracts within a microservices architecture.
- Definition of the technical architecture, including a decision tree, software development processes, unit and integration testing procedures, code review tasks, deployment tasks (including build and test environments), and security considerations.
- Deployment and maintenance of compute infrastructures such as Microsoft Azure, virtual infrastructure, and third-party tools.
- Creating and optimizing indexes to improve database performance.
- Development and optimization of distributed systems such as DataBus, MessageBus, ServiceGrid, and distributed cache.
- Continuous code refactoring to improve the application architecture as well as unit and integration test coverage.
Requirements
- At least 5 years of professional experience.
- Extensive experience with .NET and C#.
- Knowledge of software architecture.
- Experience in system architecture and software development (C++, Java, JavaScript).
- Excellent database skills: SQL, PL/SQL, T-SQL, object-oriented programming.
- Extensive experience in unit testing, error isolation, and performance profiling.
- Extensive experience with continuous deployment pipelines, automated builds, deployments, and test automation.
- Intentional Use of Git.
- Configuration of DNN, Razor Engine, and custom runtime configuration parameters.
- Experience with Microsoft SQL Server, with a focus on database design, stored procedures, and query optimization.
- Strong interpersonal and communication skills, along with excellent organizational skills.
- Strong command of functional English.
- Experience with TypeScript and modern JavaScript frameworks (e.g., Angular, React, or Vue.js) is a plus.
We offer
- As a member of the Kubernetes team, you'll enjoy a high degree of autonomy and have a say in the solutions we develop.
- A strong technical culture.
- A focus on work-life balance.
- Company and customer events where attendees and employees can take their breaks.
- A strongly employee-centered approach with a special commitment to your personal development
Job details