Skype and Skype for Business have transformed the way people communicate and collaborate in real time, using rich multi-media communications, from consumers all the way to the largest enterprises in the world. Always-on, High speed broadband Internet, mobile data networks, connected PCs, smart phones and tablets have opened up opportunities to deliver immersive communication and collaboration experiences that were not possible even a few years ago.
We are looking for a Software Development Engineer to take on challenging problems in building massively scalable, highly reliable, geo-redundant, real time communication services. To be a successful candidate, you should have a proven track record spanning all aspects of software development life cycle and experience working on major product releases. You must be familiar with taking a complex system and build simplifying models around this complexity. As a member of the Skype Core Infrastructure Team, you will help build systems capable of supporting hundreds of millions of users. Our group leverages a combination of open standards to deliver a world class infrastructure on Azure Cloud for use by Skype calling and chat services. The technology used by the team will include distributed databases and frameworks (e.g., Azure Table Store/Blob Store, Queues, Map/Reduce, Open source web technologies), RESTful APIs, key value stores, scalable message passing and fault tolerance. The development process is rapid, iterative and based on Scrum. Skype is seeking a motivated and dynamic engineer to be part of a cross-functional team including product owners, quality engineers, architects, and other developers.
- Software Development Engineer working within an agile development environment with other developers and product owners to scope, architect, develop and deliver world-class software solutions.
- Collaborate with and assist the product owners to perform release planning.
- Build efficient and reusable services that can scale to support large numbers of users building on top of scalable infrastructure.
- Plan an active role in the design, development, testing of production software.
- Prior experience or interest in site reliability engineering/dev-ops
- Help to continuously improve the development process.
- 1+ years of experience in software engineering with an object oriented programming language (Ex: Java, C#, C++)
- Extensive experience programming multithreaded systems.
- Strong computer science fundamentals: data structures, algorithms, distributed systems, information retrieval.
- Experiences in large scale distributed computation, systems programming, information retrieval, and machine learning.
- Knowledge of 3 tier thick/thin client architecture required.
- Experience in the area of online services, search, Azure cloud, or AWS are strong pluses.
- Experience working with NoSQL storage technologies is desired.
- Some knowledge of the .Net Framework is desired.
- Familiarity with Service-Oriented-Architecture (SOA).
- Experience developing software in Windows and/or Linux/UNIX environments.
- Experience using and/or designing RESTful APIs
- A working knowledge of Agile Development or an enthusiasm and passion to learn
- BS or MS degree in Computer Science or Engineering OR equivalent years of relevant work experience.
- Minimum of 1-5 years of applicable work experience.
Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, sex, sexual orientation, gender identity or expression, religion, national origin or ancestry, age, disability, marital status, pregnancy, protected veteran status, protected genetic information, political affiliation, or any other characteristics protected by local laws, regulations, or ordinances.