Job Description
Summary:
Responsible for designing, building, delivering, and maintaining software applications & services. Working in the areas of machine, cloud, platform, and/or application. Responsible for software lifecycle including activities such as requirement analysis, documentation/procedures, and implementation.
Roles and Responsibilities:
- Be responsible for defining, developing, and evolving software in a fast-paced and agile development environment using the latest software development technologies and infrastructure
- Provide technical leadership to an agile team of 5-7
- Work with Product Line Leaders (PLLs) to understand product requirements & vision
- Translate requirements/vision into a prioritized list of user stories and deliver to required timelines and quality standards
- Work with product line leaders and architects to develop multi-generation software technology plans
- Drive increased efficiency across the teams, eliminating duplication, leveraging product and technology reuse
- Support process improvements that guide the development, sustaining & support activities
- Work cross-functionally with other business departments to align activities and deliverables
- Drive world-class quality in the development and support of products
- Ensure team receives consistent messages and has a clear understanding of business direction, strategy and results
- Engage subject matter experts in the successful transfer of complex domain knowledge
- Apply principles of SDLC and methodologies like Lean/Agile/XP, CI, Software and Product Security, Scalability, Documentation Practices, refactoring, and Testing Techniques
- Write code that meets standards and delivers desired functionality using the technology selected for the project
- Understand performance parameters and assess application performance
- Work on core data structures and algorithms and implement them using technology chosen
- Proactively share information across the team, to the right audience with the appropriate level of detail and timeliness
Desired Characteristics/Technical Expertise:
- Master's Degree/Ph.D. in Computer Science
- Experience with Windows-based programming
- Experience working on software projects in the Industrial Automation/MES domain.
- Strong knowledge of Object-Oriented Analysis and Design, Software Design Patterns, and C#.NET coding principles.
- In-depth and hands-on experience with C++,VC++,C# .NET, WCF, WPF must
- Hands-on experience in REST on top of any Open source library, SQL Database such as PostgreSQL, SQL-Server, Oracle, etc.
Business Acumen:
- Demonstrates the initiative to explore alternate technology and approaches to solving problems
- Skilled in breaking down problems, documenting problem statements, and estimating efforts
- Demonstrates awareness about competitors and industry trends
- Can analyze the impact of technology choices
Leadership:
- Ability to take ownership of small and medium-sized tasks and deliver while mentoring and helping team members
- Ensures understanding of issues and presents clear rationale. Able to speak to mutual needs and win-win solutions. Uses two-way communication to influence outcomes and ongoing results
- Identifies misalignments with goals, objectives, and work direction against the organizational strategy. Makes suggestions to course correct
- Continuously measures deliverables of self and team against scheduled commitments. Effectively balances different, competing for objectives
- Personal Attributes:
- Strong oral and written communication skills
- Strong interpersonal skills
- Effective team building and problem-solving abilities
- Persists to completion, especially in the face of overwhelming odds and setbacks. Pushes self for results; pushes others for results through team spirit