Industry: Retail & Consumer Goods•
Less than 5 years
Posted 35 days ago
This Software Engineer will join the Dick's Sporting Goods My Account product team responsible for all of the activities that enable athletes with the ability to access information from their customer record for easier checkout; viewing loyalty points and reward certificates; managing preferences and subscriptions; their online address book; My Store; order history (online and in store) and order tracking (guest and logged in); coupons/offers; payment card wallet; saved items; etc.
Software Engineers are expected to pair on a daily basis as they work through user stories and support product(s) as they evolve. In addition, Software Engineers will eventually be involved in product configuration, performance tuning and testing as well as production monitoring of delivered products.
As a Software Engineer, you will be able to operate independently, though typically will work as part of a team with varying skillsets to create, support, and deploy production applications.
Delivery & Execution:
* Collaborates and pairs with other product team members (UX, engineering, and product management) to create secure, reliable, scalable software solutions
* Works with Product Team to ensure user stories that are developer-ready, easy to understand, and testable
* Leverages TDD to write custom code or scripts to automate infrastructure, monitoring services, and test cases
* Writes custom code or scripts to do 'destructive testing' to ensure adequate resiliency in production
* Configures commercial off the shelf solutions to align with evolving business needs
* Creates meaningful dashboards, logging, alerting, and responses to ensure that issues are captured and addressed proactively
Support & Enablement:
* Fields questions from other product teams or support teams, and transfers knowledge on best practices.
* Monitors tools and participates in conversations to encourage collaboration across product teams
* Provides application support for software running in production
* Proactively monitors production Service Level Objectives for products
* Proactively reviews the Performance and Capacity of all aspects of production: code, infrastructure, data, and message processing
* Participates in learning activities around modern software design and development core practices (communities of practice)
* Proactively views articles, tutorials, and videos to learn about new technologies and best practices being used within other technology organizations
* Reviews and discusses code from more senior engineers to understand best practices and design patterns
* Increases business acumen by learning about other parts of the business
3-5 years Experience
Understanding of modern microservice-based architectures and methodologies
Exposure to a cloud computing platform and the associated automation patterns they provide
Experience with Agile Development and knowledge on Agile Deployment tools and versioning using Git or similar tools
Experience with modern web application frameworks and tools such as Spring boot/UML/Struts/Spring
Experience in writing SQL queries against a relational database. JDBC/ODBC, SQL and NOSQL. Experience working with RDBMS
Exposure to query optimization and troubleshooting
Experience in object oriented design and programming language (Java)
Exposure to REST and effective web service design
Exposure to 12-factor methodology and its benefits, and able to demonstrate appropriate patterns to more junior team members.
Exposure to production systems design including High Availability, Disaster Recovery, Performance, Efficiency, and Security
Experience with Apache Service Mix (or other ESB and Integration technologies)
JEE/Java development including JSP, JSTL, Servlets, Java Beans, EJBs, JPA
C# / .Net Based Development / Visual Studio
Exposure to a CI/CD toolchain
Exposure to destructive testing methodologies, behavioral testing and tools
Exposure to defensive coding practices and patterns for high-availability
Eclipse or IntelliJ Development Environments