Well written article full of humility and vulnerability? I love it. My reaction: you don't need to feel ashamed of not knowing something, there is far too much to know and I'm still learning new techniques and concepts 37 years in, so I would never judge you for it. I would also not judge you for having your own preferences and opinions. I too prefer working in an office to remote work, but when I say this out loud o…
> I have never successfully written anything more complicated than Fibonnacci in Lisp I hadn't until a joined a lisp based project. Learned a ton. My brain didn't work that way at first either, but working with it every day I eventually got it.
Confessions of a Software Developer: No More Self-Censorship
231–240 of 372 posts
Re: Confessions of a Software Developer: No More Self-Censorship
#232“Follow Scrum, Lean / Kanban, or eXtreme Programming to the letter” - there are plenty of failed projects and unhappy devs that have done just that. And these methodologies are not tuned for the LLM-generation age and, talking to lots of other devs around the world, I think it is showing.
In regards to remote work, I’ve worked for shops that have been fully remote since before the pandemic and are wonderful experiences. They’ve figured it out. The OP’s feelings on remote work, to me, say “the companies I’ve worked for are really bad at supporting remote work”, but if you believe your experiences are representative then you say “remote work is bad”.
Re: Confessions of a Software Developer: No More Self-Censorship
#233The ability to ask "stupid" questions without feeling embarrassed is a superpower IMO. I had the sweetest manager once. Someone stared talking about iphone and she [1] casually asked "what is iphone?" (this is after 6-7 months after iPhone was launched). Everyone's jaw dropped ... what? In which world u live in? ... to which she said with a wide smile and not an ounce of embarrassment .. "what? I don't know what ipho…
Once I got over the embarrassment hurdle of asking “dumb” questions, I grew a lot in my early career. Then people saw me as highly engaged, and my questions and understanding got better over time.
In particular, I encourage all the new joiners on my team to play the “newbie” card to allow them to ask as many questions as they want.
“Hey, new guy here… what is X?”
I even tell them to set a goal of one question per day if it helps.
I think it’s so important not to be passive because you absorb / understand less that way.
Re: Confessions of a Software Developer: No More Self-Censorship
#234> You lose ambient awareness of coworkers’ problems, and asking for help is a bigger burden. When I was in school, I discovered that I studied more effectively and efficiently when I'm surrounded by other students who's also studying. Then at work, I found I worked much more productively if my coworkers are all doing their work. It's not just simply peer pressure, it's an atmosphere effect, it tell you "hey, this pla…
The question is whether enough of the other people around you have the same characteristic you describe that it's reasonable to require it for everyone, including the ones that don't. For those of us who don't work better that way, being required to go into an office in person to provide ambience for our coworkers is extremely dehumanizing.
I think this is one reason this topic is so touchy -- it's hard to even express an opinion without someone assuming you mean to impose that opinion on everyone else (e.g. mandatory RTO), and then taking offense to that imagined imposition.
Perhaps in the long run we can self-organize into companies or groups within companies that universally prefer in-office or remote work.
I prefer at least some % (e.g. 50%) of my work to be in person. But I also don't like working with people who don't want to be there, or for whom being there is a huge burden. So I personally really hate RTO.
Instead, I'll choose a team or company that is open about requiring in-office time (and has been open about it for years), and is therefore staffed by people who also like that environment. It would be ludicrous to join a remote-first or remote-only company and then try to start imposing my in-person preference on others.
Re: Confessions of a Software Developer: No More Self-Censorship
#235My knowledge-gap confession: even after many years with the languages, I can't write a main() in Python or Java without looking up the format.
Re: Confessions of a Software Developer: No More Self-Censorship
#236I think the author is too hard on themselves for not knowing things, probably coming from shame. I can only speak for myself but learning to shrug that off just how to say "I don't know X" or "I forgot X" is very freeing. I say I don't know shit all the time at work, and so do people I work with. We aren't encyclopedias. Just chuckle about it and figure it out and learn. I much prefer working with people who can just…
For some reason I'm able to say "I don't know" to coworkers and superiors at work with no problem, but I have a much harder time online where it may affect future employers' opinions of me.
I think this is objectively mostly a silly and counter-productive worry. But I still feel it.
Kudos on publishing this piece!
Re: Confessions of a Software Developer: No More Self-Censorship
#237You can get to 100% by having tests that run the code, but have no assertions.
You can run tests that test unimportant code just as much as super critical code. There's no differential between the two. Of course super critical code should have a number of different tests that exercise it. Its not the same as testing every path, its testing different inputs and checking that you get the right results. Also see property testing.
Chasing 100% is like any metric that becomes a goal, it perverts the metric, and moves the meaning away from the metric.
Why is that? Well, we dont really want tests at all, if only people could write perfect software first time, we wouldn't need them. Stupid people!
What we want are reliable systems! So we use feedback loops between deployed systems and code to help us discover those places where we need more tests, or a different type of testing, and then we do that.
Of course if your test coverage is 0%, thats probably bad, but 100% is a non-goal.
You'll also find that if there are no tests in a system, when you need to add them, its really hard, cos its not designed in a way that makes it testable. So maybe the TDDs will help you! You end up with a system that you have high confidence in, and also is testable.. so when you find something that doesn't work how you thought, its easy to add that test right in there.
Re: Confessions of a Software Developer: No More Self-Censorship
#238>Pair programming is less fruitful. I'm surprised at this statement. My team pair a lot - at least half of the time - and the majority is remote. We find it much more comfortable to pair remotely on our own setups than crowded around a single desk and keyboard. I wonder why our experiences are so different.
In person, it's usually easy to see when a junior is struggling, and pull up a chair. That same junior, in a remote environment, might not proactively ask for help. And me sending a slack message to them asking how they're doing might get a "all good" even when they are not. And sending a huddle request to them because I suspect they're struggling is just a VERY different thing than looking over at them to read their body language, or swinging my their desk to check in.
Maybe some would say that it's on that junior to know they need to ask for help. Sure, great. That does nothing to resolve the reality of this very real situation. Of course part of coaching this junior (in person or remote) would be encouraging them to be more proactive about asking for help, but if you have fewer opportunities to offer help and coaching in the first place, their growth is slower. Significantly slower in my opinion.
This is a hard difference to convey to someone who has never experienced a good in-person culture. But I know I would not be where I am if I had spent the first decade of my career working remotely.
Re: Confessions of a Software Developer: No More Self-Censorship
#239Well written article full of humility and vulnerability? I love it. My reaction: you don't need to feel ashamed of not knowing something, there is far too much to know and I'm still learning new techniques and concepts 37 years in, so I would never judge you for it. I would also not judge you for having your own preferences and opinions. I too prefer working in an office to remote work, but when I say this out loud o…
I don't take issue with what you've said about remote work despite very much having the opposite opinion to you because you phrased it as your own personal opinion. This blog post does pretty much the opposite though; its analysis of remote work is pretty much entirely just generalizations of their own experience, but phrased as if they're objective truth. It was an especially weird editorial choice to make use of th…
I mean you're describing 90% of blog and forum posts on the Internet here.
This (IMO - so it's not ironic) is the biggest leap most people need to make to become more self-aware and to better parse the world around them: recognizing there is rarely an objective truth in most matters, and the idea that "my truth is not your truth, both can be different yet equally valid" (again in most cases, not all cases).
Re: Confessions of a Software Developer: No More Self-Censorship
#240Earlier quoted context omitted.
I don't take issue with what you've said about remote work despite very much having the opposite opinion to you because you phrased it as your own personal opinion. This blog post does pretty much the opposite though; its analysis of remote work is pretty much entirely just generalizations of their own experience, but phrased as if they're objective truth. It was an especially weird editorial choice to make use of th…
It feels like you're blaming the author for the lazy thinking of someone who might read his opinion and take it as objective fact. The 7 times 9 analogy doesn't track it all. 7x9 = 63 is an objective fact by definition . His thoughts on remote work are an opinion by definition . If other people decide that what he says is dogmatic, blame it on their own lack of critical thinking skills. The meta-point of the article…