Software Engineer II - Distributed Systems

Microsoft Microsoft · Big Tech · Vancouver, BC +1 · Software Engineering

Software Engineer II role focused on building and maintaining distributed systems for Azure Data's messaging and real-time intelligence team. The role involves designing, implementing, and operating core components of large-scale distributed systems that power Azure messaging services, with a focus on scalability, reliability, and low latency. The team also supports strategic scenarios within Microsoft Fabric for streaming data ingestion and transformation.

What you'd actually do

  1. Design and implement high-quality, scalable, and resilient components of distributed systems based on defined requirements and architectural guidance.
  2. Translate design specifications into clean, extensible, and maintainable code that meets performance, reliability, and security expectations.
  3. Continuously improve existing code through debugging, refactoring, and performance optimization to increase reliability and operational efficiency.
  4. Apply engineering best practices, metrics, and testing strategies to ensure code quality and long-term maintainability.
  5. Participate in code reviews by providing thoughtful feedback and incorporating feedback from peers to uphold team and Microsoft engineering standards.

Skills

Required

  • 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
  • 1+ year experience with distributed messaging systems such as Azure Service Bus, Apache Kafka, RabbitMQ, Google Pub/Sub, or SQS/Kinesis or experience with stream processing or real-time data platforms such as Apache Spark, Flink, Storm, or similar frameworks

Nice to have

  • Master's Degree in Computer Science or related technical field AND 3+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
  • Bachelor's Degree in Computer Science or related technical field AND 5+ years technical engineering experience with coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python
  • Experience designing, implementing, testing, and debugging software components in a large codebase.
  • Working knowledge of distributed systems fundamentals