Microservices Software Engineer

Overview

On Site
Depends on Experience
Contract - Independent
Contract - W2
Contract - 6 Month(s)
No Travel Required

Skills

API Management
Agile
Algorithms
Amazon Web Services
Apache ActiveMQ
Apache CXF
Apache Cassandra
Apache HTTP Server
Apache Kafka
Apache Maven
Apache Solr
Architectural Design
Artificial Intelligence
Automated Testing
Business Acumen
Business Cases
Business Plans
Capacity Management
Cloud Computing
Collaboration
Communication
Computer Hardware
Computer Science
Conflict Resolution
Continuous Delivery
Continuous Integration
Cost-benefit Analysis
Cross-functional Team
Data Structure
Database
Design Analysis
Design Patterns
DevOps
Docker
EasyMock
Instrumentation
Jenkins
Jersey
KPI Management
Elasticsearch
Evaluation
FOCUS
Microservices
Microsoft Azure
Mockito
Functional Requirements
Gradle
Natural Language Processing
Object-Oriented Programming
Java
Leadership
Performance Monitoring
Policies and Procedures
Management
Problem Solving
Restlet
Scalability
Software Development
Production Support
RESTful
Regulatory Compliance
Research
SQL
Spring Framework
Systems Analysis
Technical Writing
Test-driven Development
Unit Testing
Mentorship
MongoDB
MySQL
NoSQL
Oracle
Presentations
RESTeasy
Use Cases
Vendor Relationships
Web Services
Writing

Job Details

Job Title: Microservices Software Engineer Location: Alpharetta, GA(Only Locals) Type: Contract to hire

JOB SUMMARY: The Software Engineer will help support and build the Modernized Microservices Applications Suite. Along with writing effective code, the position will be responsible for designing, building, delivering and maintaining a highly scalable set of products and applications. The incumbent will use industry best practices and work collaboratively with cross-functional team of product managers, architects, principal engineers, software engineers, test automation team and DevOPS engineers

How you will make an impact:
Design, develop, test and maintain microservices to support our consumer facing applications.
Write highest quality code with utmost attention to scalability, security and performance. Use TDD and participate in code-reviews with other software engineers.
Collaborate with DevOps team to setup the build and delivery pipeline. Add instrumentation and monitoring to support production environments. Build Docker containers and container management.
Accurately scope effort, identify risks and clearly communicate trade-offs with team members and other stakeholders.
Ship high quality products and features with an end-to-end mindset from conception to delivery and production support; owning specifications, quality, release deployments and monitoring of production health.

What we look for:
BS/MS in Computer Science or equivalent work experience.
5 - 7 years of experience designing and developing secure object-oriented web services.
Experience with all phases of software development. You have been there and done it, multiple times. You have strong experience in Java and Restful API Development. Also experience in spring boot is required.
Experience with developing microservices highly desired.
Some familiarity with exposing and securing APIs using an API management solution.
Experience with SQL and NoSQL databases.
Test Driven Development, unit testing, and knowledge of mocking frameworks such as EasyMock and Mockito.
Developing and deploying applications on AWS, Azure or private cloud.
Strong problem solving and communication skills. Great business acumen with a passion to solve for the customer.
Some experience in at least a few of the following technologies in the below categories:
Spring Framework; Spring Boot.
Web Services: Spring, Jersey, Apache CXF, RESTEasy, Restlet
Databases: Oracle, MySql, MongoDB, Cassandra etc.
Distributed Cache: Redis, Coherence, Hazelcast
Build & CI Tools: Maven, Jenkins, Gradle etc.
Search & AI: Apache Solr, ElasticSearch, Natural Language Processing libraries (Stanford, Apache).
Message Brokers: Apache Kafka, ActiveMQ, RabbitMQ

ESSENTIAL DUTIES
Performs as a key contributor to an engineering team that builds and supports exceptional products that provide innovative solutions to challenging business use cases, existing system and operational problems
Participates in architectural design, system analysis, and programming activities on application software; this may often require independent research and study
Develops high-quality and production-ready software by using best-practice data structures, algorithms, design patterns, and frameworks that are maintainable, scalable, responsive, and secure
Writes highest quality code with utmost attention to scalability, security and performance and with an end-to-end mindset from conception to delivery and production support, owning specifications, quality, release deployments and monitoring of production health.
Produces complete, simple, and readable technical documentation for everything developed and maintains a team culture of documenting everything
Tests and ensures quality of all code that developed in line with principles of test-driven development and continuous delivery, utilizing test automation frameworks wherever possible
Participates in code-reviews, provides technical guidance and mentors software engineers
Collaborates closely with Engineering leadership, Product Managers, Designers, Test Automation and other teams and business units to define, prioritize, sequence and scope business and functional requirements and drive results.
Instruments infrastructure and application performance monitoring, capacity management, alerting, tools instrumentation and metrics (KPI) management
Performs impact assessment of product (hardware, software) upgrades
Assists in planning, coordinating, and executing engineering projects
Supports and collaborates with other Engineers through evaluation, design analysis, and development phases
Maintains knowledge, ensures competency and compliance with policies and procedures, in order to be the technical expert while collaborating with cross-functional teams
This list is not all-inclusive and you are expected to perform other duties as requested or assigned

Knowledge, Skills, and Abilities
Ability to understand business plans and apply that information into the development of an IT business case
Anticipates problems, resistance or likely objections and takes action to resolve them
Ability to guide, train and mentor associate engineers
Highly skilled in developing quantitative cost/benefit analysis to measure improvements
Proficient in organizational processes as well as capable of assessing and initiating change of such processes
Demonstrates an in-depth knowledge and application of competency and can consult as well as lead others in its application
Strong communication (written and verbal) and presentation skills
Knowledge of agile development methodologies
Ability to develop and maintain key vendor relationships with a focus on technology currency and best practices
Life-long learner, process improver

QUALIFICATIONS
Minimum Education and Experience 4+ w/Bachelors degree

Additional Experience and Education
Experience designing and developing highly scalable and secure Applications and Products
BS in computer science or equivalent technical field or equivalent work experience.
MS is a plus.
Experience with developing and deploying applications on Azure or similar cloud platform

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.