HN user

vermasque

54 karma

vermasque.blogspot.com

Posts10
Comments81
View on HN

CS fundamentals like algorithmic complexity. This can also help in interviews where Leetcode-like format seems to be the norm.

Aim to work at places that are flexible on the experience with tools (software, framework, OS, etc.).

Bombed more than one technical interview but here's one example.

Phone screen interview with Google. Interviewer asked about how I would keep track of the nth highest value in an infinite stream of values. I said I would use a heap. Then interviewer asked to me write the code for that heap in a Google Doc. I can't remember what I wrote, but I'm pretty sure that I barely got started. Boom.

Lesson here is that simply knowing something in general might not be enough. If you think you know something, try implementing it from scratch to be sure.

Compared to REST APIs, I like how it eliminates the coarse-grained vs. fine-grained decision for designing queries in APIs. You can just spec out the model and let the clients decide what they need.

Great question!

Some mechanism to significantly improve intelligence. This could be in any form: book, coaching, game, etc. Some examples of benefits:

- Avoiding making mistakes that cost time among other things (an ounce of prevention is worth a pound of cure). Programming bugs are on my mind at the moment but could be in other areas as well.

- Make faster decisions with more confidence

- Crush programming interviews

- Finding a life partner can be really hard for some (and that some might include you). Ain't going to happen for some of us.

- You'll become more self-aware over time (what you really want out of different parts of life) but can take some time to get there.

- There is a lot to learn, and college will only provide a fraction it. The rest is up to you, and your life will reflect it. How to dress well, cook, stay healthy, establish relationships, think deeply and logically, overcoming your weaknesses, and more.

Yes, I got a job from one of the Who's Hiring threads. Beyond that, it is a daily news source. I check it multiple times a day to just get a sense of what smart people are talking about (glance at the comments and almost never read the source material).

Interfaces can also provide read-only references of a instance. Consider interface Foo with accessors only and a MutableFoo implementation with accessors and mutators. The creator of the MutableFoo instance can make all sorts of changes to the instance but then pass it around as a Foo that can't be modified. Another option is to simply put all the state in the constructor so that a Foo never needs to be mutated; however, that might not be elegant in some cases state is incrementally accrued.

I do acknowledge that XImpl is kinda ugly as name.

A job that I've had for years and 2 people that I hired via the "Who's Hiring?" threads. Beyond that, a sense of what smart techies are talkin' about via the headlines and some comments.

How to Think 12 years ago

Analyzing for a fixed duration and then going with your gut is what I've tried. However, I still get that nagging feeling sometimes that I'm not sure about a decision. In these cases, I either ask someone for their opinion or simply defer the decision, hoping I'll think of the right answer in the shower. Of course, I still need to work on discipline. It's very easy to spend a while on a decision because you can't get away from it until you feel you have a right answer.

More so recently because I'm working with more complexity now: an inexperienced team on top of a code base being shared among 2 teams. Ultimately, you have to counter your fear with preparation to reduce the risk of something going wrong. We use Jenkins CI for running unit tests and doing deploys to a sandbox environment similar to production. However, I have to additionally review my team's diffs to catch problems that were missed by automated tests not being written or by requirements / design being wrongly interpreted.

So I guess the goal is to improve the preparation of a production push.

I've listened to a few books this year (Audible saves me time), but I read/listened to a book that actually changed my life in the summer of 2012 (close enough). I had wanted to become an entrepreneur, but then I read The Millionaire Fastlane by MJ DeMarco. He described some of the things that I really don't want to do deal with: hiring non-engineer employees, using the services of lawyers, marketing, and other business responsibilities. It wasn't that I hadn't heard these themes before, but he said it in a way that made me recognize what I don't want. I just want to be a great engineer. I didn't give up on a dream; I found a better one.