Live data from Hacker News

Uncomfortable Truths in Software Engineering

buttondown.email

271–280 of 400 posts

Re: Uncomfortable Truths in Software Engineering

#271
post #222

Earlier quoted context omitted.

Post 2008, I'd say. I was a 2010 graduate, and the change between 'do what you love' and 'College is for MONEY' was like a culture bomb going off.

Yeah graduating at a time where even a "useful" degree couldnt get you a job will do that.

Yep, exactly. I graduated in 2008. The market crashed, I had a useless degree, and by then knew that a very significant portion of my money went to administrative positions at my college.

It definitely left me, and likely most other people, wondering why on earth we shot ourselves in the foot with the monetary equivalent of a mortgage at the dawn of our professional lives.

Re: Uncomfortable Truths in Software Engineering

#272
post #251

Earlier quoted context omitted.

This is a good point. I should say I've given up on OCCUPATIONAL planning. I'm very big into community and skill building plans.

I think to some extent there are always unknowns and there's a risk you'll choose wrong, but it's worth trying to choose correctly. In hindsight from your example it was a mistake not to do computers, your ROI calculation turned out to be short-sighted because of proximity to 99. Same thing might have happened to me had I been there at the time, it's hard to make the right choice in that kind of environment.

That's ignoring the cost of the research and planning, though. Even if that cost is only time + brain power that could be used on something else, in opting to engage in occupational planning, that time isn't being spent on something else.

> Same thing might have happened to me had I been there at the time, it's hard to make the right choice in that kind of environment.

I'd say for most people (but not most people at HN because the tech community is pretty unique in terms of labor relations), occupational planning is more akin the tech career planning in 99 where there are numerous big unknowns hitting people constantly (COVID, 08, etc.). Our informational environment is TERRIBLE to build a decent ROI model. Doing so would take the average person so much time to research and build that I think right now it's better to spend the time either:

a.) Planning outside of the current systems and their incentives. For example, I'm supplementing my conventional retirement savings by handing out a LOT of free money locally. Even if the stock market crashes in my 60s and I lose everything (which, based on my lifetime, will probably happen bc it always does...), hopefully there will be at least a few people/families/organizations around that view me kindly and will help (if 2000 people give me a dollar a month, I can make rent). This is also likely to be true even if society completely collapses, provided I'm alive.

b.) Focus on building better heuristics for reacting to sudden change and pivoting. Our culture and society doesn't care about being stable and will always change to chase the latest profit/dopamine hit, so instead of making plans that require and assume stability is possible and that the past is predictive, it's better to accept the future is NOT predictable and spend one's energy on building a great skill set to be flexible. Bending instead of breaking.

Re: Uncomfortable Truths in Software Engineering

#273
post #261

Earlier quoted context omitted.

Yeah graduating at a time where even a "useful" degree couldnt get you a job will do that.

Yup. I even planned out my debt at the age of 17. When I selected a college in 2005, I would have graduated with 8k in debt. Quite reasonable. The crash my junior year and the resulting divorce of two of my parents means over half my undergrad debt was from my senior year. I had to choose between doubling my debt and dropping out with a year left. And I also effed myself by working my way through school to try to kee…

I had a very similar path to you. I felt like I had been responsible and made it all the way through college. Then I had $75k in debt and I was going into $8/hour interviews with 40-60 other applicants.

One time I stopped at kinkos to print out some portfolio designs for an interview, and the cost was 6 dollars. I had to leave because I only had 3 dollars.

Things are much, much better now that I transitioned into tech. I kinda did it for money but I'm lucky because I do genuinely love it - I wish I had started it sooner in life.

I'm curious - where did you end up? If you're on here, I assume you're in a STEM field of some sort?

Re: Uncomfortable Truths in Software Engineering

#274

> We don’t have the Alan Kay / Free Software / Hypercard dream of everybody having control over their own computer because integrating with disparate APIs is really fucking hard and takes a lot of work to do. APIs and distributed integration are hard. But the modern API landscape is a long long long way away from what Alan and folks were shooting for. Sure, you get the messaging part, but that research team wrote a n…

didn't work out because ... little inventors, lots of implementors.

Re: Uncomfortable Truths in Software Engineering

#275
post #269
post #140

Earlier quoted context omitted.

For most non stem teachers, teaching is the best paid job they could possibly get once you account for pension, etc

Yes even in US public schools, and even for relatively new hires, the benefits can be pretty great. Time off, retirement, etc. And it's still possible to get into administration and make what an entry-level SWE makes. Hell, when I was in HS in the very early 00's there was a big scandal in my area because we found out the district superintendent was making $200k/yr. For context, most of my friends' parents worked blu…

Not to mention that for most teachers you're going to draw a pension for 20 years after you retire at 3/4 of your max salary, so all salaries are 75% higher than the listed number.

Re: Uncomfortable Truths in Software Engineering

#276
post #174
post #10

Re. 3 & 5: my theory is that a language with gradual typing, gradual error handling enforcement, and "gradual proving" that is seamlessly embedded in it (see e.g. the https://nim-lang.org/docs/drnim.html experiment) could hopefully actually work here. And as to dynamic typing, I found it useful when prototyping, to quickly PoC/MVP the "happy path" of an idea/design, and see if it is worth investing any bigger effort,…

Gradual typing seems like the worst of all worlds. You spend time adding typing but can't depend on it consistently. I was surprised using Dart that it would throw runtime type exceptions even though it looked like the code had explicit types.

So, that makes me notice I didn't clearly explain, that my idea here would be for some kind of guard blocks that enforce static typing (etc.) in some areas of code. Kinda similar to "unsafe" in Rust: ideally, you could start with e.g. fully dynamically typed code, then mark some parts of it with "I want this area typechecked", finally requiring all of it to be. Now that I think of it, seeing that in statically typed languages you can kinda already do this (with "Any" type, or "void*", or "interface{}", or whatsit), you could e.g. imagine marking some code blocks with a pragma "any=default" or "any=allowed" or "any=forbidden". So:

- "any=default" - marking the block as dynamically typed and not needing type annotations everywhere (but maybe allowing them if I want, and typechecking then if possible?) - modulo any inference;

- "any=allowed" - marking a block as "statically typed" with type annotations required, and "Any" allowed ("classical static typing");

- "any=forbidden" - would mark the block as statically typed with "Any" not allowed at all.

I'd then start by coding with whole codebase being "any=default", making it work like in JS/Python/Lua/...; then if happy with the prototype, I'd switch the whole codebase to "any=forbidden" and have the compiler force me to add type annotations. Finally if I know in some areas I really want the "Any", I'd mark some small blocks with "any=allowed", working as kinda "unsafe" marker in Rust. (Obviously, subject to bikeshedding over the specific pragma naming & modes.)

Similarly, I'd like to have another pragma for errors handling strictness (regardless whether actual error handling is done in a Rust-like "Result" way, in Go/Lua-like "soft-Result" way, or in an "exceptions" way), and for proving.

Re: Uncomfortable Truths in Software Engineering

#277

Well if we're just gonna bash software guys here.... The arrogance stands out for me. I have worked in many different fields and with a range of engineers (EE,ME,CE), none come close to the general aura of big ego and arrogance around software guys. It's similar to the levels seen in finance guys. Its like there has to be some relationship between compensation and true value, where ego makes up the difference. Of cou…

I wonder if it was the case in the previous decades. I assume that a lot of this comes from the fact that computing is now more than trendy, and being knowledgeable on it makes you feel like king of the hill. Also lots of people going into computing, knowing the recent history. Strong opinions about things based on the last 10-20 years, choosing their little church. While having next to zero knowledge about previous…

> I wonder if it was the case in the previous decades.

Less so, in my memory. Sure there was hubris. Sure there was conflict. But there was also a recognition that we were all small fish in a big pond. And there were still people around from when computing was an even smaller sliver of the economy, who tended me more "grounded" than anyone you'll see today. Now that computing companies are among the richest in the world, the mix of personality types within them has changed a lot and not for the better IMO.

Re: Uncomfortable Truths in Software Engineering

#278

Earlier quoted context omitted.

(Rereading, I'm not actually sure we disagree, but the tone of the parent post seems to be that I can't change things because people won't change, ...?) I'm in tech, I work on fixing tech. > the intentional push for more of any specific demographic seems strange to me I believe the skewed demographics is a reflection of actions and pressures I don't agree with. I think there is pretty-open discrimination and steering…

I'm unsure what you're trying to express in this reply. It seems we do agree in general viewpoint, just perhaps we have different ways of expressing that view. Discrimination definitely happens, but I have yet to see one example of "pretty open discrimination" that hasn't resulted in an all out PR disaster for the org involved ,your "Read the news" statement supports that. If discrimination were a common occurrence i…

My close friend interned at a small embedded devices company and was the only woman besides a part time HR employee. People made comments about the HR employee when she wasn't around.

Is this "pretty open discrimination"? It certainly doesn't make the cut for news. But yes it's very uncomfortable to be the only woman in that situation, people wok look at you for approval for their comments.

Re: Uncomfortable Truths in Software Engineering

#279
post #233

Earlier quoted context omitted.

Eh, I'd go beyond that and say invest in yourself first and foremost, but I've been VERY SCREWED after trying to make decent financial choices. 1.) I was into computers and programming in the 90s but I was too young for the dot-com boom, so by the time I could work we were in the bust. So computers weren't a 'safe' ROI. 2.) So I went into languages and wanted to be a diplomat: I studied rare languages to be more valu…

You did not consider TLA's with that language background ?

I did! I couldn't force myself to go through with it, honestly, plus I needed a little more experience with the languages which I couldn't afford; I couldn't travel or hire tutors; I was trying to live on 800/mo with no external support. I was sleeping on a mattress I dragged home off the street. I had no office clothes, no non-library work experience, nobody in my family who had a college degree to help me with the cultural expectations. I didn't even have a way to move to DC and back then you pretty much had to do that. I almost did a Master's just for the funding to move/live in DC but I researched that and was like 'that would be financially stupid'. So I didn't even though WITH MY SKILL SET it would have worked, because I read too much generic advice and had nobody to guide me.

That CIA signing bonus was REALLY tempting, though, I'm not going to lie.

Re: Uncomfortable Truths in Software Engineering

#280

Earlier quoted context omitted.

The issue is the same in reverse. I've heard horrible anecdotes by male friends in female dominated industries such as teaching, nursing, etc. Why is the same societal push not happening in those industries? I never said we shouldn't strive to be welcoming and to cultivate a friendly environment for all, just that the intentional push for more of any specific demographic seems strange to me. Shitty people are going t…

Are you sure the current campaigns aren't effective? The demographics are indeed changing. I know causation correlation blah blah, but we're just speculating in this thread, supplying no data anyway.

The gender ratio is changing for the worse. In 1984, women made up something like 37% of CS students. Now it's under 20%.

Reference: https://jaxenter.com/wp-content/uploads/2017/04/women-in-com...

Post reply on HN