Senior Software Engineer - Applied Sciences Group
Microsoft
Senior Software Engineer - Applied Sciences Group
Belgrade, Serbia
Save
Overview
The Applied Sciences Group is growing, and we have an exciting opportunity for a talented software engineer to contribute to the code for the next generation AI experience for Windows customers. This is a hands-on role that will provide collaboration opportunities throughout the organization. As a Senior Software Engineer on our team, you will play a key role in taking our cutting-edge research into applications that provide delightful experiences for millions of our users worldwide.
Microsoft’s mission is to empower every person and every organization on the planet to achieve more. As employees we come together with a growth mindset, innovate to empower others, and collaborate to realize our shared goals. Each day we build on our values of respect, integrity, and accountability to create a culture of inclusion where everyone can thrive at work and beyond.
Qualifications
Required Qualifications:
- Bachelor's Degree in Computer Science or related technical field AND 4+ years technical engineering experience with coding in C++.
- OR equivalent experience.
- High-level understanding of machine learning paradigms.
Other Requirements:
Ability to meet Microsoft, customer and/or government security screening requirements are required for this role. These requirements include but are not limited to the following specialized security screenings:
- Microsoft Cloud Background Check: This position will be required to pass the Microsoft Cloud background check upon hire/transfer and every two years thereafter.
Preferred Qualifications:
- 4+ years of experience in C++.
- 4+ years of experience in Python.
- Experience with shipping a product end to end.
- Experience in low-level performance optimizations.
- Experience with deep learning frameworks (e.g. PyTorch, TensorFlow).
- Experience with model conversion and optimization toolkits for different hardware platforms (e.g. ONNX, OpenVINO, QNN, …).
- Experience with version control systems (e.g. Git), build systems (e.g. CMake) and CI/CD.
#W+DJOBS
Responsibilities
- Design, build, test, debug, and ship high quality features. Work with appropriate stakeholders to determine requirements, identify the dependencies and develop the design documents. Break down larger work items and provide estimation.
- Deliver core algorithmic components.
- Work with engineers and researchers on building solutions for algorithm evaluation, comparison, and visualization.
- Work on algorithm optimization and productization across different platforms, including NPU, GPU and CPU.
- Work on the runtime end-to-end integration of individual processing components.
- Follow ongoing research – papers, conferences, and academia in the field.
- Apply engineering best practices throughout the software development lifecycle.
- Demonstrate initiative to incubate new ideas.
- Prepare prototypes and demos for showcasing potential of new technology or features.
- Mentor interns and junior team members.