503 karma · joined March 4, 2017
Dodging an issue tracker is, IMO, one of the clear benefits of TODOs (or FIXME, HACK, BUG, and family). Especially in low-trust teams or whenever there's a need to avoid the sorts of politics that can arise between roles.
Refactoring tickets are terrible for all the reasons you point out. PMs will essentially never prioritize refactor work over new features unless pressured to, and if so, the work more often than not gets assigned to newer hires and junior devs, whereas a TODO is actually more likely to get picked up by a curious and intrepid newcomer when they're actually ready for it. Should said newcomer stumble across it before they are ready, it can also be a signal that they ought to reach out to a more experienced developer to ask some questions. For devs, refactor tickets may be useless overhead: in time spent writing, time spent defending, time spent estimating, etc. And in return, there's little glory or praise achieved in working on them; tracking too much time on refactor tickets may even attract negative attention from management. Then good luck if your QAs and agile leads are suspicious of any unit of work that a new test plan can't be written for.
A good TODO is sometimes just how the sausage is made.
This isn't just about Netflix. The over-arching topic is company anti-values. The context has narrowed since then, first to Netflix, then to a specific slide about not measuring people by hours worked, and so on. But for the heck of it, some other quotes from said slide deck:
> We don't measure people by how many hours they work or how much they are in the office
> Actual company values are the behaviors and skills that are valued in fellow employees.
> Honesty Always
> Pro Sports Team Metaphor is Good, but Imperfect
> Internal "cutthroat" or "sink or swim" behavior is rare and not tolerated.
Again, if the expectation for a workplace like that were 60-80 hours a week, and that fact is clearly and openly communicated, fine.
But if you're making those claims while your top performers are the ones putting in undocumented additional hours and pressuring others to do the same, then I insist that is toxic behavior. Yes, even if they don't brag about work/life balance, though I'll consider it even worse if they do.
> So yeah, it seems like we are in agreement :)
All sarcasm aside, no, we're definitely not!
If they're open about expectations, assuming I'm at a point in my life where the trade-off makes sense, then if the compensation is good, that's fantastic. Nothing toxic about that. Not that different from some US manufacturing workers getting paid hourly wages, who make the same kind of trade-off all the time, making damn good money for 60 hours of peak performance a week. Sure, they might end up paying for it by ruining their bodies and drop dead from a heart attack or stroke within a year of retirement if they make it that long, but the risks are no secret.
> This situation is normal and expected in professional sports.
Let's google. The NFL seems topical around this time of year.
https://www.cnbc.com/2019/02/01/heres-what-the-average-nfl-p...
> The minimum annual salary for a rookie active roster player with a one-year contract is $480,000 . . . A player with three years’ experience would command a salary equal to at least $705,000, while players with seven to nine years on the field must be paid at least $915,000 . . . the average NFL salary was only about $2.7 million in 2017 . . . That’s less than three-quarters of the average $4 million earnings of a major league baseball player and less than half the typical wage of NBA players, who earn about $7.1 million on average.
I take everything back! Let's not treat SWEs any differently. For that kind of money, I will gladly put in 80 hours a week.
Granted, it's easier to hide this now when everyone's working from home.
> I’ve worked with people who could accomplish as much in two hours as I did in two days. Would it be “toxic” to work in such an environment?
No, why would that be toxic?
Apparently, the "Nintendo WiFi Network Adapter" was once a thing in Japan, and it did have a router mode.
https://www.wired.com/2008/09/nintendo-announ-2/
https://www.famitsu.com/game/news/1217892_1124.html
https://kotaku.com/nintendo-announces-wii-ds-wifi-router-bwa...
Hah, I feel like I understand more where you're coming from with that. I was the opposite, seeking to get my finished works to feel more like my rough sketches.
> I never really warmed to Boris Valleho's work (he used to hang in a gallery that I had work in, and I met him), but I have to admit, that guy can draw.
That he can draw is undeniable indeed. There are a few artists whose sketch work reaches that level of refinement almost immediately. Others get there after years of study and practice. Still others don't see that at as a goal at all for that stage of their process, and others still would see it as an antithesis to what they're after. Looking at Valleho's finished work, I can at least understand how his sketches are in service to that sort of end state.
Compare, perhaps, to some Rennaisance-era sketches. Typically far rougher compared to the finished works, but hardly less impressive. I'd suggest there's a great difference in what they were interested in: matters of anatomy, gesture, and composition. Of course, they were also inventing and rediscovering knowledge that modern artists have far easier access to. There's an interesting dichotomy in that some destroyed their sketch work, while others had far less interest in actually finishing anything.
I've forgotten an appalling degree of art history, so I can't readily name names, but as far as finished works go, I had a fondness for painters using relatively minimalist brush strokes, with each application of paint exactly the right color in exactly the right place.
I'd liken it to an artist's sketchbook. If every piece is required to have the appearance of a master work, lest you be judged by it, then the sketches must remain private or else be destroyed (which they often were). But the masterpieces don't jump to the canvas without sketches. Forgo one, forgo the other. And an artist's sketches often have an elegance that's lost in the translation to a finished piece. I see similar parallels in the rough line art for animation, and certainly in an architect's studies. Not all of it is destined to be finished, either, but such work is often prized regardless.
So why (aside from fearing for our careers) should we be afraid to share?
Some code is inherently low-stakes. Some code will only ever be useful, even to the public, for a few months. Sometimes I just want to express an idea, where the proof of concept matters far more than making something shippable, which might imply strapping it down to a particular platform or ecosystem where no one outside those walls is likely to see it.
Even on the job, there's a time and place for the quick & dirty script, where anything more would be an over-engineered waste of time.
Back to the artist analogy, the best advice for maintaining a good portfolio is edit, edit, edit. Constantly be looking to remove work, leaving only your best, as you'll be judged by the worst. Does that model really work for GitHub? If everyone started withdrawing work they were no longer satisfied with, we'd all be worse off, if not actively harmed. So that's where I believe my artist analogy ought to end.
Mercifully, I'm not quite yet desperate about leave my current role. But I do feel like my career (and salary) progression is stagnant; not seeing much opportunity where I'm at. I'm thankful for what I've got, but I think it's smart to be looking. Just found it weird to face rejection so much from people reaching out to me in the first place, in a supposedly hot market.
Seems everywhere I've applied recently has been using Coderpad.
Lately I've been accepting interview requests for principle roles from on-site recruiters, and I've been consistently rejected after these Coderpad tech screens. What's bugging me, however, is the "challenges" have all been softball questions. Reverse a string. Demonstrate an understanding of closures. Write a function that tests if two strings are anagrams. Write some basic React. Create an interactive form. I breeze through well enough, then it's either an immediate rejection or else they ghost me. Not once do I get farther than that. I'm not even mad, just confused as hell.
This is coming from the perspective of someone who was getting used to offers from the first job they applied to. If there's something off-putting about me lately, I wish I knew.
I would go so far as to say a random passive observer is still a great idea in addition to two active interviewers.
However, there's always room for the interviewer to muck things up.
For the anagram problem, there are a range of solutions, including elegant & inefficient, clever & efficient, and robust & efficient. Do you dock someone depending on which they reach for first?
There's limited time, and a candidate may assume you're mostly interested in "how they think" and thus focus on the algorithm alone. After the interview, do you run the candidate's solution against test cases that you never mentioned, docking them for "missing" matters of casing or non-alphabetic characters? If the candidate themselves wrote unit tests, do you dock them for missing test cases you felt should have been included?
Do you dock them for not checking for invalid inputs, even though the candidate might normally work in a type checked variant of the language that wouldn't have permitted that anyway?
So many possible hidden assumptions. I know I've been rejected for similar unstated expectations in the past, and in retrospect, I know I've been guilty of doing the same to others.
However, when asked to think of Tony the Tiger and his stripes, not only do I perceive orange fur and red bandana, but I'm struck by just how freaking blue his nose is and it is uncomfortably persistent.
Makes me think of loons, which completely change their plumage for the winter in addition to migrating from fresh water lakes to oceanic waters. Without close study, you might not realize they're the same birds.
Now, I would be quite pleased if science journalism would do away with making such claims in either direction without further elaboration.
Sure, I'm skeptical that organoids are anywhere near being capable of thought or emotion, but I don't see how it's acceptable that TFA can just assert so as fact with no further elaboration. Are the organoids developed enough to produce connections between neurons and show electrical activity by the stage they develop eye-like structures? If there's nothing like that, cool, no problem. However, if they do have that level of development, how exactly do you prove they have no subjective experience?
If we're going to add comprehension requirements on top of that, then what passes as reading is pretty abysmal even for some adults.
> Most problems in business will not fit in your well-scoped JIRA ticket. That doesn't mean you get to ignore them until they do.
But you're still chaining me to Jira, aren't you? I'm still being judged by how many points of Jira tickets I close per sprint, aren't I? And I bet you're still trying to insulate me so I "don't get distracted" from my tickets.
> People get paid the big bucks because they handle that uncertainty well and bring those vague, ill-defined problems to a good resolution.
So I can expect to receive the autonomy needed to take on those problems after all, and also get the compensation commensurate with that responsibility?
> "I'm pretty good with React" doesn't quite cut it.
Is that the bar we're using for hiring engineers around here? Damn, I did _not_ interview your company well enough before accepting this job!
> Yes, because of the implication: you want ownership? Great. Here's your KPIs. You didn't meet those KPIs? Here's your severance, best of luck at your next job.
Hold up. I already have KPIs / OKRs / MBOs or whatever flavor of the year HR is pushing on top of the sprint metrics you're tracking, and as a senior engineer or higher, I'm already in trouble if the product fails, which is another reason I want the autonomy to make sure failure is avoided!
> I made a comment to an advisor a while back about "a VP on a PIP" and they laughed. "Mike, a VP is always on a PIP. That's the role. You hit your KPIs or you're out."
Why are we bringing up comparisons with VPs? Is it VP-level autonomy or nothing here?
I take some offense at this straw man.
Either give me the autonomy to solve the high-level business problems you want to make me accountable for, _or else_ I will default to expecting bite-sized, well-scoped tickets.
In exchange for six figures and autonomy, I'm capable of writing my own well-scoped tickets if you think that's a good use of my time, and I might do so happily if I need to be coordinating with other talented individuals in a team built on mutual trust and respect. But if I'm stuck with minimal autonomy, pulling some tickets written by a project manager off the backlog, then hell yes I expect them to be bite-sized and well-scoped so I can do my job and not waste an entire week figuring out what the problem really is, determine who the real stakeholders are, secretly talk to the end users, pick the brains of developers on other teams, implement a few thousand lines of missing back end services, coordinate with ops to get those deployed, and finally just add that button to the UI that the product owner, half a year ago, persuaded the team would only take a day, all why being grilled every morning about why such a simple task is taking so long. Don't deny me autonomy, let me be fed me crap, and have me do someone else's job without credit while listening to them complain. Let me do my job without wasting my time; is that too much to ask?