Software Engineer – Java

Software Engineer – Java Job Description Template

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

Responsibilities:

  • Participate in system monitoring, including through an on-call rotation;
  • Develop robust and scalable enterprise level solutions using REST, Kafka and other standard channels;
  • Develop well-architected, intuitive and elegant frameworks and features to support scalability and flexibility;
  • Develop and support middleware applications using Java / Open Source technologies like Spring framework;
  • Developing clean and readable code using a Test Driven Development approach continuous refactoring, object oriented (e.g., SOLID principles);
  • Designing software and producing scalable and resilient technical designs;
  • Get the code reviewed by leads and SME’s;
  • Creating Automated Unit Tests using Flexible/Open Source Frameworks and Integration Testing;
  • Digesting and understanding Business Requirements and designing new modules/functionality which meet needs;
  • Creation/ update of Detailed Design Specifications, Program Specifications, and program Version Control documentation;
  • Enthusiastically participating in UAT and production deployments;
  • Build products that thrill our customers;
  • Providing and/or agreeing estimates for required development;
  • Effectively communicating design concepts using UML diagrams, etc. using collaboration tools such as Wiki’s, Sharepoint etc;
  • Effectively working with team members across locations in an Agile development environment.

Requirements:

  • Understanding of Agile/Scrum environment*;
  • Candidate should have good understanding of SQL, databases and data structures;
  • Bachelor’s degree in computer science, information systems or related field along with a minimum of 6-8 years of overall IT experience;
  • Should have good communication and interpersonal skills;
  • Knowledge of Bigdata technologies like Apache Spark will be an added advantage;
  • Excellent Core Java, version 6 and above;
  • Multi-threaded programming;
  • Understanding of waterfall and Agile methodologies;
  • Experience in development of BI tools is a plus;
  • Familiar with continuous integration tools such as SVN, Jira, Hudson/Jenkins/Teamcity, Fitnesse;
  • Very little or no travel is required;
  • Proven expertise in building amazing products in Java;
  • Experience in developing high performance and scalable web applications with large databases is a plus;
  • Working knowledge of HTML, Java script, CSS, jQuery and Angular;
  • Strong knowledge of frameworks like hibernate, JDBC, Caches etc.