Microsoft Corporation (commonly referred to as Microsoft or MS) is an American multinational technology company headquartered in Redmond, Washington, that develops, manufactures, licenses, supports and sells computer software, consumer electronics and personal computers and services. Its best known software products are the Microsoft Windows line of operatin...
Read more about this company
Software Engineer II
- Job TypeFull Time
- QualificationBA/BSc/HND
- Experience2 years
- LocationNairobi
- Job FieldICT / Computer 
- The team has a great collaboration culture. We build tooling and libraries which power large scale services like Microsoft Graph. We are seeking a Software Engineer to play a key role in enhancing the integration and onboarding experience for Microsoft Graph APIs.
Responsibilities
Coding
- Creates and implements code for a product, service, or feature, reusing code as applicable. Writes and learns to create code that is extensible and maintainable. Considers diagnosability, reliability, and maintainability with few defects, and understands when the code is ready to be shared and delivered. Applies coding patterns and best practices to write code.
- Supports efforts to apply debugging tools and examines logs, telemetry, and other methods to verify assumptions proactively before issues occur and reactively as issues occur for product features. Conducts retrospective debugging of solutions to identify root causes of problems.
- Reviews code of a product feature to assure it meets the team's and Microsoft's quality standards, is reliable and accurate and is appropriate for the scale of the product feature. Applies feedback to current and future iterations. Participates in code reviews to ensure coding standards are followed. Considers diagnosability, reliability, and maintainability when reviewing code and understands when code is ready to be shared or delivered. Applies and screens for coding patterns and best practices in reviews.
Design
- Creates a clear and articulated plan for testing and assuring quality of solutions, and defines success for outcomes of tests (e.g., unit tests). Adds new tests, removes antiquated tests, and aggregates tests to improve tests in the feature area. Helps to drive efforts for augmenting test cases and ensures that the solution area has good test coverage. Helps to integrate automation features when planning for testing.
- Contributes to processes for the architecture of a product/solution feature and helps to create proposals for architecture by testing design hypotheses and helping to refine code plans, with technical leadership from others. Provides initial reactions and input to architects. Begins to own solutions for architecting of solutions, following technical leadership as applicable. Contributes to the development of design documents for designs or User Stories with oversight and determines the technology that will be leveraged and how it will interact.
- Contributes to the identification of dependencies, and the development of design documents for a product area with little oversight. Helps to identify other teams and technologies that will be leveraged, how they will interact, and when one's system may provide support to others. Contributes to determining back-end dependencies associated with product, application, service, or platform functionality for product features. Understands downstream effects of solutions and work provided.
Reliability and Supportability
- Acts as a Designated Responsible Individual (DRI) working on call to monitor system/product feature/service for degradation, downtime, or interruptions. Alerts stakeholders as to the status and gains approval to restore system/product/service for simple problems. Responds within Service Level Agreement (SLA) timeframe. Escalates issues to appropriate owners.
Qualifications
- Bachelor's degree in computer science or related technical field AND 2+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python OR equivalent experience.
- 2+ years of professional software development with hands on exposure to building.
- 2+ years of coding, debugging, problem-solving skills and maintaining code in object-oriented languages.
- Efficient delivery by collaboration with cross-functional engineering and product team
- Track record of coding, debugging, algorithm design and problem-solving skills.
- Passion for improving software quality and engineering excellence.
- Experience in developing, debugging and supporting code in object-oriented languages and database querying languages.
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 background and Microsoft Cloud background check upon hire/transfer and every two years thereafter.
Method of Application Interested and qualified? Go to Microsoft on jobs.careers.microsoft.com to apply