Provides technical expertise to design, develop and maintain software components and products that support H&R Block business applications. In addition, provides lead role for day-to-day functional tasks in the team, developer support and maintaining the development environment. Uses tools, languages, coding standards and best practices to develop new product features and maintain year over year product functionality and enhancements. Creates and executes unit tests and addresses defects. Works closely with the QA, UX and other related teams to ensure consistent understanding of requirements and approach.
In addition, assists in planning and implementation of a strategic direction for the product.
ESSENTIAL DUTIES AND RESPONSIBILITIES
Designs, develops and maintains complex software components
Creates and maintains documentation of design approaches
Creates and maintains documentation on internal architecture of the system. Leads architectural changes in the system.
Identifies product design features to support scalability, usability and better performance.
Assists and drives technical design and code reviews for all new enhancements and maintenance work delivered by the development team.
Understands complex business and functional requirements and produces technical specifications and product requirements.
Establishes best practices in coding and development within the team. Ensures consistency of the use of best practices within the team. Designs and develops reusable code components. Positively and proactively leads and influences the team.
Provides advice and guidance to associate, senior and software engineer roles in the effective use of coding principles and best practices. Develops reusable code components.
Creates, maintains and executes unit test and alpha test plans
Maintains development environment and creates build.
Maintains and improves current knowledge on the latest technologies relevant to the role regarding algorithms, language, design methodology, third-party development tools, application platforms, hardware compatibility and operating systems.
Propose and implement innovative solutions for making systems more efficient, reliable, and modern
Create efficient and elegant designs for our applications utilizing latest technologies
Mentors and coaches other team members on the latest technological advances within the current technology used. Leads by example.
Bachelor's degree in Computer Science, Information Technology, or related field, or the equivalent through a combination of education and work experience.
Eight years application development experience or equivalent experience as a technical team lead also to include short-term and long-range strategic planning, systems analysis and design.
Experience in all phases of the software development lifecycle.
Experience in data and process modeling of business requirements.
Demonstrated effective time management, planning and organization skills with the ability to successfully handle multiple tasks, projects and priorities in a fast paced matrix-managed environment.
Experience using software applications such as Visio, Microsoft Project, PowerPoint, Word, and Excel.
Effective oral, written and interpersonal communication skills. Strong presentation and facilitation skills necessary to communicate and persuade a wide range of audiences.
Demonstrated leadership abilities, decision making, analytical and problem-solving skills. Ability to develop creative solutions to assigned projects.
Master's Degree or eight to twelve years application development and support experience.
8 years of web application or software development experience in Microsoft .NET 4.0 with C#, ADO.NET, Entity Framework, Web Services, Windows Service, Desktop Applications, LINQ, XML / XSLT and MS SQL
2 years of experience with Angular 2 framework
Strong knowledge of various frameworks, principles and designs implemented in c#.
Expertise in working with WCF, WPF, WF frameworks and Silverlight
Expertise with clear understanding on Windows Architecture & Operating system / Win32 APIs, ASP.net 4.x with Web API 2.0
Experience with a structured methodology and CASE tools.
Knowledge of Repository based Data Access pattern would be a plus
Knowledge of Inversion of Control using Autofac would be plus
Knowledge of Entity Framework 5.0 or later for data access
At least one MVVM framework used in the project (Caliburn Micro preferred)
Excellent debugging skills with knowhow on how to debug async calls
Good knowledge on IT Infrastructure solutions development
Experience in N-tiered application design & development
Experience with relational database technology and operating systems.
Experience working through the full product cycle from initial design to final product delivery
Experience in managing implementation challenges in the area of architecture, design, integration and infrastructure
Experience in handling application performance reviews
Experience in research innovative solutions to challenging business/technical problems
Strong practical Linux and Windows-based systems administration skills in a Cloud (Azure) environment.
H&R Block, Inc.