The posting
Purpose
This Senior Software Engineer will build next generation solutions to support the Save A Lot business. The ideal candidate is an experienced software developer with building scalable solutions. They must have strong, firsthand technical expertise in a variety of configuration management and programming languages. As an expert in software engineering, undertakes complex projects requiring additional specialized technical knowledge. Makes well-thought-out decisions on complex or ambiguous systems software engineering issues. Handles conflicting direction and resolves conflict to proceed. Ensures that system improvements are successfully implemented and monitored to increase efficiency. Makes complex modifications to existing software to fit specialized needs and configurations. Establishes and communicates common goal and direction for team. Acts as a source of direction, training and guidance for less experienced staff. Monitors project schedules and costs. Plans, conducts and supervises assignments. Reviews progress and evaluates results. Recommends changes in procedures. Reviews progress with management. Operates with substantial latitude for un-reviewed action or decision. They must be at ease working in an agile environment with little supervision. This person should embody a passion for continuous improvement and test-driven development.
Responsibilities
Possesses and apply comprehensive knowledge of particular field of specialization to the completion of complex assignments. May cross fields
Develops accurate task definition, estimates, and task schedules for own assignments
Responsible for daily communications to management and internal organizations regarding status of all assigned tasks
Complies with established processes, tools and expectations
Lead analysis and development of technical solutions to resolve problems and involves and guides other team members in problem solving activities
Maintain excellent business communication with Analysts, Business Owners and Technical Staff. Provides analysts, management and business owners/users with status reports, problem logs (issue logs) and service request status on all tasks in the work group. Oversee time spent by others in the work group
Participates with Business Systems Analysts in the business design (requirements definition) and technical design (external design) of end-user applications systems
Work alongside other engineers on the team to elevate technology and consistently apply best practices
Evaluate alternative approaches in design of application systems, including assessment of risks and benefits associated with each alternative
Plan, conduct and supervise others in the development of specifications, coding of new programs, physical design of data records, data files, and databases, creating new data structures, creating new job streams, and modify existing programs, data structures, and job streams
Participate in the implementation of new systems including the integration of the new system
Participates in coding of new programs, creating new data structures, physical data record/file design, creating new job streams, and modifying existing programs, data structures, and job streams
All work is produced in accordance with established procedures, following departmental standards, guidelines and system development methodologies on all assigned tasks
Plan, conduct and supervises others in the development of test cases and test plans, create the unit and system test environments, and conduct unit and system tests for new or modified programs and job streams
Submits program and design work for review by technical and user staff and participates in the review of program and design work of others
Reviews and validates the application of sound programming and design techniques
Verify installed systems to ensure that they adequately meet user requirements
Ensures and assists with the development of test cases and test plans and testing
Test software development methodology in an agile environment
Prepares and maintains program and system documentation using established department standards and methodologies
Oversee preparation and maintenance of program and system documentation using established department artifact standards and methodologies
Mentors junior associates in proper documentation techniques
Responsible for preparation and maintenance of problem logs (issue logs) and communicates log status to analysts or users
Assists with complex resolution of day-to-day problems within the business segment; involves and guides other team members in problem solving efforts
Provide recommendations for continuous improvement
Mentor and cross-train team members
Stays abreast of emerging technologies and trends in software development industry
About You
Bachelor’s degree in Computer Science or a related discipline preferred
Preferred 3 years relevant work experience
Excellent written and verbal communication skills, strong customer focus, good interpersonal skills and demonstrated ability to work in geographically dispersed teams
Ability to manage competing priorities
Must have strong computer skills and be proficient in use of Microsoft Office applications
Experienced in front-end technology and frameworks such as HTML, Vue.js, Knockout, ag-Grid, CSS, JavaScript, AngularJS, ReactJS, .net, and JQuery
Experienced in designing and implementing RESTful web services
Has expertise in a variety of languages, tools and utilities. Must be a true expert in JAVA and can teach classes in the subject. Must have Subject Matter Depth & Breadth in at least one other language, having used it extensively and can mentor others
Has solid knowledge of at least one DBMS, having used it extensively and can mentor others
Experience leading a team of technical professionals on multiple assignments of significant complexity, including task definitions and estimates, coordinating tasks to meet deadlines and work independently with minimal supervision
Possesses expert knowledge of program and system design, analysis, coding, testing and documentation. Solid knowledge of requirements definition
Fully proficient in all phases of the company’s Software Development Life Cycle (SDLC) methodology. Ensures compliance with SDLC Leads
Has good working knowledge of DBMS as appropriate
Completes assignments with at least medium visibility and complexity with solid quality
Possesses solid knowledge of program design, coding, testing and documentation
Physical Requirements
Ability to travel up to ~10% of the time, which may include weekends and evenings, as needed
Most work is performed in a temperature-controlled environment
Incumbent may sit for long periods of time at a desk or computer terminal
Incumbent may use calculators, keyboards, telephone and other office equipment in the course of a normal workday
Stooping, bending, twisting and reaching may be required in completion of job duties



