VMware Company Profile

Tech Lead with C++

VMware

Jobbeschreibung

If you have a real passion for building cloud-aware systems that are highly instrumented, scalable, manageable, and fault tolerant, then you will fit right in. We are looking for engineers with high levels of ownership. If you don't shy away from hard problems, and enjoy delivering value while furthering your technical vision, this position is for you!

  • You would join our team in delivering vSphere platform offering on top of VMware core virtualization products such as ESX and vCenter
  • You would be involved in all phases of the software development lifecycle, based on an agile development methodology
  • You would lead a broad aspect of design, development, deployment, and validation
  • You would work in an environment where we foster and encourage innovation

We are seeking a highly technical and customer-focused software developer to own the product development and enhancement work on the vCenter lifecycle components. Assignments may include new projects as well as some minor enhancements to existing products. As we continue to grow, our group is focused on developing the vCenter lifecycle on which all VMware products will be built. We are a dynamic highly-technical and growing team, so we are looking for someone who is willing to pitch in with the rest of the team. You will play a key role in building products for cloud platform and on-prem on top of a public cloud and build services that are highly available.  VMware vCenter Server Virtual Appliance (vCSA) is a Photon Linux Enterprise Server based application, which allows customers to manage the Virtual Machines provisioned in data centers. We are responsible to design and implement a distributed plugin architecture which orchestrates the vCenter Server services lifecycle in both on premises and in the cloud. We are a small team of highly motivated, experienced and dependable software engineers who are having fun while solving hard software problems together. We drive all lifecycle requirements and outline guidelines to many other VMware teams to follow.

VMware lifecycle products stack is accessible through RESTful APIs and uses various of modern and cool technologies like containers, Kubernetes, Docker, SCM Systems and is written on different languages like C, C++, python and Go. We are welcoming quick learners and open minded applicants who want to deep dive in technologies to solve hard lifecycle problems in distributed environment.

Responsibilities:

  • Be part of a small, high-performing development team which is growing with new members
  • Work in collaboration with quality assurance, user experience, technical documentation, customer support and other product teams
  • Work with product and R&D management to analyze requirements and define technical solutions, write functional and design specifications
  • Provide solutions for complex architectural and technical problems, propagate these solutions to other teams in the upgrade area
  • Develop high-quality code and adhere to the VMware processes for product quality
  • Provide estimates and plan deliveries in conjunction with the R&D manager
  • Mentor junior members in the team

Requirements:

  • Strong algorithmic, excellent analytical and problem-solving skills
  • General programming knowledge - data structures, algorithms, design patterns, memory management, etc.
  • Experience in GOlang, Object Oriented Programming (C++ or Java Preferred)
  • Willingness to use different programming languages to address the specific product needs (Ruby, Java, Python, C#, Bash Scripting, etc.)
  • Ability to work without close supervision and with proactive goal-oriented attitude
  • Ability to understand, simplify and explain complex functionality to peers
  • Excellent written and verbal communication skills and fluent English
  • 10+ Years of relevant experience in software development.
  • Must be available to work full-time in Sofia, Bulgaria

Will be considered as plus:

  • A BS or MS in Computer Science
  • Experience in delivering lifecycle solutions for distributed systems
  • Expertise in Go Programming and Python programming
  • Experience with containers
  • Experience with Kubernetes
  • Experience with enterprise architectures – remote method invocations, stateless designs, SSL security, etc.
  • Experience with multi-tiered architectures (Service-Application-Presentation)
  • A proven track record in architecting and delivering distributed enterprise software, including designing and delivering a significant feature