Software Engineer II

Microsoft Microsoft · Big Tech · IN · Software Engineering

Software Engineer II role on the Azure Messaging team, focusing on building and evolving the core messaging infrastructure for Azure. The role involves driving the design and implementation of large-scale distributed systems, ensuring performance, scalability, and reliability. It supports strategic scenarios within Microsoft Fabric and powers critical platform capabilities like eventing and asynchronous workflows.

What you'd actually do

  1. Drive the design and implementation of complex, large-scale distributed systems by producing technical designs, proof-of-concepts, and prototype solutions from ambiguous or high-level requirements.
  2. Own end-to-end delivery of key system components, including design tradeoffs, implementation, testing strategy, deployment, and long-term operability.
  3. Continuously improve system performance, scalability, and resilience by identifying architectural gaps, leading refactoring efforts, and addressing systemic technical debt.
  4. Define and apply metrics, best practices, and quality bars to ensure long-term service stability, operational excellence, and strong return on engineering investment.
  5. Lead code reviews and design discussions, setting technical direction and mentoring engineers to improve overall code quality and system design maturity.

Skills

Required

  • Bachelor'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 OR equivalent experience.
  • 1+ years 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 OR 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 OR equivalent experience.
  • Experience designing and owning components of distributed systems, including handling scalability, reliability, and operational concerns.
  • Experience driving technical design discussions, authoring design documents, and making sound archi

What the JD emphasized

  • distributed messaging systems
  • stream processing or real-time data platforms