The Microsoft Search and Intelligence team is responsible for enabling intelligence in Microsoft products like Outlook, Bing, Windows, and Cortana. We research & develop natural language processing & machine learning infrastructure to process billions of emails and documents a day extracting key inferences & knowledge, serving several powerful intelligent experiences to billions of users guiding them and their organizations make smart decisions.
You would be part of a team working to modernize the way users discover, navigate and search across their organization’s Office365 corpus and help make them more productive. We strive to break down the barriers of traditional search and instead offer the most relevant and contextual based suggestions to help users discover the content they are looking for, spanning their Contacts, Emails, Documents and their organization's data. We work very closely with the Office 365 team to guarantee user privacy and compliance while also offering users a robust set of experiences that help them find what they are looking for.
We are looking for highly motivated, and innovative software engineers who are passionate about building distributed systems to deploy and serve machine learning, classification, and language translation-based end to end solutions.
- As a lead, you will be expected to coach, care and mentor a small team of engineers and or scientists working on tough problems with you. In addition to managing and growing the capabilities of team, your responsibilities will also include technical leadership. The expectation is that you will contribute to feature designs and long-term technology roadmaps. You will be responsible for ensuring that the work your team delivers is high-quality and developed in a way that aligns with architecture of the underlying platform.
- You will work with a team of applied scientists and developers who are responsible for all stages of the research & development cycle including early ideation, design, implementation and scaling it internationally. You will be expected to work on many levels - from high level vision, to design and implementations of both self-contained components and large, team-oriented code bases. Your coding skills will be challenged writing scalable, distributed, and highly efficient components. You will also be responsible for monitoring live site to ensure rock-solid availability.
- Your responsibilities will include shipping large-scale backend services that host complex models and algorithms to process critical user data. You will also be involved in developing offline processes to monitor, extract, index and build ML & NLP models. Collaborating with other engineers to build demos and apps to showcase these services is one of the ways in which you will be able to contribute new ideas. The development process is driven by gathering implicit signals from real users through online experimentation to learn and iterate on the next improvements in the product.
- You will also have the opportunity to participate in frequent hackathons that allow you to work with many different teams around the world. The goal is to pursue high impact work to quickly deliver on critical areas that our users value, by delivering high quality features in a highly collaborative team environment.
- You should have strong software design and development background with C#, C++ or Java (or similar languages like Python) with at least 5 years of experience.
- A BSc degree (or equivalent) in Computer Science (or related fields like Electronic Engineering, Physics or Mathematics) is required. An MSc or PhD is not required, but a passion for continuously learning new skills and techniques is. As a lead, the expectation is that you will help your team learn and grow.
- Proven experience in managing a team of engineers is desirable, however, passion for growing and nurturing a team of engineers will be even more important to allow you to succeed in this role. The lead role will still be technical, and your team will expect you to provide solid technical leadership and oversight.
- You must have strong programming and algorithm design skills and real passion for data driven decision-making.
- Proven experience working on large scale web services would help you get started, while experience or interest in natural language processing, machine learning, deep learning, or data mining area a big bonus.
- You also need strong verbal and written communication skills with excellent interpersonal communication and collaboration skills.
Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.
Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work
go to method of application »
We can offer an agile development team with diverse skills in algorithms and data structures, big data, data science, machine learning and search technology to mention a few. The position is full-time and based in our Nairobi office, with huge learning and growth opportunities.
As a Microsoft Software Engineer your responsibilities will include:
- Design, implementation, testing, rollout and running software services.
- Turn requirements into simple, elegant, and optimal solutions at large scale.
- Work in a collaborative and agile environment, with local and remote partners and team members.
- Take part in team discussions about architectural design.
- Ship your code to thousands of machines serving millions of users around the world.
- BS or MS in Computer Science or Software Engineering.
- Strong technical problem-solving skills and a desire to learn from others.
- Ability to demonstrate understanding of algorithms, data structures and other systems architecture factors that affect code quality, performance, and customer experience
- Demonstrated skill in time management and completing software projects in a cooperative team environment.
go to method of application »
The position is full-time and based in our Nairobi office, with huge learning and growth opportunities.
As a Microsoft Program Manager your responsibilities will include:
- Owning and driving a product or service area. Deeply understanding the market needs, establishing a vision, defining high-level strategies, developing roadmaps and plans and negotiating priorities for that area together with internal and external partners.
- Working closely with engineering teams on planning and executing work (projects and scrum backlog activities).
- Coordinating deliverables with partner teams - both within Microsoft FAST and with other development teams in the US.
- Driving process improvements to improve the efficiency and impact across the engineering teams you directly work with.
- 3+ years of shipping production software in a developer or technical program manager function.
- A BA or MS degree in Computer Science or a related discipline or the equivalent in real-world experience
- Experience establishing a team mission, building roadmaps, tracking projects and shipping products or services against that roadmap.
- A sense of pride and personal accountability for end-to-end quality, completeness, and resulting delivery of the scenarios and areas you are responsible for.
- A proven ability to influence and drive strategy at a service or product level.
- A confident, solutions and result oriented nature, being able to work independently with minimal supervision.
- Able to manage multiple ongoing projects while simultaneously exploring new opportunities.
- The ability to further enhance our culture that focuses on partner satisfaction using data driven approaches.
- Excellent writing, formal presentation, and interpersonal skills, with a keen ability to communicate ideas effectively with executives and engineering teams. Ideally you have experience from speaking at conferences, and you have already published some work.
- Driven process improvements to improve the efficiency and impact of your previous teams.