Live data from Hacker News

I'm a good engineer but I suck at building stuff

lionelbarrow.com

81–90 of 128 posts

Re: I'm a good engineer but I suck at building stuff

#81
post #68
post #47

"He who rests while other people work with their heads, hands, and hearts is a capitalist".

Makes people mad, but it's true. People who rest and reap profits orders of magnitude above those who work, due only to the fact that they hold capital, are leeches on society.

I see. And when those leeches lend capital for a new startup effort that otherwise wouldn't happen... allowing a business to form, a product to develop, an industry to blossom, on an accelerated timescale, what then? Would you still brand this role a parasite?

I realize that this sort of anticapitalist nonsense is currently fashionable in university, but the irony of it being spouted on ycombinator (which might have something to do with investors, after all) is really quite amusing.

Re: I'm a good engineer but I suck at building stuff

#82
post #3

> When I try to build something new, I find myself instantly criticizing my technique, to the point of paralysis. This function is hard to test; this object's dependencies need to be injected rather than initialized internally; that module needs an integration test; and so on and so forth. Even when writing spike or proof of concept code, I find myself revisiting the same lines over and over again, looking for the be…

I'm naturally a perfectionist, so I fall into this trap often, though I've gotten better over time. I rely on a few simple tricks (ugh, the buzzfeed headline practically writes itself): 1. If I'm stuck and can't decide which path to take, it's usually because I don't have enough data to tell which path is better. The fastest way to get that data is to pick one path arbitrarily and start walking down it. Pretty soon,…

I have recently started to just commit to one path as well. It reminds me a lot of writing papers for my classes when I was in school. Staring at a blank page is hard and staring a blank IDE can be even harder. I find that just starting with the smallest thing you know is your first step, be it a simple API call or even just spitting out "Hello World", really helps and after you start you can keep iterating on that base. Over coming the static friction seems to be a lot harder than keeping momentum.

Re: I'm a good engineer but I suck at building stuff

#83
post #41

Earlier quoted context omitted.

Per (as far as I can tell) the original: http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast 1. Make it work. 2. Make it right. 3. Make it fast.

Wow, I honestly never read that. +1 for the link, I love old stuff like this.

c2 is a great wiki. Start googling languages and programming phrases with site:c2.com at beginning. You'll find some good stuff. Unfortunately, its commenting got shut down shortly after I discovered it. I think I read all the debates and stuff. Too many haha.

Note: The debates over LISP, OOP, Cleanroom, Smalltalk, and so on are all especially interesting.

Re: I'm a good engineer but I suck at building stuff

#84
post #2

I feel like my experience is the opposite of this. I've never understood something until it stood between me and building what I needed to build. This approach has been great professionally, but lately I'm becoming more interested in theory intensive fields and struggling to find resources that teach from the perspective of someone who wants to build something that requires the knowledge involved, rather than someone…

I'm always worried that it's not great for me professionally. Because the "cool kids" are always off learning the hot new thing, and I can do what I need to in the "old" thing, and so I don't learn the hot new thing. Aren't I, as an engineer, supposed to be constantly entranced by the bleeding edge of technology? Whether it's the latest lisp Dialect, the latest functional programming language, the latest NoSQL databa…

This resonates with me. A lot of my tools update, and I eventually find good uses for the new/changed capabilities, but unless I have a particular use in mind, or unless it provides a concrete benefit, it's hard to chase after the new-shiny.

Re: I'm a good engineer but I suck at building stuff

#85

Here's a priority list that you should typically follow for making anything. 1. Make it work. 2. Make it not break. 3. Make it fast. That's it really. Until the performance of something is blocking what you need to do somewhere else leave it the hell alone.

Butler Lampson

http://research.microsoft.com/en-us/um/people/blampson/33-hi...

Unfortunately, his current employer chose a different order: 3, 1, 2. Sometimes they drop 1, 2, or 3 separately or in groups at random. Gotten much better at 2 and 3, though.

Re: I'm a good engineer but I suck at building stuff

#86
post #26
post #3

> When I try to build something new, I find myself instantly criticizing my technique, to the point of paralysis. This function is hard to test; this object's dependencies need to be injected rather than initialized internally; that module needs an integration test; and so on and so forth. Even when writing spike or proof of concept code, I find myself revisiting the same lines over and over again, looking for the be…

No. It has to be clean, correct, and come with full unit test coverage the first time. You have until the next sprint to implement it. Your workspace is a Macintosh at a long desk where you'll be working shoulder to shoulder with other devs working on other projects. If you can't manage even that, you're just not a good fit for our company; we expected more of an engineer of your experience level. Based on a true sto…

Don't forget the sales people spending the day at the telephone on the neighboring long table.

Re: I'm a good engineer but I suck at building stuff

#88

There is a quote from Louis Nizer that applies here: "He who works with his hands is a laborer. He who works with his hands and his head is a craftsman. He who works with his hands and his head and his heart is an artist." Its that last part that is hard to bridge for a lot of engineers. The thing that did it for me was sitting through a LOT of formal usability studies. Seeing folks actually use an application you ma…

> ...and if it is that bad they are going to give you grief for it and you can fix it. You can't always fix it. If it were that simple, everyone would be using Python 3 already.

I think the argument could be made that python 3 is an example of "great engineering" and (in hindsight) "poor customer understanding".

Python 3 is the polar opposite to Linus' meltdown on not breaking user space see: https://lkml.org/lkml/2012/12/23/75

Sadly I like Python 3 and wish it was more popular.

Re: I'm a good engineer but I suck at building stuff

#89
post #22

Earlier quoted context omitted.

I agree with this philosophy as well. If is a project or program that will be worked on more as time progresses, typically it refactors itself after the programmer has a better grasp of the big picture. Often the bigger picture can only be grasped after there is some momentum with the project. I'd say this works 90% of the time, where the other 10% needs more upfront design and research done before any real work is s…

It's rapid prototyping. It might just happen that the prototype is good enough to sell, but once you have a basis, comparisons can begin. If the prototype doesn't have to act as the real product, just a skeleton, it's not so hard to change the "bones" if something isn't working properly. If the prototype is quickly made, it could even count as part of that upfront design process.

That often means "getting the bones" right, but occasionally cutting corners to get stuff done. If your focus is having a good product, which frankly it most of the time should be, then done is better than perfect.

Re: I'm a good engineer but I suck at building stuff

#90
post #68

Earlier quoted context omitted.

Makes people mad, but it's true. People who rest and reap profits orders of magnitude above those who work, due only to the fact that they hold capital, are leeches on society.

I see. And when those leeches lend capital for a new startup effort that otherwise wouldn't happen... allowing a business to form, a product to develop, an industry to blossom, on an accelerated timescale, what then? Would you still brand this role a parasite? I realize that this sort of anticapitalist nonsense is currently fashionable in university, but the irony of it being spouted on ycombinator (which might have…

> I see. And when those leeches lend capital for a new startup effort that otherwise wouldn't happen... allowing a business to form, a product to develop, an industry to blossom, on an accelerated timescale, what then? Would you still brand this role a parasite?

How is that qualitatively different from a medieval lord who chooses to permit peasants to work his fields for their survival, in exchange for growing wealthy off the fruits of their labor?

The rich graciously permitting the rest of us to share a small portion of their wealth, so that we can work to make them more wealth while incidentally keeping a bit for ourselves, is the basis for much of our society; but that doesn't mean there's no other way to do it, nor does it make them inherently virtuous.

(I'm not saying they're inherently monstrous, either. Many capitalists may be well-meaning and try to use their money for good, and that is laudable. But don't pretend that the mere fact of having and investing money makes one a hero.)

> I realize that this sort of anticapitalist nonsense is currently fashionable in university

It's been fashionable in every place and time where abusive capitalists have existed.

> but the irony of it being spouted on ycombinator (which might have something to do with investors, after all) is really quite amusing.

The header up there at the top of the page says "Hacker News". It's fashionable right now to imagine that every hacker yearns for a West Coast startup and loads of venture capital, but it's not actually true.

Post reply on HN