The sense of obligation towards your coworkers is something companies absolutely abuse and exploit. I’m not saying don’t have empathy for your fellow human, but people aren’t typically incentivized to use best possible solutions if they take more work outside of this obligation so you have to be careful to not let yourself be exploited because of it.
It’s not just pay. Things like pensions that would encourage long tenures have been all but eliminated from compensation packages. The idea of staying at a job for more than 3 years, especially in IT, is crazy to people. If you’re there for >5 years and then look for something else, interviewers wonder if something is wrong with you.
Which is insane. Companies lose a lot of value by not having long tenured “company [wo]men” anymore. I keep waiting for some convoluted explanation that shows this situation is better in even a strictly capitalist sense, but that explanation doesn’t seem to exist. The best I have is that people coming from outside organizations will cross-pollinate ideas and technologies instead of being stuck with whatever that particular company is doing. But there are other ways to handle that, and you don’t have to push it on everyone.
No, companies just seem to have decided this is how they’re going to operate.
My thoughts on it are: as a developer, if you flag the issue for your management, and they want to move forward, then you’ve done your part.
Maybe put an extra comment in the code for posterity’s sake.
It’s not ultimately your problem and what else are you going to do? Work unpaid nights and weekends to fix it for some guy who might run into a problem 8 years from now?
It’s a balance, but too many people don’t even flag it to management because they’re lazy and they write shit and ship it to get it off their own plate.
Now, if management says ship it anyway it’s a balance of you as a developer making sure they understand they’re throwing this technical debt on the credit card and it may (probably) need to be paid off later. If you fail to articulate the interest that’ll be due later then you didn’t do enough or management is bad.
You shouldt work unpaid to fix it, but sometimes you should just do it right even if it takes longer because it’s how it should be done.
There is no reason to display “100%” in your UI for more than a single second. Either show 99% and then finish, or show 100% only when you are ACTUALLY done and only show it for a little.
If you’re still doing ANYTHING AT ALL don’t say you’re 100% complete. How is it still like this
I don’t think it counts percentages. It has to be more like : do this; display 30% ; do this ; display 70% ; do this ; display 100% ; do this; done (maybe);
Because Microsoft knows no one is going to stop using Windows even if it sucks. It’s same way no one actually moves to Canada when a shitty US president is elected. The average person has a high tolerance for bullshit.
more accurately, average person has a higher tolerance for bullshit than for spending many hours learning something new or spending potentially years applying for citizenship in another country
I imagine it started with some sub-installations actually giving approximations that were acceptable and summed up, but then some finalizing was not taken into account or something needed to be added after the other processes are finished, and the deadline was close. That last part builds up over time with other quick additions and some annoying stuff that is actually quite performance heavy and not easy to incorporate through the whole installation. “Let’s do it at the end as well.”
No time / budget to change the 100% to 99% as they have to adjust calculations based on the processes that actually do a good job. Although a display change could fake it, priorities are elsewhere.
Oh I’m barely a Julia programmer 😅 I learned it a couple of years ago just to check it out, started writing a personal project with it but got a bit irritated with how interfaces are defined informally and you have to dig through documentation to find out the methods you need to implement, and then just sort of drifted away. Will definitely use it in the future for eg. some signal analysis thingamajigs and so on though, it was a fun language to use with notebooks.
I usually prefer type systems that make me beg for mercy, heh.
It depends VERY much about the content and invitees of the meetings.
If you’re there to give your expert engineering feedback, awesome. If you’re there to receive the information you need in order to provide expert engineering feedback, awesome.
So often, I find, meetings are too broad and end up oversubscribed. Engineers are in a 2 hour meeting with 10 minutes of relevance.
There are serious differences in meeting culture, with vast implications oh the amount of efficacy you can juice from the attendees.
Ehhhh, depends on how your titles work, and I would argue that’s at least a little odd. Most senior engineers I know are ~50/50 code/oversight, at worst. Once you get to Principal or Staff, though, you’re lucky if you write 50 loc/week.
Senior rarely translates to something like architect anymore, it’s at least a level or two up from there.
The beauty of titles like this is that they’re absolutely meaningless.
You can’t compare them between companies, sometimes even departments, you can’t compare them between different industries, and you can’t compare them between countries.
I’m a senior, and my job is currently to sit in meetings most of the day to convince BAs, architects and other team’s leads not to make stupid decisions. The rest of my time I’m communicating the results back to my colleagues and writing escalation mails, because Steve again tried to re-introduce his god awful ideas that we shot down five times before and I’m hereby voicing my concerns in a business-like tone, but actually would want to exterminate him and his entire offspring.
My old project, however, was completely different and I actually spent 70% of my time actually writing code and 20% code-related meetings.
Not really, it’s really largely a technical discussion, but we have a distributed monolith (the architect calls it micro service…) so each change of an interface will percolate through the entire system.
No it isn’t - a senior engineer should be a technical track professional that’s excellent at their job - it’s likely there will be a fair amount of mentorship but that can take many forms including PR reviews and pair programming.
A technical lead, architect, or a front line manager is the one that should be eating meetings four to six hours a day. And absolutely nobody should be in eight hours of meetings a day - even bullshit C level folks should be doing work outside of meetings. Eight hours of meetings means that you’re just regurgitating the output of other meetings.
I’d clarify that having occasional eight hour meeting days isn’t bad, there might be occasional collaboration jam sessions that everyone prepares for… but if your 8-5-52 is solid meetings then nothing productive is happening.
It’s true. I even live in a place where the “Software Engineer” title actually does require a special designation, and I’m a “Software Engineer”, and I have no such designation, so there’s that.
Where I work, Senior Engineer is an IC role. They attend the same meetings as other engineers. Its the Staff+ Engineers and managers that attend more meetings (in ascending order)
I’ve worked in a few places, all with senior engineers, including myself as a senior engineer, all of which the senior engineers spent most of their time actually engineering. If I went somewhere as a senior and was told I was going to be in meetings all day, I would quit because that’s management, not engineering.
Yeah I kind of agree but I also think when it gets to that point we’ll have much bigger problems than programmers losing their jobs. Like, most of society losing their jobs.
Kind of will. There are already templates on demand for things like generating unit tests as you code. They’re pretty robust already, and have aside from a few things (or edge cases), I don’t have to do much code refactoring or fixing them.
They already save me several hours a week from manually setting up full ones. Haven’t delved into other stuff they can do, but I’m sure it would only be more useful with time.
I can very easily see companies looking at the time save and thinking “we can downsize”.
For openly available programs that might be true, but a programmer isn’t just writing code, “ai” is very bad at identifying and solving problems for example and Chatgpt is even getting worse at math. And internal programming languages, or, programs not meant for public eyes won’t be put in a AI in general.
They are a tool, and will stay a tool hopefully forever, they are supposed to make shit easier.
And those mentioned companies have already done that and fallen face first into shit. And rehired those that didn’t get a better job… In general its a shit idea to replace people with AI, cause its bad.
Also “ais” are currently in a feedback loop and basically make themselves brain dead over time. Wich is for example one of the reasons why GPT and others get worse at math. Image generators are more obvious regarding that, when you feed the ai ai images, the fingers get worse.
Side by side most of the time. I put them on arms so I can move them around and swivel them. It’s ridiculous having two 34" Ultrawides. But, I can. So I Do. I also run a 3rd 40" 4k display when I need it or want to sit further back.
I just made the switch from 3 24 inch monitor to a single 49 inch super ultrawide. It’s basically 3 monitors with no bezels. A lot of things are annoying though like full-screening videos/games but there are workarounds.
Yeah I went from 1 32" 1440p and two 1080p side monitors to just a single 4k 43" and I’m saying that the time of multi monitor setups has come to an end.
Yeah just one perusal of any of the Atlassian feature request forums will justify that.
To be fair though, Atlassian is dreadfully slow to implement features people actually want (Confluence still can’t render markdown, that was requested like 8 years ago now), so they kinda deserve it
Which is fine, except their format sucks, and I never want to use it. Markdown is a pretty standard documentation markup* language these days, and there are ton of libraries they could just slap into Confluence and render it as-is.
They removed support for their own markup language and then closed a bunch of the “please give us markdown support” tickets as completed like a bunch of dumb, dumb, dingleberries
This is actually how you should declare something that you will never change, but something might change externally, like an input pin or status register.
Writing to it might do something completely different or just crash, but you also don’t want the compiler getting creative with reads; You don’t want the compiler optimizing out a check for a button press because the “constant” value is never changed.
They’re usable, but it looks kinda weird. But 49" in portrait is really impractical, I wouldn’t go with anything bigger than 27" for portrait mode, and it shouldn’t be ultrawide.
@SpaceNoodle I’ll always be sad how GitHub helped popularise centralised workflows. Such an amazing opportunity for a big cultural shift, but it didn’t go anyway as far as it could have.
Git owes a lot of its popularity to github. Without it, there’s a good chance that mercurial would have taken over. In addition, the centralized workflow was what made both git and github popular. It simplified git usage enough to let a lot of novices get started.
I’m in no way a fan of centralization that github represents. But I think a decentralized workflow using git was a lost opportunity. People complain a lot about the git-email workflow. But I see no reason why it couldn’t have become as easy as using github if the effort spent on github was spent on git-email tools and user experience.
programmer_humor
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.