Senior Java Full Stack Developer
The Senior Java Full Stack Developer would need to have at least 3 to 7 years of experience. This position requires technical leadership and considerable experience in the application of software engineering practices, principles, methods, and techniques. Expected to stay current with technologies and to learn new technologies, processes, and trends. Expected to seek a greater understanding of the business, and business processes, disseminate knowledge to team members, form best practices.
- This position requires technical leadership and considerable experience in the application of software engineering practices, principles, methods, and techniques.
- Expected to stay current with technologies and to learn new technologies, processes, and trends. Expected to seek a greater understanding of the business, and business processes, disseminate knowledge to team members, form best practices.
- Design and Develops high-quality software that meets requirements, promotes re-use of software components and facilitates ease of support, possesses a good understanding of design patterns.
- Analyze, design, and implement software mechanisms to improve code stability, performance, and reusability. Participate in and lead code review sessions.
- Practice Agile development and become familiar with Continuous Improvement, Six Sigma Lean principles, and the Scaled Agile Framework.
- Assist others in estimating task effort and dependencies, responsible for team commitments within the Sprint. Proactively identify and implement processes, best practices, and tools improvements to improve quality and performance.
- Provide input and technical content for customer-facing documentation, user help materials, and customer training.
- Required to be a source of innovative ideas not only for products but also processes affecting the development projects and personnel.
- Works within the key business process framework; Defines and provides functional descriptions of new products, processes, and concepts.
- Have a strong desire for quality, and attention to detail; excellent analytical skills. Ability to multi-task and prioritize in a fast-paced environment. Ability to work effectively in a team environment composed of peers and cross-functional members
- Judgment skills are needed to assess high-risk areas of a system problem, on which to focus efforts. Work independently with limited supervision.
- Solid troubleshooting & problem-solving skills involving complex systems. Strong aptitude for learning quickly.
- Responsible for managing solutions, delegating resources, and helping to ensure quality assurance principles are met across projects and deliverables.
- Superior communication skills in English.
- Strong understanding of the agile software development process.
- Preferred: critical software development in large enterprises.
- 3+ years professional development experience with Java.
- Experience with Java 1.8 or later.
- Experience with Spring (Framework, Security, MVC, Boot).
- Strong understanding of Java multithreading, concurrency, and memory management.
- Excellent coding practices including a solid understanding of design patterns and object-oriented programming.
- Experience building maintainable and efficient tests using tools such as MyBatis, JUnit, TestNG, Mockito, etc.
- Coding standards to include unit, integration, and acceptance testing.
Experience with Cloud services (AWS, Azure, OpenShift, etc.)
- Experience with SQL and NoSQL.
- Experience with Git/GitHub.
- Experience with Containers.
- Knowledge of micro-services networking, load balancing, service discovery concepts, and technologies.
- Exposure to JavaFX, Swing, SwingX, and Kotlin is added advantage.