Role: Sr. Core Java Developer / Lead for
Location: Alpharetta, GA / Menlo Park, CA
Job Description:
About the Role
- We are seeking a skilled Core Java Developer to design, develop, test, and maintain high-performance, scalable, and reliable Java applications.
- The ideal candidate will have a strong foundation in core Java concepts, object-oriented programming, multithreading, data structures, design patterns, and enterprise application development.
- The successful candidate will collaborate with architects, developers, QA engineers, DevOps teams, product managers, and business stakeholders to deliver high-quality software solutions.
Key Responsibilities
- Design, develop, and maintain applications using Core Java.
- Write clean, efficient, reusable, and maintainable code.
- Apply object-oriented programming principles and software design patterns.
- Develop multithreaded, concurrent, and high-performance applications.
- Work with Java collections, exception handling, generics, streams, and lambda expressions.
- Build and consume RESTful web services and APIs.
- Develop modular and scalable application components.
- Implement business logic, validation, error handling, and transaction management.
- Work with relational and NoSQL databases.
- Write efficient SQL queries and optimize database interactions.
- Perform unit, integration, functional, and regression testing.
- Troubleshoot application issues, memory leaks, performance bottlenecks, and production defects.
- Participate in code reviews and ensure adherence to coding standards.
- Collaborate with cross-functional teams to understand requirements and deliver solutions.
- Contribute to technical design documents and implementation plans.
- Integrate applications with CI/CD pipelines.
- Support application deployment, monitoring, and production issue resolution.
- Participate in Agile ceremonies, sprint planning, daily stand-ups, reviews, and retrospectives.
- Stay current with Java releases, development practices, tools, and industry trends.
Required Qualifications
- Bachelor’s degree in Computer Science, Engineering, Information Technology, or a related field.
- 10+ years of experience in Java software development.
- Strong knowledge of Core Java, including:
- Object-oriented programming
- Collections framework
- Exception handling
- Generics
- Multithreading and concurrency
- Java I/O and NIO
- Streams and lambda expressions
- Java memory management
- Garbage collection
- Experience with Java 8 or later.
- Strong understanding of data structures, algorithms, and design patterns.
- Experience developing RESTful APIs and backend services.
- Knowledge of relational databases such as Oracle, SQL Server, MySQL, or PostgreSQL.
- Experience with SQL, JDBC, and ORM concepts.
- Familiarity with Maven or Gradle.
- Experience with Git or other version-control systems.
- Understanding of unit testing using JUnit, Mockito, or equivalent tools.
- Familiarity with Agile/Scrum development methodologies.
- Strong analytical, debugging, communication, and problem-solving skills.
Preferred Qualifications
- Experience with Java 11, 17, 21, or later.
- Experience with Spring, Spring Boot, Spring MVC, Spring Data, or Spring Security.
- Knowledge of microservices architecture.
- Experience with messaging technologies such as Kafka, RabbitMQ, JMS, or ActiveMQ.
- Familiarity with Docker and Kubernetes.
- Experience with cloud platforms such as AWS, Azure, or Google Cloud.
- Knowledge of CI/CD tools such as Jenkins, GitHub Actions, GitLab CI, or Azure DevOps.
- Experience with NoSQL databases such as MongoDB, Redis, Cassandra, or DynamoDB.
- Familiarity with distributed systems, caching, and event-driven architecture.
- Experience with application monitoring and observability tools.
- Knowledge of secure coding practices and application security.
- Experience with performance testing and profiling tools.
- Familiarity with Linux/Unix environments and shell scripting.
Technical Skills
Core Java
- Java SE
- Object-oriented programming
- Collections and generics
- Multithreading and concurrency
- Streams and lambda expressions
- Exception handling
- Java I/O and NIO
- JVM architecture
- Memory management and garbage collection
- Serialization and reflection
- Data structures and algorithms
Backend Development
- RESTful APIs
- HTTP and JSON
- JDBC
- Spring and Spring Boot
- Microservices
- Authentication and authorization
- Transaction management
- Service integration