Live data from Hacker News

“This project will only take 2 hours”

web.eecs.utk.edu

201–210 of 279 posts

Re: “This project will only take 2 hours”

#202

Earlier quoted context omitted.

I vaguely remember a rant some famous Linux developer went on about how setting up printing in Linux requires a dozen parameters, half of which are arcane nonsense that the printer manufacturer themselves probably doesn't know how to set up correctly. Meanwhile, on an Apple or Windows computer it can be literally just plug and print. The difference is that hiding those arcane input parameters takes work , and a lot o…

“All user input is error.” - Elon Musk

[flagged]

Re: “This project will only take 2 hours”

#203
post #13
post #6

Honestly I learned this lesson as a young engineer, as I suspect many others did, by giving a project manager an off the cuff answer to "how long will this take". The next month of embarrassingly explaining why I was late every Tuesday and Thursday was enough for me to now take a serious amount of time, come up with a realistic estimate, and then add a lot of buffer. Better to under promise and over deliver.

There's an old saying that you can tell developer maturity by the units of time they use for estimating code. Only brand-new developers (and Sith?) estimate things in hours. Experienced devs estimate in days, but senior developers won't give you a number in increments smaller than weeks. Also, any manager who trusts an estimate from a new employee or especially a new developer is an ass. They should have known better…

> They should have known better

In most of these cases, I actually suspect malice over ignorance. They figure they can squeeze some unpaid overtime out of an unsuspecting junior by pressuring them to "commit" to an unreasonable deadline and then trying to hold them to it.

Re: “This project will only take 2 hours”

#204
I think that this is a valuable lesson for CS students. I used to underestimate time for the same reasons these students did. The core technology (in this case, listening for the clipboard events) fits in the estimate. Making a product that can actually be useful will take much longer.

Estimating effort is important. Work is an investment, so the decision to invest changes with the amount of work.

I think this lesson can only be learned the hard way: create a new application and try to get users. You’ll learn where you spend time and get better at estimating. You’ll also appreciate why “simple” features appear slowly in software you use.

Re: “This project will only take 2 hours”

#205
post #66

Reminds me of how some companies give take-home assignments to job candidates. > Here's a task that takes a day to do sloppily and at least two days for you to show your best work. We want to be respectful of your time so please don't spend more than 2 hours on it.

The take-home assignment seems to me a slightly broken system; it's easily gameable because there's zero supervision. Let's say there's two candidates for a position who are both asked to complete the take-home assignment, Candidate A and Candidate B. Candidate A is the superior candidate and spends only two hours on the task (as requested), and Candidate B spends 2 days. Candidate B submits the better assignment and…

I'd say selecting the candidate who will work for 2 days and only claim 2 hours is the system working perfectly.

Re: “This project will only take 2 hours”

#206

Earlier quoted context omitted.

The take-home assignment seems to me a slightly broken system; it's easily gameable because there's zero supervision. Let's say there's two candidates for a position who are both asked to complete the take-home assignment, Candidate A and Candidate B. Candidate A is the superior candidate and spends only two hours on the task (as requested), and Candidate B spends 2 days. Candidate B submits the better assignment and…

We do a take-home assignment for junior devs where I work. The actual coding knowledge is pretty minimal. Few people fail based on the code alone. What we're actually looking for is if they can follow directions. A surprising number of people can't read a list of requirements and make sure they all get implemented. For junior devs, we don't actually care if they do it in 2 hours, 2 days, or the whole 7 days we allow…

Very insightful and true. Even during a conversation, many people "translate" what they hear into something else, and will quote back, a few seconds later, a totally different sentence and think that's exactly what you said.

Kids in school often don't read assignments properly either, and skip everything until the first question. I don't know if they think it saves them time or fear there's a trick somewhere that they will avoid that way.

In life in general, people like ambiguity; it helps to smooth things out. But in programming it's a problem.

Re: “This project will only take 2 hours”

#207
post #6

Honestly I learned this lesson as a young engineer, as I suspect many others did, by giving a project manager an off the cuff answer to "how long will this take". The next month of embarrassingly explaining why I was late every Tuesday and Thursday was enough for me to now take a serious amount of time, come up with a realistic estimate, and then add a lot of buffer. Better to under promise and over deliver.

This doesn't always work. I've had managers tell me that I was supposed to give a "real" estimate and we'd figure out the buffer together. Obviously it led to me working late hours to meet an unreasonable deadline.

Re: “This project will only take 2 hours”

#208
post #190
post #85

When someone says this should be easy... I would like to show them the flow chart for how slack notification works. https://imgur.com/gallery/0p5bV Just "notify the user"... imagine the amount of code and the number of APIs this needs to touch. Software is way complex and devil is in the details.

That crazy looking chart (except maybe the push timing loop at the bottom) can be implemented with 100 lines of branching if statements. The 20 or so questions it asks probably can be answered by querying ~3 simple APIs (user preferences, channel preferences, thread preferences). The only complicated thing is the push timing loop.

> The only complicated thing is the push timing loop.

... and producing the chart in the first place.

Re: “This project will only take 2 hours”

#209

I've gone down this rabbitole before, and yes, there are things that take two hours, and there are things that take a lot more. The problem is the scope - ie. are you trying to do what you said you'll do (miniature software to log urls), or are you adding 100s of requirements to the scope (gui, filters, privacy,...). We had a bunch of .xml files containing some data, and someone wanted a .csv file... sure, an hour ma…

I vaguely remember a rant some famous Linux developer went on about how setting up printing in Linux requires a dozen parameters, half of which are arcane nonsense that the printer manufacturer themselves probably doesn't know how to set up correctly. Meanwhile, on an Apple or Windows computer it can be literally just plug and print. The difference is that hiding those arcane input parameters takes work , and a lot o…

> The difference is that hiding those arcane input parameters takes work,

I'm reminded of the first time I tried to get wifi going from a CLI-only NetBSD install. wpa_supplicant something something.. I eventually got it working but it was sort of a nightmare compared to how you connect wifi in an OS UI.

Re: “This project will only take 2 hours”

#210

Earlier quoted context omitted.

In a ideal world- adding a simple user-gui, would be simple. As in- all edge cases and special cases, will not be handled, but just result in a error - that comes along with a suggested fix googled on stackoverflow. The "simple" program, teaches the users to program. Teaches them to leave an-alphabetism behind.

I don’t agree. Users can be in a hurry because they have to catch the train. They can have only one hand free because they’re holding a baby. They can be mentally handicapped so they’re cognitively unable to google stuff. They can be depressed and find themselves unable to accomplish even small tasks. Or they’re blind and there’s no accessible website that explains the error. I think all those people have the right t…

Those that have no train to catch, that have no babies to hold, that are not mentally handicapped are not depressed can fix stuff and share it with those who cant.

And at work the "users" often have plenty of time. And even more, once they learn and automate half there job away. The world is not obliged to carry anyone along.

Post reply on HN