Senior Java Full Stack Software Engineer
Summary
Senior Java full-stack engineer who designs, codes, debugs, tests, documents, and maintains multi-tiered distributed web applications across the full SDLC. Backend work centers on Java EE, Spring MVC, REST APIs, and Hibernate/JPA with SQL; frontend on React.js (Redux, React-Router), HTML/CSS, and responsive design.
- Proven hands-on software development experience and web UI development experience
- Proven 6+ years working experience in Java development
- Proven 5+ years’ experience in web frontend development
- Proven 5+ years’ experience building large web sites with HTML & CSS
- Hands on experience in designing and developing applications using Java EE platforms
- Object Oriented analysis and design using common design patterns.
- Extensive experience with REST API design and development
- Deep knowledge of Java and JEE internals (Class loading, Memory Management,
- Experience with Relational Databases, SQL and ORM technologies (JPA2, Hibernate)
- Experience with Spring MVC Framework
- Experience with React.js community (such as Redux, React-Router, etc.)
- Experience with responsive web design
- Experience in Git-based version control systems
- Experience in Agile methodology
- Experience in developing web applications using at least one popular web framework (JSF,
- Wicket, GWT, Spring MVC)
- Experience with test-driven development
- Experience with Unit testing of frontend code and Power Mockit
Works throughout the software development life cycle and performs in a utility capacity to create, design, code, debug, maintain, test, implement and validate applications with a broad
understanding of a variety of languages and architectures. Analyzes existing applications or
formulate logic for new applications, procedures, flowcharting, coding and debuggi
programs. Maintains and utilizes application and programming documents in the development
of code. Recommends changes in development, maintenance and system standards. Creates
appropriate deliverables and develops application implementation plans throughout the life
WHAT YOU’LL OWN
- Engineer complex, multi-tiered distributed software systems.
- Design, implement, test and document / diagram software solutions for technical and
- business requirements.
- Perform code changes to enhance a product or add new features, to resolve programming
- errors and develop new products as assigned.
- Complete code changes in a timely manner based on project plans.