GR8 Tech

Senior Java Developer

GR8 Tech

full-time

Posted on:

Location Type: Remote

Location: Remote • 🌎 Anywhere in the World

Visit company website
AI Apply
Apply

Job Level

Senior

Tech Stack

AngularAnsibleApacheCassandraDistributed SystemsDockerGradleHibernateJavaJavaScriptJenkinsJMeterJUnitKafkaKubernetesMavenMockitoMongoDBMySQLNoSQLOraclePostgresRabbitMQReactRedisSpringSpring BootSpringBootSQLTerraformVue.js

About the role

  • Designing and implementing scalable and efficient software architectures;
  • Writing, testing, and debugging complex code for new and existing software applications;
  • Providing guidance and mentorship to junior engineers and team members;
  • Conducting thorough code reviews to ensure code quality, security, and best practices;
  • Creating and maintaining comprehensive technical documentation for software development and system design;
  • Leading and managing software development projects, ensuring timely delivery and quality(shared responsibility with Delivery Manager);
  • Working closely with cross-functional teams, including product management, design, and operations, to align development efforts with business goals;
  • Researching and implementing new technologies and methodologies to improve software performance and development processes;
  • Identifying and resolving complex software issues and technical challenges;
  • Developing and enforcing testing protocols to ensure software reliability and performance;
  • Driving continuous improvement in software development practices and processes;
  • Communicating effectively with stakeholders, including presenting technical concepts and project updates;
  • Delivering code to production in timely manner according to business expectations.

Requirements

  • Advanced knowledge of Java Programming
  • Proficiency in core Java concepts such as OOP (Object-Oriented Programming), multithreading, collections, exception handling, and memory management;
  • In-depth understanding of Java 8+ features, including Streams API, lambda expressions, Optional, and the new Date and Time API;
  • Mastery of Java concurrency and synchronization, thread pooling, and concurrent data structures;
  • Experience with JVM internals, including garbage collection, performance tuning, and profiling.
  • Extensive experience with Spring Framework (Spring Boot, Spring MVC, Spring Data, Spring Security);
  • Proficiency in Hibernate or JPA for ORM (Object-Relational Mapping) and data access;
  • Familiarity with other Java-based frameworks like Apache Camel, Vert.x, or Micronaut;
  • Knowledge of build tools like Maven and Gradle for project management and dependency management.
  • Proficiency in building RESTful APIs and web services using frameworks like Spring Boot or JAX-RS;
  • Understanding of web technologies such as HTML, CSS, JavaScript, and front-end frameworks (e.g., Angular, React, or Vue.js);
  • Experience with asynchronous programming and handling real-time data using WebSockets.
  • Expertise in unit testing with JUnit, TestNG, and integration testing frameworks;
  • Knowledge of mocking frameworks such as Mockito or PowerMock;
  • Familiarity with behavior-driven development (BDD) tools like Cucumber or JBehave;
  • Experience with performance testing tools like JMeter or Gatling.
  • Advanced skills in SQL and experience with relational databases (e.g., PostgreSQL, MySQL, Oracle);
  • Proficiency in working with NoSQL databases (e.g., MongoDB, Cassandra, Redis);
  • Experience with database migration tools like Flyway or Liquibase.
  • Experience with CI/CD tools specific to Java projects, such as Jenkins, GitLab CI, or Travis CI;
  • Proficiency in using Docker for containerization and Kubernetes for orchestration of Java applications;
  • Knowledge of infrastructure as code (IaC) tools like Terraform or Ansible for provisioning and managing infrastructure.
  • Skills in profiling and monitoring Java applications using tools like VisualVM, JProfiler, or YourKit;
  • Experience in optimizing application performance, including memory management, CPU usage, and response time;
  • Understanding of load balancing, caching strategies (e.g., EHCache, Hazelcast), and distributed systems.
  • Knowledge of secure coding practices and understanding of common security vulnerabilities (e.g., OWASP Top Ten);
  • Experience with authentication and authorization mechanisms, including OAuth2, JWT, and SAML;
  • Proficiency in implementing security features within the Spring Security framework.
  • Understanding of network programming using Java NIO and async I/O;
  • Experience with messaging systems like Apache Kafka, RabbitMQ, or ActiveMQ.
  • Familiarity with version control systems like Git and collaboration platforms like GitHub or Bitbucket;
  • Knowledge of code quality and static analysis tools such as SonarQube, PMD, or Checkstyle;
  • Experience with logging frameworks like SLF4J, Logback, or Log4j.
Benefits
  • An annual fixed budget that you can use based on your needs and lifestyle. You decide how to allocate it:
  • Sports – gym, yoga, or any activity to keep you active;
  • Medical – insurance and wellness services;
  • Mental health– therapy or coaching support;
  • Home office – ergonomic furniture, gadgets, and tools;
  • Languages – courses to improve or learn new skills.
  • Parental support with paid maternity/paternity leave and monthly childcare allowance;
  • 20+ vacation days, unlimited sick leave, and emergency time off;
  • Remote-first setup with full tech support and coworking compensation;
  • Regular team events – online, offline, and offsite;
  • Learning culture with internal courses, career development programs, and real growth opportunities.

Applicant Tracking System Keywords

Tip: use these terms in your resume and cover letter to boost ATS matches.

Hard skills
JavaOOPmultithreadingSpring FrameworkHibernateRESTful APIsSQLNoSQLCI/CDDocker
Soft skills
mentorshipcode reviewscommunicationproject managementproblem solvingcontinuous improvementcollaborationguidanceleadershipstakeholder engagement