Management and staff in Tungsten Automation's Software Engineering job family help the company to build and improve new and/or existing software products and their applications that we sell to our customers. Responsibilities of the Principal Engineer position include:
- Responsible for larger or more complex departmental work, which often involves directing and overseeing the technical work of less experienced departmental staff
- Act as cross-functional project leader (when assigned)
- Give input into the department’s technical training plans
- Act as a lead departmental representative when working with other departments (e.g., Product Management, Technical Training, etc.)
Principal Engineers will perform some, if not all, of the following tasks:
- Contributing to product ideas and innovation
- Evaluating product roadmaps (working with Product Management and User Experience, among other internal partners) to determine design and programming development requirements to meet customer needs (includes evaluating existing products and applications to enhance these and/or designing new products and applications)
- Conducting research, where appropriate and needed, to solve specific design problems
- Creating product and/or applications’ architecture and design documentation to specify engineering development requirements
- Writing/developing code for new, existing or enhanced software products and applications
- Working with various internal partners (such as Quality Assurance) to test new or enhanced products and their applications
- Participating in cross-functional build/configuration activities to ensure overall effective and efficient new or enhanced engineering design
- Contributing to downstream business activities such as technical publications and other technical communications’ tool development to ensure streamlined and effective end-user use of Tungsten Automation software products and their applications
- Ensuring new or updated releases are completed on-time, on-target, on-budget and without compromise to quality
- Supporting other internal and external partners/stakeholders/customers, as and when appropriate, in responding to technical inquiries
- Staying abreast of industry and field developments; remaining current in the latest technologies and functionalities, as well as ever-evolving needs of customers and their customers
Other Responsibilities:
- Domestic and/or International travel up to 10% is required
Required Skills
We are looking for a Principal Software Engineer to join our team and contribute to the design and development of our cloud-based platform. This role involves more than coding, you will provide technical leadership, guide architectural decisions, and help ensure our solutions meet business needs. If you have experience building secure, scalable solutions on Microsoft Azure and enjoy mentoring teams and improving processes, we would like to hear from you.
What you will do.
- Lead the design and development of scalable, secure cloud solutions on Microsoft Azure, covering compute, storage, networking, and security components.
- Define technical direction and make key architectural decisions to align with product and business goals.
- Provide guidance and mentorship to engineering teams, promoting best practices in coding, testing, and design.
- Drive improvements in CI/CD processes and collaborate closely with DevOps teams to ensure smooth, reliable deployments.
- Troubleshoot and resolve complex issues across development and production environments.
- Work closely with product managers, architects, and other stakeholders to deliver high-quality solutions.
- Stay ahead of the curve. Evaluate new Azure services and emerging technologies and recommend what adds real value.
- Drive technical research and build proof-of-concepts to test and validate new solutions and architecture decisions.
- Maintain clear technical documentation, including architecture diagrams and design specifications, to support development and future maintenance.
- Ensure that solutions adhere to security, compliance, and performance requirements while optimizing for cost and scalability.
- Contribute to product innovation and long-term technology strategy, influencing the roadmap with technical insights.
Required Experience
What we are looking for.
- Bachelor’s or Master’s degree in Computer Science or a related field.
- 10+ years in software engineering, with solid experience across the full development lifecycle in Agile environments.
- Strong knowledge of software engineering principles and design patterns, with hands-on experience in building scalable, secure solutions.
- Proven full-stack developer with hands-on experience in C#, JavaScript/TypeScript, leveraging frameworks such as ASP.NET and Angular.
- Strong knowledge of Microsoft Azure services and architecture, with hands-on experience deploying and managing production environments.
- Familiarity with CI/CD pipelines, DevOps practices, and Infrastructure as Code (e.g. Terraform).
- Ability to troubleshoot and optimize complex systems for performance, security, and cost efficiency.
- Excellent English communication and collaboration skills, with the ability to lead discussions and mentor team members.