"How many of you are from consulting? Oh that's bad. You should do something.
No seriously, I don't think there nothing inherently evil in consulting, I think that without owning something over an extended period of time, like a few years, where one to take responsibility for one's recommendations, where one has to see one's recommendations through all action states and accumulate scar tissue for those mistakes and to pick oneself up off the ground and dust oneself off, one learns a fraction of what one can.
Coming in and making recommendations and not owning the results, not owning the implementation I think is a fraction of the value and a fraction of the opportunity to learn and get better.
You do get a broad cut at companies but it's very thin, it's like a picture of a banana, you might get a very accurate picture but it's only 2 dimensions, and without the experience of actually doing it you never get 3 dimensional, so you might have a lot of pictures on your walls, you can show it off to your friends, I've worked in bananas, I've worked in peaches, I've worked in grapes, but you never really taste it, that is what I think."
I'd argue the opposite really, re: 'using C/C++ at all is probably "too clever"'. By using modern C++ features it is possible to enforce a Rust-like model of ownership, without any memory management (eg. we don't use 'new' or 'delete' anywhere in our codebase). This helps reduce what the author calls "complicated, Klein-bottle-wannabe tricks", labyrinthine Java classes of GC goodness where you don't know where the code begins/ends.
> By using modern C++ features it is possible to enforce a Rust-like model of ownership, without any memory management
C++ fans always claim this is possible, but can never say how to determine whether any given codebase follows their rules, or give examples of e.g. popular open-source libraries that follow that approach. So I've stopped believing in it, personally.
> This helps reduce what the author calls "complicated, Klein-bottle-wannabe tricks", labyrinthine Java classes of GC goodness where you don't know where the code begins/ends.
I find that claim extremely dubious. The problems of such code are very rarely due to not having clear directions on any local ownership relationship, and lifetimes are not actually visible in C++ in any case.
The weed work is the most painful though. We get through it at work because we have to. But for any personal hobby projects, I feel nails scraping blackboard level of frustration when some build issue or other trivial minutiae come up.
I so wish all of this content was public. How lovely would it be for skill development if all of us had access to these assignments and projects with auto-graded tests.
Yes, I've had the opportunity to contribute to some existing projects but I've been limited to making feature contributions. I feel like my "system design" skills don't get exercised as much which is why I wanted to go for a greenfield thing.
Could you please point me to any which don't have a turn-key solution like Etcd for Raft (and also have a need like consensus is a need for most distributed applications)?
I feel the opposite way. When I was studying at university, I found it quite hard to motivate myself to do boring assignments, but after joining a BigCo and talking to customers who are direct beneficiaries of my work, it is much more rewarding and I feel more naturally motivated.
PG was also involved in the inception of Reddit: It was PG who gave Alexis and Steve the idea to make something like reddit, and also gave them the tagline "the front page of the internet".[0]
PG had vetoed their initial idea to create a food-delivery app and then called them back and asked them to come up with something new.
[0]: https://www.youtube.com/watch?v=5rZ8f3Bx6Po
It certainly reads similar to the Aurora PostgreSQL technical specs, but I suspect they just have a generic Aurora layer, used by MySQL and PG both which can be used by a document database.
No seriously, I don't think there nothing inherently evil in consulting, I think that without owning something over an extended period of time, like a few years, where one to take responsibility for one's recommendations, where one has to see one's recommendations through all action states and accumulate scar tissue for those mistakes and to pick oneself up off the ground and dust oneself off, one learns a fraction of what one can.
Coming in and making recommendations and not owning the results, not owning the implementation I think is a fraction of the value and a fraction of the opportunity to learn and get better.
You do get a broad cut at companies but it's very thin, it's like a picture of a banana, you might get a very accurate picture but it's only 2 dimensions, and without the experience of actually doing it you never get 3 dimensional, so you might have a lot of pictures on your walls, you can show it off to your friends, I've worked in bananas, I've worked in peaches, I've worked in grapes, but you never really taste it, that is what I think."