- Company Name
- Mastech Digital
- Job Title
- Software Engineer - Java
- Job Description
-
**Job Title**
Software Engineer – Java
**Role Summary**
Design, develop, test, and maintain Java‑based software solutions. Work independently and collaboratively across the full software lifecycle, ensuring high code quality, comprehensive test coverage, and reliable production performance. Participate in on‑call duties, mentor junior staff, and advocate for best practices and continuous improvement.
**Expectations**
- Meet or exceed unit and functional test coverage goals.
- Minimize production escapes; support testing activities (UAT, system, performance, volume, stress).
- Respond to on‑call alerts within 15 minutes and resolve or escalation issues.
- Deliver user‑focused features aligned with UX designs.
- Maintain system SLAs and resolve production incidents with clear stakeholder communication.
**Key Responsibilities**
- Develop and maintain code following Java best practices, with a focus on clean design and maintainability.
- Create unit and integration tests, contribute to automated test suites, and enforce code quality metrics.
- Collaborate with UX/UI teams to design interfaces, review mock‑ups, and implement Angular/JS/CSS components.
- Participate in performance, volume, and stress testing; analyze results and propose optimizations.
- Deploy and configure applications in Docker/Kubernetes environments; manage infrastructure changes.
- Produce technical documentation, estimate story sizes, and task out development efforts.
- Mentor peers and junior engineers; share knowledge of Java, Spring, Hibernate, and related technologies.
- Advocate for and evolve development processes, tooling, and coding standards within the team.
**Required Skills**
- Strong Java fundamentals and object‑oriented design.
- Experience with Spring, Spring Boot, and Hibernate (ORM).
- Database knowledge: Oracle, PostgreSQL.
- Containerization and orchestration: Docker, Kubernetes.
- Front‑end skills: Angular 2 +, JavaScript, jQuery, CSS.
- Cloud experience: AWS (Lambda, S3, DynamoDB, serverless).
- Familiarity with Agile/Scrum practices.
- Ability to write unit and integration tests; knowledge of test‑coverage tools.
- Troubleshooting, performance tuning, and on‑call incident management.
- Effective verbal and written communication; ability to explain concepts to technical peers.
**Required Education & Certifications**
- Bachelor’s degree in Computer Science, Software Engineering, or related field (preferred).
- Minimum 3 years of professional software development experience.
- Full‑lifecycle project experience; Agile methodology preferred.
---