I looked at the code to see why it would be doing that. It seems to handle the font customization stuff by basically downloading all of the variants and then combining them into a zip file in client-side code - even when you do no customization at all. Apparently that code which makes the zip (which I'm guessing is an external library) creates a corrupted one when run in Safari according to a comment buried in the JS.
Maybe it really is a bug on Safari's part but creating custom zip archives is something which would be far saner to do on the server side in the first place.
I'm incredibly excited for this. I thought swift was basically going to be stuck on macOS.
Last time I converted the swift compiler from the Ubuntu package to work on Debian, stuff was looking really awry. Most things work but not simple things like sigterm signals.
Swift is a fantastic language. I think the most advanced and smart language today. And I say this having used over 20 professionally over 25 years.
Just look at how swiftUI is implemented. It's not even a DSL, it's Swift naturally! Compare it to flutter and you'll see how incredible it is. (I do like dart too though)
As for the language it's full of clever features and advanced ideas that don't suck to use and consider the developer real world use of the language.
Two things really suck in swift though; compiler error messages are straight out of the university of assholery and documentation was crafted in Mordor probably.
Of course most libraries probably won't work well on Linux yet but there is a future with the right balance between safety and speed and joy of developing.
Could someone TLDR me what Hexagonal architecture means?
Hexagonal architecture brings order to chaos and flexibility to fragile programs by making it easy to create modular applications where connections to the outside world always adhere to the most important API of all: your business domain.
I'm always surprised that this style of architecture isn't discussed in terms of functional purity [1].
To me, a hexagonal architecture essentially means creating an abstraction at the point between pure and impure functions.
The realization of this approach essentially means the core of your application should be entirely pure and as large as possible. And your impure adapters, at the application boundary, (e.g. a rest api, db client, file system, system clock, etc.) should be as small as possible and impure.
Doing this well essentially allows you to get the best of both worlds - highly coupled code (i.e.your pure functionality) and highly decoupled code (i.e. your pure-to-impure functionality).
Another good reason for leveraging "functional design" as an argument is that many of those skeptical of architectural patterns are ironically heavily onboard the "functional design" bandwagon. So it is a strong argument in a political sense also.
Yes after 25 years this is how I see it. Isolate state into its little dirty corner, think in terms of data structure and its transformation. This has kept me sane for decades. It's simple but so many devs just haven't seen the light yet.
That’s a mighty lot of words, to say “functional core, imperative shell”.
Maybe I’m being glib, but damn, a whole article, and boatloads of fancy new terminology, just to re-state what the author succinctly landed on in the _first_ paragraph:
> Create your application to work without either a UI or a database so you can <do a bunch of nice stuff and make your life easier>”.
Step one: ignore the prefix, this has nothing to do with hex/six. And "ogon" meaning sides or struggle. The sides represent interfaces.
This arch really means use interfaces based on business use cases / domains. Call the User service/module and pass user ids into a billing service/module. Each service is over a defined interface (adaptor) that allows separation of concerns and separate data stores. You could use an in-memory port of the billing service and a real db for the user service service because both implementations leverage the same adapter code
Talk to your manager and try to explain that it doesn't work for you, try and approach it like it's not reasonable in your case to demand 5 days a week - they talk about whenever humanly possible in the memo, I didn't read it in details, but you might be able to sway the fact that it won't work for you your way.
Do not mention quitting over it though, or you'll definitely go straight into the HR crosshair.
If you're done with Amazon, apply to local startups. Likely you won't get the same kind of money, but you might be happier and "you've got that on your resume".
Same here. I can do all my family errands when I want and plan around them. The best part, at least with the company's interest, is that I work when I feel most productive. Usually 3 hours in the morning, along with a few hours in the evening, I even often work weekends like this. And guess what? During these programming periods, I'm at my most productive. Force me into an office where I'm forced to synch with the office's schedule, and met with constant noise and interruption from others, and my productivity is maybe half.
Same for me, and my mood is worse from having to reset when I'm thinking through a tricky architecture problem and Foghorn Leghorn in the next office is talking at the top of his lungs on speakerphone.
Same here, thanks to me working from home my wife has been able to return to work (she's a teacher) which has given us more income (and less costs!) and massively improved our financial position!
Is it possible that these RTO policies are actually meant to select for younger people and force others to resign? After all older people have more responsibilities outside of work like children and cannot work through Amazon’s meat grinder or do things like support brutal on call cycles. They’re also the ones with bigger commutes and other barriers to RTO, since they probably live away from city cores to buy houses and have space for a family. Meanwhile young people who live in the middle of downtowns in apartments that are near their work probably are unaffected by this kind of change.
Career focused younger people have also been adversely affected by wfh for the last few years in a big way. All the mentorship and networking opportunities have withered. The non career focused younger people are living it up though.
I think they’re adversely affected only if their managers or companies make no effort to find an alternative. Many have no issue. This just seems like the weak justification Andy Jassy has repeatedly pointed to.
It’s not bullshit. It’s perhaps exaggerated, and many of the “work from a desk in a specific building” people are the ones who can’t mentor them anyway, but there are benefits in
It doesn’t have to be, you can mentor people in a fully remote environment, but it’s far harder for most ok both sides - especially for young people and people on HN that think WFH means you don’t actually have to work.
Why is it harder to mentor people remotely? Just call them, have a chat, share your screens, drink some tea. It's not rocket science, and I have done it many times with colleagues.
One could even have the occasional face to face meeting, at the office, at either party's home, at the lab, the shop floor, at a co-working space, or even just at a cafe or bar.
This is exactly it. The few years I had in office were an amazing foundation for my career. I see the same in those who started around the same time I did. Most of my team who was hired remotely are struggling.
The realities of how humans interact. Going for a cup of coffee and asking a colleague to join is a different act than asking a colleague to join you in a Zoom call.
It just doesn't happen, and chatting over VC isn't the same as meeting people in real life anyway. In the office, I'll randomly bump into people I've known from years back and have small chats, but I never in a million years would have specifically scheduled to do so (sometimes I don't even remember their names, just what they look like!).
The office broadcast conversations can be a mali and boni. Sometimes you get updated by a background conversation- sometimes you get distracted by a conversation. It would be great if you could auto-flag a conversation you have on teams as relevant for others or not - and it would just start playing merged into the music of others remote, one way.
This wouldn't work for me because I don't listen to anything when I'm working. You're making the assumption that everyone is just constantly listening to music, but I focus best with silence and with my ears unencumbered. I suppose it would be doable with desktop speakers that would only play something when remotely triggered, but then there's the secondary issue that I'm not always at my desk, vs in the office people can obviously see who's there and who's listening in (and easily go grab someone else to join in as necessary). There's just way less friction to conversations when people are in the same room.
As long as we understand that "true bonding" is preciously close to "no true Scotsman galaxy" :-)
Let's stop pretending that remote work is new. I've worked remotely on and off from the beginning of my career. Majority of my mentors have been remote, at least two of whom I've never met "on real life" - one of whom shared tremendous technical experience over 18 months we worked together three provinces away, other who has taught me corporate life and consulting skills from four provinces away (I'm in Canada, think states:).
I've spent four years as ops manager recently on a troubled project and I agree thay extreme situations under shared duress can build a specific, very strong kind of bond (not the only kind, mind you!). It's just that physical presence is completely orthogonal to it.
I have a hard time believing all this concern is for "young generation and their social and mentoring opportunities". Young generation grew up with remote and social networking infused in their lives (for better or for worse, separate conversation :)! If a senior person doesn't know how to mentor or communicate remote, let's be upfront on that and discuss it openly and coach them. But let's not blame the "juniors" for that :-).
Personally, I have been in these situations remotely too (everybody in a call, screen shared, parallel things going on). I don't get why it has to be physical.
What you are describing is "trauma bonding" - maladaptation of human brain that makes us stay in bad conditions/situations. It is evolutionary adaptation in life and death situation you can not escape, but what you described is not that.
> It works to an extent. True bonding comes from being shoulder to shoulder in extreme situations under shared duress.
People say this, but "this is the kind of true bonding experiences with which I'm familiar" isn't the same as "this is the only way true bonding can occur." I'm certainly old enough to remember the dismissive scoffing in the '90s that true friendships are made only in person, not with people online.
Seriously? I mean to a certain extent you are correct that it's just an excuse...
But if you really think there is no difference between these two things then you are living in a fantasy world.
Proximity does a lot to encourage socialization between super senior people and super junior people.
Without proximity, it's much easier for either side to put off or brush off things that would be good mentorship opportunities. You don't have to go into work the next day and see your coworker face to face to explain why you ditched them on that pair coding session or whatever it may have been.
How do we know there would be a selection for younger people? Someone with a family is perhaps less inclined to change jobs. Someone older is more likely to have health issues or a dependent with health issues, which is an even stronger disincentive to change jobs. It is still not a great job market AFAIK, quitting at the moment is not going to guarantee a new job is available.
Perhaps something of a corollary of the saying, don't attribute to malice what can be attributed to incompetence. The Amazon senior folks making these decisions almost certainly have reasons. If people quit, maybe they just don't care who it is. I really wonder if they AB tested RTO. Given it is Amazon, I would put a small wager they have.
Further, the impact between middle managers and individual contributors is uneven in remote work. The article mentioned there was a desire to reduce management. Remote work was an interesting experiment IMO to show the (lack of) effectiveness of middle management. Perhaps the impact to ICs is negative, but the middle management can be more effective. Arguably that would give greater "focus" on the specific KPIs desired by the VP level. Again, would be super fascinating to know the data used by Amazon here, of if this is a rare decision truly made by fiat alone.
Others have mentioned Amazon's real estate holdings. I kinda think that is likely. Amazon made huge investments to stop leasing offices and to build and own their own offices. If nobody is there, the surrounding neighborhood is devalued, in turn devaluing the offices further. It would be s considerable loss on paper. ICs perhaps are about as effective in office under a whip compared to remote, and if some quit - then maybe all the better to reduce head count.
My previous job actually had nice offices, and a pretty cohesive team culture. I still think work from home 2-3 days a week would have been better just to avoid the commute.
I could see it be the other way around, or various factors balancing each other out. From my experience the current young generation is more willing to trade money for QoL , and quit when they feel QoL is bad, than the previous one.
> Is it possible that these RTO policies are actually meant to select for younger people and force others to resign? After all older people have more responsibilities outside of work like children
How did the last 40 years of tech do it? Were the boomers that invented all this stuff resigning left and right or not have children? Did I misread history about Bill Gates sleeping in his office or did he run MS from his kitchen table?
I am in the lucky situation having worked more years in offices than open floor, last time 2018. The doors were only shut before 1995, never after that. I was typically the only one who turned his desk towards the door, so I could chat with people coming in and also show that people can come in. It was so much more productive to work as a developer compared to open space.
Nowadays I go to the office (open space) only during evening hours when at most 2 hackers are there. Working from home probably not productive when you have smaller kids. Maybe good for the kids though.
I would fully support going back to offices with doors. Unfortunately the tech companies and newer generations brought us open plan offices (because they're more social!) and made secretary an offensive word. Now I live in a world where you don't know how to properly address the lady that books your travel.
reply