There are some highly talented developers with great interpersonal skills who just happen to have e.g. delayed sleep phase. They might leave "early" to have a normal evening with family or run errands, but then work more at night while they're awake with time to burn.
Of course, that doesn't accommodate people with severe delayed phase or whatnot, but often that stuff can either be worked out either on a team-by-team basis or arranged as part of the hire. Or maybe you only enforce the "scheduled" part, and put a "24 hours in advance minimum" on it to keep things humane. The important thing is to get team expectations in place.
What doesn't really work is "around whenever they feel like it," assuming there's any inter-team dependency at all. Even with an email SLA, that gets obstructive pretty quickly.
It has the virtue of assuring that we are all available in person to one another, which is actually pretty valuable.
In my own experience, those distractions are mostly due to open-plan and cubicle-farm offices. Given a proper one-man office, with a door, it's very easy to be productive.
Having coworkers just showing up and leaving at any random time during the day I think messes with morale/vibe of the office. And as another commentor pointed out, communication. I like to know the general time-range I can find an employee to speak to. I'm old-school and still appreciate face-to-face time over online tools. If the expectation is set at the beginning that "Jane is a telecommuter Mon,Wed,Fri". Ok, that's fine. I don't like the idea of "Jane just shows up whenever she wants to, but she's getting her JIRA tickets done within the sprints and shows up to meetings".
Basically, while schedules definitely don't need to be rigid... they also shouldn't be fully impromptu either. If you're not telecommuting, I believe it is valuable to be physically around during office hours.
I absolutely agree that it is important to be around during office hours, especially to take advantage of mentoring opportunities. Taking the time to sit down with a more junior employee and help them figure out their next step is incredibly valuable. There doesn't need to be any rigidity to office hours to accomplish that though. I would be taken aback if a lead came to talk to me about work hours, unless I had become nocturnal.
That's a weird opinion to hold. You should change it. It hasn't been true in any company I've worked in for the past ~8 years.
> I don't like the idea of "Jane just shows up whenever she wants to, but she's getting her JIRA tickets done within the sprints and shows up to meetings".
This sounds like the perfect situation to be in, both for an employee and an employer.
a.k.a you like to interrupt people on a whim. Show some respect and just schedule a meeting.
Reducing human interaction to schedules and timetables is one of the worse social diseases of this profession and I am personally very much done with playing nice with the people who wish to coddle them. Your coworkers are no less important than you are, and sometimes they have the temerity to need you for a human interaction at a time not in your calendar. I am certain you and your precious, all-self-important flow can deal with it.
You know who doesn't work that way? Fabrice Bellard. If you're lucky enough to be his co-worker, you can sit down next to him and ask a question at any time, and he will stop what he's doing and answer you. Then he'll get back to work.
The attitude you expressed above (and it's far from uncommon here on HN) is just an example of developers wanting to be treated like special snowflakes. I do not believe this is a desirable trait for someone working in a company.
Perhaps that is not a desirable trait for someone working in a company.
Also, I submit that if your company is larger than a couple dozen people and there are many questions that cannot be answered by more than one person, then your company has significant compartmentalization problems.
I hate being interrupted, we all do, even working as a cashier in McDonalds. But the idea that a special branch of people SHAN'T be interrupted is snowflake treatment.
I already feel privileged over other employees in my company for having flexible workhours (felt sick yesterday evening, sent a text at 1am and got at work around 2pm today despite a production deployment being scheduled for 5pm), now if suddenly MY time is more important than anyone else's, I'm not an engineer, I'm a snowflake in an ivory tower.
She is one meter to my right, unless I tell her "Sorry I'm trying to think of something give me five minutes", I want her and ANYONE who joins my team to ask me any and all questions, otherwise A) I've done a bad job showing my team they can communicate properly with me B) I've done a bad job managing them because I am slowing them down.
A couple people having the sheer clanging temerity to ask me a question doesn't bother me a bit, and I'm not special. I've learned to work in the kind of comprehensible chunks that allow me to be useful to other people, though, because being a multiplier is vastly more valuable (and pays a lot more) than being an adder.
The thing that most threatens my zone is when the headphones need to come out. The _only_ exception is a simple yes/no, such as, "hey, want a coffee from Starbucks?" Anything bigger, whether a phone call or tap on the shoulder can really kill my session or workday. I'm talking your five minute conversation costing an hour or more of wasted time.
What do I recommend? Message me first and say "hey are you free to chat?"
This is so manifestly out of proportion to the disruption that I would (gently, as I am not unsympathetic, and personally I have no problem with IM, though emails can go to hell because developers generally ignore them) call it the kind of personal problem I'd hope you could work on and improve rather than imposing that on everybody around you who expect generally reasonable parameters of human interaction.
If every single person in the office decided on a custom, non-overlapping schedule, how productive do you think that would be? Unless you're open to answering e-mails and IMs at home and on the go at all hours.
That didn't last long.
If you want true flexibility and control over your schedule, the best option is to become a freelancer or consultant. But keep in mind that in many cases your clients will also have expectations around your schedule and availability.