News for hackers. Stuff that matters.
Re:Things to say when you're losing a technical argument (2001) by jrace on Friday November 05, 2021 @01:40PM (#29122414)

    I like your idea. Why don't you write up a white paper and we'll review it at the next staff meeting?

That is a sure-fire way to stop most people.
Re:Things to say when you're losing a technical argument (2001) by Frost1x on Friday November 05, 2021 @01:54PM (#29122601)
I've actually had this happen, so I pretty much wrote a white paper (charging company time and delegating time from dedicated efforts by way of the name of the person who requested it).

I sent it, then continually followed up on the status of the points made. Some changes ultimately did get integrated because of it, I think calling the bluff forced someone to actively read, think, and respond to it, even if it wasn't leadership, they had someone else spot check and agree/disagree on points.

Re:Things to say when you're losing a technical argument (2001) by divbzero on Friday November 05, 2021 @02:23PM (#29122958)
There’s something to be said for corporate cultures that require written memos describing each new proposal. Forcing people to “actively read, think, and respond” is a great way to increase the likelihood that the best ideas bubble up to the top.
Re:Things to say when you're losing a technical argument (2001) by tgsovlerkhgsel on Friday November 05, 2021 @07:25PM (#29125809)
It's also a surefire way to stall an idea out in paper form that by the time it comes to implementation, people have gotten distracted by other urgent work and the idea never comes to fruition.

Since time can only be spent once, you are essentially picking between a quick&dirty prototype and a nice document.

The document invites a bikeshedding session and consumes reviewer time, the prototype often allows you to immediately see whether the idea is worth pursuing, it may directly deliver a part of the benefit of the completed solution, and most importantly, it'll show the actual weaknesses in the design and the real constraints you have to deal with in a way that a theoretical review can't.

Re:Things to say when you're losing a technical argument (2001) by BogdanPetre on Friday November 05, 2021 @10:05PM (#29126894)
"time can only be spent once" - that's so important, yet people rarely realise it
Re:Things to say when you're losing a technical argument (2001) by shoto_io on Friday November 05, 2021 @02:30PM (#29123068)
AFAIK amazon is pretty well-known for that? Some say it was key to their success story.
Re:Things to say when you're losing a technical argument (2001) by jollybean on Friday November 05, 2021 @06:10PM (#29125236)
It's more likely to make those who are able to manage bureaucracies get their ideas to the top.

Requiring some basic rigour to the thinking is good though.

Re:Things to say when you're losing a technical argument (2001) by csydas on Friday November 05, 2021 @04:50PM (#29124601)
> Forcing people to “actively read, think, and respond” is a great way to increase the likelihood that the best ideas bubble up to the top.

I think that it requires acknowledgment that there are two sides to such issues; as someone who is on the side that typically ends up having to handle the majority of the busy work to get many proposal through in my company I absolutely want the proposer to make the effort to figure out the stakeholders/costs/challenges for their project as well as answers. I'm willing to __fill in gaps__, but I don't really want to be having to do the basic legwork for someone else's project.

I don't mean to sound like I want to stifle inconvenient creativity; it's certainly not the case, and when someone has really taken the time to make some new tooling/project with benefits and acknowledges the costs involved, I'm more than happy to champion such projects.

But when someone just has a desire (or disparagingly, a whim) to change stuff up because it simplifies their workflow and they expect someone else to handle all of the communication of their project without even giving me the courtesy of doing such research, I cannot deny I approach such proposals negatively as I feel a bit used and I think that the expectation is "I want this, make it happen", which is not my job.

Similarly, I find myself encountering persons who expect that I and the rest of the company will magically intuit the importance of very niche projects without being willing to take the time to simply explain the pain point they wish to address. I'm not even talking about deep technical details here, but simple things like:

"We spend N amount of time on task X"

"I have an automation workflow that will require Y hours to implement, but N is reduced by Z [time value]"

Instead, the presentation is "I want to implement this automation workflow; what do you mean explain the value? Can't you see it? Why are we so caught up in corporate bureaucracy?"

I'm all for reducing N as much as possible, but if I myself can't explain why spending Y is vastly cheaper than N, I have no confidence in my ability to convince others that the cost of Y is worth it.

I've truly been on both sides, and it is some work to justify a change, sure. Formal proposal documents are a bit much for my taste, but whether we like it or not, C-Levels aren't going to read your code and they definitely aren't going to read a 2000+ word stream-of-consciousness email describing the project in an unstructured way (much less any git readme.md files). The impetus is on the person proposing the change to at least make an effort to convey the reason for the change to the relevant stakeholders.

Re:Things to say when you're losing a technical argument (2001) by bobthechef on Friday November 05, 2021 @04:38PM (#29124484)
Indeed. It cuts down on impulsive and thoughtless decisions.
Re:Things to say when you're losing a technical argument (2001) by ianmcgowan on Friday November 05, 2021 @02:40PM (#29123195)
Aka "The Wally Reflector": https://dilbert.com/strip/2005-07-10

I do this all the time, sometimes even something as simple as asking the user to write up the request in an email is enough for them to go away forever. It's a simple way to check if the requestor is invested in the request, or just trying to slide something from their to-do list to yours with zero effort...

Re:Things to say when you're losing a technical argument (2001) by goostavos on Friday November 05, 2021 @02:25PM (#29122991)
This is par the course at Amazon and, honestly, I think it's pretty great.

We all tend to get a lot of ill-thought out pet ideas about what needs to happen in a project. Even a tiny informal doc listing out what problems you're actually trying to solve is a massive boon for communication.

Re:Things to say when you're losing a technical argument (2001) by mikepurvis on Friday November 05, 2021 @02:29PM (#29123053)
I agree. I'm a big fan of the lightweight design doc— what's the background, what are the motivations, what's the proposal, what are the alternatives and why aren't we doing them, what are the implications and potential downsides, does the proposal change anything about our exposures as far as security, privacy, etc.

I like the discipline of writing these out for myself, I like reviewing them, and I like being able to look back on them for my own past projects as a way to quickly warm my mental cache.

Re:Things to say when you're losing a technical argument (2001) by rrrrrrrrrrrryan on Friday November 05, 2021 @09:17PM (#29126590)
> the lightweight design doc— what's the background, what are the motivations, what's the proposal, what are the alternatives and why aren't we doing them, what are the implications and potential downsides, does the proposal change anything about our exposures as far as security, privacy, etc.

Maybe it's just me, but this sounds quite heavy.

Re:Things to say when you're losing a technical argument (2001) by mikepurvis on Saturday November 06, 2021 @12:36AM (#29127563)
I think it's as heavy as you want it to be— not every point on there requires a whole treatise, but each is an opportunity to be like "is there information here that I have which might be useful to my colleagues or my future self?"
Re:Things to say when you're losing a technical argument (2001) by shoto_io on Friday November 05, 2021 @02:31PM (#29123075)
Could you share the basic outline / structure? Which points need to be addressed?
Re:Things to say when you're losing a technical argument (2001) by nanomonkey on Saturday November 06, 2021 @01:50AM (#29127856)
[Design Doc Template]

* Background

Background on the problem we’re solving.

* Design Goals

Requirements and goals of the project. This should also include numbers like traffic assumptions, usage, uptime requirements, etc.

* Other Proposals

Options that were looked at, but we evaluated that weren’t going to work

1. Option 1

2. Option 2

* Solution Summary

Summary of the solution in a paragraph or two.

* Solution Details

Details of the solution...feel free to add/remove sections that make sense, some starter ones are below.

* System diagram

Diagram of all the binaries, databases and 3rd party services that this system touches

* Wire frames

Any wireframes for the UI if this has a frontend component?

* Code

Where is the code going to go? Does this touch any common repos? Any new repos being created?

* Testing

What kind of testing is going to be done. Unit tests, regression tests, etc.

* Scaling

What aspects of traffic do we need to think about for scaling. If the traffic goes 10x, we ok? could the database grow 10x and cause issues?

* Operation details

Details that the operations team might want to know like location of binaries, monitoring to be setup, oncall, etc

* Internationalization

Do we need to think about spanish?

* Tradeoffs made

Write out the big tradeoffs made

Re:Things to say when you're losing a technical argument (2001) by pie42000 on Friday November 05, 2021 @03:12PM (#29123572)
Yeah, gimme one sec and I will draft up a white paper on drafting whitepapers
Re:Things to say when you're losing a technical argument (2001) by shoto_io on Friday November 05, 2021 @03:14PM (#29123588)
Good one! I promise to wait for it right here until you get back!
Re:Things to say when you're losing a technical argument (2001) by mavelikara on Saturday November 06, 2021 @03:03AM (#29128084)
Not the GP, but here is an example that had influenced my thoughts on this topic: https://www.joelonsoftware.com/2005/08/17/the-project-aardva...
Re:Things to say when you're losing a technical argument (2001) by marcolussetti on Saturday November 06, 2021 @03:57AM (#29128268)
Looks like unfortunately the link to the PDF there is broken.
Re:Things to say when you're losing a technical argument (2001) by bmn__ on Wednesday November 10, 2021 @11:52AM (#29176920)
Today you are one of the "lucky ten thousand" to learn about the Internet Archive.

https://web.archive.org/web/20051224054905/http://www.joelon...

If that was helpful, then please donate.

https://archive.org/donate

Re:Things to say when you're losing a technical argument (2001) by mavelikara on Sunday November 07, 2021 @01:26AM (#29136817)
Re:Things to say when you're losing a technical argument (2001) by ZainRiz on Friday November 05, 2021 @04:31PM (#29124412)
Sure, could you just put your request in a google doc and share the link here?

Just let me know what you want to learn, how you hope to use it, and what you've tried in the past.

kthx

Re:Things to say when you're losing a technical argument (2001) by skeeter2020 on Friday November 05, 2021 @02:32PM (#29123088)
I don't suggest doing this as a passive-aggressive attack, but I use a variant when presenting to a group that includes the "always negative" person. I suggest they do some work investigating and sharing alternatives to the things that "won't work" and they miraculously start focusing on viable solutions.
Re:Things to say when you're losing a technical argument (2001) by dekhn on Friday November 05, 2021 @01:47PM (#29122510)
This is a great idea. Can you write a design doc? Please make sure it's fully fleshed out.
Re:Things to say when you're losing a technical argument (2001) by loxias on Friday November 05, 2021 @04:20PM (#29124307)
Amazon is like this, and it's part of why I think I never worked out well. Too much process. Compounding the pain was the fact that my instinct would always be to whip up a proof-of-concept demo instead, for the next meeting.

Management hated that, and to this day I don't get why. I recognize the need for things to be reviewed by others, and we all can lose scope of what's important sometimes. I'm no exception. However, for things that are purely technical/scientific arguments, what's gained by me having to use the Official Template (tm) to propose an idea, and spending days messing with words and bullet points, rather than a demo that you can see with your own eyes?

It also struck me as quite hypocritical. On the one hand, professing to have a "bias for action", then on the other hand harshing on people for preferring action over another TPS reports.

See also: CIA memo "How to Infiltrate an Organization and Make it Dysfunctional" grin

Re:Things to say when you're losing a technical argument (2001) by cadamsau on Friday November 05, 2021 @04:48PM (#29124584)
> Management hated that

There's a subtle but important thing to note here. My bet is management didn't hate that you did a POC. They hated that you DIDN'T also do a writeup.

It's not about this vs that. Meet the minimum requirements before you go doing extra.

Re:Things to say when you're losing a technical argument (2001) by imoverclocked on Friday November 05, 2021 @08:58PM (#29126452)
It’s all about communication. I think of a POC as way to communicate what it is that needs to be created. I think a document is another way of communicating what needs to be done. Mandating one or the other seems like a fools errand to me since each one has strengths and weaknesses.
Re:Things to say when you're losing a technical argument (2001) by gpapilion on Saturday November 06, 2021 @02:02AM (#29127893)
Frankly having been that manager, the demo shows what you’ve done. It didn’t lay out how to get the whole project there.

The documents are hard specifically because not you have to consider alternatives, or the feasibility of executing. What security concerns did I cover? How much time do I need to spend convincing team y to add this feature?

The demo is always the easy 50%, and never the hard parts that cause you to spend two years building alignment and executing.

Re:Things to say when you're losing a technical argument (2001) by bobthechef on Sunday November 07, 2021 @03:38PM (#29143297)
As always, nothing in the world can take the place of prudential judgement. When proposals should be written up to avoid senseless action and short-term thinking, and when they should be avoided because they would constitute bikeshedding or overthinking or whatever, is a matter of prudence and competence gained through experience. There is no algorithm that will allow you to mindlessly come to the correct decision.

A demo is no substitute for a written proposal and vice versa. The first is empirical, the latter is analytical and deliberative. Each has its proper place. Really, the demo is a way to corroborate the proposal, so it's a question of how rigorous the proposal needs to be. Some minor tweak might only require a quick discussion while a deep change will require deeper consideration.

Re:Things to say when you're losing a technical argument (2001) by dqpb on Friday November 05, 2021 @02:16PM (#29122870)
On the flip side, it's amazing how many minds you can change with a small demo captured in a simple slide deck.
Re:Things to say when you're losing a technical argument (2001) by bobthechef on Friday November 05, 2021 @04:37PM (#29124476)
Whom would it stop?

If your argument is any good, then all this whitepaper would do is make a better case. Asking for a whitepaper is not a bad thing for ideas that require some careful consideration. They're overkill for trivialities that can be fully decided here-and-now and or for things that don't really matter.

Too often have I seen developers running in circles chasing ideas that could have been ruled out with a little forethought and analysis. They'll respond superficially to some idea that tickles their fancy, waste a bunch of time implementing it only to either realize that it's a bad idea, that it has serious drawbacks, or better yet, leave everyone with a dreadful piece of garbage to maintain.

Re:Things to say when you're losing a technical argument (2001) by anders_p on Friday November 05, 2021 @04:59PM (#29124681)
> Whom would it stop?

> They're overkill for trivialities ... and or for things that don't really matter.

I think you answered your own question.

Re:Things to say when you're losing a technical argument (2001) by endisneigh on Friday November 05, 2021 @01:55PM (#29122612)
I hope you don't work at Google with that attitude, lol.

context: design docs are frequently written at G.

Re:Things to say when you're losing a technical argument (2001) by isoskeles on Friday November 05, 2021 @02:07PM (#29122772)
Is there a difference between white paper and design doc? My impression is that a white paper is more academic, and so I'm not sure what it ends up looking like.

At one of my jobs, we wrote design docs for most major changes (we had a checklist for deciding if the doc was necessary at all). It was ultimately quite helpful because documentation about most important changes existed, even if the dev didn't write any documentation in code. The technical designs also had a template, so it was a fairly easy path for a developer to know what questions to answer or not in their doc.

Is this the same idea as a white paper?

Re:Things to say when you're losing a technical argument (2001) by pie42000 on Friday November 05, 2021 @03:15PM (#29123600)
White paper sounds cooler
Re:Things to say when you're losing a technical argument (2001) by sitkack on Friday November 05, 2021 @02:33PM (#29123102)
I have seen google design docs at google, most are trash. Most design docs everywhere are trash. The confuse more than they explain. I don't care if the idea is good, if the design doc stinks, it will kill a good idea.
Re:Things to say when you're losing a technical argument (2001) by Ancapistani on Friday November 05, 2021 @03:15PM (#29123609)
Effectively communicating a complex idea is a skill that's orthogonal to coming up with good ideas.

I advise other engineers, especially those early in their careers, to actively develop and hone their communication skills. It deserves far more focus than most people seem to give it.

Re:Things to say when you're losing a technical argument (2001) by xpe on Friday November 05, 2021 @10:47PM (#29127072)
What are some of the key problems you've seen?
Re:Things to say when you're losing a technical argument (2001) by sitkack on Saturday November 13, 2021 @11:39AM (#29211039)
You can't _build_ anything from them. They talk around things, kinda layout the problem, talk nebulously about a way to solve it and then ... nothing.

The appear to be an artifact of a policy, the problem they solve is 'not having a design document' and nothing more.

Re:Things to say when you're losing a technical argument (2001) by ZainRiz on Friday November 05, 2021 @04:32PM (#29124421)
At google, the templates for my 1 pager used to be two pages long
Re:Things to say when you're losing a technical argument (2001) by z3ncyberpunk on Monday November 08, 2021 @05:47PM (#29155298)
Why would you want to work at Google in the first place? Gross
Re:Things to say when you're losing a technical argument (2001) by patmcguire on Friday November 05, 2021 @03:58PM (#29124077)
Yeah, it's good for these kinds of discussions when it's a universal requirement, or when the white paper concerns will actually be addressed before confirming a design. I do get suspicious when it comes up for the first time when it's something someone doesn't want to hear, or when the discussion continues on like it's obviously untrue in the meantime.
Re:Things to say when you're losing a technical argument (2001) by mjfl on Friday November 05, 2021 @01:55PM (#29122606)
some people will call your bluff.
Re:Things to say when you're losing a technical argument (2001) by anders_p on Friday November 05, 2021 @05:02PM (#29124707)
> some people will call your bluff.

Its not a bluff, when the point is to weed out the ones, who aren't willing to actually do a written proposal.

Re:Things to say when you're losing a technical argument (2001) by romero-jk on Friday November 05, 2021 @02:23PM (#29122959)
How?

One could answer, "Sure, but that will take away time from current things that need attention."

Re:Things to say when you're losing a technical argument (2001) by jrace on Friday November 05, 2021 @04:35PM (#29124451)
Perfect.

Its not a bluff, it is a way of weeding out the non-serious requests.

If you take the time then so will I.

Re:Things to say when you're losing a technical argument (2001) by drawqrtz on Saturday November 06, 2021 @05:05AM (#29128617)
Man I wish that were the case. I've written way too much that has been discarded after a furtile glance. Maybe u just bad at bringing my ideas across