HNHacker News
TopNewBestAskShowJobs

Bahamut

4,880 karma · joined August 3, 2013

Web Developer, Mathematician, Marine grunt
submissionscomments
Bahamut··on The Road to Scala 3
FWIW, I'm in a FAANG and finding Scala devs is even a problem within my own org and team. We've resorted to teaching largely Java devs Scala on the job with mixed results. A former senior manager who made the decision supposedly viewed going all in on Scala as a mistake in large part due to the huge time loss in ramping people up & problems hiring.

I like what I've used of the language at work, although I tend to write a lot of JavaScript on a day to day basis, but to say the right hiring process makes Scala an advantage is not quite right in my own experience.

Bahamut··on State of JavaScript 2019
I'd argue that inheritance and mixin patterns are both things you should stay away from, whether it's Angular, React, or whatever, they have proven to be poor patterns IMO and it is simple enough to create reusable abstractions without relying on those.

Code reuse is fine with Angular in my experience - it has been 2.5 years since I last used it though, as I have been working with React in that time and my frustrations about certain aspects of using React & the community has me in a the grass is greener on the other side sort of mindset from time to time, although I know things are not perfect with Angular either (I have some complaints there too).

I've basically learned to accept that using off the shelf libraries come with tradeoffs that you just have to accept as a dev.

Bahamut··on State of JavaScript 2019
It surprises me too personally - the testing experience is worlds better, better built in modules than what you get in the React ecosystem (especially routing, http request layer, forms, testing, etc.), and opinionation that helps improve the overall experience of working with it. I miss my time with Angular sometimes - my only gripes is TypeScript being limiting with regard to function composition, and creating a component in Angular requires quite a bit of boilerplate compared to React.

To some degree, I feel there are a varying set of reasons why people have settled on React - some were never fans of AngularJS/Angular and some disliked how Google handled the migration story from AngularJS to Angular are probably the strongest reasons. TypeScript also not being terribly FP friendly is also a huge negative to some, whereas React enables more functional patterns overall. Some also dislike separate HTML templates vs. HTML in JS templating, some prefer to cobble together a bunch of small modules together, even if the modules are weaker on average.

Ultimately, I think Google fell short on DX with the change over to Angular 2+ and the damage has lived on since, which is a shame because as a framework it was built really solid.

Bahamut··on JavaScript Is C
I personally found JS much easier and accessible than Python, but YMMV.

I tried a number of different languages when I first started seriously pursuing a job in dev - C++, PHP, Ruby, Python, and eventually I settled on JS. JS let me quickly get something working while being able to understand what was going on. The other platforms had various barriers that made it difficult to focus on what I wanted to do because I had to know a ton of other things first, or to accept not knowing how something functioned (especially true with Rails).

The only real gotcha I really had struggled with in my first year as a professional dev was reference variables, but that is a gotcha you could run into in most standard languages and not unique to JavaScript.

Bahamut··on The World's First 20-Hour Airline Flight
For another data point, I just completed a flight on a United 787 from SFO to Seoul (12-13 hours) - that was a rough flight, almost as bad as my flights from SFO to Haneda (I puked on or from both flights to Haneda), and I had a wicked headache after landing.

I wonder if I have some pressure sensitivity that affects me on these long haul flights, as I haven’t felt it on domestic flights or flights from SFO to Heathrow (or back). In addition, I know I am susceptible to altitude sickness.

Bahamut··on Startup options are better than they look (2017)
That's why I'm at a big company now instead of startups, where I have most of my experience in my career (about 5 years). 2 years of working at a lower paying FAANG and I am getting ~$320k total compensation for a mid-level dev (granted, that is as a top performer) - that is double what my last job (startup) was paying me.

I think I'm now on a road of buying a house in the Bay Area sometime down the line, whereas my previous years of working brought me no closer.

Bahamut··on Requests moved to Python Software Foundation
You can do that in a branch without polluting git history.
Bahamut··on California Approves Statewide Rent Control
Before Mountain View landed rent control a few years ago, my rent was being increased 10% year over year - I had enough after 3 years and moved to Sunnyvale where my rent was $50 more a month for an extra bedroom and 300-400 sqft extra.

Interestingly, my rent has remained stable ever since moving - guess it's possible to have much better luck with smaller landlords.

Bahamut··on Why Clojure?
My team owns a Clojure app, amongst a lot of other apps - my understanding is the current DRI (who inherited this app once the original one left for another org) doesn't like working in it though, and that has been the experience of other developers who have been recruited to the project over the past two years. Most developers I work with on a day to day basis don't have any interest in learning Clojure, and would rather work with Scala, the JVM language most heavily used within my org.

One of my teammates also has production ClojureScript experience, and called it the worst of both worlds (Clojure and JavaScript). The primary problem is it doesn't try to abstract away the DOM, the most typically problematic part of working with JS.

Just my own encounter with it so far - I haven't had the experience of writing production Clojure myself, but from what I've seen with the syntax, I'm still happily primarily writing JS so far when I'm not writing Python/Scala/etc.

Bahamut··on Brief thoughts on getting hired as a senior coder
I too wanted to comment on some of the points, as this just isn't a well written article and reads more like the rants of someone who isn't ready emotionally, letting the frustrations boil over into not evaluating the scenarios properly.
Bahamut··on Ask HN: How do you deal with professional envy?
Consider a friend. Now imagine if the friend won a professional lottery of some sorts - one example could be that the startup they slaved at had a huge exit and their stock became worth a couple of million $.

How would you want to respond to the friend?

Personally, I would congratulate the friend on his/her success. I want good things to happen to my friends. It doesn’t take away from my own successes, or change anything about what is going on in my own life, so there is no value in tearing people down.

Hopefully this perspective helps in reorienting one’s mindset.

Bahamut··on Choose Boring Technology
As a counterpoint, I have had a developer who had wrote production ClojureScript tell me it was the worst of all worlds - it doesn't abstract away issues of the DOM and yet you still have to debug what was happening in JS and translate it over to Clojure.

Another thing I noticed is that most developers who had to touch Clojure in my org all pretty much didn't like it at all.

Bahamut··on Ask HN: What do middle-level managers do?
These middle layers are doing a lot more work than you probably realize. I am a little more privy to some of what they do being a senior IC at a FAANG (6 managers away from my CEO) - sometimes managers take on projects that have to be done but are outside their team's scope. The scale of the project may vary depending on what level they are. My own senior manager was in charge of one such project that ended up affecting the whole company (100k+ employees). They might be in high level discussions with executives about plans on a weekly/monthly/quarterly/yearly basis (potentially all 4 of these levels, like my own is), and doing advance planning before first level managers and senior ICs become involved. These managers often have to have an acute sense of what kind of product may be needed, but good ones will leave the planning of the details to their reports. Their job is to make sure other teams/orgs are aligned and that their team/org delivers on expectations set by all parties.

There becomes a point where it becomes impossible to have everyone be aware of all the knowledge and nuance that is going on without it creating immense noise - when this happens, these middle layers become vital. You still ideally want as little of them as possible, but they all should ideally serve very important purposes. I'm very thankful for all the levels of management in my own organization and company at least (experience may vary of course), it is the best management team I have been under at any workplace - other than my direct manager, each level of management up my chain has over 10 years of management experience apiece.

Bahamut··on Slack – Degraded service affecting multiple features
Even worse than the channel mechanic is the thread mechanic - anyone can turn your comment to a thread, and you cannot mute threads by default. Even worse, updates to threads suppress channel unread notifications, causing you to miss updates.

Manually having to follow threads and unfollow threads is a nightmare compared to the one time configure experience of channels, especially since you cannot just mute all threads, and is easily the worst part of Slack to me.

Bahamut··on macOS Catalina Will Replace Bash with Zsh ― Scotch.io
Most shell scripts start with a reference to the program that should execute them at the top of the file (i.e. #!/usr/bin/bash), so this shouldn't affect most people, especially since this change will only apply to new users.
Bahamut··on Show HN: A job board for companies fighting ageism in tech
There’s definitely a shortage of skilled professionals - we have a hard time hiring without lowering the bar as well, and I am at a FAANG. We don’t necessarily care if someone has experience in most of our stack - myself, I hardly had any experience in almost any of it when I joined, but I had the combination of soft & technical skills desired.

Since I joined, I have said no to all but 2 candidates I phone screened, and one of those I rejected in the onsite. We didn’t even ask a difficult question for people to implement, but people demonstrated their lack of thoughtfulness in how they approached problems.

I don’t care how old people are - one of my teammates has been at my workplace for a little under 30 years and is valued for his well-honed perspective, tireless QAing, and reliable execution. Regardless of age, I expect people to intelligently talk about tradeoffs, and keep an eye on the problem that is being solved & its effects on the end user.

The interesting thing about bigger companies is compensation stops matching up with the value created. Jumping up $100k-150k in total compensation usually correlates with an exponential increase in productivity increase from the person’s presence, and usually that increase is not from code.

Bahamut··on macOS Catalina, 64-bit, 32-bit, and related Questions
And this is how we end up with long lifetimes for software like Internet Explorer, which ends up holding back most people's experience with the web, especially mobile, because a lot of extra scripts/code has to be shipped to maintain compatibility (polyfills, newer features can't be used and thus must be compiled around, etc.), which directly impacts the value being able to be delivered to end users costing more or having less time being able to be allocated to doing so.

More people have to suffer usually if software ends up long lived without being pushed to upgrade when there are newer technologies that improve the experience - it's a heavy price of others you're asking for a lot of times when choices have to be made between compatibility and improvements that often get discounted unreasonably.

Bahamut··on Bronx High School Math Bulletin (1957) [pdf]
Bronx Science is one of NY's most famous public schools, along with Stuyvesant and Brooklyn Tech - these are the top 3 of NYC.
Bahamut··on $1B for 20,000 Bay Area homes
They definitely are - two years ago I left a previous place that had jacked up my rent for a 1 bed/1 bath place to a little over $2600, and was frustrated by the housing market in Mountain View. Most places were charging over $3k, with some going even over $5k. I ended up settling in Sunnyvale for a 2 bed/2 bath place for $2700.
Bahamut··on Interview with the creators of levels.fyi
I have been told there is guidance that generally that either management gives a lot of stock or none.

It probably does also vary with your role/responsibilities - I am a software engineer in SWE on high visibility/impact work. Apple does definitely does make you earn refreshes - they don't give them for average performance oftentimes is my understanding, there seems to be a lot of stories out there that this is the case.

Bahamut··on Interview with the creators of levels.fyi
At Apple, they are very generous with refreshers - my initial grant was $105k, and my refresh grant was $125k and I expect at least similar, if not more, for my refresher in a couple of months. The only reason my refresh did not exceed my initial grant was because my initial grant climbed almost 40% in value in that time.
Bahamut··on Relearn CSS layout
I work for Apple.
Bahamut··on Relearn CSS layout
This is not quite necessarily true - I work at a tech giant and we've opted for using scss still & are quite happy with our choice.
Bahamut··on No Kings: How Do You Make Good Decisions Efficiently in a Flat Organization?
This can be headed off by not rewarding bad behavior in peer reviews/manager reviews. In addition, such behavior could be used to lay off the offending person.

Not that I'm a fan of completely flat organizations.

It should be noted that the right way to be productive in a flattish organization is to influence people - this is no different in a big company from a small company.

Bahamut··on Traffic-busting $100B Bay Area tax plan taking shape
Tokyo?
Bahamut··on Why I'm still using jQuery
Doubtful - 30 kB minified & gzipped is a lot of code, and the fact that jQuery doesn't help with your code organization/keeping code DRY much is a huge negative.
Bahamut··on Why I'm still using jQuery
As with many things, the answer is it depends on what you do. I inherited an app that serves about 1m requests a day, and server-side rendering of the HTML is one of the reasons why we're going to decommission this app, as the performance of the server-side rendering here is atrociously bad/unacceptable. We reimplemented many of the same features in a SPA that does a lot more overall and the performance difference is night and day between the two.
Bahamut··on Why I'm still using jQuery
I've seen the flip side of the coin in an app I inherited at work - it turns out server-side rendering can be significantly slower than client side rendering if you're rendering a lot of content, to the point where we hit an automatic timeout. If this app was a fat JS app, we probably wouldn't be trying to decommission it & it probably would load in seconds at worst, but the investment to modernize it/improve performance & scalability so it would meet our users' needs is too much.
Bahamut··on Leaving Google Fi
Had a similar experience with Google Apps - Google's customer support process is inept by design, which is the primary reason Google doesn't get my money anymore.
Bahamut··on Virtual DOM is pure overhead (2018)
I work on one with React that is too slow in the browser with a team that only has senior devs, and users even filed bugs about the performance - we do heavy computations, and React's model of blocking rendering on having everything updated can freeze our UI for up to 10s while data comes in from various API requests. I believe our app would be performing much better for the end user if we were using Angular 2+ interestingly enough due to its built in incremental updating - there would be other tradeoffs though.

Part of the problem is not having good enough APIs currently (we have to make too many API requests and data payloads are too fat, sometimes up to 2 MB per request), but imperfect APIs tend to be the case in a lot of apps early in their lifecycle. I've actually been a bit disappointed in React's performance from a UX perspective.

← PreviousPage 4 of 34Next →