Live data from Hacker News

Ask HN: What was your most humbling learning moment?

news.ycombinator.com

321–330 of 704 posts

Re: Ask HN: What was your most humbling learning moment?

#321
post #201

While in Army basic training, my duffel got swapped with another guy's (no idea whose). Back at the barracks, I discovered that they'd snagged some spent shells from the range. Massive no-no. Young, naive me assumed that presenting these to the drill sergeants and explaining the situation would be the correct move. I was severely disciplined as a result. Others were like, "Dude... why didn't you just quietly toss tha…

Naive civilian question here -- If the drill sergeant is your boss in basic training, I don't understand why telling him info you think is important got you into trouble. After all, "talk to your boss if you have a concern" is the #1 piece of advice given to anyone who has a job. In healthy work environments, the culture is to assume the best about the intentions of others ... sounds like he wasn't doing that at all.

Basic training isn't supposed to be a healthy work environment. It's about breaking the recruits down and reforming them into perfect, interchangeable cogs that won't interfere with the operation of the machine.

Recruits leave with a sense of pride and belonging, and they fit seamlessly wherever they end up, doing their required work with minimal hassle. They address problems at the lowest possible level (e.g., a supervisor handles the discipline--no need to run it up to management unless the ramifications are severe.)

Notionally, anyway.

Re: Ask HN: What was your most humbling learning moment?

#322

Earlier quoted context omitted.

Playing video games for that long destroys your body, I personally know from experience. Exercise also makes you better in every other thing in your life as well (including video games).

I mean, playing sports (nowhere near even a semi-pro level) has destroyed my body a hell of a lot more than playing video games has. People just find one source of body destruction more "worthy" than the other, and that's more a societal value judgment thing than an objective danger level thing. It isn't only video games that get hit with this; for example, in my experience ballerinas get a lot more faux concern abou…

I don’t think it’s fair to diminish sports because you personally suffered injuries or long term damage, there are only a handful of sports that carry risks of that severity, where most people will probably get hurt after some time.

Sitting down all day wrecks everyones body indiscriminately unless they are undoing the damage every day.

Re: Ask HN: What was your most humbling learning moment?

#323

Earlier quoted context omitted.

Actually I call myself a developer. I'm not that good of a programmer, but quite resourceful as a developer.

I've come to understand the difference between programmer and software engineer, but what's the difference between (software) developer and programmer?

Developers build software whereas programmers merely flick the switches on an Altair 8800 /s

Re: Ask HN: What was your most humbling learning moment?

#324

Earlier quoted context omitted.

This is a false dichotomy. On one end, you have "overarchitects everything so much that the code is soon unmaintainable" and on the other end you have "architects the code so little that the code is soon unmaintainable". Always write the simplest thing you can, but no simpler. Finding that line is where all the art is.

> Always write the simplest thing you can, but no simpler. I don't think so. Time and time again the client will insist on stuff like "the customer only needs a single email address/phone number" but you're going to pay for that one later if you do the simple thing and add an "email" column. Same for addresses. And a whole bunch of other stuff...you need to normalize the heck out of your DB early on, even if you don'…

Go down the simple path to start, and refactor to a more complex solution when it makes sense to do so. If experience tells you the client is definitely going to ask for it later, add a “break condition” that tells you when you need to upgrade. You can put entry points into the code - comments, interfaces - to make it easier to do the upgrade.

Re: Ask HN: What was your most humbling learning moment?

#325

Earlier quoted context omitted.

It's cliche, but I really do feel reading the Art of Unix Programming gave me a very good sense early on for how to walk this line carefully. Unix programs are high quality - but they're also, ideally, small , and written with an eye to compositionality with the rest of the ecosystem. The best architecture is in the middle, and often the best first draft is a simple series of pipes. https://www.catb.org/~esr/writings…

(Honest question) What is the difference between this microservice architecture that gets a lot of hate here?

I'm not the person you're replying to, but here's my take: even though the two look conceptually similar, Unix programs are just a lot simpler. All programs run on the same machine, they read their input, execute, produce output which is piped to the next program, and terminate. Want to change something? Change one of the programs (or your command line), run the command again, that's it.

Microservices are a lot more complicated. You'll need to manage images for each of the services, a fleet of servers on which the services will be deployed, an API for services to communicate together, etc. In many (most?) cases, a monolith architecture will be a lot simpler and work just fine. Once you reach the scale at which you'd actually benefit from a microservice architecture (most companies won't ever reach this scale), you can start hiring devops and other specialists to deal with the additional complexity.

What actually gets hate, I think, is not microservices themselves, but the fact that microservices are often used in contexts where they are completely unnecessary, purely because of big tech cargo culting.

Re: Ask HN: What was your most humbling learning moment?

#326
post #78

In college, meeting someone that was better than me by every conceivable metric. You'd think that he beat me at one thing by neglecting another, but nope, the guy was excelling in every category. Perfect grades, involved in many communities, and generally pleasant to be around. There was no caveat, no excuse. Dude just straight up rocked. I have met more people like that while travelling. I felt badass riding my moto…

> by every conceivable metric

No, by every metric that you could conceive at that time.

Perhaps someone was looking at you and admiring something that you did that you didn’t notice.

Re: Ask HN: What was your most humbling learning moment?

#327

Earlier quoted context omitted.

I think one of the most valuable lessons I have learned in software engineering is that you can write entire projects with the express plan of rewriting them if they actually gain traction. If I want to prototype something these days, I will often write code that, while not quite spaghetti, would definitely not pass a proper code review. It's actually kind of fun. Almost like a cheat day on a diet or something.

Unfortunately, that rewrite step often doesn't happen. I can't count the number of times a prototype that was meant to be thrown away was actually put into production because "it's cheaper and faster than rewriting."

"Phase 2 never happens"

Re: Ask HN: What was your most humbling learning moment?

#329

Earlier quoted context omitted.

It's cliche, but I really do feel reading the Art of Unix Programming gave me a very good sense early on for how to walk this line carefully. Unix programs are high quality - but they're also, ideally, small , and written with an eye to compositionality with the rest of the ecosystem. The best architecture is in the middle, and often the best first draft is a simple series of pipes. https://www.catb.org/~esr/writings…

(Honest question) What is the difference between this microservice architecture that gets a lot of hate here?

Microservices provide encapsulation and an API interface, but are not composable the way Unix programs are when e.g called by a Unix shell on a Unix OS.

Either microservice A calls into microservice B or there's a glue service calling into both A and B. Either way there's some deep API knowledge and serious development needed.

Compare with a (admittedly trivial, but just doing that is orders of magnitude less complex than web APIs) `ls -1 | grep foo | sed s/foo/bar/g`, exit codes, self-served (--help&al.) or pluggable (man) doc, and other "things are file-ish" aspects, signals (however annoying or broken they can be) and whatnot. There's a whole largely consistent operating system, not just in the purely software sense but in the "how to operate the thing" sense, that enables composition. The closest thing in http land would be REST, maybe, and even that is not quite there.

Re: Ask HN: What was your most humbling learning moment?

#330

In 1993 I was interviewed for an operating job in a power plant for a major airline, assigned to their data center. At my current job, I was working in a high rise office building with sixty-six floors. The operating system computer was a JC8520, which was running a version of MS-DOS. All commands had to be typed in correctly or nothing would happen. While operating the plant, several commands had to be entered every…

You must have absolutely nailed the rest of the interview!
Post reply on HN