Principal Software Engineer

Main Location
Raleigh, NC, United States
Open jobs

Our Customers Develop Software at the Speed of Ideas

CloudBees is powering the continuous economy by offering the world’s first end-to-end continuous software delivery management system (SDM). For millions of developers and product teams driving innovation for businesses large or small, SDM builds on continuous integration (CI) and continuous delivery (CD) to enable all functions and teams within and around the software delivery organization to best work together to amplify value creation.

CloudBees is the continuous integration (CI), continuous delivery (CD) and application release automation (ARA) powerhouse built from the commercial success of its products and its open source leadership as the largest contributor to Jenkins and a founding member of the Continuous Delivery Foundation (CDF). With a globally distributed workforce of more than 500 employees, the company reflects the global nature of the DevOps movement. We believe in walking the talk! From startups with full-stack developers practicing NoOps to large Fortune 100 companies, CloudBees enables all software-driven organizations to intelligently deploy the right capabilities at the right time.

Over 3,500 of the world’s best known brands and over 50% of the Fortune 500, invest in CloudBees because of its ability to work across any cloud, in any development environment and to balance corporate governance and control with developer flexibility and freedom.

CloudBees is home to the world’s leading DevOps experts helping thousands of companies harness the power of “continuous everything” and putting them on the fastest path from great idea, to great software, to great business value.

Cloudbees is seeking a Java Engineer with experience in performance engineering, databases and distributed systems to join our industry leading Cloudbees Flow team in San Jose, CA. 

 Why This Role

This person will be responsible for the design and implementation of new features for the Cloudbees Flow product. Cloudbees Flow is the industry leading solution for Continuous Delivery and Release Automation (CDRA) and has been recognized by industry analysts as the leader in the CDRA space for 4 years in a row. Cloudbees Flow is a complex product spanning technologies ranging from distributed systems, clustering, databases, multi-thread processing, complex scheduling and much more. The ideal candidate should have proven experience of developing and maintaining multi-threaded Java application with an emphasis on performance and scalability.

The Cloudbees Flow team places high value on quality with a rigorous unit test framework, code reviews and a CI build system that helps to find problems fast. The ideal candidate for this job will think of programming as a craft, as well as a job.

What You’ll Do

  • Work as an independent contributor collaborating with a team of developers and test engineers
  • Collaborate with product management, support and engineering teams in order to establish priorities 
  • Mentoring & code reviewing for a remote team - setting best practices and policies, writing specs, wiki pages, knowledge base articles and other internal documentation
  • Work closely with the support team, and communicate with customer sysadmins, DBAs and developers for troubleshooting
  • Provide technology recommendations and strategy to support CloudBees product requirements

What the Role Requires

  • 5+ years of experience working on distributed multi threaded Java applications
  • Experience with developing Enterprise Java applications 
  • Deep knowledge of Java Core / Java 7 & 8
  • Solid experience with Spring and Hibernate frameworks
  • Excellent debugging and problem solving skills along with a desire to dive into existing Java stack and fix such system
  • Familiarity with HTTP, REST, HTML, JSON, and similar web-based development technologies, and with building complex multi-tier parallel distributed systems that communicate via them (such as the backend of complex websites)
  • Experience with analyzing thread safety and race conditions, parallelism, synchronization, and locking, including between threads, between machines in a cluster, and in the database, including optimistic and pessimistic locking. 
  • SQL, object-relational mapping (e.g. using Hibernate), and basic DBA skills in Oracle and writing transactional code
  • Test-driven development, including writing reflection-based/class-hierarchy-searching/abstract tests to enforce best practices on other engineers by proactively anticipating places people might fail to observe them and writing tests to catch that
  • Excellent oral and written communication skills. Ability to effectively collaborate with team members is required.
  • Good judgment, logical thinker and detail oriented
  • Bachelor's or Master's degree in computer science is highly preferred

 Nice to have

  • Design and architectural skills both as lead and cooperating with others
  • Handling situations involving high levels of abstraction, multiple threads, and message passing via queues and/or the database, and into security code
  • Performance testing, including best practices, hands-on experience both directly and supervising Quality Engineers doing this

What You’ll Get

  • Highly competitive benefits and vacation package
  • Ability to work for one of the fastest growing companies with some of the most talented people in the industry
  • Team outings
  • Fun, Hardworking, and Casual Environment
  • Endless Growth Opportunities

At CloudBees, we truly believe that the more diverse we are, the better we serve our customers.  A global community like Jenkins demands a global focus from CloudBees. Organizations with greater diversity—gender, racial, ethnic, and global—are stronger partners to their customers.  Whether by creating more innovative products, or better understanding our worldwide customers, or establishing a stronger cross-section of cultural leadership skills, diversity strengthens all aspects of the CloudBees organization.

In the technology industry, diversity creates a competitive advantage.  CloudBees customers demand technologies from us that solve their software development, and therefore their business problems, so that they can better serve their own customers.  CloudBees attributes much of its success to its worldwide work force and commitment to global diversity, which opens our proprietary software to innovative ideas from anywhere. Along the way, we have witnessed firsthand how employees, partners, and customers with diverse perspectives and experiences contribute to creative problem solving and better solutions for our customers and their businesses.


Mission
We're a community of women leveraging our connections into top companies to help underrepresented women get the roles they've always deserved. Simultaneously, we work to build truly inclusive hiring processes and environments where women can thrive and not just survive.
Are you hiring? Join our platform for diversifiying your team
Principal Software Engineer
CloudBees, Inc.