797 karma · joined January 31, 2012
https://www.linkedin.com/in/avikdas1990/
Yes.
> how do you _learn_ the layout then?
Using an image of the new layout, and by doing drills. If you care about touch typing, you're training to type without looking at the keyboard anyway.
This is how I learned to touch type on Dvorak years ago. I had never learned to touch type on QWERTY before, and I still can't. But then again, I typically don't type on other people's computers and when I do, I look at the keys.
The beginner's perspective exposes a lack of information on the topic, especially if the topic is usually covered only by experienced folks. It's also a great way to gather feedback from others who know more about the topic, aiding both you and anyone who reads the resulting discussion/follow ups.
The key is to be transparent with knowing about the topic and explicitly soliciting feedback in areas where you have low confidence. This is the part many armchair experts miss.
It really helps to have your own personal knowledge store, and writing in a way that can be published publicly helps me write clearly. Future me benefits and so do readers who I never expected would stumble onto on my writing.
And while I would say HN is often times civil, I've definitely seen misogynistic or otherwise demeaning comments here.
I hope we can learn from that lesson, though given the negative response I've seen to Codes of Conduct and the calling out of sexism within our industry, I can see growth being a very slow process.
What kinds of uncommon scenarios and edge cases have you encountered in your experience? Are these questions trivia about specific frameworks and languages, or something else?
I don't mean to suggest all startups forgo mentorship, but often, smaller startups simply don't have processes in place for most things, including mentorship. And of course, what you get mentored on depends on the company too: at a big company, the focus may be on growing your career, whereas the mentorship at a smaller company may be about navigating an uncertain product roadmap.
Unfortunately, getting into a big tech company (especially when not doing so right out of a well-known college) requires a lot of luck, so getting access to this mentorship isn't exactly easy...
I don't claim to understand the underlying tech for Spanner, since I haven't read through the research paper fully. But my understanding is that write latencies are increased, which is a trade-off that has to be made. No matter what, _some_ trade-off is necessary, unfortunately.
To be honest, this is the type of knowledge I actually had to unlearn when I decided to try my hand at early-stage startups. Unfortunately, this is also the type of knowledge that's helpful to go from a startup to a big tech company, where you get the chance to learn this in the first place! Hopefully my writing can help bootstrap that knowledge for others.
A couple of years ago, I wrote a Javascript implementation myself: https://github.com/avik-das/js-raycast
And then, when asm.js (precursor to WebAssembly) became a thing, I rewrote it in C and compiled it to asm.js: https://github.com/avik-das/emcc-raycast
I'd already written a ray tracer (so a fully 3D renderer) prior to that in college, so it was fun to learn about a more limited algorithm that was better suited to older hardware.
- A large range. It looks like CUIDs support a short version, but the README calls out the short version should only be used for disambiguation, and are "absolutely not recommended for database unique IDs".
- Encode the partition in the ID. In this case, the partition is either based on the browser or the process ID of the server.
Cool stuff, thanks for pointing it out!
And the worst part of this is, from the inside, it really looks like the process is working. After all, there are some really smart people who get hired, and saying the hiring process is bad feels like you're saying your coworkers aren't smart. But the truth is, these companies are hitting smart people. They're just hitting a non-uniform dust of all three smart people out there.
I think this is an opportunity for smaller companies to hire people who wouldn't make it into the big companies, and innovate in a way the big companies can't!
[0] https://hiringfor.tech/2020/02/10/false-positives-and-false-...
2. At work, I recently completed a really long project with a large team. I'm trying to make the lessons learned accessible to others in the company because they'll also be undertaking similar projects soon. That means documenting my learnings at a level of abstraction that allows others to not make the same mistakes as us, but still have enough flexibility to tailor their implementation based on their team's needs. The hard part is the intersection of technical and people-oriented knowledge dissemination.
This year is going to be focused on a lot of teaching, which I'm excited about.
I know people might use tools like CMake, instead of writing Makefiles directly. However, it's still good to know this important part of the Unix ecosystem.
(I was inspired to submit this to HN based on the discussion around "An opinionated approach to GNU Make": https://news.ycombinator.com/item?id=21812656 - a fantastic article, but one you get a lot more out of if you understand the basics first.)
The way I'd put it is "just let them talk for 5 minutes" is another person's "actually listen to them before offering feedback". I'm constantly surprised by how many people offer advice without even hearing what the problem actually is.
99% Invisible has a great episode about it: https://99percentinvisible.org/episode/the-gruen-effect/
It sounds like his behavior was alienating people who would have been willing to work toward that shared goal, but were instead pushed away. So based on what I'm reading, he was a poor leader in this regard.
What about long-term potential? Someone may solve the current task well, but will they grow in skill in order to take on larger challenges? Someone who can grow in this way may be better to keep on the same project because they will also have historical context while scaling with the project.
> The "best" is found by measuring his aptitude (tests, etc.).
Measurements for "aptitude", especially tests, are easily gamed and don't in any way guarantee actual competency.
Sometimes, the fact that someone didn't go to a top-name school limited their choices. If they went to local state school far from Silicon Valley, and they didn't have money to move to the Silicon Valley right away, they may have worked at small, non-engineering-focused companies. So yeah, maybe they're really capable, but 5+ years into their careers, they haven't had the chance to demonstrate it yet.
Some companies believe the most skilled people are the ones who have demonstrated certain technical abilities. Under this form of meritocracy, the companies delude themselves into thinking they've hired the most skilled people, but they haven't.
The inclusive meritocracy in the article solves that problem by expanding the definition of skilled, and by investing in a more diverse group of individuals. This results in more (in number) skilled people at the end of the investment.
So even that part can have some component of perpetuated exclusivity.