Java Developer Requirements
Strong Java programming skills
Minimum of 5 years practical software development experience
Robust object-oriented design pattern knowledge and implementation experience using C++ and
Java; Python a plus
Advanced knowledge and experience developing and working with relational databases such as
Sybase and MySQL
Experience with multi-tier application architecture and high performance distributed and in-
memory caching solutions
Strong understanding of data modeling techniques
Strong foundation in SDLC best practices including test driven development, unit testing
discipline, agile development, and CI/CD strategies
Education: B.E, B. Tech, MCA, MSc (CS) or equivalent
Passion for engineering highly available, performant systems
Creativity and resourcefulness to problem solve independently
Curiosity and drive to learn new things and build new solutions
Strong communication, time management, organization, attention to detail
Working knowledge of building and deploying distributed systems a plus
Experience with cloud technologies (e.g. Kubernetes, Docker, OpenStack) a plus
Junior Senior
Java Developer Detailed Skills Matrix
Developer Developer
General Concepts
Core/OOPS
OOPs Concepts & Patterns X In-depth
Java Keywords – Static, FInal, volatile, synchronized, transient, this super
etc. X X
Constructors X X
Abstract Classes and Interfaces X X
Dependency Injection X
Exceptions – Checked, Unchecked X X
Access Specifiers X X
IO & Serialization
File IO/NIO Basic In-depth
Serialization Basic In-depth
Generic & Collections
Generics Basic In-depth
Collections – List, Map, Set X X
Data Structures & Collections X X
Concurrency
MultithreadIng and Synchronization Basic In-depth
Non-blockIng Collections/Utilities X
Memory Management
JVM and Memory Management Basic In-depth
Heap dump and thread dump analysis X
GC/Memory TunIng X
SprIng Framework
SprIng Core X X
SprIng Boot (good to have) X
StrIng Data X
StrIng MVC X X
Mis
c
GIT X X
Maven/Gradle X X
Design Patterns X
Junit/TestIng X
CachIng In general X
Kafka (good to have) X
Cassandra (good to have) X
MessagIng - JMS/Queues (good to have) X
Python X X
Network and Distributed Aapplications
Knowledge of Protocols like IP, HTTP, TCP, FTP, UDP X
Sockets, RMI, RCP X
Web Applications
Angular/TypeScript X X
JSP / Servlets X
Markup Languages like XML and JSON X X
Service Oriented Architecture / Web Services – SOAP / REST /
Basic In-depth
gRPC
Web Frameworks like Struts / SprIng Basic In-depth
Web Technologies like HTML, CSS, Javascript and JQuery Basic In-depth
Java UI
Applets
Frameworks like SwIng, SWT, AWT, JavaFX (SWT only if you’re
buildIng somethIng on top of Eclipse)
Database / ORM
Cursors X
SQL Queries – Inner Outer JoIns, Group By , HavIng Basic In-depth
Stored Procedures X
Triggers X
Hibernate X X