What you will do
The Principal Software Engineer is a Software architecture and development role that reports to the Engineering Manager. This role part of team of software developers that are responsible for the design, development, documenting and implementation of complex automation frameworks for large scale, mission critical, access control and security systems applications. This position will focus on new development of automation modules as well as maintenance and stewardship of existing modules. This position requires the ability to lead sprint teams to design, develop and deliver robust system solutions that meet defined system requirements.
How you will do it
• The most desirable candidate would be a former developer on .NET technology with automation experience, or a seasoned QA Automation Engineer with strong software development skills.
• Architects and provides direction for implementing global automated test systems. Understands and makes recommendations for automation within the QA process framework and development cycles.
• Ensures architecture and design is appropriate for multiple platforms and multiple products. Originates new concepts that may impact or span entire department; recognized as technical leader.
• Develops simulation test environments. Evaluates and makes recommendations for existing tools and technologies.
• Break complex features into user stories, tasks and provide estimates.
• Able to meet project plans for automation activity of a project; prioritizing work to accomplish demanding changes.
• Maintains solid relationships with key internal and external stakeholder. Communicates complex automation information to a wide variety of individuals and groups.
• Stays abreast of technology developments and their potential impact and opportunities on the organization.
• Proactively identifies, recommends, and implements improvements to the automation engineering process.
• Applied expertise in continuous-integration and continuous-deployment models.
• Must be aware and able to work in Agile, Incremental or spiral development methodology.
• The candidate should be very enthusiastic, self-motivated and a fast learner.
• Mentor junior team members.
What we look for
• Must have 10+ years relevant experience in software development/automation engineering.
• Experience building and modifying automation frameworks & coding/scripting.
• Experience as developer or with automated test development against an n-tier application.
• Proficient in load, performance, and functionality testing of new products/product features as well as regression testing of existing products.
• Strong detail-orientation with demonstrated analysis and follow-through skills.
• Excellent written and verbal communication skill.
• Understands Unit and Integration testing.
• Experience with Team Foundation Server, Git or equivalent.
• Familiar with troubleshooting in a MS Windows environment.
• Ability to work exceptionally effectively in a team environment is required.
• Familiar with CI/CD automation process.
• Self-motivation, tenacity, flexible and reliable in approach to work
• Domain Knowledge in Electronic Security such as Access Control, Video Surveillance and Intrusion detection is a plus.
• Familiarity with virtualization and containers technologies.
• Familiar with Testing frameworks such as UFT, Coded UI, Selenium, Jasmine or equivalent.
• Familiar with Continuous Integration tools such as Jenkins or equivalent.