exterm

Joined 15 years ago

Karma
549
Submissions
82
Member since
Apr 13
meet.hn/city/45.4208777,-75.6901106/Ottawa Socials: - linkedin.com/in/Philiptheus - layer8.space/@exterm Interests: Climate Tech, Networking, Outdoor Activities, Privacy, Programming, Startups, Technology, Web Development, Yoga ---
View on Hacker News

Recent submissions

Comment · 9 months ago
Cybernetics
Comment · 9 months ago
Comment · 2 years ago
I've encountered a lot of confusion on this topic and hope people find this article helpful.

Also if you find any mistakes I'd be happy to correct them!

Comment · 6 years ago
Shopify has been a fully remote company for a few months now. https://financialpost.com/technology/shopify-is-joining-twit...

We're not using zoom, but google meet - but yes, these happen completely online now.

I find that people that are doing interesting stuff often _want_ to talk about it. However, a big part of Shopify culture is "do things, tell people" - it is definitely encouraged to spend time spreading context.

It's not directly part of any rewards framework, but one metric that goes into promotions is the area of impact. By giving a talk to the guild, you can have impact on a group that's larger than your team, potentially the whole organization. It counts.

But another reward is the positive feedback, interesting discussions and new connections that you make through this.

Comment · 6 years ago
> When I left, we were up to a few dozen components, and the number was climbing rapidly.

I should have included this in the blog post: The number of components _needs_ to be kept small. Shopify's main monolith is 2.8 million lines of code in 37 components, and I'd actually like to get that number _down_.

I like to compare this to the main navigation that we present to our merchants. It's useful if it has 8 entries. It's not useful if it has 400.

In a way, components are the main navigation to our code base. A developer should be able to look at what's in our "components" folder and get a general impression of what the system's capabilities are.

Comment · 6 years ago
> extension points to the way engines are implemented that could better enforce boundaries

Can you expand on that? I'm not sure I follow.

Comment · 6 years ago
Comment · 6 years ago
It's all tradeoffs. You get a stronger boundary, but you also get a distributed system.

Also, the first try of drawing boundaries will always be varying degrees of wrong. If you have very strong boundaries at this stage, iterating on them, moving responsibilities around, can be harder.

Also, with the right tooling it's definitely possible to harden monolith internal boundaries to a comparable level.

I can see though how many smaller companies would not be in a position to build that tooling.

Anyway... there is no either / or here, as I've explained in another comment. What if you have components within a monolith, but each component has its own database, for example? What if test suites are completely isolated, so that tests for component A can not access code in component B?

You can get pretty strong boundaries with a few comparably simple tricks.

Comment · 6 years ago
you don't work with Ruby eh? :D
Comment · 6 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton