Full stack Java Developer
We are hiring multiple positions for full-stack developers to join Muvi’s growing Engineering team. To be successful in this role, you should be a self-driven problem solver and excellent coder.
- Design, build, and maintain efficient, reusable, and reliable code with full-stack development, in Java/J2ee.
- Roll out new features, and analyze (and react) to the results you discover from our system services and user feedback
- Optimize existing functionality for improved response times
- Collaborate with the team to design, develop, unit test, and support new features
- Searching creatively for the best solution, while building for the end-user
- Consistently deliver readable, maintainable, and efficient code
- Performance tuning, testing, refactoring, usability, and automation
- Participate actively in Scrums, sprint planning meetings, and sprint retrospectives.
- Rapidly mockup proof-of-concept implementations of ideas and present to internal stakeholders
- Stay informed of new tools, libraries, and best practices and share ideas with the team for continuous improvement of the tool-chain and development process
- Support, maintain and help document software functionality
- Work with other departments, stakeholders, and customers on software development, improvements, internal tools, and implementation issues
- Basic Requirements:
- 4+ years programming experience in developing web apps using Java/J2ee or frameworks like Spring
- Strong expertise in Core Java, Collections
- Hands-on Experience in Spring Boot and other Spring components
- Strong knowledge of database modeling and design, basic knowledge of table indexing and data integrity
- Strong experience in API design and REST-based services, API authentication and API versioning, API testing.
- Knowledge of Service-Oriented Architecture
- Good to Have – Knowledge of search and index technologies such as elastic
- Understanding of SSO concepts using SAML 2.0, OAuth2.0 protocols
- Writing unit test cases Junit, logging frameworks Log4J
- Knowledge of Garbage collection and basic JVM tuning options
- Ability to write optimized code from a computing and memory perspective
- Knowledge of JVM heap analyzers to troubleshoot memory issues
Good to Have
- Experience/knowledge of Microservices
- knowledge of GraphQL
- Knowledge of Containers and container management technologies like Docker, Kubernetes.
- Knowledge of architecture and design concepts, object-oriented design, and techniques. Exposure to design patterns is expected
|Job Category||Software Development|