HackerTrans
TopNewTrendsCommentsPastAskShowJobs

lhorie

no profile record

comments

lhorie
·il y a 3 ans·discuss
Big tech companies have entire departments dedicated to this sort of engineering, usually developer platform/experience/productivity, or other similar infra/platform orgs. I'm an author of an open source framework who got scouted to work at one (and I'm currently a staff eng).

IME, yes there's comparatively far more CRUD roles than platform roles. But bluntly speaking as someone who's been on both sides of the fence, platform roles are not for everyone. For these roles, there is a expectation of quality by very technical stakeholders and this creates some pressures and incentives that don't necessarily exist in orgs that cater to non-technical faceless stakeholders.

In practice, a big challenge is to avoid being someone who is "not hardcore enough" (i.e. incapable of implementing large scale reusability due to lack of ability, tendency to cave to timeline or other pressures, or distaste for "office politics") but also avoid being "too hardcore" and being constantly in the weeds chasing some cool clever idea that might not align w/ overall picture.

One thing that is often overlooked in open source projects with sizable communities is the amount of cat herding you need to do. People have all sorts of ideas for "features and improvements" and sometimes your job as a BDFL may be to say "no" to your most ardent supporters. This also happens a lot for staff level platform work.
lhorie
·il y a 3 ans·discuss
The problem isn't demonstrating understanding of what a cache does conceptually, in fact any SWE worth their salt ought to be able to explain caching. The problem is if the candidate's decision to add a cache causes the system behavior to become obviously incorrect upon an ounce of further inspection, because this demonstrates a lack of foresight about local maxima vs global maxima, and systems are all about trade-offs at the macro scale.

Caching is an easy thing to blurt out in an interview setting, but not all problem spaces benefit from caching and caching often isn't the only available solution, or the most ideal one.
lhorie
·il y a 3 ans·discuss
The way it typically fall aparts for my candidates is I ask about optimizations, they say X could be cached, then I ask about cache invalidation and lo and behold, it didn't even occur to them that the cache needs to be invalidated at some point, so they blurt something along the lines of doing the entire expensive operation again and checking it against the cache, or something similarly nonsensical.

More common than I'd like to admit.
lhorie
·il y a 4 ans·discuss
I transitioned from product work to platform/dev productivity work (think frameworks, internal tools) surrounding the web stack, which is a form of extreme specialization. It effectively means I'm not directly dealing w/ useEffect stale closure sort of crap, but instead I work w/ things like supply chain management, CI flakiness and build optimization, which involves developing a skillset that doesn't really fit into the "jack of all trades, master or one" narrative; it's more like developing depth in a wide array of obscure things plus a large dose navigating "working groups" to complement a workforce composed largely of React experts.

Career growth is currently primarily coming from increased internal impact at a large company. In terms of future career growth, most of the recruiter spam I get for Senior/Staff/Principal roles is below my current pay grade, so I expect that further growth will require shifting more and more into director track.

</two-cents>
lhorie
·il y a 4 ans·discuss
There was actually a fairly high profile boomerang in the news last year - and at Amazon, no less - Sukumar Rathnam went from engineering manager at Amazon to CTO at Uber to VP of e-commerce services at Amazon, all in the span of less than two years.
lhorie
·il y a 4 ans·discuss
Basically, it's supposed to describe this:

- Bob works at Amazon as a SDE 2

- Bob finds getting promoted to SDE 3 is hard (despite being qualified) because the bar for promotion is too nitpicky/convoluted/whatever

- Bob quits and goes to work somewhere else

- Bob then applies for a job at Amazon again, but for a SDE 3 role. He lands the job, effectively getting a promotion in a really roundabout way.

The premise is that getting hired as a SDE 3 is presumably easier for someone who was already a successful SDE 2 than it is to navigate promotion committee politics internally for that same SDE 3 title.

This "trick" isn't limited to any specific company or role level; rather it's mostly a hypothetical scenario that is used as an insider joke when there's a perception of an overly obtuse promotion criteria.

In the context of this thread, I'm guessing they're saying that lowering the hiring bar would effectively open the floodgates for ex-amazon people to join back at higher paying roles since they were already able to pass the previously harder interviews.
lhorie
·il y a 4 ans·discuss
Judging from what an insider in the HR org told me, we're going to be hearing a lot of stories like this going forward. Apparently, Amazon scale is so large and their attrition rates are so bad that in some markets, every potentially qualified candidate has already applied and failed an interview, or previously worked at Amazon and quit. As the adage goes, necessity is the mother of invention and Amazon seems to be at a point where it really needs to try everything under the sun to try to attract talent, given their extremely poor reputation.

With this said, from reading the article, this move seems reminiscent of Netflix's pay structure, in the sense of offering a higher cash portion but lower equity. Some people here already mentioned that this was already sort of the case with a sign on bonus compensating for the backloaded vesting structure. From my experience interacting w/ professionals outside the FANG bubble, equity tends to be a bit confusing, so I wonder if a move towards bigger cash portions is a way to try to lure people who wouldn't otherwise be looking at big tech as a prospective career choice.

What's also curious to me is that bumping up cash comp is in direct opposition to the trends from some other tech giants, where they are frontloading equity vesting. My sample size might just be small, but it feels like cash comp seems to correlate somewhat with bearish stock feeling and that frontloaded equity tends to correlate w/ bullish stock feeling. Would love to hear whether I'm off the mark here or not.
lhorie
·il y a 5 ans·discuss
In case it wasn't clear, that example compiles without error, whereas a more strict compiler would complain that a any is not a Thing, or some similar error.

The code doesn't even throw runtime errors, but you wouldn't be able to tell something is wrong unless a) a request providing the json string actually responded with the error string in the example (an edge case that is very easy to overlook during regular development) and you managed to catch the problem in tests, or b) you specifically went digging into the file that defines getThing looking for the implicit any cast that the compiler didn't tell you about or c) there's a compiler update that turns that any cast into an error

What others are saying is that Java and friends do c) (throw compilation errors when implicitly casting between incompatible types)
lhorie
·il y a 5 ans·discuss
> you still need to have good developers writing good code, but TS will make it easier

Very true. Typescript is still immensely helpful in the sense that it will complain if you pass a Thing to a function expecting a Foo, regardless of the fact that Thing is meant to be a thing but is actually an error.

But IMHO, by sticking to a decision to be lean in terms of transpiled JS, TS suffers greatly from cases like the one I showed. It would be great if the compiler enforced that these types of unsafe casts had to be explicitly specified (even if via some strictness flag), and even better if it could do a better job at refining types through runtime constructs like `if (typeof thing.name == 'string')` (it does do it to some limited extent, but not enough to cover many common scenarios, due to the curse of targeting Javascript, as you mentioned)
lhorie
·il y a 5 ans·discuss
Ironically, as someone who has experience w/ both fast-and-loose JS and with "properly" statically typed languages, my beef with typescript is precisely that it allows people to be fast and loose, sometimes in ways that are not super obvious. For example:

    type Thing = {
        name: string,
    };

    function getThing(): Thing {
        return JSON.parse('{"error": "invalid id"}')
    }

    const thing: Thing = getThing(); // lie to me!
    console.log(thing.name);
This is a trivial example to illustrate the idea that it's relatively easy to make a type that cascades through a very large app but which is backed by a complete lie.

I definitely think that there's also something to be said about meta-programming yak shaving (e.g. people wasting hours trying to write a "function" that takes an enum and outputs another enum w/ a fixed prefix, when simply writing out the enums would've taken 30 seconds w/ VSCode's multiple cursor feature)

Personally, the value I see in TS is in cementing documentable facts about a system: e.g. such and such function takes such and such well-defined entity, dot not treat this `options` argument as a generic bucket for pass-through garbage.
lhorie
·il y a 6 ans·discuss
Salaries do get affected by WFH policies, since if you move to a cheaper state/country, a company will often do a pay adjustment. So, from a cost savings perspective, it becomes a question of how much a company thinks being in the Bay Area brings in terms of attracting talent, vs how much they can save by having their employees work from Pennsylvania or Canada or India.

I know companies in Canada that are way ahead of the curve on this: they've been consulting for American companies for years, meaning they can afford way more person hours than american counterparts given a US dollar contract size solely because of the salary gap difference.
lhorie
·il y a 6 ans·discuss
Huh? I just said that would largely not be considered tolerable. Imagine working at a food court as a flex hours worker and jumping between the KFC counter and the McDonalds counter during the same shift. That might maybe sort of work if only one person does it, but that scheme is going to fall apart on the first lunch hour if all your employees are flex.

What employer would allow that?

Of course an employee can work at KFC and McD simultaneously if they can make arrangements to not have shift conflicts, and likewise one could hypothetically be a Uber employee in the morning and a Lyft employee at night, but why go through the trouble of working effectively full time but only getting redundant part timer benefit packages?
lhorie
·il y a 6 ans·discuss
> If I don't want to follow the law, that's my own choice and I bear responsibility

Sure, but the law is supposed to be in service of the people, otherwise it's no different from a dictatorship. The fact than some 100k drivers are in the prop 22 coalition alone should say something about what _they_ want.

> I'm sure Uber/Lyft could have spent some of the $100 million

How sure? More sure than the companies actually doing the due diligence of crunching those numbers to make such a large decision? $100M may seem like a lot of money, but consider that this was a one time spend, vs the ongoing cost of things like an HR org, etc

> that would have been the thing to do

TFA says they would only realistically be able to hire a fraction of current drivers (and the drivers themselves generally prefer to be contractors), and service reliability for riders would plummet to boot.

One could put it in different ways: if a driver wants to be an employee, then why not seek employment at a taxi/transportation company that works under that model? (amazon is hiring, for example) Why not put a taxi sign on a car and go line up at the airport with a zoned price model as a sole proprietorship company? As a software developer, I have the equivalent of all these options available to me. It would be inconceivable to enter a software development contract agreement with a company and then turn around and say they are now obligated by law to hire me.
lhorie
·il y a 6 ans·discuss
By that logic, legislators could have chosen not to put forth AB5 and none of this discussion would be happening. Also, as I said elsewhere, one does not simply ramp up an HR org (plus whatever else) w/ capacity for an extra 50k headcount "just in case".
lhorie
·il y a 6 ans·discuss
"knew it was coming" is hindsight 20/20 thinking. They've been fighting it tooth and nail the whole time. If prop 22 passes (as it seems it will), then can we really say we "saw it coming"? And likewise, legislators knew about the Austin precedent, so they can't say they "didn't see it coming" either.
lhorie
·il y a 6 ans·discuss
> Instead of telling people "hey go drive around endlessly in SF, hours from where you live. Also, you get no benefits" we can choose to bolster those local economies or we can choose to force companies to provide benefits. Either one of those options will make their lives better. We have chosen the latter

Well, no. Prop 22 would force companies to provide benefits, and the rideshare companies themselves are behind it. What was actually chosen was to just put drivers out of work altogether until November at the earliest, because the government deemed that the current compromise was not good enough.
lhorie
·il y a 6 ans·discuss
It doesn't need to be mandated by the state. If the employer states that you cannot work for their competitor during your shift, then that is an enforceable term of employment (and FWIW, a very reasonable one that no one would bat an eyelid for in virtually any field of employment).

For example, if you were employed by Lyft as a driver, then presumably you would be neglecting your job duties if you refused to pick up a customer on the grounds that you happen to be driving a Uber customer at the time.
lhorie
·il y a 6 ans·discuss
I read that some 41% of people support prop 22 as of today, vs some 26% against (and 34% undecided)[1]

I feel like a shutdown would certainly bring it to the top of mind for people and help convert the undecided, but it already looks like it'll pass, shutdown or not.

[1] https://redfieldandwiltonstrategies.com/california-propositi...
lhorie
·il y a 6 ans·discuss
But earning more means paying more taxes. If the tax rates are comparable, then your argument entails that the US government gets even more tax revenue than other countries per capita, so it makes even less sense that it then presumably spends those tax dollars on things that are not related to healthcare, whereas countries like Canada and UK do consider healthcare one of their priorities in their budgets, while still maintaining things like military operations and space programs.
lhorie
·il y a 6 ans·discuss
Well, it's not "nothing". It requires having an HR org that is able to process some 50k extra headcount, among other things.

The companies already stated that hypothetically, they would hire drivers and raise prices if it came down to having to use an employee model in California, but the case they're making is that while that scenario won't be a fatal blow to them, it'll severely suck for riders and drivers.