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.