ABOUT YOU
You’ve worked on large-scale enterprise systems, and have come to realize there’s a better way to develop software—a platform of small, focused systems that each serve a specialized purpose and that can be delivered quickly. You’ve worked as both a developer and a consumer of enough APIs to have formed opinions on what makes an API useful and intuitive. You think in REST, know more about “HATEOAS” than how to spell it, and when it comes to message queues, you understand the implications of “at least once message delivery.” You might even be up to the challenge of naming things.
Working with more junior developers gets you excited for the coaching opportunities, and more senior developers for the learning. Groking the business requirements is second-nature. You own what you wrote and jump in to help your team support the product when there’s a fire, and when the smoke clears you’re one of the first to say “ok, how can we make sure that doesn’t happen again?” You’re passionate and opinionated about great software; and most importantly, you love building real, working apps that surprise and delight your customers.
WHAT YOU’D BE DOING
Under general supervision of the Supply Chain Engineering Manager, the Software Engineer is an engineer who performs work assignments in one or more of the following areas: providing technical guidance and direction to other staff members; participating in project planning and requirements definition; system/application design, system/application development, unit testing, support during QA and User Acceptance Testing, implementation and integration; customer support for and technical expertise in end-user decision support software tools and end-user computing technology; conducting all activities in accordance with standards and procedures.
MAJOR JOB RESPONSIBILITIES
Design, develop, test, deploy, and support new software solutions and changes to existing software solutions
Troubleshoot technical issues in a variety of application environments
Participate in peer code reviews
Mentor team members and provide thoughtful discussion on tactics and strategies as they are selected
Translate business requirements and product specifications into components of complex, loosely-coupled, distributed systems
Maintain a focus on rapid delivery of new features to market while maintaining stability and uptime
Maintain familiarity with the evolving trends in software development
