As a Software Development Engineer, you will be responsible for the design, development, testing and maintenance of the McDonald’s Restaurant Technology software, which typically includes point-of-sale (POS) plugin development, application services, core infrastructure, data management, and data communication with external systems. The software needs to meet stringent reliability and performance requirements.
Responsibilities include
- Working in a software development squad for restaurant products to support the design and development for new functionality and items relating to technical debt.
- Ensuring product requirements, features, and backlog items are reviewed and understood as part of Sprint planning.
- Actively participating and assigning story points (effort estimations) to the software development work.
- Verifying software through unit tests, integration tests, code reviews, and frequent customer demonstrations.
- Sharing feedback on what went well and what could be improved during retrospective reviews.
- Providing frequent progress updates to the direct manager and other collaborators.
- Bachelor’s degree in Computer Engineering, Computer Science, or similar engineering field.
- Minimum 3 years of experience in software development projects using C# .NET.
- Minimum 1 years of experience in software development projects using C/C++, including coursework.
- Experience developing software within an Agile environment.
- Strong knowledge of configuration management tools like Git, Bitbucket, Artifactory, Jira, TeamCity or similar.
- Strong knowledge of a services-oriented and layered software architecture.
- Experience with unit testing and static analysis tools like SonarQube or similar.
- Experience developing and releasing software within a CI/CD environment such as Jenkins.
- Familiarity with code debugging tools and strong debugging skills (call stack analysis, profiling, breakpoint evaluation, logging, resource budget analysis as Flash, RAM and CPU load).
- Experience in writing software requirements and design documentation.
- Demonstrated the ability to work in a variety of client settings and in a team-oriented, collaborative environment.
- Demonstrated significant problem-solving capabilities and defect resolution experience.
- Good written and verbal communication skills.
- Easily switch between the projects and as needed work on multiple projects simultaneously.
- Desire to work in legacy application development environment.
Preferred Qualifications
- Experience with POS architecture.
- Experience with restaurant technology implementation for production.