I've heard that at companies that did stack ranking, managers of groups with high performers would actually seek out poor performers who didn't care about their ranking from other groups, to add to their group so that they wouldn't have to give a poor mark to their own people. These poor performers became hot commodities. Talk about gaming the system...
> It feels like Rust’s design guides you towards good abstractions and software designs.
> The compiler is very picky, but once code compiles it gives you the confidence that it will work reliably.
> Sometimes I had trouble making the compiler happy with the design I was trying to use, and then I realized the design had fundamental issues!
I experience a similar sentiment all the time when writing Rust code (which for now is admittedly just toy projects). So far it's felt like the compiler gives you just enough freedom to write programs in a "correct" way.
I don't really do unsafe/lower-level coding, so I can't speak to much there however.
I've seasoned my cast iron pan many times. I don't think it ever beats teflon, though it gets to a point where things wash off of it pretty easy with just water and a chainmail ringer.
As others have mentioned, there are a ton of off-the-shelf solutions that would have been more than adequate for this.
My question is, why didn't he go for any of the existing solutions when setting them up would've still been faster than rolling his own DB-in-a-JSON-file solution?
I'm not a business guy, but if Apple's going all-in on ARM processors, and then they expand into the server market (which the article speculates on), could we potentially see Apple opening a new product branch devoted to competing in the Cloud space with AWS, Azure, and GCP?
Imagine developing apps on an ARM-powered macbook, deploying onto ARM-powered servers owned by Apple, specifically for applications to be used on MacOS & iOS devices.
I've been using Invision's Freehand tool [0] for whiteboarding in online meetings (also it's free). It's mostly worked about as well as a virtual whiteboard could be. It also allows for collaboration so everyone can draw on the same whiteboard at the same time.
The issue with that though is that if someone could read/write code, they would probably choose to be a SWE instead of a tech writer.
I'm not sure why this is, but I suspect that it's an combination of higher pay and an interest in writing code over writing documentation.
In my experience I would say that a good SWE will attempt to write good documentation, as having to answer questions in the future about how stuff works over and over takes more time than just documenting things properly the first time.
This interview with Shopify's CEO about how the company grew / his mindset was interesting [1]. He said a lot of things that sounds similar to the author’s quotes in the article.
I really like Figma's engineering blog. I find that they do a great job introducing the concepts that need to be understood with the level of detail in their implementation of those concepts. I'm always learning something new when I read an entry.
This is the first time I've heard of Realms API or QuickJS, will need to keep those in mind if I ever need to write a plugin system.
This article really speaks to me. It’s well written, and written like a rock collector talking about each one of his rocks in his rock collection, only the rocks are apps of different speeds.
There was a related thing that I heard from a previous CTO that changed my outlook on how to write web apps: "Users shouldn’t be able to tell that they’re using a web application. A web application should feel native. That is, it should load instantly."
Coming from mostly a web programming background, it certainly feels more low-level than PHP/JavaScript, but not by much, at least for web/backend work. You can still code without having to delve into low-level/unsafe coding, but that stuff is available to you if you need to squeeze more performance out of your app.
The biggest hurdles for me (I'm still learning) compared to JS is the borrow checker, lifetimes, and strings (they are handled very precisely in Rust).
The benefits are huge though. My time coding in JS feels like 50% coding & writing tests, 40% debugging my app, 10% reading documentation. The "debugging" portion can sometimes be painful when fixing race conditions. Rust on the other hand, feels like 30% reading documentation, 30% coding, 30% getting my code to compile, and the other 10% debugging/testing my app. For the most part, if your code compiles and your logic is correct, your app is guaranteed to run the way you expect it to.