This one is easy to solve. Having automation or, as usual, blocking the PR with a change request and having it blocked until the necessary code get the tests needed. Again: Maybe the developer will add it, maybe you can do it in a pair programming session, or maybe you just submit the tests to the PR and lead by example. Sometimes it can be frustrating, but I'm sure to bring such proactive actions up when I'm negotiating my salary raise..
Ask HN: How to work with people who push back forcefully?
21–30 of 95 posts
Re: Ask HN: How to work with people who push back forcefully?
#22Yet... no one ever - literally - pulled down code in a PR/branch and reviewed it locally, never reviewed any tests (in 2 years I never got one question about a test as in 'you missed use case X in your tests', etc). They literally just meant "reviewing this on the screen in the github UI is hard when there's more than a handful of files - it's hard to tell where the changes are or what they effect". This is why I would also have tests and (sometimes extensive) documentation in the PR, to help a review. Never happened.
I had "large" PRs (by someone else's labelling) about 10-15% of the time. I would get pushback - "this is too much - it's too confusing".
Me: "OK... let's schedule some time to review - maybe you can help me cut it back some, or you can assist me in some way in this work?".
Others: "don't have any time for that - this is just too much work".
OK, so... complain about the work, but when I ask for help to conform to your standards... I get a refusal.
I point blank asked multiple times when this was lodged as feedback - "what steps could I take to have made this smaller?"
The only substantive thing that would have made it somewhat easier to roll out some of these "larger" changes in smaller chunks would be to have had a more comprehensive feature-flag system in place.
I put a basic flag system in over a weekend - some server side, and some hacky method to respect the flags in client side code as well. It was done over about 3 hours, and was never improved. Again - very hacky. I had an "improvement" ticket in for... about a year, begging for more than a few hours to devote to tightening up "feature flag" system to be a bit more comprehensive, documented, etc.
Every "sprint planning meeting" it was the same "there's no time for that, it's not that important, quarterly deadlines, blah blah blah". But if/when I'd do things that were 'unticketed', that was met with accusations of being passive/aggressive, or being subversive, or 'not a team player'. "If you've got time to do that, you could have been helping out people who were behind". The same people who didn't write tests or documentation, and refused to meet with me when I asked for assistance in trying to accommodate their calls for "smaller PRs".
First year on the project was good, but as it grew, policy/procedure/scrum/agile got in the way, with more process and less ability to get useful stuff done. Second year was far less productive (at least, compared to what it could have been - I'm sure some people just saw forward progress as 'good', but we were greatly slowed by more process and ceremony over time).
Re: Ask HN: How to work with people who push back forcefully?
#23Try being more blunt & concise. Instead of explaining, just say “please add unit tests and I’ll approve,” and then disengage. They’re the one who needs their PR approved - not your problem.
The key here is escalation path. He’ll have to bring it up to his manager, and then the conversation is with his manager, and then you can have a broader “he can’t just ignore every standard” conversation.
Re: Ask HN: How to work with people who push back forcefully?
#24IMO this person needs to come to Jesus or be fired. > I'm the tech lead but not manager You need to have a conversation with the manager. Document the violations of standards and company policy. The manager should review this with the problem employee, in writing, and the employee should sign an acknowledgement that the warning was received and understood. If the employee does not improve he or she should be terminat…
Re: Ask HN: How to work with people who push back forcefully?
#25First two of these examples may be on the religious or yak shaving end of debates, where the best practice is probably not an absolute. 1. There are code bases and PRs where coalescing many small changes into one "this changes how we do this" commit is encouraged when it's a semvar level change requiring coordinated edits to keep working, rather than a purely iterative change. 2. Most research shows universal unit te…
Re: Ask HN: How to work with people who push back forcefully?
#26Re: Ask HN: How to work with people who push back forcefully?
#27First two of these examples may be on the religious or yak shaving end of debates, where the best practice is probably not an absolute. 1. There are code bases and PRs where coalescing many small changes into one "this changes how we do this" commit is encouraged when it's a semvar level change requiring coordinated edits to keep working, rather than a purely iterative change. 2. Most research shows universal unit te…
I have very mixed feelings about this. On the one hand, I’m no fan of following process for the sake of it.
On the other, the way to address policies that need an update is to sit down with the lead/manager and propose changes with evidence as to why.
Deciding to just do things your way and then arguing about it is not the way.
Re: Ask HN: How to work with people who push back forcefully?
#28IMO this person needs to come to Jesus or be fired. > I'm the tech lead but not manager You need to have a conversation with the manager. Document the violations of standards and company policy. The manager should review this with the problem employee, in writing, and the employee should sign an acknowledgement that the warning was received and understood. If the employee does not improve he or she should be terminat…
I will add to this that the OP should seek out or ask their manager to find a principal/staff level engineer that can take on the individual effort of helping the renegade engineer fall in line. That may be more in line with their responsibilities than a team lead.
Re: Ask HN: How to work with people who push back forcefully?
#29Re: Ask HN: How to work with people who push back forcefully?
#30Our CI does a check to see if Terraform was correctly formatted prior to push and will fail before any "init" / "plan" / "apply" step is reached.