Junior Java Developer
Prior relevant experience: 0+ months
Time typically spent in this role: 2-3 years
Important note: Junior developers aren’t usually required to possess all skills and experience listed below.
Responsibilities
- Focus on learning
- Coding
- Performing tests
- Fixing bugs
- Attending team meetings and joining the discussions
- Working independently on simple tasks
- Working together with senior developers on more complex tasks
Skills & traits
- Basic Java proficiency
- Knowledge of data structure and basic algorithms
- Good understanding of software development lifecycle
- Some cloud knowledge
- Some experience with databases, REST API, messaging services, build tools, and testing tools
- Problem-solving mindset
- Passionate about programming
- Eager to learn
- Basics of Spring and/or Kafka
- Ability to focus on client’s priorities
- At least a basic knowledge of Agile and Scrum
- Teamwork and communication skills
- Courage to seek help and ask questions
Tools
- Code repositories (e.g. Git) - used every day
- Code scanners (e.g. Sonar) - used regularly
- Testing frameworks (e.g. jUnit) - used regularly
- Containers (e.g. Docker) - used from time to time
- Build and deployment tools (e.g. Gradle, Azure DevOps) - used from time to time, usually with assistance from DevOps
Regular Java Developer
Prior relevant experience: 2-3 years
Time typically spent in this role: 2-3 years
Responsibilities
- Coding
- Performing tests
- Fixing bugs
- Modifying and testing APIs
- Actively participating in team meetings and other meetings
- Working independently and in a team environment
- Continuously learning
Skills & traits
- Proficiency in Java
- Good knowledge of data structure and algorithms
- Experience with software development lifecycle
- Experience with cloud
- Relevant experience with databases, REST API, messaging services, build tools, and testing tools
- Good problem-solving skills
- Software testing experience
- Knowledge of Spring, Kafka, Mongo DB, AWS, Azure DevOps, and Git
- Ability to understand client’s requirements and priorities
- Experience with Agile and Scrum
- Teamwork and communication skills
Tools
- Code repositories (e.g. Git) - used every day
- Code scanners (e.g. Sonar) - used regularly
- Testing frameworks (e.g. jUnit) - used regularly
- Containers (e.g. Docker) - used from time to time
- Build and deployment tools (e.g. Gradle, Azure DevOps) - used from time to time, usually with assistance from DevOps
Senior Java Developer
Prior relevant experience: 5-6 years
Time typically spent in this role: 3+ years
Responsibilities
- Coding
- Performing tests
- Prioritizing and fixing bugs
- Modifying and testing APIs
- Actively sharing opinions and proposing solutions in team meetings
- Supporting team members with expert advice
- Being a subject matter expert during meetings with clients
- Working independently
- Facilitating teamwork
- Supporting and encouraging junior developers
- Coaching other team members
- Understanding the bigger picture of the project
- Continuously learning
Skills & traits
- Java expertise
- Thorough experience with software development lifecycle in traditional, cloud, and hybrid environments
- Solid experience with databases, REST API, messaging services, build tools, and testing tools
- Very good problem-solving skills
- Proficiency in software testing
- Strong proficiency in Spring, Kafka, design patterns, refactoring
- Ability to address issues and pain points effectively
- Good knowledge of the client’s business model, requirements, and priorities
- Solid experience with Agile and Scrum
- Excellent teamwork and communication skills
Tools
- Code repositories (e.g. Git) - used every day
- Code scanners (e.g. Sonar) - used regularly
- Testing frameworks (e.g. jUnit) - used regularly
- Containers (e.g. Docker) - used from time to time
- Build and deployment tools (e.g. Gradle, Azure DevOps) - used from time to time, usually with assistance from DevOps
Software Architect
Prior relevant experience: 6+ years
Time typically spent in this role: 5+ years
Responsibilities
- Designing software solutions
- Supporting the team in setting priorities and overcoming the challenges in coding, testing, and bug-fixing
- API oversight
- Leading and facilitating discussions at team meetings
- Advocating for the best solutions at meetings with clients
- Supporting team members with expert advice
- Being the company’s one point of contact for your area of expertise
- Working independently and leading others
- Coaching other team members
- Complete understanding of the project
- Continuously learning
Skills & traits
- Understanding of languages, frameworks, and tools the team uses
- Expertise in object-oriented design, data structures, and algorithms
- Experience with databases, multithreading, network programming, and performance monitoring
- Very good knowledge of the client’s business model, requirements, and priorities
- Thorough experience with Agile and Scrum
- Excellent leadership, teamwork, and communication skills
- Excellent problem-solving skills
- Ability to lead and oversee the software development lifecycle
- Ability to facilitate effective software tests to boost the quality of the digital product
- Ability to address issues and pain points effectively
- Ability to examine various approaches and solutions to make research-led, fact-based recommendations
Tools
- Visual modeling and diagramming tools
- Practical experience with tools used by the team
Recommended courses and certifications
Keep in mind that certificates and courses help in systematizing your knowledge, but are rarely essential to getting the job. It’s much more important to be a person who learns all the time and is up to date with tools, languages, and frameworks used every day.
Certificates
- Java Professional Certification Paths at the Oracle University
- Cloud Practitioner and Developer - Associate AWS Certifications
Recommended topics for additional courses
- Kafka
- Mongo DB
- DevOps
Our developers recommend courses you can find on Udemy and Pluralsight, although YouTube courses and ChatGPT are also popular ways of learning new skills for them.
Work with us
We’re always on the lookout for creative problem-solvers who enjoy building software solutions to join our team. Apply for a job at Maxima Consulting and enjoy a flat organizational structure, open-door policy, support of your professional growth, friendly work environment, and stability.