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.