Overview
Design, develop, test, deploy, troubleshoot, and maintain production software across desktop, web, cloud, and deployment environments. Use AI-assisted development tools with sound engineering judgment to improve development efficiency and software quality.
What you'll do
- Design, develop, test, and maintain high-quality software solutions across desktop, web, cloud, and deployment environments.
- Write clean, efficient, secure, maintainable, and well-tested code following established software engineering principles and best practices.
- Participate in requirements analysis, architecture and design, implementation, code review, testing, deployment, troubleshooting, and maintenance.
- Contribute to software architecture and technical design, evaluating alternatives and making technical decisions based on scalability, reliability, security, performance, and maintainability.
- Develop and maintain software components, services, APIs, automation, scripts, and build/deployment solutions using C#, C++, PowerShell, and Bash.
- Develop and support applications and services for desktop, web, and cloud environments.
- Design, develop, and maintain automated build, installation, and deployment processes for Windows, Linux, cloud, and containerized environments.
- Integrate development, build, and deployment processes with Git, Perforce, Jenkins, and CI/CD pipelines.
- Work with container technologies such as Docker and Kubernetes.
- Develop and maintain unit, integration, and automated tests.
- Use AI-assisted development tools for software design, coding, debugging, testing, code review, refactoring, troubleshooting, and technical documentation.
- Review and validate AI-generated code and technical recommendations for correctness, security, performance, maintainability, and alignment with product architecture.
- Collaborate with developers, architects, QA, DevOps, product management, and other cross-functional teams to define requirements, resolve technical challenges, and deliver solutions.
- Leverage AWS or Azure to develop, deploy, and support software solutions.
- Work with SQL and NoSQL database technologies as required by application and deployment architectures.
- Troubleshoot complex software, build, installation, and deployment issues, perform root-cause analysis, and implement sustainable solutions.
- Participate in design reviews, code reviews, technical discussions, and Agile development processes.
- Identify opportunities to improve engineering productivity through automation, AI-assisted development, modern development tools, and continuous improvement of engineering practices.
What you'll need
- 8–12 years of professional software development experience, with demonstrated experience designing, developing, testing, and maintaining production software.
- Strong programming and coding skills to develop high-quality, maintainable, secure, and testable software.
- Strong proficiency in C# and/or C++, with experience in scripting and automation technologies such as PowerShell and Bash.
- Strong understanding of software engineering principles, object-oriented design, design patterns, data structures, algorithms, and software architecture.
- Solid understanding of the complete software development lifecycle, including requirements, architecture and design, development, testing, build, deployment, and maintenance.
- Experience developing desktop and/or web applications, services, APIs, and related software components.
- Experience developing and deploying software in cloud environments, preferably using AWS or Azure.
- Demonstrated ability to leverage AI-assisted software development tools for coding, design, debugging, testing, code review, documentation, and development efficiency.
- Ability to critically evaluate and validate AI-generated code and technical recommendations using sound engineering principles and human oversight.
- Strong understanding of software testing and quality engineering practices, including unit testing, integration testing, test automation, debugging, and defect resolution.
- Experience with CI/CD, automated build and deployment processes, and tools such as Jenkins.
- Experience with version control and software configuration management systems, including Git and/or Perforce.
- Experience with container technologies such as Docker and Kubernetes.
- Working knowledge of Windows and Linux operating systems and application deployment concepts.
- Familiarity with SQL and NoSQL database technologies.
- Experience working within Agile software development methodologies.
- Strong analytical, debugging, and problem-solving skills to investigate complex technical issues and develop effective solutions.
- Excellent written and verbal communication skills to communicate technical concepts, designs, decisions, and trade-offs.
- Strong collaboration and teamwork skills to work effectively across development teams and with cross-functional stakeholders.
Details
Read the full description and apply on the company’s own careers page.