What are the responsibilities and job description for the Senior Software Engineer position at Store No. 8?
What you'll do...
Position: Senior Software Engineer
Job Location: 221 River Street, Hoboken, NJ 07030
Duties: Create and configure simple, testable, maintainable code for entire component and application. Ensure that the components adhere to both business and technical requirements, as well as non-functional requirements. Guarantee low-maintenance overhead while meeting high-availability and high-scalability needs, thereby ensuring robust and efficient system performance. Identify and formulate unit test cases for the specific software component and module. Execute these test cases to validate the source code and identify potential bugs and software defects within the entire component. Implement various forms of testing such as functional, integration, system, and regression testing utilizing suitable testing tools and frameworks, tailored to the specific testing requirements. Explore pertinent products and solutions from the existing portfolio that can address specific business and technical needs. Evaluate the discrepancies, updates, or modifications between the customer or business expectations and the existing product or solutions, particularly in the context of an agile methodology iteration. Categorize the requirements into relevant types, such as Functional or Non-Functional, or Derived, Imposed, or Emergent. Foresee potential risks or issues during the requirements elicitation phase, notify the relevant stakeholders, and propose remedial actions. Contribute to the formulation of user stories for a component, application, or complex system in an agile development environment. Assist in the design of solutions to ensure that processes and applications operate synergistically for specific components or modules of a product. Evaluate trade-offs during the design phase of a component based on business requirements. Aid in the conversion of High-Level Design (HLD) into a detailed design by utilizing mock screens, pseudo codes, and comprehensive functional logic for specific modules or components of a product. Participate in the selection of optimal programming languages, development methodologies, and software tools such as JIRA, GitHub, and Jenkins for the coding and configuration of software. Take a proactive approach to mastering the fundamentals of a diverse range of coding languages and frameworks that are pertinent to the anticipated scope of work. Develop Web APIs using an appropriate programming language, adhering to the principles of the Software Development Life Cycle (SDLC). Implement a data persistence layer for subsequent data analysis and storage, ensuring efficient data management and retrieval. Track and analyze defects for the component or module and carry out regression testing to fix defects in all instances of code changes. Perform a thorough analysis of defects from previous projects or solutions to prevent the recurrence of similar issues. Proactively troubleshoot performance and availability bottlenecks to ensure optimal application performance. Independently execute intricate maintenance protocols for software applications. Supervise and assess the application’s performance by meticulously tracking and scrutinizing pertinent metrics. Undertake maintenance activities, including corrective, adaptive, and perfective measures, as well as re-engineering tasks. Scrutinize application logs, maintenance activity records, performance data, and furnish comprehensive analysis. Evaluate change requests to discern those that are valid and technically feasible.
Minimum education and experience required: Master’s degree or the equivalent in Computer Science, Engineering (any) or related field and 2 years of experience in large scale enterprise software development environment; OR Bachelor's degree or the equivalent in Computer Science, Engineering (any) or related field and 5 years of experience in large scale enterprise software development environment.
Skills required: Experience coding in object-oriented programming languages including Java, Python, Typescript, and JavaScript. Experience with unit, integration, and system level testing. Experience designing and implementing RESTful and gRPC services using TypeScript and JavaScript. Experience with Requirement engineering and analysis based on customer and internal specifications. Experience monitoring, debugging and maintaining performance KPI matrix for software application. Experience with software architecture and system design from requirements analysis. Experience with continuous integration and continuous development following Software development life cycle. Experience with defect, root-cause analysis and software troubleshooting. Experience with highly scalable and available Client-server architecture. Experience with Database management and operations. Experience with secure and safe network communication protocols and Web APIs development. Employer will accept any amount of experience with the required skills.
Wal-Mart is an Equal Opportunity Employer.