Under the guidance of a senior, lead or principal software engineer, designs, develops and maintains software components and products that support H&R Block business applications. 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, User Experience and other teams to ensure consistent understanding of requirements and approach.
ESSENTIAL DUTIES AND RESPONSIBILITIES
- Designs, develops and maintains software components.
- Creates and maintains documentation of design approaches.
- Creates and maintains documentation on internal architecture of the system under the guidance of senior or lead software engineer.
- Participates in technical design and code reviews for all new enhancements and maintenance work delivered.
- Under the guidance of the lead engineer or senior software engineer, understand business and functional requirements and produces technical specifications and product requirements.
- Creates, maintains and executes unit test and alpha test plans.
- Maintains 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.
Education/ Experience Requirements
- Bachelor's degree in Computer Science, Information Technology, or related field, or the equivalent through a combination of education and work experience.
- Knowledge of software development concepts and practices.
- Knowledge of all phases of the software development lifecycle.
- Effective oral, written and interpersonal communication skills.
- Demonstrated effective time management, organizational, prioritization, and planning skills.
- Analytical and problem solving skills. Ability to develop creative solutions in assigned projects.
- Ability to work in a team environment with limited supervision.