Senior Java Developer
Ukrainian Product
🇺🇦
What You’ll Be Driving:
- Design and implement scalable and efficient software architectures;
- Write, test, and debug complex code for new and existing software applications;
- Provide guidance and mentorship to junior engineers and team members;
- Conduct thorough code reviews to ensure code quality, security, and best practices;
- Create and maintain comprehensive technical documentation for software development and system design;
- Lead and manage software development projects, ensuring timely delivery and quality(shared responsibility with Delivery Manager);
- Work closely with cross-functional teams, including product management, design, and operations, to align development efforts with business goals;
- Research and implement new technologies and methodologies to improve software performance and development processes;
- Identify and resolve complex software issues and technical challenges;
- Develop and enforce testing protocols to ensure software reliability and performance;
- Drive continuous improvement in software development practices and processes;
- Communicate effectively with stakeholders, including presenting technical concepts and project updates;
- Deliver code to production in timely manner according to business expectations
What Makes You a GR8 Fit:
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.
Java Frameworks and Libraries
- 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.
Web Development
- 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.
Testing and Quality Assurance
- 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.
Database and Persistence
- 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.
DevOps and Continuous Integration
- 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.
Performance and Scalability
- 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.
Security
- 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.
Advanced Networking
- Understanding of network programming using Java NIO and async I/O;
- Experience with messaging systems like Apache Kafka, RabbitMQ, or ActiveMQ.
Additional Tools and Technologies
- 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.
Required skills experience
| Java |
Required languages
| English | B1 - Intermediate |
Java, Spring, SQL, MongoDB, Git, Docker, Spring Boot, Kafka, Kubernetes
Published 4 December
260 views
·
72 applications
📊
Average salary range of similar jobs in
analytics →
Loading...