Software Engineer II - C++/C#
McDonald's
Company Description
McDonald’s growth strategy, Accelerating the Arches, encompasses all aspects of our business as the leading global omni-channel restaurant brand. As the consumer landscape shifts we are using our competitive advantages to further strengthen our brand. One of our core growth strategies is to Double Down on the 3Ds (Delivery, Digital and Drive Thru). McDonald’s will accelerate technology innovation so 65M+ customers a day will experience a fast, easy experience, whether at one of our 25,000 and growing Drive Thrus, through McDelivery, dine-in or takeaway.
McDonald’s Global Technology is here to power tomorrow’s feel-good moments.
That’s why you’ll find us at the forefront of transformative technology, exploring new and innovative ways to serve our millions of customers and spread happiness one delicious Hot Fudge Sundae-dipped fry at a time. Using AI, robotics and emerging tech, we’re digitizing the Golden Arches. Combine that with our unparalleled global scale, and we’re reshaping all areas of the business, industry and every community that is home to a McDonald’s restaurant. We face complex tech challenges every day. But that’s where our diverse and talented teams come in. They’re made up of the best and brightest from all over the globe, and they thrive in the space where feel-good meets fast-paced.
We’re recruiting engineers to join our Global Technology team in Mexico City as we open our McDonald’s Capability Center (MCC). Our Mexico City MCC will be a hub for technology innovation and operational support to help us build the solutions that will improve our customer, crew and employee experience each and every day.
Check out the McDonald’s Global Technology Technical Blog to learn how technology and our global team are directly enabling the Accelerating the Arches strategy.
Job Description
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
- As a software engineer, you will play a pivotal role in crafting the definition, vision, design, road map and development of product features from beginning to end.
- Working in a software development squad for restaurant products to support the design and development for new functionality and items relating to technical debt.
- Use software engineering best practices to ensure a high standard of quality for all teams’ work.
- Verifying software through unit tests, integration tests, code reviews, and frequent customer demonstrations.
- Design, implement, test, deploy and maintain innovative software solutions to transform service performance, adaptability, cost, and security.
Qualifications
- Bachelor’s degree in Computer Engineering, Computer Science, or similar engineering field.
- Solid knowledge of Computer Science fundamentals (object-oriented design, data structures, algorithm analysis, design patterns).
- At least 3 years of professional experience in software development, specializing in C# and .NET technologies, excluding internships.
- At least 1 year of professional experience in software development, specializing in C or C++.
- Experience developing software within an Agile environment.
- Strong knowledge of configuration management tools like Git, Bitbucket, Artifactory, Jira, TeamCity or similar.
- Good 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)
- Desire to work in legacy application development environment.
- Proficiency in written and spoke English is required
Additional Qualifications
- Experience successfully developing and evolving core products with a monolithic architecture.
- Experience with Javascript, HTML, and UI development frameworks.
- Experience with relational databases.
- Experience with microservices and cloud technologies.
- Experience with POS architecture.
- Experience with restaurant technology implementation for production