Not sure about the US but in Europe there is Revolut that allows you to create virtual credit card numbers tied to your main account. They can be deleted/disposed of at any time in the app.
> If I had to describe the style of Scala written at Databricks, I’d put it at 50% Java-ish, 30% Python-ish, 20% functional
This is interesting as in taking a different approach to most other Scala shops I’ve experienced so far where die-hard monoid/functors fanatics take over and make the code base completely incomprehensible to outsiders / new hires. This seems to be a much more sensible approach.
die hard functional scala is the exception not the rule. this isn’t really constrained to scala, language zealots can exist in any language. the real problem is a lack of understanding what maintainable code is
Yes, over-engineering is common in many languages, especially Java, where Spring and OOP patterns would be deployed everywhere. It is not a unique problem to Scala.
From my experience job hopping usually pays off (at least financially). Bumping your salary in the next job by 50% is not uncommon while may be much harder to achieve when staying at the same firm for years.
As others have pointed out before, interviewing is a skill that can and should be practiced. The best way to prep (except grinding through leetcode problems) is to go to a real interview and practice telling real stories from experience and solving problems in real time under stress. So yeah, I would definitely recommend going to at least a few interviews for jobs that might not be your first choice before going for that “dream job” interview.
Purchased U2720Q after reading through a number of rave reviews and can definitely vouch for it. Excellent 4K image quality and works well with MacBook. It's only the monitor though, so no webcam or audio speakers.
Your description resonates quite well with my own experience. I've seen this over and over again in different (mostly large) enterprises. Peter principle at its best where someone with solid engineering skills gets promoted to become mediocre manager to the detriment of the rest of the team.
I think for someone considering engineering manager track your point #9 is really something to keep in mind. Many managers I've met are well aware of the fact that they're simply unemployable outside of their current company, which essentially becomes a "prison" for them.
Looks like Java is slowly but surely catching up to Scala in terms of API, syntactic sugar etc. I wonder if some people disliking Scala compiler slowness would consider the switch back to Java.
Far from it. When Java gets pattern matching, Scala will have moved to version 3.0 with trait parameters, union and intersection types, implicit functions, type lambdas, cleaner macros and many more.
Also, Scala compiler slowness is virtually not a problem any more since introduction of Zinc 1.0. During development, I get repeatedly compile times around 2-5 seconds on Scala 2.11, and recent Scala 2.12.x / 2.13.x showed to be typically 30%-100% faster than 2.11.x.
The whole point of Scala are its advanced features like implicits, higher kinds and macros, and not just syntactic sugar like in Kotlin. Therefore you won't appreciate Scala by just shortly playing with it.
Also in 2018 interop issues or missing tooling problems are long gone.
The first step towards pattern matching will be previewed in JDK 12[1], as a Kotlin-like switch statement, to form the basis of pattern matching[2] together with changes already in JDK 11[3]. I think it will be more like 15 months than 15 years.
I don’t expect higher kinded types any time soon, though.
If it doesn't have what 305 calls "deconstruction patterns" and "nested patterns", it's not really pattern matching. I'll be impressed if those make it in within 15 months.
Once I was asked to continue interviewing candidates after I gave notice, which seemed a little odd at the time (also in Switzerland).