I really like it, but TypeScript syntax is a bit unreadable with it.
I'm used to Scala which looks a lot cleaner with extension methods and collections being immutable by default.
Unfortunately, I can write almost everything you wrote about Israel. The problems are very similar even thought the countries are very different, especially regarding their starting point and challenges.
Loss of control over vast areas by the government, property prices, rent rising rapidly. Teachers leaving schools due to out of control children.
I intentional keep my digital size very small (easy to backup, less emotional and cognitive burden), I am currently at around 40GB.
- 25GB of dslr photos (I filter aggressively)
- 400mb of code, university stuff I kept
- 250mb of documents
- 10GB in google photos
- A few GB of movies, ebooks
I recently went over the few thousands of emails I had in gmail and erased anything I don't need, I was surprised to find I only kept about 200 emails at the end of the process.
> 11. One of the biggest differences between a senior engineer and a junior engineer is that they’ve formed opinions about the way things should be
I found that another thing which separates a junior from a senior is tendency to give up and cut corners. Stuck a wall making that integration test work? get back to it after the current task, don't settle on manual testing.
But maybe that's a trait of bad developers, rather than junior ones.
I really disagree with point 11. I've seen and worked with so many "senior" engineers who had wretched opinions about everything. One thing in particular is what I like to call "perl behavior". The structure and logic makes perfect sense to the developer but is borderline gibberish to anyone else. Eventually senior software engineers enforce their view as the baseline(which is over flooded with anti patterns) to junior developers and they too end up pouring buckets of the same gibberish everywhere. For example custom built linters which partially follow some standard, and partially doing the complete opposite of what the standard says. But you know... The senior engineers enforce it and 2 years down the line when the junior jumps into another job, it's back to the basics all over again. Anyone with X number of years of experience has strong opinions, that does not make anyone "senior". To my mind, point 11 should be the ability to consider, shift or change your strong opinions when presented with an alternative.
Umm, I don't agree (with OP). Senior (or juniors, if it matters) engineers who have strong opinions about anything are, in my limited experience, very stubborn and difficult to work with. I find myself more and more answering with "it depends, give us more time to see what can be done/what tools we can use".
We switched Ruby -> Scala, and it took considerable training effort and some years before everyone was comfortable.
I would estimate 15% of the developers still can't write moderately good Scala code.