Job Description
The Senior Manager of Software Engineering will lead a high-impact engineering team tasked with developing an innovative Enterprise application platform for the Proficy Suite of Products within the Manufacturing Engineering team. In this role, you will be responsible for leading, executing and operationalization of world class data driven methods, advanced algorithms and capabilities to support needs of the businesses. As a Senior Manager of Software Engineering, you are responsible for Designs, programs, documents, tests, and fixes bugs involved in creating and maintaining applications and frameworks involved in a software release lifecycle resulting in a digital product. Impacts approaches, projects and programs in the functional area or affected business organization and ways of working. Impacts quality, efficiency and effectiveness of own team. Has significant input into priorities. Guided by professional practices and policies that are shaped by the role. The role has moderate autonomy, requiring high levels of operational judgment. You will collaborate with several Product Engineering teams and through this you will be involved at every stage of product development, from setting up research projects through to problem solving production issues for customers. You are responsible for define , execute the strategy for the technology into the product roadmap.
Requirements
Provide hands-on management for an established software team that includes developers and
QA engineers working on releases containing new functionality as well as patch releases.
You will be responsible for hiring, coaching and mentoring a team of software and quality
engineers with the goal of building a cohesive, autonomous team, able to work through
technical, schedule and interpersonal challenges.
Design, build, deliver and maintain software applications & services. Working in the areas of
machine, cloud, platform and/or application. Responsible for full software lifecycle including
activities such as requirement analysis, documentation/procedures and implementation.
Typically a 1st line manager of professionals or a 2nd line manager of a professional
department. Developing specialized knowledge in their discipline. Serves as best practice/quality
resource. Has awareness of latest technical developments in own area. Contributes towards
strategy and policy development, and ensure delivery within area of responsibility.
Has in-depth knowledge of best practices and how own area integrates with others; has working
knowledge of competition and the factors that differentiate them in the market
Uses judgment to make decisions or solve moderately complex tasks or problems in areas of
operational/product management, manufacturing, technology or engineering. Takes new
perspective on existing solutions. Uses technical experience and expertise for data analysis to
support recommendations. Uses multiple internal and limited external sources outside of own
function to arrive at decisions.
Acts as a resource for colleagues with less experience. May lead small projects with moderate
risks and resource requirements. Explains difficult or sensitive information; works to build
consensus. Developing persuasion skills required to influence others on topics within field.
Technical Expertise
Strong knowledge of Object-Oriented Analysis and Design, Software Design Patterns as well as
Java coding and database design principles
Experience in developing web applications utilizing Java/Go Lang RESTful Services.
Proficiency with various database tools including MS SQL Server, PostgreSQL, JPA, Hibernate,
JDBC, and Spring Data, etc
Experience with web front-end technologies such as typescript/javascript, HTML5, CSS, and
frameworks like Angular, React
Proficient in design principles and design patterns with practical experience.
Exposure to enterprise architectures.
Desirable to have practical knowledge in Test-Driven Development (TDD).
Ability to translate requirements and vision into a prioritized list of user stories, delivering within
specified timelines and quality benchmarks.
Champion efficiency improvements across teams by eliminating redundancy and maximizing
product and technology reuse.
Uphold world-class quality standards in product development and support.
Apply Software Development Life Cycle (SDLC) principles and methodologies like Lean, Agile, XP,
Continuous Integration (CI), software and product security, scalability, documentation practices,
refactoring, and testing techniques.
Provide technical leadership to multiple Scrum teams
Qualification
Bachelor's Degree
Key skill Required
- Manufacturing
- Java
- Spring
- Hibernate
- SQL
- Spring
- Software Development
- Requirement Analysis
- JDBC
- CSS
- JavaScript
- JAVA
- SQL Server
- PostgreSQL
- Autonomy
- Algorithms
- Data Analysis
- Java
- HTML5
- Product Management
- Analysis
- Application Platform
- Awareness
- Best Practice
- Continuous integration
- Data Driven
- Database
- Database Design
- Design
- Development
- Discipline
- Documentation
- Documentation Practices
- Effectiveness
- Implementation
- Influence
- Integration
- Leadership
- Management
- Manufacturing Engineering
- Mentoring
- Persuasion
- Policy Development
- Practical
- Problem Solving
- Product Development
- Product Engineering
- Quality Standards
- Research
- Roadmap
- Scalability
- Security
- Sensitive
- Software Design
- Software Development Life Cycle
- Software Engineering
- Spring Data
- Strategy
- Technical Leadership
- TypeScript