SR. Software Engineer - Merchandising

General Summary:

A Senior Software Engineer, working independently or with limited supervision, translates high-level business requirements into technical designs, proposes design alternatives, codes and/or communicates requirements to junior engineers.  They have a strong knowledge of the applications in their functional area, how each supports the goals of the business and how they interface with each other and to applications outside of their area.  They lead small development engagements, mentor junior engineers, solve difficult and highly complex technical problems and may be called on to consult on other projects. 

Duties & Responsibilities: 

  • Develops and debugs software in support of new and existing applications 
  • Develop, execute and thoroughly document unit and system-level test plans
  • Designs changes to new and existing applications
  • Provides support for production applications (7x24)
  • Participate in Agile methodology and ceremonies

Knowledge, Skills and Abilities (KSAs): What KSAs are required to perform this job?

  • Must be a self-starter, adapt easily to change and promote a collaborative team environment.
  • Continuous learner able to identify skill gaps and acquire and employ new knowledge.
  • Mentor junior team members and seek guidance from senior team members.
  • Understands business concepts and user procedures.
  • Effective communicator with technical and business team members.
  • Proactively identifies opportunities to improve current applications’ functionality and performance.
  • Participates in code reviews and scope of work estimation and forecasting.
  • Writes high-quality code that meets the customer needs and strives for simplicity, clarity and testability.
  • Able to provide application support, analyze problems and provide solutions for complex issues.
  • Able to develop reusable software building blocks to enable faster delivery.
  • Employs test-driven development and integrates unit tests in development tasks.
  • Strong ability to relate code modules to the application as a whole and the underlying business objectives.
  • Able to stay current on technology changes applicable to your domain and how to apply them.
  • Strong analytical skills with experience gathering requirements and designing new functionality.
  • Lead intra-domain initiatives composed of distributed teams and remote team members.

Work Experience and/or Education:

  • 5+ years experience in software development in an IT organization or equivalent educational experience.
  • 4+ years experience in development using PL/SQL, shell scripting
  • 3+ years experience delivering software supporting Merchandising/Supply Chain related applications
  • 3+ years experience with a relational database (i.e., Oracle, MSSQL, Postgres, etc.).
  • 1+ years of experience with No-SQL Databases (i.e Cassandra, Mongo DB etc)
  • Bachelor’s degree in computer science or related field, trade school or equivalent work experience.
  • Experience with a higher-level language (i.e. C#, Java, Python etc.)
  • Firm understanding of Cloud and distributed systems challenges
  • Working with stateful and/or stateless containers and orchestration via Kubernetes or equivalent
  • Experience with distributed messaging systems like Kafka

Experience Level: Senior Level

.