ABOUT CLOUDBEES
CloudBees provides the leading software delivery platform for enterprises, enabling them to continuously innovate, compete, and win in a world powered by the digital experience. Designed for the world's largest organizations with the most complex requirements, CloudBees enables software development organizations to deliver scalable, compliant, governed, and secure software from the code a developer writes to the people who use it. The platform connects with other best of breed tools, improves the developer experience, and enables organizations to bring digital innovation to life continuously, adapt quickly, and unlock business outcomes that create market leaders and disruptors.
CloudBees was founded in 2010 and is backed by Goldman Sachs, Morgan Stanley, Bridgepoint Credit, HSBC, Golub Capital, Delta-v Capital, Matrix Partners, and Lightspeed Venture Partners. Visit www.cloudbees.com and follow us on Twitter, LinkedIn, and Facebook.
Why This Role
Cloudbees, the leader in Continuous Delivery and the company behind Jenkins, is seeking a Java Engineer with experience in performance engineering, databases and distributed system in San Jose, CA to join our industry leading Cloudbees Software Delivery Automation team.
This person will be responsible for the design and implementation of new features for the Cloudbees Software Delivery Automation product. Cloudbees SDA is the industry leading solution for Continuous Delivery and Release Orchestration (CDRO) and has been recognized by industry analysts as the leader in the CDRO space for 4 years in a row. Cloudbees SDA 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 applications 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
- Familiar with scripting languages such as Perl, Groovy and Javascript
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
We have a culture of movers and shakers and are leading the way for everyone else with a vision to transform the industry. We are authentic in who we are. We believe in our abilities and strengths to change the world for the better. Being inclusive and working together is at the heart of everything we do. We are naturally curious. We ask the right questions, challenge what can be done differently and come up with intelligent solutions to the problems we find. If that’s you, get ready to bee impactful and join the hive.
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.