Overview
Skills
Job Details
Must Have:
- LinkedIn with a picture
- Experience with developing microservices
- At least 5+ years 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.
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 microservice.
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