Nebulab has been around for more than a decade now. During this time, we have dealt with a variety of technologies and challenges, and we've developed a set of principles and recommended practices that we default to. These range from human topics, such as emotional intelligence, all the way to technical details, such as CI/CD practices.
For a long time, these recommendations would be shared tacitly as new hires worked with more experienced teammates. As we continued to grow, we realized this would simply not cut it anymore, and we felt the need to have a single source of truth about the “the Nebulab way.” This is how the Learning Library was born.
The Learning Library, which is one of the few public pages in our internal playbook, is a collection of learning resources for all Nebulab teammates. The resources in the Library come in all shapes and sizes: courses, articles, books, tutorials and more for different roles and levels of expertise. They have all stood the test of time, and they have all been carefully picked to reflect our work culture and methodology.
Using the Library
While it might be tempting to consume the Library top-to-bottom, the sheer amount of resources it contains makes it very hard to do so. Instead, the Library has been designed to be a “Choose Your Own Adventure” resource: feel free to dig into the specific sections and resources you're most interested in. If you're unsure where to start, your manager can also help you create a tailored learning path based on your growth journey here at Nebulab.
As you go through Library resources, you are strongly encouraged to discuss what you consume with your manager and with your teammates: after all, talking about new-found knowledge is the best way to consolidate it!
Some of us also keep our personal learning paths in the internal playbook. It's a good way to establish a consistent and structured learning process, and it can lead to some pretty interesting conversations with other people at Nebulab about what you're working on and why!
There are no best practices
We try not to use the term “best practice.” Instead, we use “recommended practice”, “standard practice” or anything else that doesn't imply that one way of doings things is inherently better than all the others.
The Library exists to minimize the cognitive load around making routine, unimportant decisions and to provide consistency for Nebulab teammates moving across projects. With that said, we trust the people doing the work to always come up with the best solution for the problem at hand—in fact, we need people to challenge the status quo and come up with better ways of doing things.
If you don't know anything about Continuous Delivery, for example, you can go to the Library and learn about our recommendations for setting up a CD pipeline. Those recommendations should work in the vast majority of scenarios, but that doesn't mean they're always right, or that there's no room for iterating on them. You might want to use a different parallelization or deployment model, and that's perfectly fine as long as you understand both the benefits and the cost of your decision.
We like to think of the Library as a starting point, not a destination. Follow the recommended practices if you don't know any better or have no particular reason to deviate from them. But if you do have a reason, go ahead and enjoy the journey!