565 karma · joined December 29, 2009
- is there a SLO?
- what is the schedule? 24h is no go for me.
- is non-business hours on-call compensated (even when there are no pages)?
In particular, I strongly believe we (as profession) should push more the employers for the last point. Being oncall during weekend means I need to seriously adjust my plans; need to have corporate devices somewhere close, etc. In particular this also means I don't fully disconnect from work if I have to carry laptop/phone with me. This kind of stress slowly accrues long term. All in all: staying alert for oncall is some sort of work. A physical security guard gets paid for keeping an eye on things even when nothing happens; it's startling that so many devs don't.
Some time ago I moved to Tidal. It's not perfect, the search is inferior, the app bugs out sometimes too; but at least they don't seem to change it that much.
Other companies I used ranged from "Your order never arrived? Ok, we'll refund you after some time if you jump through enough hoops" (Glovo) to non-existent: "Your order never arrived? Not our problem, talk to the restaurant. Restaurant ignores your email and calls? Well, still not our problem." (pyszne.pl, polish-only).
I also don't like how it's harder to operate than physical buttons. Too many times I hit the wrong spot on the bar and for example ended up putting my laptop to sleep instead of adjusting brightness. I've also tried to configure Ableton Live to do something useful with it (maybe mute/unmute tracks or control their volumes); but with little success.
Long story short: I'm happy to see it's gone.
Not yet, but it seems someone is thinking about one, see: https://www.europarl.europa.eu/RegData/etudes/STUD/2020/6487...
They are both illegal where I live (Poland). The government maintains a huge list of forbidden substances (link only in polish: https://pl.wikipedia.org/wiki/Wykaz_%C5%9Brodk%C3%B3w_odurza...). This is in response to a big designer drugs crisis that started over decade ago. Which most likely than not was caused by tightening of the drug laws happened around two decades ago. It's a bad situation that will take another decade to improve, I suppose.
Also disclaimer: I'm not trying to discourage or encourage people from psychedelics. Personally I believe they should not be criminalised, but people should be cautious using them.
Few production incidents are enough to change this mentality. I'd rather write more verbose but "obvious" code than "clever one liners". I feel sorry for anyone who has to understand someone's DSL on the fly when there's an outage and your business is burning through X$ per minute of downtime.
(On the other hand, you probably want to structure your production changes in the way that they are easy to roll back without understanding everything, but that's other conversation. Either way, the thought that someone may want to chase me after work because my code broke and they can't understand it is enough for me to stop being clever).
I've been thinking about this recently and it feels like the current culture in software engineering is to increase the supply. I see people who code and offer free coding lessons to their friends. Pre-covid there has been multiple meetups where I live in themed like "programming for no programmers" or "build your first app".
At the same time when I look at other high impact jobs, like lawyers or doctors, they seem to be keen on building moats around their profession. There are no "six week law bootcamps" that would give you useful skills or anything like that. I'm getting a feeling that engineers are unwittingly cutting the branch they sit on, but they will only realize this years from now when it's too late.
Since 2013 when I've started paying for Spotify it has turned from one of my favourite apps to one of those I hate most. On my previous Android phone it would freeze every other day when there was no internet. Why? Who knows. Could be related to me using SD card, or could be something else. The phone wasn't very old, but still on many days it was basically unusable. Somehow I was gifted a new phone and it kind of works. I say kind of, because sometimes when I click on a downloaded album it doesn't work - no tracks display. Why? Who knows. And few days ago something bugged out and tracks suddenly started setting volume to max. Apparently it's known issue that appears occasionally. Why? Who knows. Happily I wasn't wearing headphones so I did not get hearing damage. But who knows, maybe this will happen again.
There is also desktop app which severely crippled local file support few years ago. That really sucked for me, because I record a lot of my own stuff and I want to listen to music in one place. I don't know if this was fixed since then because I pretty much switched to using web app, which usually works. There is also iPad app which seems to routinely delete stuff I have downloaded do my iPad; and sometimes it also freeze in offline mode when browsing my library. At this point I didn't even try filing a ticket with support, I lost hope of them fixing this. I suppose soon I will simply stop paying them and make switch to something else.
EDIT: Why post this here? I hope people at Spotify see that submission about Spotify is on top of HN, and maybe, hopefully, someone sees my comments and thinks twice about setting 2021 OKRs and put some capacity into improving the app reliability. I know, this is optimistic, but who knows.
I feel like many people downplay how important this is. I've wasted way too much time because of this. Doing code archeology to understand why data persisted to database many years ago breaks some seemingly unrelated feature for a customer is definitely not my favourite part of the job. Working on a validator that someone was "too busy to add" in the first place is also not fun (and a waste of time - because original author could probably do this in matter of minutes; whereas someone fixing things post-factum need to reverse engineer what is going on; check whether some funny data wasn't persisted already and potentially handle it).
To phrase my frustration in more constructive way: it's always a good idea to put explicit constraints on what you accept (What characters are allowed in text-like id - only alphanum? Only ASCII? What happens with whitespace? How long can it be?). Otherwise it's likely you will find some "implicit" constraint down the road; ie. other piece of code breaking down.
However, it's not an isolated problem. It feels that every other week something happens that undermines my confidence in Macbook as good device for making music.
In my opinion relying too much on user understanding implementation is a mark of bad design. I don't care about more advanced functionalities of git, on daily basis I have very simple workflow that I want to "just work". Sure I can spend few days studying git internals, but it feels unnecessary. Especially given that in the past I've worked with simpler proprietary tools that "just work" (though did not have equivalent of "power" features).
On the other hand I think git is like bash - has some serious warts but it's good enough to be used widely; and unlikely to be replaced by anything else at this point.
I know how to read music and started taking classical lessons as an adult. Some time last year a friend recommended me to check out Melodics. It has 3 instruments: keys, pads (finger drumming), drums. I've played pads for few mont;hs, that was good, I've felt it improved my timing and rhythm skills quite a bit. Then I switched to keys. I didn't really like that; it felt like I'm mindlessly repeating whatever is on the screen instead of internalising music. OTOH, when playing pads it felt that something stays in my head after playing. So I guess this may be useful to some people.
For me it'd be more interesting to have some sort of memory trainer - I play something on screen few times, then I replay from memory and app shows me a diff maybe? Or when I'm learning a piece, it would give me a challenge "play bars 21-25 both hands" or "play bars 19-23 left hand only".
[1] https://melodics.com/, I'm not affiliated in any way
I have multiple devices so I usually set alert on home phone + work phone if it's something really important like a flight at 6 AM; but if I were to use an alarm clock everyday I'd probably buy the simplest one I can find for few bucks.
Some things that help me:
- right environment. If you want a PhD it's probably good idea to join some kind of research group you will feel good being part of or advisor you get with on very well. For the record I don't have a PhD but both of those things made quite a big difference for me when I was learning stuff throughout high school/university (though this is something I've realized quite late). Judging by how you put more effort when cooking for other, I guess you'd also put more effort when learning with others.
- setting realistic expectations. Sometimes it may be a good idea to lower your standards, for example change "cook healthy meal every day" to "cook healthy meal once a week". I'm a perfectionist so it helps me to say something like "OK, maybe I won't write a great design doc for the new thing my team is working but design something where X and Y work well but Z and T are not working so well". Often it turns out Z and T are not so important or that I can do iterative improvements on them
- getting bored from time to time. Planning to "waste" a day (though it's better to do this not in front of computer).
I also would not call monads a pain point to be fair.
However: I think the point about monads is fundamentally misguided. Monad is an abstract concept and trying to explain it in non-technical way (as linked from the post) will always fail. It makes as much sense as explaining time signatures in non-musical terms, or a Banach space in non-mathematical terms. I've seen this sentiment recurring every now and then; it feels like some people really want to avoid formal definitions for the sake of it, even when formal definitions make things easier. When it comes to monads, I think you can't get any better than the semi-formal definition (typeclass with return and join) plus some motivating examples. For me looking at Reader/Writer/State helped get this; I agree with OP that List is kinda weird.