If it's disseminated via oral lore it's expensive to change and is often misinterpreted across a large enough org.
A silent killer of engineering orgs is bad practices that stick around because that's the way it's always been done. No one knows why because it wasn't written down. The only way to fix that is for someone high enough to provide blessing, but maybe none of those things are individually disruptive enough to get the CTO involved. So everyone eats the costs in perpetuity.
Much easier to just write everything down.
Increased difficulty for juniors to ramp up when you are remote is a symptom of a culture with lots of overly complicated processes that are not well documented.
I'm always startled by comments like this because it's so counter to how I understand humanity. We are social mammals. No amount of good grammar and excellent font choice can substitute for sharing the same physical space together, an act that has been core to what it means to be human literally since we first speciated.
Yeah, writing stuff down is important. But engineering culture is a culture in the real sense of the word and trying to transmit that entirely through text sounds to me like raising a baby using a six-axis robotic arm.
Humans are social animals in the sense that they thrive when being social with whoever and wherever they want to be social. I don't know about you, but I have more time to be social with the people (friends, family, neighbors, volunteer groups, etc) that I actually want to be social with when WFH. Being forced to drive to an office under the pretense of "this is how our evolutionary ancestors preferred it" is low key gross.
You can - and should - be able to disseminate engineering culture through digital means.
At almost no point in human history has that ever been true. Only in the very recent past has any notion of mobility and sufficient population density existed where one could choose who they socialized with. For all of our evolutionary history, you lived and died within your tribe.
Socializing can be done with people outside that very limited circle. Meanwhile, I can get my knowledge-sharing itch by looking up new techniques on the internet, going to conferences, etc.
Just because it doesn't involve beer or seeing each other's faces doesn't mean that it's not a real culture.
That's not to say that any particular group's culture will translate seamlessly from in-person to text/video chat, but the idea that having and sharing a culture in a text format is somehow lesser than having one in person doesn't make sense to me.
No it's like raising a baby using advice you read from books that are peer reviewed and revised over time vs. just listening to what your parents say.
We are sentient beings that have had writing for thousands of years. Perhaps we should start acting like it.
A million times this! If there's anything that WFH has done, it's exposed the big gaping hole known as "institutional knowledge."
> Increased difficulty for juniors to ramp up when you are remote is a symptom of a culture with lots of overly complicated processes that are not well documented.
Or no process at all. Even on small teams, even on projects I start from scratch by myself, I GD document things. It's not that hard once you start practicing and make it a habit.
I swear, if a programmer had zero comments in their code and said "just come by the water cooler if you have any questions", they'd be fired within a week, yet we put up with this ephemeral bullshit for other things.
The benefit was this also made them amiable towards WFH situations. Big snowstorm? Everyone can WFH for the week. Want to go visit the west coast for a few months? Sounds great, we'll see you online.
Point being, as a junior dev I never felt left out in the cold. Some of the best pair programming sessions I ever had during that time were with a dude from Ireland while we alternated screen sharing. So as long as the team culture is supportive of remote collaboration, I think junior devs will be fine.
Two points, entirely anecdotal:
1) A few years back, I sort of "restarted" as a Salesforce developer. I had well over a decade of web dev experience, but I was new to SF. Everything about it was unique to this environment. I worked in an office, but my boss worked from home (ironically enough). So I was effectively remote working with him from the get go, and I found it worked really well.
2) My kids learn a remarkable amount of stuff on their own: Minecraft, Roblox, Scratch. All these programming environments that they've become really proficient at, and entirely on their own. This is effectively remote work. There was no one holding their hand.
I think the bigger issue is going to be getting employers to trust that the junior is working well. In truth, most junior employees probably don't have the maturity and discipline to be productive remotely. I certainly wouldn't have back when I was 18-22. I would have taken every chance I could to goof off, and not even considered whether that was a problem.
That kind work ethic (i.e. a bad one) tends to get beaten out of you pretty quick in the early days of a professional career. But a lot (most?) people fresh out of college still have that student mentality of viewing "adults" (bosses, teachers, parents) as authority figures to be rebelled against to some extent. I wouldn't trust someone with that mentality to be productive unsupervised.
The natural counter point is that if you can't be trusted, you shouldn't be hired. But I think that's a mistake. There's an awful lot of talented and smart young people who need a break or two in order to develop the appropriate work ethic and achieve their potential.
All of which is to say, I share your concern about opportunities for junior developers (and junior workers in general), but for different reasons.
I think this is something that would work for more junior people as well, and I'd be happy to break out / share a screen as needed.
My team and others have been having "office hours" meetings where everyone is just working, but often the cameras are off, mics are muted most of the time, and we only do it for a few hours a week.
I definitely agree that there is a lot of value in being able to jump in and ask questions in the moment. That's a big benefit of having these calls for us.
Maybe we should try having them more often. :)
Now we're all remote so we keep the same meeting open. I guess people have differing levels of comfort.
This sounds absolutely horrible.
It works well and (at least with how our team works) it's not invasive.
I would just turn both microphone and camera off; if somebody wants something they can message me, like a sane person.
And now you know how it feels to work in an open floor plan or cubicle where someone can come along and break your flow causing you to have to waste over 20 minutes getting back into it.
The key with the all day video conference is you can mute it and set your status as away when you need to do deep work. Can't do that in an office environment.
It's simply intrusive and unnecessary.
this is incredibly bad for the environment. i just hope it's at least not as bad as commuting
I worry a lot about how this cuts the bottom rungs off the ladder for junior developers. Senior developers can be very productive without frequent access to in-person help, and are valuable enough that they can get work-from-home if they want. But junior developers have more frequent questions, need to absorb software engineering culture, and need to have more work and task structure created for them. Remote work is really hard for them.