Dick's Sporting Goods Inc Pittsburgh , PA 15201
We are looking for a talented Software Engineer to join the newly formed Ecommerce Application Transformation Product Team. The scope of this role includes initiatives incorporated in application modernization such as team autonomy with reduced external dependencies, reduction of costs and dependencies on third parties, automation of deployment pipelines to shorten time to market and automation of security, scalability and system maintenance. The role includes developing new twelve-factor applications and microservices using open source technologies than can be leveraged across our organization. You will work side by side with your Product Manager and Software Engineers in a collaborative office environment along with your key stakeholders; Engineering Managers and Technology Leaders to help our organization "strangle the monolith".
The Software Engineer is responsible for joining a product team and contributing to the software design, software development, and overall product lifecycle for a product that our users love. The engineering process is highly collaborative. Software Engineers are expected to pair on a daily basis as they work through user stories and support products as they evolve. In addition, Software Engineers may be involved in product configuration, performance tuning and testing as well as production monitoring. As an Software Engineer, you will be part of a team with more experienced engineers to help build and grow your skills while you 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
Writes 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
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
Experience in a Linux or Unix based environment Exposure to query optimization and troubleshooting
Exposure to REST and effective web service design Experience in object oriented design and programming language (Java)
Experience in writing SQL queries against a relational database. Working experience in SQL and NOSQL. Preferred DB2, or MongoDB.
Good Knowledge of Retail E-Commerce Domain Experience with Agile Development and knowledge on Agile Deployment tools and versioning using Git or similar tools
Exposure to a cloud computing platform and the associated automation patterns they provide Experience with WebSphere Commerce
Exposure to a CI/CD toolchain
Understanding of modern microservice-based architectures and methodologies Exposure to 12-factor methodology and its benefits, and able to demonstrate appropriate patterns to more junior team members
Exposure to destructive testing methodologies, behavioral testing and tools Exposure to production systems design including High Availability, Disaster Recovery, Performance, Efficiency, and Security
Exposure to defensive coding practices and patterns for high-availability Experience with Apache Service Mix (or other ESB and Integration technologies)
Eclipse Development Environments JEE/Java development including JSP, JSTL, Servlets, Java Beans, EJBs, JPA
JDBC/ODBC, SQL and experience working with RDBMS; prefer DB2 Web services, RESTful and/or Axis/SOAP
C# / .Net Based Development / Visual Studio