HN user

pixelrevision

537 karma
Posts1
Comments223
View on HN

Thanks, I really didn’t get what they meant with the example they were using.

Out of curiosity why is writing everything as a single element type more ergonomic? I’ve not done frontend web dev in a while and using <p> <h1> and so on seems like it would be more ergonomic to express intent.

At work we use snapshot tests to see visual changes to ui. It helps a lot with code review especially with adding edge case data to tight designs.

We use ui tests specifically for testing accessibility, analytics and data passed along during navigation.

We use fixtures for all of this.

None of these tests really help with bugs. What they do help with is:

- Making sure the ui stays really decoupled from the business logic. This helps a lot with getting the data unit tested which does help a lot with bugs.

- Making sure that analytics and accessibility are not forgotten about. This helps a ton when refactoring.

- Making the intent of the code really clear during review.

It takes a bit of practice and being ruthless about removing/fixing stuff that’s not helping. I have found it makes it much easier for new developers to work, review code and understand how the code is organized. YMMV.

Automate the CEOs 3 years ago

It really has caused a race to the bottom anywhere it becomes the primary business model. Everyone hates it but no one’s got a solve to get people paying for things once they are “free”.

Yes. And the tooling is pretty straightforward to plug into generally if you need to tweak things. I’ve found that the biggest barrier here is generally not in openapi tooling, but in getting people to take time out to leverage it. This is one of those places that having lots of options and alternatives typically makes things worse.

It also doubles as documentation that’s forced to stay up to date. Code has a way of becoming hard to follow especially when edge cases and performance enhancements are added.

Adding software can help.

Alfred can either replace spotlite or run along side it. I’ve found it much faster and easier to use. You can customize it pretty well. (Just don’t download the Mac App Store version as it’s multiple versions behind)

There’s a ton of windows managers out there that help you setup hot keys or modify windows to work how you want. Mac overall is much better with native software not doing its own thing than windows so changes tend to be pretty consistent. I’m using MOOM because it’s on the app store and lets me hotkey all my windows into specific sizes but there’s plenty of other stuff out there depending on what you want to do.

I think the problem here is that there are very few places where there is any time between pressing feature demands. This always seemed to me what the agile guys were saying. The approach was all centered around the idea that things would always be changing and pressing. The only way to combat that is to put constant refactoring into the day to day so that your codebase can remain coherent and productive to work on.

The bonus of doing things like this is that if you are constantly changing your code then it becomes battle hardened to accept change. This gives you better ability to keep up with the changing demands of both customers and technology.

Some of the best engineers I’ve ever worked were just “going with the flow”. They certainly brought tons to the table. Some people are just quiet and don’t like conflict. If you ask them what they think plus give them a calm environment, time and support you can find yourself looking at some very elegant easy to maintain systems.

I think it’s more about the centerpiece being subjects rather than people. I read Reddit threads all the time and comments there are front and center. There’s plenty terrible subs and people but they are easy to ignore and not the norm with what I look at.

It’s kind of fascinating to me that things have ended up like this. There was a period where Facebook was incredibly bland because people were using their real names. At some point that boundary got crossed and now most of what I see when I look at it is excoworkers who would have never gone on about politics around the workplace trying to get their message across. The rest of the people I followed who posted interesting moments about their lives have stopped posting altogether.

Instagram Is Over 4 years ago

I’m surprised Reddit is even considered social media. The anonymity of the users and focus on subjects over people make it a very different experience. With Facebook and instagram you have a limited pool of people that interest each other and if they stop posting they have to figure out what to show you. That’s… really hard, especially if you signed up with these people in mind.

With Reddit meanwhile you can easily select the subjects you are interested in and there’s a bottomless pit of people who can post and comment on that. While it being mostly text based will probably limit how big it can get compared to something like TikTok I suspect there’s a better slow and steady business model with less churn.

I also really like that they offer a monthly sub at a fair price that removes the ad problem. I really wish more companies would take this sort of approach.

“Programming guides”!

Those were so awesome because they explained the whole system. The core graphics one was an absolute lifesaver when I started working with iOS. Apples UI a frameworks seemed way more complex than anything I’d ever worked with before but once I understood the layers they started to click. I don’t know what I would have done with a bunch of class guides with patchy comments.

I really wish apple would spend more time on their tooling. A lot of the new features like async/await and SwiftUI have way less visibility than what came before. A lot of this stuff makes the code compact and much easier to read but when things go south trying to use the inspectors they have often doesn’t get you very far.

They do start to care when it stops working or it takes forever to change due to it being a mess. This is the natural state most projects end up at unless the devs are putting in a ton of extra effort to keep it clean, organized and maintained. Devs that are thinking about keeping things beautiful, succinct and performant are much more likely to do that.

It doesn’t sound like burnout to me. It sounds more like organizational issues that have left the author with a very limited amount of time to work on a sluggish product they can’t take pride in. The name brand and pay sometimes just don’t make up for that especially for some people.

There’s nothing wrong with wanting to take pride in your work and to have working conditions that facilitate that. Get enough people together who feel that way and can find something useful to build and you get a huge competitive advantage. Software that is useful and performant is like gold but takes a lot of extra effort and passion to keep it that way.

You’re right about the “fun” part though. Making great software (and art) is hard work! “Satisfying” is probably a better metric to shoot for.

Slack it really great for getting info but it definitely can become a firehose and a distraction. Many of those fire and forget posts are from people equally as exhausted with it as you are trying to keep up. I have also talked with plenty of people who feel the same way as you do about inflection. Some people need this more than others (myself included).

I don’t know your role or the expectations at a FAANG but chances are all these messages you are trying to keep up on are keeping you from doing something else that would be more valuable to both your mental health and the company.

If you can set boundaries I would do so. Some things that have helped me:

- Asked my boss what was absolutely important for real time communication and turned off notifications for everything else.

- Aggressively using my status for work. I block my calendar between 8am-12pm and put “programming” in my status with notifications turned off. If there’s a real fire slack lets you “send anyway”.

- I try to put time aside in my day to dedicate to paperwork type stuff. This includes slack, email, hr stuff and so on. This really helps me because I’m not constantly context shifting and can give the appropriate time towards anything being asked of me. It also helps with perceived tone as I don’t read the message feeling resentful.

This sort of stuff is easier said than done and you have to figure out what works best for your situation. At the end of the day most things can wait a bit and actually work out better when there’s a bit of time to process and think about them. A lot of people have just forgotten.

Tests are the only spec I know of that stays up to date. It’s code that is executed regularly and has to change by design if specs change. That doesn’t help a ton in your case as writing tests against specific animations would be very hard to maintain.

The best I have found for stuff like you are dealing with is to put the questions I have in a team/public slack channel and make sure the docs/designs are updated when the question is answered. This will be easier with some groups than others.

This syncs with my experience. The ones that think they are better than everyone else and don’t have any humility are the hardest. They tend to break things, write 5x more code than needed then stay defensive and finger point instead of fixing things.

I have worked with a few juniors who actually were better than everyone. In all cases they were approachable, humble, asked questions and then were swooped up by a company like google.

Photoshop is Adobe’s flagship application so it’s probably not what you’d want to look at as a comparison. I’d look at the current status of all the products they bought from Macromedia (which were all wildly popular at the time) to get an idea of where people’s concerns lie.

Swiping is I think how most people use nav on an iPhone at this point. The back button at the top did make a lot more sense on the original models where the screen was small enough that you could do everything with a single hand.