Senior Software Engineer
About the role
The Senior Software Engineer designs, develops, tests, and maintains software applications across the full development life cycle. This includes analyzing and refining requirements, making sound design decisions, and documenting software designs and specifications. The Senior Software Engineer also diagnoses and resolves defects in a timely and accurate manner, contributes to code quality through testing and peer review, and collaborates with the team and other groups across the organization to deliver solutions.
Duties and Responsibilities
Design, develop, and deliver software applications end-to-end, from defining requirements through design, implementation, testing, and production support.
Partner with application owners and analysts to define, document, and refine requirements and specifications.
Write, test, and maintain high-quality code, making sound design and implementation decisions that balance maintainability, performance, and delivery timelines.
Design and maintain relational database structures, write efficient SQL and stored procedures, and safeguard data integrity across the team's applications.
Write unit and integration tests and take accountability for the quality, reliability, and security of delivered code.
Review peers' pull requests, enforce coding standards, and provide constructive feedback through the team's Bitbucket workflow.
Troubleshoot and resolve production issues across applications and databases, including performance analysis, debugging, and root-cause investigation.
Support production releases by implementing and verifying the required application and database changes during deployment.
Create and maintain technical documentation, including design documents, guidelines, and application guides.
Effectively communicate project status, technical options, and recommendations to management, application owners, analysts, and team members.
Leverage AI-assisted development tools to improve productivity and code quality, applying sound judgment to review and validate their output.
Evaluate emerging tools, languages, and standards, and recommend improvements or upgrades where value is added.
Collaborate with system administrators, analysts, and fellow engineers to resolve cross-system problems.
Perform a variety of complex tasks with a high degree of independence and judgment.
Scope
Staff supervision and development: No
Decision making:
Creates policy and resolves problems
Travel: Up to 5%
Flex Designation: Anywhere
Responsibilities
- Design, develop, and deliver software applications end-to-end
- Partner with application owners and analysts to define, document, and refine requirements
- Write, test, and maintain high-quality code
- Design and maintain relational database structures
- Write unit and integration tests
- Review peers' pull requests and enforce coding standards
- Troubleshoot and resolve production issues
- Support production releases
Qualifications
- Proven experience in software development
- Strong knowledge of SQL and database management
- Experience with unit and integration testing
- Ability to troubleshoot complex issues
- Excellent communication skills
Skills mentioned
About Harbor Freight Tools
We're a 45 year-old, $9 billion national tool retailer with the energy, enthusiasm, and growth potential of a start-up. We have over 1,600 stores in 48 states across the country and are opening several new locations every week. We offer our customers more than 7,000 tools and accessories, from hand tools and generators to air and power tools, from shop equipment to automotive tools. We provide our customers with the right tool for the right job at the right price, always delivering quality and value.
H-1B sponsorship history
Historical employer filing data was found for Harbor Freight Tools. The employer record includes 20 historical certified applications. This is employer-level history, not a guarantee that this role currently offers sponsorship.