Today is my first year at Pivotal Labs and for that reason I decided to write down my experience. After a year it makes me more clear to me to think all the good things I’ve been experiencing here so far.
Big and small
Pivotal Labs was founded in 1989 and it’s an agile software development consulting firm headquartered in San Francisco, California. The company developed Pivotal Tracker workflow and its famous for being agile pioneer. Today Labs is a sub-division of Pivotal Software, which was formed in 2012 after spinning out of EMC Corporation and VMware.
Our goal in Labs
We Transform How the World Builds Software.
Together we solve real problems and launch innovative products that have business value. We work collaboratively helping companies to learn and use technology and best practices.
We have a REALLY nice office (like all the nice techs) with free food, beer, books, nice furniture, computers, ping pong, guitar, etc. but the most important are the people here. I am among very smart, talent and friendly people. Different knowledges and graduations and just one goal: learn and share! There are no silos at all!
We make a inspiring culture of: work, learn and have fun.
Work hard play hard
We work hard here. Pivotal is a well known pair programming company and specially at the beginning this was tough to me. You keep yourself very focused however very productive – we have little few meetings and that’s it – its time to build products!
Our team is balanced, we have Software Engineers, PM, Data Scientist and Designer all together collaborating the whole day!
Also we are a test-driven development (TDD) company, we talk a lot about code quality and how to make the code reliable and flexible through automated tests. Everything we build passes a test suite giving us focus on new features (instead of bugs) and confidence to evolve and adapt.
But also we have a life! There are no all-nighters, no death-marches, no dark secrets that you will never reach the schedule. He work hard for 8 hours with breaks (ping pong, foosball, Cassio’s guitar classes) and we go home at 6pm. That’s a contrast to a lot of people who work elsewhere in consulting companies.
Like developer’s dojo
The amount of knowledge being exchanged day to day is huge, I never get bored. I’ll be on a project for a few months and there is always a new and different one coming up.
I work with some of the best in the business. We learn and share even in our daily company standup… different costumer, enterprises, web, mobile, architecture… I can learn and share something new and interesting almost every day.
If you really like to learn new things here is the place. In one year I’ve been expose to many different tools and languages – before I used to be a back-end engineer and in the last year I’ve been coding front-end as well with all the new JS stuffs, learning about Cloud, IaaS, PaaS, CD/CI approaches, DevOps, micro-services and cool new languages.
We have many different learning sessions here: lunch and learn every Tuesday and core practices on Thursdays, for instance – I’ve been learning a lot and I got opportunities to talk as well and improve my public speaking sharing our experiences on public events.
Agile at the heart
Here we use a set of agile methodologies but eXtreme programming is the main one. Based on my experience, this is the first time where I feel the agile is really applied. Agile values and practices are the same as Pivotal’s values and practices – its in the DNA company.
Here we have a great transparency, everyone, from the stakeholders to the team, is producing the product, involved and clear about what’s being worked on right now and what still needs to be done.
Work is clearly prioritized and time boxed in tight iterations that ideally are 1-2 weeks in length. New features are shipped frequently and more predictably, as part of a continuous delivery cycle.
Our stories are very small and focused; short loop feedback gives us great flexibility. When priorities change due to circumstances, inserting and reprioritizing stories in the backlog can occur instantly.
We work close to our business and they determines the order in which features are built, making it clear to the team what’s most important for the business.
User stories are designed to meet the real users needs. Each story / feature that is designed and developed delivers incremental value.
Since all work is broken down into manageable units and frequent builds, testing and reviews are more focused. Quality is improved as a result of being able to locate and fix defects more easily and more rapidly.
Pivotal’s process changed and keep changing the way I think about problems. The process of decomposing and prioritizing the project is useful not only in my code, but also when I am thinking about design or solving problems. It helps me to balance tradeoffs and decide between them – “More is less”.
I’ve learn to celebrate small achievements, to celebrate the end of the day and have fun with retrospectives (yes, we do retros every Friday!).
Its has been a great experience: explicit focus on constant improvement, building high quality software, talking about the best ways to do it with sense of humor and self awareness is something that I didn’t see anywhere else.
More than code
Last but not least… I’ve been playing foosball and ping pong – improved a lot, actually! But not just for fun, I’ve learnt that they are a very interesting tool. I’ve been across different projects, different people and moods and they has always been a very effective tool for ice breaking and team building along the project.
Some sources about Pivotal:
Notice: all the opinions here are my own.