Senior Java Developer

Posted 114ds ago

Employment Information

Education
Salary
Experience
Job Type

Report this job

Job expired or something wrong with this job?

Job Description

Senior Java Developer designing and implementing scalable software architectures at GR8 Tech. Collaborating with cross-functional teams and mentoring junior engineers while optimizing software performance.

Responsibilities:

  • 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.