Job Summary
If you are a self-starter, wanting multiple opportunities to design, drive and contribute to the development of enterprise-class applications, we are looking for an enthusiastic lead, skilled and experienced full stack
developer. The ideal candidate will be demonstrably skilled, have strong expertise in Java and Spring Boot, and hands-on experience in designing, developing, and deploying scalable enterprise applications. The candidate will play a critical role in product design and development and help mentor junior developers.
Excellent leadership and communication skills required. Excellent analysis, design and development skills required. Solid mathematics skills required. Intermediate English skills required.
Responsibilities
Design, develop, and maintain scalable Java-based applications.
Collaborate with team and stakeholders to analyze requirements.
Implement efficient algorithms, optimize applications, and seamlessly integrate.
Write clean, testable, and efficient code adhering to best practices.
Develop RESTful APIs and integrate third-party APIs.
Integrate APIs with SQL databases, ensuring data integrity and efficiency.
Write unit and integration tests to ensure functionality and reliability of API endpoints.
Troubleshoot and debug applications to resolve technical issues.
Lead code reviews and provide constructive feedback to team members.
Create clear and concise documentation (docs-as-code) for code and APIs.
Ensure application security and compliance with industry and regional standards.
Ensure design and code meet the goals of applications while minimizing technical debt.
Stay updated with the latest technologies and tools in Java development and apply them to improve existing solutions.
Qualifications
Bachelor's degree in computer science,
software engineering, or related field.
Seven or more years of experience in Java development, with 3 years of software engineering experience, and 2 years proven experience as technical lead.
Solid experience with design patterns, UML, working with software architectures to create detailed designs.
Knowledge of Java and J2EE/Java EE (including servlets, JSP, JSF, JDBC).
Proficiency in Java frameworks such as Spring, Spring Boot or Hibernate.
Strong knowledge of object-oriented programming (OOP) including inheritance, interfaces, exception handling, and design patterns.
Strong understanding of Java threading, concurrency, concurrency patterns, experience building thread safe code.
Solid experience with RESTful APIs, Microservices, and Web Services and best practices.
Solid Experience with SQL and relational databases such as MySQL, PostgreSQL, or SQL Server.
Experience with analytics engines and message queuing systems such as Cube, Spark and Kafka.
Experience with UI development and front-end technologies from JavaFX to HTML, CSS, JavaScript, and React.
Experience with other components of the Spring ecosystem (e.g. Spring Data, Spring Security, Spring Cloud, etc.).
Experience with IntelliJ and GIT or similar source code versioning tools and coding standards.
Solid skills in statistics, probability, and linear algebra.
Strong analytical and problem-solving skills.
Excellent communication and teamwork abilities.
Passionate leadership skills. Mentor team members. Coach team to experiment and solve technical problems in proactive and unique ways.
Experience collaborating with business, engineering, operational, and product stakeholders, spanning business requirements, functional specifications, and test plans.
Maintaining a constant focus on the applications delivering client value.
Good English language skills.
Preferred
Proven ability to plan, develop, and deliver S&OP applications.
Good understanding of NoSQL databases, like MongoDB, data warehouses, and OLAP.
Knowledge of Linux and common tech stacks.
Good understanding of containerization tools Docker and Kubernetes.
Knowledge of cloud services like AWS or Azure.
Familiarity with DevOps practices, toolchains and CI/CD pipelines.
Previous experience working in a Startup environment.
Previous experience working in an Agile/Scrum environment.
Extras
Ability to comprehend complex application architectures in cloud - public, private, hybrid.
Proven, hands-on experience architecting complex applications using various architecture styles like Microservices, REST, Streaming, Event, Batch, etc.
Proven ability to learn new technologies quickly, build POCs, perform a comparative analysis of tools and technologies, and make adoption recommendations.
Proven ability to deliver architecture and code that meets the goals of our applications while minimizing technical debt.
Own the quality of the product, from software architecture to end-user quality.
What You Offer
Entrepreneurial: You're personally invested in fulfilling our mission and growing the business. You're constantly thinking outside-the-box and proposing new ideas that may influence our broader strategy and product roadmap.
Commando Mindset: You aren't afraid to parachute into a metaphorical jungle, build systems from scratch, and define solutions to complex problems. You're an independent self-starter that is adaptable to change.
Team-Oriented: You recognize the whole is greater than the sum-of-its-parts and work well with others. You are coachable and willing to invest in others.
Data-Driven: You believe in hypothesis testing, iterative experimentation, and incremental delivery. You value underpinning conclusions with empirical evidence over unsubstantiated claims.