- Focus on organizational initiatives, improvements to architecture and processes that drives the product solution towards the product vision, and mentoring team members on feature implementation and the following of software engineering practices and architectural patterns.
- Lead the development of, and provide technical guidance for, new features and implementations of new technologies, including the analysis, design, and implementation of these product components and the platform.
- Actively interface with other teams to improve and extend existing product functionalities.
- Proactively work with peer teams on improvements to processes.
- Actively participate in defining/refining product roadmap and technical strategy.
- Analyze and troubleshoot application issues in a timely fashion.
- Perform technical evaluations and proof-of-concepts (PoC's).
- Initiate and actively participate in design, architecture, and code reviews to recommend improvements ensuring patterns and practices are followed.
- Understand the product vision and business drivers influencing the product features, and be able to explain to peers.
- Proactively understand and explain the business domain and design aspects that utilize technologies used in feature development.
- Initiate discussions with Product Managers and Key Stakeholders to understand customer need and guide team to update Stories and Spikes to follow value driven development, with a focus on understanding how customer will use the feature and how it fits in the product vision.
- Champion defining Sprint deliverables in functional slices to increase value and reduce risk.
- Provide technical leadership and strategy in technologies that support our project objectives through mentoring, educating, and supporting development activities for the Platform.
- Create and make presentations to stakeholders and management as needed.
- Demonstrate ability to balance digging in the details and tracking the big picture.
- Actively interact with Product Management and the user community to gather and validate business requirements.
- Proactively disseminate technical guidance in software design and development activities.
- Be a major catalyst who ensures the team succeeds.
DESIRED SKILLS AND EXPERIENCE
Formal Education and Certification
- Bachelor's degree in a technology-related field, preferably software engineering, computer engineering or computer science.
Knowledge and Experience
- 12+ years programming experience, preferably in .NET environments.
- Ability and willingness to still participate in daily coding activity, while assisting with technical leadership initiatives.
- Experience in Agile/Scrum environments is highly preferred.
- Experience with C# is required. Other object-oriented languages are preferred.
- Strong understanding of object-oriented programming.
- Experience with tools such as Jira, Team Foundation Server (TFS), or GIT.
- Familiar with various software design and architectural patterns.
- Ability to analyze and communicate technical issues, lead discussions, and influence decisions.
- Excellent written, verbal, and interpersonal skills.