• 0 Posts
  • 12 Comments
Joined 3 months ago
cake
Cake day: April 5th, 2024

help-circle


  • It attracts passionate and clever people, but as a result comes with a (rightful) reputation of being hard/expensive to hire for.

    Worked at a Scala shop for a while. It was interesting as an outsider to see exactly that play out (I’m a diehard Unix hacker type, love Go etc.). There were some brilliant minds who really seemed to “get” the Scala thing. Then there were others who were more run-of-the-mill Java developers. Scala and the JVM makes all that, and everything in between, possible. With so many Java projects around, the Java devs would come and go depending on team/company factors like job cushiness, salary, or number of days in the office. But the more Scala-leaning people hung around. They made a huge impact on how projects were run.

    The bosses would often talk with me about how hard it was to find those people. From a business perspective, they said it was absolutely worth the effort to find the Scala people despite operational overhead of the rotating door for the armies of Java devs.




  • But, since this particular set of data is so well-defined, and unlikely to change, roll your own is maybe not crazy.

    I think that’s the trick here. A relational database lets you do a whole bunch of complex operations on all sorts of data. That flexibility doesn’t come for free - financially nor performance-wise! Given:

    • engineering chops
    • a firm idea of the type of data
    • a firm idea of the possible operations you may want to do with that data

    then there’s a whole range of different approaches to take. The “just use Postgresql” guideline makes sense for most CRUD web systems out there. And there are architecture astronauts who will push stuff because they can, not because they should.

    Every now and then it’s nice to think about what exactly is needed and be able to build that. That’s engineering after all!







  • As someone who never did much web development, I was… surprised… at the amount of tooling that existed to paper over this issue. The headaches which stood out for me were JavaScript bundling (then you need to choose which tool to use - WebPack but then that’s slow so then you switch to esbuild) and minified code (but that’s hard to debug so now you need source maps to re-reverse the situation).

    Of course the same kind of work needs to be done when developing programs in other languages. But something about developing in JS felt so noisy. Imagine if to compile Java or Rust you needed to first choose and configure your own compiler, each presenting their own websites with fancy logos adorning persuasive marketing copy.