Lead Software Engineer
LEAD SOFTWARE ENGINEERRequisition ID
Dollar General (NYSE: DG) is a Fortune 200 company with more than 15,400 retail locations in 44 states, 16 distribution centers and 135,000 employees that embody our mission of Serving Others each and every day. We work in an energetic atmosphere that embraces innovation, diversity and teamwork, all while keeping our customers and communities at the center of everything we do! At Dollar General, employees have numerous growth and development career opportunities through award-winning training and being part of one of America’s fastest-growing retailers. Apply today and let’s grow together!
Dollar General is seeking a Lead Software Engineer - Merchandising Systems Developer. The Lead Software Engineer (LSE) directs the software development team on the design and implementation of software applications that realize business needs. The LSE translates business and technical architecture requirements into design specifications for the development team. This position defines all hardware and software components for large-scale systems. The LSE designs and codes software from the ground up and, as well as correctly sizing the solution to fit business needs. The LSE applies expert-level knowledge of object oriented concepts and experience with web services and work flows to solve complex business problems.
DUTIES and ESSENTIAL JOB FUNCTIONS:
- Work closely with business and solution architect teams during design phase. Gather and interpret functional specifications and user requirements using software development life cycle (SDLC) method.
- Develop technical system documentation outlining all business and architectural requirements that need creation or modification of application programs using Oracle PL/SQL, Java and Unix Shell Scripting.
- Designing, developing of application programs using Oracle SQL, PL/SQL, SQL Loader, Java, Pro*c, UNIX Shell Scripting, Data flow diagrams, E/R data modeling and design techniques.
- Lead SQL or PL/SQL performance tuning, query optimization initiatives and mentor the team in troubleshooting and resolving performance-related issues
- Creating Frameworks for reuse in multiple projects with similar kind of requirements to reduce the development resource cost and time
- Preparation of unit test cases with all possible combination of scenarios and participation in Unit Testing, Functional Testing, System Testing and Performance Testing through production implementation and trouble shooting.
- Preparing implementation scripts, provide production support after Implementation including data fixes, user clarifications and ongoing system support of critical nighttime batch processing jobs
- Member of the Agile Development team composed of onshore and offshore members; participate in the agile ceremonies: Participate in daily scrums, sprint planning, daily stand-ups, iteration review, and retrospective.
- Work with the team members to complete coding and testing to ensure project delivery on time and proactively participate in code and test case reviews for bug-free release and implementation
- Guide junior developers in applying object-oriented techniques to all development efforts to reduce technical debt and increase code quality.
- Maintain and manage code version using GITLAB repository. Promote code quality and coding standards for all developers by implementing a modern version source code control( GITLAB)
- Report to the Manager on work progress to help in tracking progress, prioritizing work, developing time estimates and work plans and resolve or escalate any unforeseen issues, if necessary
KNOWLEDGE and SKILLS:
- Must be a self-starter, adapt easily to change and have a collaborative personality.
- Demonstrates personal ownership of tasks and ability to follow through to get required results in established timeframe.
- Understanding of the systems development process and life cycle.
- Strong analytical skills and ability to troubleshoot complex problems.
- Ability to design effective systems based on user requirements.
- Capable of writing thorough unit, system and user test plans.
- Strong written, oral, and listening communication skills.
- Working understanding of waterfall or Agile development methodologies.
- Understanding of general business concepts and user procedures.
- Customer service focused with the ability to build strong working relationships with business partners.
WORK EXPERIENCE and/or EDUCATION:
- Bachelor's Degree in Computer Science or related field
- One year of management experience in retail environment preferred.
- At least 8 Years of total IT experience with:
- 7 years of PL/SQL
- 3-5 years Java Stored Procedures
- 2-5 years of hands-on experience implementing Kafka workflows using
- Oracle GoldenGate or STRIIM
- Kafka connect REST API and JDBC
- Implementing KAFKA producer application to produce near real time data.
- Implementing KAFKA consumer to read data from KAFKA Partitions.
- Optimization of Kafka cluster and workloads.
Dollar General Corporation is an equal opportunity employer.