47 karma · joined August 8, 2019
But yes, the tones are the hard part. The grammar is straight forward and similar to English, and characters are (almost always) pronounced only one way.
Then they gave me an assignment to build a particle system. They provided a rendering framework and then I wrote the code to generate the particles. It was so much fun that I spent a lot of time on it. The follow-up was a panel with four engineers and we just went over my particle system code where they asked me about my reasoning for certain design choices, possible edge cases, etc.
It was all very positive and I got the job.
I much prefer the code review style of interview because I'm not good at writing code or problem solving while someone is watching. I've never been offered a job that had any sort of coding/whiteboarding component. My brain often presents novel solutions to complex problems at 2AM after I've slept on it, or during a walk around the block, and that sort of thinking isn't exemplified well in many technical interview scenarios. Talking about code I've already written is much closer.
They talked about, among other things, how they had to:
- digitally replace the stunt man's face in many of the action shots because his jawline was too dissimilar to Robert Pattinson's.
- digitally modify a hand because a prop gun misfired in a shot
- enhance the fight scenes to look more visceral and violent
- add rain and rain spatter to the car chase (the parts that weren't already fully digital)
I'm no filmmaker but I felt many of those things could have been done without VFX. Hire a stunt man that looks more like RP, reshoot the scene with the broken prop, forget about rain and/or tone down the epic action set piece, etc.
Instead it seemed like it all just came to rest on the shoulders of the VFX artists.
The Elements of Computing Systems - Noam Nisan, Shimon Schocken
Operating Systems: Three Easy Pieces - Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau
It's definitely well-written and you can feel the love and care that went into producing it. But I think it would have been stronger had Nystrom skipped the Java version and spent those pages on theory instead before jumping into the C implementation. While going through the Java stuff (implementing in C# instead because I have an emetic reaction to Java) I found myself just wanting to hurry up and get to the good stuff in C. And I found the visitor pattern and code generation stuff to be a distraction.
The code can also be a bit hard to follow at times because he jumps around from file to file and function to function. He'll present a function that calls a function that doesn't exist yet, and then define the new function, etc. He does it that way because he wanted to ensure that every single line of code was present in the book (he wrote a tool to ensure that was the case), and it certainly helps if you're trying to copy his code verbatim, but not so much for high-level understanding. Maybe that's a failing on my part.
Finally I wish he had gone into more detail on how one might implement a register-based VM because they are faster and more interesting (to me) than a stack-based one.
Game Maker's Toolkit has a really good video on why it's difficult: https://www.youtube.com/watch?v=gwV_mA2cv_0
Return of the Obra Dinn and Her Story are the best I've played so far, each excelling at different things.
I adore the first few hours of the original Metroid Prime where you wander an alien planet discovering new things for the first time: new plants, new animals, strange Chozo artifacts. Some of them want to kill you; most are just going about their business. It's magical.
Then the Space Pirates show up and the entire tone changes and the magic is gone.
I still very much consider myself junior but someone I know with less experience than me just recently got a job with "senior" in the title. I have seen senior job postings that say something like "3+ years of experience."
I absolutely do not consider myself senior and I don't think I will for at least seven more years.
There's also something satisfying about seeing incremental abstractions develop in an intuitive way.