Job Summary:
The Principal Software Engineer is responsible for theof complex software to create custom solutions and services tailored to the needs of the business and its customers. Assists Management in setting and communicating technical objectives and selection of tools and languages. This role requires in depth knowledge of relevant technologies in the. The person in this role will act as a SME within the Digital Manufacturing & Automation group focused on development tasks in a fast pace environment using Agile methodology.
Essential Duties and Responsibilities:
- Designs, develops and tests software to create solutions and services tailored to the needs of the business and its customers, impacting the achievement of customer, operational, project or service objectives.
- Analyzes complex data to interpret business challenges and effectively leads the installation of new systems or the modification of existing systems for improved efficiency/effectiveness.
- Manages the software development lifecycle.
- Lead multiple large-scale software development projects
- Applies principles of SDLC and Lean/Agile/ XP/TDD/CI/CD methodologies to deliver high quality, secured, and scalable software modules.
- Evaluates current or proposed software development projects and provides feedback on feasibility
- Partners with clients and cross-functional departments to lead projects, communicate project statuses and proposals with the business.
- Guides junior and senior programmers as they work with end-users and support staff in the development of functional and technical specifications; reviews completed specifications and recommends actions
- Monitors system performance, tests new software, and fixes complex bugs using analytical thinking, tools and judgement to identify innovative solutions.
- Assists upper management with creation & administration of corporate operating & capital budgets.
- Applies best practices and standard operating procedures.
- Performs other duties as assigned based on business needs.
Education and Experience:
- Bachelor’s degree or equivalent experience. Bachelor's in Computer Science/Engineering, Information Systems, or equivalent STEM degree.
- 5+ years in software design and programming.
- Experience in C, C#, VB.Net, and VBA
- Experience with Device Communications (ex. OPC UA , OPC DA, MQTT, custom drivers, etc.)
- Experience with common databases, Networking, Security Standards
- Experience with developing, implementing and supporting systems utilizing REST APIs.
- Experience utilizing JSON , ODATA, XML
Knowledge, Skills and Abilities:
- Fluent in C, C #.Net Core , .Net, VB.Net, ASP.Net, ADO.Net or equivalent technology, experience developing, exposing and consuming web services.
- Familiar with version control tools such as Git and Azure Dev Ops.
- Skilled in writing code that meets standards and delivers desired functionality using the technology selected for the project.
- Skilled in core data structures and algorithms and implements them using language of choice
- Ability to simultaneously lead multiple large-scale software development projects. This role includes establishing and communicating the project's technical direction
- Ability to work virtually in a global organization and to effectively prioritize and execute tasks in a high-pressure environment.
- Ability to communicate complex concepts; anticipate potential objections and influence others to adopt a different point of view.
- Able to be aware of all relevant SOPs as per company policy as they are related to the position covered by this Job Description.
- Able to comply with the company’s safety policy at all times.
- Able to comply with the company’s quality policy at all times.
Preferred Qualifications
- Extensive hands-on programming experience using relevant languages.
- Familiar with Microsoft SQL, NoSQL, MongoDB
- Experience with Azure, Azure Pipelines.
- Experience using containerized application components and deployment to Kubernetes, Linux
- Experience developing software within a regulated manufacturing industry
- Experience with UWP, WinForms
- Experience using Entity Framework
Physical and Travel Requirements
- Up to 10% - 15% global travel required