As a Lead Software Engineer, you will be responsible for designing and programming a small module or a large component and designing a feature, set of features, or whole feature area. She/he will work independently and contribute to the immediate team and to other teams across business. She/he will be responsible for contributing to back end development with focus on SaaS based product development for Digital Industrial Platform (Predix- Industrial IOT Platform).Essential Responsibilities:
- Capture system level requirements by brainstorming with Sr. Architects, Data Scientists, Businesses & Product Managers
- Identify the scope of the work, provide initial estimate and justify the estimate with facts
- Demonstrate the understanding of Agile software development lifecycle and able to distinguish the core inputs and outputs in each cycle.
- Engage in technical discussions; participate in technical designs and present technical ideas through white boarding
- Work closely with your peers and keep engaging in a fast pace technical design and development team Execute in a fast pace delivery mode and focus in delivering tasks to meet the product release goal
- Maintain code quality through best practices, unit testing and code quality automation
- Seek and provide feedback on design and development
- Demonstrate the ability to make informed technology choices after due diligence and impact assessment Understand whole product, its modules and the interrelationship
- Bachelor's Degree in Computer science or in "STEM" Majors (Science, Technology, Engineering and Math)
- A minimum of 8 years of professional experience OR Master's degree with 6 years of experience OR PhD with 3 years of experience.
- Strong knowledge of Object Oriented Analysis and Design, Software Design Patterns, .NET and Java coding principles
- Expert level development skills in one language and proficiency/familiarity in two others (C#/.NET, Java, NodeJS, Python, etc.).
- Experience with SQL datastores such as PostgreSQL, SQL Server, Oracle, etc.
- Experience developing for, configuring, and supporting Cloud computing solutions is a plus (Cloud Foundry, AWS, MS Azure, Google Cloud, etc.)
- Strong experience in web services (REST etc.)
- Hands-on experience in utilizing Spring Framework (Core, MVC, Integration and Data)
- Experience with GIT and code management best practices
- Good knowledge of code quality standards and best practices
- Knowledge of building and integrating automated testing
- Experience working in a DevOps and continuous integration and delivery environments would be a plus