Juri StrumpflohnerFollowJuri is a full stack developer and tech lead with a special passion for the web and frontend development. He creates online videos for Egghead.io, writes articles on his blog and for tech magazines, speaks at conferences and holds training workshops. Juri is also a recognized Google Developer Expert in Web Technologies
Joining Nrwl 🐳 🦄
6 min read
Alright, so yes, I joined Nrwl 😍!! The title should rather be: 5 weeks at Nrwl 🙂 as this week I’m starting my 6th one. Hugely delayed blog post, but hey time at Nrwl flies like mad! So here we go with the entire story.
Table of contents
So what is Nrwl? 🤔
We also heavily contribute to open source! Our two most known products are Nx Console and Nx (and more is coming 😍).
Wanna learn more? Go visit our website at nrwl.io. Let me quickly also outline our main products (OSS & not) which you might have heard or used already.
We at Nrwl believe in monorepos. Google, Facebook, Microsoft or Twitter are known for having huge repositories containing most of the company’s source code. Rather than having one git repository per project/application, there’s just one single repository containing all (or at least a logically grouped set) of the projects and applications. The reason is simple: allowing teams to move fast by avoiding additional overhead caused by version management and integration. In a monorepo, you share code by just linking libraries, there’s no need to release and publish them first. Just think about some API refactoring. If you distribute libraries over package managers, making substantial changes is getting really hard. It’s still tough in a monorepo, but basically all of the code is in your IDE. So you can just refactor in a branch, launch tests and fix the broken code.
As you might guess now, this also comes with downsides. If used at scale within large enterprises, you definitely need a lot of automation and tooling that supports you in this process. Just a simple example: building the entire repo in your CI build is simply not possible as it would take too much time (and thus break the benefit of having short feedback cycles).
Nx helps here! Nx understands your codebase and builds a dependency graph behind the scenes that allows it to only build your affected apps and libraries, thus dramatically reducing build times. Moreover v8.12 comes with an advanced distributed cache. But read more about it on our blog.
Nx Console is a Visual Studio Code extension for Angular and Nx. If you’re not the CLI type of person, then this might be for you. Nx Console automatically finds available schematics in your workspace, thus allowing you to easily control and execute Angular CLI / Nx commands from a nice UI interface.
NxCloud is our newest product that makes Nx even more powerful. Nx is already highly optimized for monorepos, having its dependency graph and “affected” commands, allowing to only build/test/lint whatever has really been affected by your changes in your GitHub branch. But still, if you have a large monorepo, or your branch simply changed a lot of different parts, running builds/tests locally or on CI can still take a long time. And developer time is precious as we know 😃.
What NxCloud does is to enable caching for your workspace, not just locally but distributed caching. What that means basically is that whenever one of your co-workers has already built/tested/linted a given lib/app, you won’t have to do it again (unless you changed something ofc). As a result, build times may go down drastically as can be seen in the next diagram
How is it to work at Nrwl? Did you move to Toronto?
First of all: it’s awesome, love it 😍!! And no, I didn’t move to Toronto, but I rather work full-time remotely from home 😃.
Nrwl is great. I get to work with different clients around the world and work on Open Source. And the best of all, with a highly skilled and amazing team! Everyone is really supportive, open to help out each other. It’s been 5 weeks now and I already learned a ton!
It’s the first time for me to work remote full-time. I did work from home from now and then and of course when I worked for my freelance job. But never full-time so far. Till now it’s great. I love the fact I don’t have to commute each day, and especially to be able to spend more time with my little baby boy 👶. That’s priceless.
I also love the fact to go for a quick run over lunch, come back, have a shower & continue working.
Communication with the team works like charm. We communicate through Slack and Zoom meetings. Meetings are super efficient and we even have a lot of fun 😃
Nrwl expands into Europe. After Jo Hanna Pearce, me and Rares Matei joined in January to reinforce the European team (and there are more to come 😉). With that we’re now ready to take on new European clients 🎉. So if you’re curious, let us know!
What about your Freelance Training, Blogs, Videos and Egghead?
Everything will continue just as normal. Of course I won’t be doing any freelance training any more on my own, but rather through Nrwl. I will continue to blog and publish videos on my Youtube Channel & Egghead.
Blogging and publishing content in general has been a big passion for me for over a decade now. And ultimately it is the reason I became a Google Developers Expert, why I started to speak at conferences and now to get the job at Nrwl.
Will you continue to speak at conferences and events?
I definitely will! I love to speak and engage with the community. Expect it to be rather slow this year. Not because of joining Nrwl, but rather because I try to reduce travelling and stay more at home with the 👶.