Java Software Engineer Job Description

Java Software Engineer Job Description Template

Our company is looking for a Java Software Engineer to join our team.

Responsibilities:

  • Write source code, adapt existing components, and test the developed components as units;
  • Ability to translate business requirements into functional requirements documentation;
  • 5+ years experience with Java;
  • Conduct code reviews and mentor any junior team members in the team;
  • Ability to work with distributed teams in a dynamic, iterative development process;
  • Designand develop the software solutions like APIs, Applications;
  • Identify issues and escalate risks to project leadership, as necessary;
  • Participate in design and code reviews;
  • Identify opportunities to migrate in part or whole solutions to new architectures and technology while delivering new business functionality;
  • Maintain established service level agreements to meet customer expectations and quality standards;
  • Define, develop, communicate and implement standards, processes and procedures for the department;
  • Design, implement and maintain web services to interface with external business partners;
  • Lead migration of applications to quality assurance and/or production environment;
  • Occasional overnight travel to other Trustwave offices in the U.S. may be required;
  • Collaborate with Product Management to and identify, prioritize and document detailed product requirements.

Requirements:

  • Experience with Kafka desirable;
  • Excellent foundation in data structures, algorithms, object-oriented programming, MVC architecture, and design patterns;
  • Familiarity with architecture styles/APIs (REST, SOAP, RPC);
  • Commitment to and hands-on experience in performing technical code reviews;
  • Experience with Linux (CentOS) is a plus;
  • Advanced knowledge of application, dataand infrastructure architecture disciplines;
  • 3+ years of software development experience;
  • C, C++, Java and Java EE development experience;
  • Ability to work well with people, be highly self-motivated and motivating to others;
  • Ability to present, define, communicate and defend design;
  • At least 3 years of Java development experience.Various levels of positions from 3-10+ years of experience;
  • Experience with application frameworks such as Vert.x or Spring;
  • Understanding of architecture anddesign across all systems;
  • Experience with distributed caching systems like Redis or Memcache;
  • Experience with Docker and Kubernetes.