What does an OpenStack developer do?
An OpenStack developer writes and maintains code for the open source cloud computing platform. This role focuses on building features, fixing bugs, and improving the reliability of core services like Compute, Networking, and Storage. You contribute directly to upstream projects through a structured review process rather than maintaining private forks. Your work ensures that cloud infrastructure scales securely and operates without interruption for enterprise users.
- Submit code changes and documentation updates to Gerrit using git-review for peer evaluation. You iterate on patchsets by addressing feedback from core reviewers and ensuring your commits meet project governance standards before merging.
- Validate software modifications with automated testing frameworks such as tox and Tempest. You run integration test suites to confirm that new features do not break existing functionality or introduce regressions in the continuous integration pipeline.
- Implement specific features or resolve defects within individual OpenStack service repositories. You write clean, maintainable Python code that adheres to style guidelines and interacts correctly with other components through defined APIs and client libraries.
How to hire an OpenStack developer on Upwork
Step 1: Post a job
Define your cloud infrastructure needs by listing specific OpenStack components and upstream contribution requirements. Use the Job Post Generator powered by Uma™, Upwork's Mindful AI to draft a precise description from a few sentences about your project. You can write a new post, update a saved draft, or reuse an existing post to start hiring.
- Specify which OpenStack services need development, such as Nova for compute or Neutron for networking, to attract specialists with relevant codebase experience.
- List required tools like Gerrit for code review and tox for validation so candidates know they must follow upstream contribution workflows.
- Clarify if the role involves writing new features, fixing bugs, or updating documentation within OpenStack repositories to set clear expectations.
Step 2: Evaluate candidates
Look for portfolios that show merged patchsets in OpenStack projects and familiarity with CI gating workflows. Uma can run instant video interviews and build shortlists with side-by-side comparisons to help you identify developers who understand cloud infrastructure standards.
- Check for evidence of submitting changes via git-review and iterating on feedback in Gerrit, which proves they can navigate the upstream review process.
- Verify experience with Tempest integration tests to ensure they can validate cloud implementations and maintain stability across updates.
- Review contributions to OpenStack client libraries or CLI tools to confirm they can build interfaces that interact correctly with cloud APIs.
Step 3: Interview your top choices
Discuss their approach to automated testing and how they handle merge conflicts in complex cloud environments. Schedule and conduct interviews within Upwork Messages, where you receive an immediate transcript and summary after each session to track key insights.
- Ask how they structure tox validation jobs to catch errors early and maintain code quality before submission to the main branch.
- Explore their experience debugging distributed systems to gauge their ability to troubleshoot issues in multi-node OpenStack deployments.
- Question their process for documenting API changes to ensure other developers can integrate with their updates without confusion.
Step 4: Agree on scope and begin work
Set milestones for code submissions, test coverage improvements, and documentation updates. Use Upwork Messages and the contract workroom for communication and project management, plus identity verification, payment protection, hourly tracking, and project funds for security.
- Define deliverables as specific patchsets merged into Gerrit or validated branches to measure progress against concrete technical outcomes.
- Establish a schedule for running automated test suites to confirm that new code does not break existing cloud functionality.
- Agree on documentation standards for any new features or bug fixes to keep project artifacts current and useful for the community.
Upwork is not affiliated with and does not sponsor or endorse any of the tools or services discussed in this article. These tools and services are provided only as potential options, and each reader and company should take the time needed to adequately analyze and determine the tools or services that would best fit their specific needs and situation.
The rates and information provided in this article are based on current data and industry sources available at the time of publication. Freelance rates can vary depending on factors such as experience, location, project scope, and market conditions. Readers are encouraged to conduct their own research to confirm current rates and trends, as this information may change over time.