Job Description :
Job Title: Sr. Microservices Software Engineer

Client: Viacom

Location: Midtown, NYC

MOI: In-person interview is a must (locals only or candidates that can appear in person a must)

Job Type: Contract

Duration: Long Term (On-going)

Overview and Responsibilities:

Our direct client is looking for a talented engineer to execute on and contribute to the development of technical solutions, specifically in the content (media) space.
The role will be end-to-end from understanding the goals and roadmaps of the product and other engineering teams, through the design and architecture of any solution and the delivery and maintenance of those platforms once in place.
This person will participate in discussions of product requirements being able to articulate how the engineering effort will align to those requirements and provide accurate estimates of the effort.
Working in a small team located across the world, this person will work with the lead engineer and product team, and focus on building efficient, reliable, supportable and maintainable microservices and related infrastructure.
They will be responsible for ensuring that the services follow standard practice, meet the requirements and demonstrate value.

Develop and maintain highly scalable, high performance and highly available microservices.
Design, test and deploy new solutions as well as maintaining, integrating and improving existing solutions.
Write well tested, efficient and readable code. The code should also be strongly structured with a view to re-usability.
Ensure that all deliverable follow best practices around source control, and can be incorporated in to continuous integration and deployment patterns.
Manage individual project priorities, deadlines and deliverables.
Participate in preparing business cases, requirements documents and product roadmaps for new concepts.
Ensure that solutions are in line with the other deliverables of the workflow team and produce documentation so that others learn from and contribute to the work.
Attend, and contribute to meetings as required.


Experience following and implementing software design patterns.
2+ years with Java 8+ as well as recent production experience deploying Java based applications
Delivered software based on a microservices software architecture
Significant exposure to the Java Spring Boot framework
Familiarity with tools to ensure that the architecture can be properly reported on, analyzed and supported eg. CloudWatch, Sumo
Exposure to indexing data a plus (Elastic / Solr)
Building message based (AMQP) software architectures, including designing message payloads and exchange / queuing patterns
REST API design and consumption experience.
Experience in designing and supporting databases both relational (PostGres) and non-relational (Mongo) , and a strong understanding of writing queries to surface this data.
Some familiarity with the agile process (stand ups, planning, estimating and demoing)
Familiarity with designing for and working with the cloud, particularly AWS.
Experience with and exposure to unit testing, test driven development, branching patterns and continuous integration / deployment
Good communication skills with ability to facilitate conversations with business stakeholders in project definition, business requirements definition and functional design sessions.
Basic Qualifications:

8+ years engineering experience.
Bachelor''s Degree in Computer Science or related subject
Additional Qualifications:

Professional certification in Java
Professional certification in AWS