Software Engineer 2

Software Engineer 2 Job Description Template

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

Responsibilities:

  • Drive innovation through rapid prototyping and iterative development;
  • Deliver solutions using the Agile methodologies followed in the organization;
  • Experience in driving high availability across multiple applications;
  • Drive complex design from scratch for enterprise scale applications;
  • Ensure solution delivered adheres to the technological standards established in the organization;
  • Maintain and enhance the existing architectural documentations and create the new one as needed;
  • Define/document Best Practices in the technical areas assigned to;
  • Administration of CI / CD using Jenkins / Bamboo;
  • Participate in design and code reviews;
  • Leverage other development teams, QA and customer support, and constructively weigh and integrate feedback;
  • Problem-solving and thinking laterally as part of a team, or individually, to meet the needs of the project;
  • Exercise considerable latitude in determining technical objectives, without appreciable direction;
  • Identify and solve performance and scalability issues involving large data sets, mixed work-load;
  • Complete ownership of his deliverables;
  • Flexible enough to adjust to the change in work / technology / Team / etc.

Requirements:

  • Good understanding and hands on experience with databases such as MySQL/ Oracle etc;
  • Maintain and enhance the existing architectural documentations and create the new one as needed;
  • Hands on experience in shell scripting, Perl/Python scripting;
  • Exposure to cloud environment mandatory(Azure/AWS);
  • Hands on experience in build tools such as maven, JFrog;
  • Bachelor’s degree in computer science or related field, or equivalent experience;
  • Java Spring, microservices knowledge is desirable;
  • Practitioner of Agile (Scrum) methodology;
  • Thorough understanding of SOA (Service Oriented Architecture) & RESTful web services implementation and architecture;
  • Solid debugging skills;
  • Communication skills;
  • Hands -on file system development experience;
  • Experience with creating applications that interact with network devices;
  • Familiarity with automating continuous integration and deployments;
  • Detail Oriented.