Senior Software Dev Engineer

Senior Software Dev Engineer Job Description Template

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

Responsibilities:

  • Participate in design and code reviews;
  • Develop clear, elegant, and maintainable code primarily using Java, Scala, and design scalable, fault tolerant software components for serving ads;
  • Solid grasp of algorithms and data structures Proficient with Unix/Linux operating systems;
  • Create and develop scalable customer facing web services;
  • Lead, guide and mentor junior developers;
  • Build a brand-new product end to end;
  • Demonstrate a structured approach to development (measuring, monitoring, and testing) and a deep understanding of object oriented design;
  • Hands-on development mentality with a willingness to solve complex problems;
  • Hands-on development mentality with a willingness to troubleshoot and solve complex problems;
  • You find and advocate for Industry standards and standard methodologies in development methodologies, techniques, and technologies;
  • Independently understand scheduling, cost constraints, and impact to other teams; and make resource and architectural trade-offs;
  • Innovate and implement new ideas to solve complex software problems and prototype creative solutions to enable product MVP’s.

Requirements:

  • Experience in AWS is required;
  • Hands-on Experience build large scale web services in the cloud;
  • Ability to learn and adopt new technologies;
  • Experience with distributed systems is a plus;
  • Good communication and problem-solving skills;
  • Strong experience with HTML, CSS, JavaScript, JSON;
  • Apache Tomcat, Spring MVC, Spring Boot, Docker, Gradle, Grunt;
  • AWS: EC2, S3, Lambda, DynamoDB;
  • Bachelor’s or Master’s Degree in Computer Science, Information Systems, Engineering, or equivalent experience;
  • RESTful Micro Services;
  • Expertise in HTML / CSS and JavaScript Frameworks (JQuery, Angular, and Backbone);
  • Expertise in Java, XML and JUnit;
  • Showed strength in most areas of the professional function, and in-depth specialization in some;
  • Experience in Agile/Scrum software development practices;
  • Effective verbal and written communication skills with the ability to present complex technical information clearly and concisely.