Responsible for analyzing, designing, debugging and/or modifying software; or evaluating, developing, modifying and coding software programs to support programming needs. Maintain and enhance existing code with focus on implementation. Collaborate with and assist team of engineers in writing functional, design and user interface specifications. Follow software lifecycle process when developing software. Help identify solutions to problems encountered in software cycle. Use a combination of open source and off-the-shelf technologies. Design new microservices as well as features and enhancements for existing services to fulfill customer needs. Write high quality, efficient, extensible, and maintainable Java code. Lead small teams of engineers to complete projects collaboratively and efficiently. Drive feature discussions and designs across multiple teams. Write and review code, develop documentation and capacity plans, and debug the problems. Working with, mentoring, and leading other talented engineers.
Employer will accept Bachelor’s degree in Computer Science, Engineering or related technical field and five years of work experience in job offered or five years of work experience in a computer-related occupation.
Any suitable combination of education, training, or experience is acceptable.
Experience must also include:
1. Java Development
2. Spring, REST, logging, dependency injection, messaging
3. Web app/service development, J2EE
4. Advanced Message Queuing Protocol (AMPQ), RabbitMQ, ActiveMQ
5. Elasticsearch, NoSQL, Couchbase
6. Caching Servers, Memcached
7. Troubleshooting experience across large, distributed, multi-service environments
9. AWS, public cloud deployment