I do it. Typically just checking a few message alerts, or finishing a news story, or starting a podcast download. It's less disruptive than checking those items in front of someone else, when you should be giving the other person attention.
Do I have to? No. Do I always do it? No. But just today at the gym, I used the 30 seconds or so there to start downloading a podcast to listen to during my workout. Every button click takes a couple seconds, pause, wait, etc... Why not stack those non-productive times together?
I guess, but doesn't that start to feel like the tyranny of productivity? If it doesn't take long while you're the urinal it doesn't take long just afterwards too, and then you can enjoy the feeling of having a pee! (Perhaps there's a blogpost in "Mindful pissing"...)
After that, I need to be using my hands more - washing them, putting stuff in the locker, tying shoes, etc. Standing there for 20-30-40 seconds is one of the few times one or both hands are free and my brain can go do something else for a bit (read, get a podcast, etc).
I feel like people have a need to “fill the void” with productivity. It’s like they can’t be alone with their thoughts anymore.
I feel like this is becoming a more serious problem than people realize.
I also feel like people can’t do tasks quietly, without having a feed of music or podcasts. I see it with my wife and my kids. None of them are able to carry out activities without some audio being steamed to their brain. Most people can’t even work without headphones on, even in a quiet environment.
Most people will say “what’s wrong with that?”, but I feel this is a symptom of some underlying anxiety, we just don’t realize it.
I need the audio streamed in - usually white/brown noise. This blocks out distractions. 30 years ago perhaps people could do 'knowledge work' without these, but most of the people I know who did knowledge work years ago - lawyers, accountants, architects - they all had private offices they could go do heads down work in. 'Open office' plans seem to have ruined this. I spent years in the late 90s in open office plans trying to build web applications, sandwiched in between ad sales and project management people, constantly on the phone. Worked fine for them - they were often on phone calls. But those phone calls bled over in to my ears - unwelcomed - and created constant interruptions and context switching.
The 'underlying anxiety' might be because there's far more noise in our environments - inside and outside - than there was a couple generations ago? More traffic, bigger cars, leaf blowers, lawn mowers, more airplanes. More people in smaller open plan offices... None of these are really under my control. Wearing head phones to block that stuff out is under my control.
Listening to actual music with words or podcasts while trying to work would, in fact, be worse for me, and I think for many folks. Unsure how people do that, but white noise blocking does help many folks.
I'd tried to put together an RFC years ago to introduce groovy-style accessors in PHP.
$this->foo
would look for a getFoo() method, and execute if it existed, or not if not. Felt like that was easier to reason about, fwiw, but I couldn't get it off the ground. Even then, there were multiple C#-style get/set proposals floating around, so this style seems to be the one more people like. Not a fan of the style, personally, and probably won't use these much directly any time soon. If it helps people maintaining libraries that I use to deliver code that is cleaner and more productive to them... I'm OK with that.
I'm not a fan of that kind of magic in my languages but such a thing was already easily doable in PHP. You could just have a base class that implements __get and __set so that $this->foo automatically calls $this->getFoo().
That advice doesn't always work in real life; otherwise for every compiler or linter check in any language, we could drop all those checks and tell the programmers not to do that.
E.g. if a base class declares a variable it can potentially break its children. Whose at fault here?
I agree with your original comment though. And if the bypass of exisitng fields is badly wanted, somehow marking __get to disregard them makes more sense to me.
Not sure I'd care to experience Beatles @ Shea, but would liked to have seen some Cavern and Hamburg shows. Would liked to have gone to some early AC/DC shows too...
I actually stood in line for Achtung Baby tickets ('92 IIRC) as a favor for a friend who couldn't get time off work. But he ended up selling my ticket to someone for double what I was able to pay him (he fronted the money for me to stand in line with). Fun times. Last summer over dinner he said "yeah, that was kind of an asshole move of me..." - so, he still remembered...
Those projects can be demonstrating your skill/ability in all areas - testing, docs, UI/UX/DX, support, project management, sales/marketing and more. But now you're possibly (likely?) coming across as more accomplished than the rest of the team, and somehow you think you know more than others who've been at the company for years.
But if you don't have a job right now... you have time to put in to projects that can showcase your specific skills.
But then... you may end up demonstrating that you can take raw ideas and build an entire business out of them yourself, end to end, soup to nuts, and now you're threatening to others on the team who just want someone who codes, not a jack of all trades.
Odd... you're not the first person I've heard this from, but have been hearing this particular process happening from multiple colleagues over the last 18 months. They are all out of work, all have had multiple interviews with various size companies, and they can never get past an Indian interviewer, and the teams seem to be growing in Indian folks, while non-Indians are let go or passed over for advancement, and eventually leave.
I was slightly skeptical when I heard of this the first time. It sounds a bit like some post hoc justification for why they didn't get hired. But nothing about it sounds far-fetched, really. It sounds more like a natural progression and part of human nature. But still stinks for a lot of my friends/colleagues who can't seem to get hired anywhere.
Take this online test in 30 minutes with awkwardly or ambiguously worded abstract problem. You don't get to ask anyone for clarification on anything like any normal developer would do in the course of their work.
I've never been in a situation where I could not ask for clarification on something except in interview situations. I asked an interviewer once "is this how people normally work here? they just get a few sentences and plow ahead, without being able to ask for more details, clarifications, or use cases?". "Well, no, but you have to use your best judgement here".
> programmers to master the debugging tools of their ecosystem. I've seen countless experienced developers use printf-based debugging and waste hourse debugging something which could've been easily figured out by setting a breakpoint and stepping through your code.
If you're wasting hours with printf-based debugging, I don't think you've 'mastered the debugging tools of the ecosystem'.
There are multiple ways to debug - step debugger tools, printf, logging to a file, etc. Each have their place.
If you're spending hours on any one approach, and perhaps that's the only approach you know, that's a red flag.
If you've spent hours going through printf, logging and step debugging and STILL don't have a good answer... bring in external eyes.
I've found/fixed bugs in a few minutes because of adding some log stuff first, because in those cases, it's the easiest approach. In other cases, running a debugger and setting a couple breakpoints is indeed the easier approach to start with, and I've done that.
Sometimes you find it with the first approach, sometimes you need to try the next approach.
I worked in a place where... regardless of what I did in branches, someone else would merge it and their name would be the only thing that showed up in the git metrics, because we only looked at the final 'main' branch. I'd looked at the 'develop' - where feature branches were merged before master - and I think I had something like 75%+ of the commits (over a 14 month period). But to look at the daily dashboard, I was doing nothing, and someone who was barely in weekly meetings for more than 15 minutes was doing 95% of the work.
I didn't particularly care, until people started looking at 'dashboard metrics' to see 'who's doing what'. I wasn't initially wanting visual credit, but when my contributions were effectively erased to the casual viewer, it pissed me off...
"Suffice it to say that while people are sincerely trying their best, our leaders are not even remotely equipped to handle the volume of people just outright lying to them about IT."
I've tried to come up with some heuristic to determine whether or not a team is competent, good, or doomed. I've been exposed to all over the last... 8-10 years, and one of the key things I've noticed is the ratio of competent/skilled developers to the unskilled ones is a big ... indicator(?). Predictor?
Colleague of mine has been working with a team - dev team has ranged from 5-8 people over the last few years. Few people seem to have any grasp of programming at all. Only two people - my colleague and one other - have ever taken projects from ideas to delivery, or even taken features from requests to successful rollout of already functioning software.
The arguments that people get in to there - days or weeks of people 'researching' whether or not OAUTH 'really' requires 'refresh tokens' or whether it's really supposed to be a JWT. Management has some notion of 'every voice is legitimate and should be heard - we don't support bullying' and so on.
If you have a team of 10, and 1 or 2 people are simply bad at having the ability to think somewhat abstractly, you can survive.
If that number hits, say, 4-5... the team will struggle. A lot. You can keep things going, but it will be slow. And everything becomes a battle.
If that number becomes 7 or 8, and you only really have 1-2 developers who are actually competent developers... things will continue to spiral downward.
On the other side - I worked with a team of about 8-10 people on a 6 month contract. The larger org had another 40 or so folks, handling other projects, and support. Onboarding was great - I pushed production code in the first week. Everyone on the team was competent, including the juniors. I had more development experience, but they had more company experience, and it was really a relatively enjoyable engagement overall.
It was refreshing to be able to ask anyone on the team questions, and either get a workable answer, or an "I'm not sure, let's check with XYZ" to get working answers. The "oh, yeah, it's ABC" when ABC is clearly not the answer stuff never happened. People committing code and pushing to production without ever having run the code at all - I've experienced that - didn't happen - that's happening to my colleague.
The problem with a plurality of tech-incompetent folks in a tech group is that they honestly can not determine that they aren't competent. The only examples of competence are in the minority, and tend to not be trusted (even though that minority is the only portion that turns out working/functional code).
Leaving ends up being the only option in those cases. My colleague is only at his place part time, and has hung around because they've gone through some restructuring where new folks were brought in, and... you hope that things might get better in a few months, then realize they don't.
Do I have to? No. Do I always do it? No. But just today at the gym, I used the 30 seconds or so there to start downloading a podcast to listen to during my workout. Every button click takes a couple seconds, pause, wait, etc... Why not stack those non-productive times together?