Principal Software Engineer
HrblockAbout the Role
Provides technical expertise to design current and future architectural software components and products that support H&R Block business applications. Uses latest tools and technology, languages, coding standards and best practices to develop new product features.
Drives planning, design and implementation of a strategic direction for the product.
- Designs and maintains documentation of complex software components
- Drives decisions on internal architecture of the system. Leads discussions and directs architectural changes in the application.
- Provides optimal solution in implementing any complex changes.
- Translates conceptual, high-level ideas into tangible, detailed architectural approach.
- Leads product design features to support scalability, usability and better performance.
- Understands complex business and functional requirements and provides direction in 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.
- Maintains and constantly 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.
- Mentors and coaches other team members on the latest technological advances within the current technology used and any other competing technology.
Required Qualifications
Bachelor’s degree in Computer Science or Engineering or related field or the equivalent through a combination of education and work experience.
Ten to twelve years experience developing applications including experience developing/maintaining projects. Knowledge of various platforms with the ability to conduct evaluations of technical architecture related to application software..
Two years experience in a lead developer role with a strong technical design and development background.
Demonstrated knowledge of object-oriented design techniques, UML, software architecture, complex pointer manipulation and memory management of complex structures.
Experience creating technical specifications. Ability to work independently and determine logical solutions.
Demonstrated knowledge of process and data modeling concepts.
Experience using applications such as Word, Visio, Excel and PowerPoint.
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.
Proven creative, analytical and detailed oriented abilities.
Strong leadership skills. Ability to function as a team leader, coordinating activities and communicating information effectively. Ability to plan and schedule tasks for team members in order to meet the objectives of the project goals.
Effective oral, written and interpersonal communication skills. Ability to interact with technical and non-technical members of a project team in various locations.