Hacker News new | ask | show | jobs
by wtflmaohnisdumb 3177 days ago
> Some people should not be in this industry -- not because they don't have the chops; but because they don't actually want to put in the time and effort to develop their skills. And it is an overwhelming task.

In what world is it an overwhelming task? Maybe I've landed only at amazing companies but nobody is working the full 8 hour workday. There is time to relax and read random slightly interesting technical things as a break. There are pushes to use slightly interesting technical things in your projects (regardless of how useful it is -- because we need to keep our resumes updated!) and most of the time management will allow it.

The hyperbole from software engineers on how hard this piss easy "profession" is, is just FUD and only serves to keep away people with low confidence issues. In other words, what you are doing is not only keeping potential candidates away, but greatly keeping underprivileged candidates away, and it'd be great if you stopped.

Software engineering given it's current state as the wild west is not a difficult profession in the slightest. It's not law, it's not finance, it's not medicine. We work (relatively) short hours for great benefits and have the ability to work from wherever we want on certain days. Your grades don't matter and you don't need to spend days learning anything other than what's tested in an interview setting or used in production.

Passion is overrated and stupid and it mostly comes from privileged people who had the time to fuck around on the computer all day (and execs wanting to exploit the workforce a bit more) -- not realizing that many people can do what they do given time and mentorship.

There are few other jobs that give you more bang for your buck in terms of effort if you're okay with ~200k/yr being your cap.

1 comments

You might have had good luck with other engineers, I have definitely encountered people who could not seem to get their head around even basic programming concepts. It comes easy to some given the appropriate time/effort, but I have definitely encountered people who did not seem able to pick it up.

It is also a difficult field given that it is one of the few where you probably will have to drop a huge, comfortable skill set every 2-4 years and start over again with a new codebase, different frameworks, and different languages. That does not happen in finance, medicine and law. If it seems easy to you, try jumping into a well established but poorly written project, built using libraries/frameworks you are not super familiar with ;).

I definitely agree with the hours thing though, if you establish yourself at a company you can pull off some pretty amazing work/life balance things.

You are not starting over every 2-4 years. A lot of what you learned is reusable, those frameworks resemble each other great deal. Even with changing languages, it is hard only when you are changing paradigm (procedural to object to functional). Things like syntax take less effort to pick up and re-learn. Algorithms, debugging and structuring of code and similar meta skills remain. Moreover, you dont have to chase every fad. They come and go and it is perfectly ok to skip some of them. Focus on things that you need or that promise longevity. Nobody cares now that I skipped COM+ years ago, nobody cares that I skipped browser differences or ruby just a few years ago and nobody will care that I am ignoring angular and python now.

I did jumped into established projects using libraries/frameworks I was not at all familiar with and liked it. Thankfully companies here are willing to hire like that. It is period when they literally pay you for learning on the job. That is awesome, it is hard to ask for more.

I think it's an issue with teaching. I am teaching a few people in my spare time and the way highschool (& sometimes university) teaches programming is not conducive to learning or understanding. I've still yet to meet a kid who wants to learn that can't learn it given reasonable time and proper explanation. Given the Internet likes explaining basic concepts in forty different ways, I think as time goes on learning CS only becomes easier.

With good fundamentals I think picking up new frameworks and different languages is fairly easy. With the exception of Rust and Haskell, which I'm interested in but never got around to using well, the other languages all seem to come fairly easy after a month or two. There will always be idioms you do not know or fail to remember but that's why there are linters, code reviews, and senior engineers.

It's definitely daunting to jump into poorly written products, and I feel every company has at least a section of their code base that is like this, but that's what good on-boarding and ramping up is for. These are all process issues and not fundamental issues with computer science.

Very few companies I've been at are good at one of these things let alone all of these things. A lot of the time you _are_ slogging at it alone and sometimes you go alone for too long because of ego or lack of confidence. These are all organizational and process issues. Some of it is individual issues too that one must overcome, but making it seem like only the passionate succeed in software engineering like everyone is the top 0.01% of their craft is harmful to the profession as a whole.

My solution to most of these problems is to find a mentor at your company. Anyone who knows what they're doing. I find most people are super nice when you ask questions as long as you are willing to learn and aren't just trying to get them to do something that seems annoying (i.e. asking ops people why your build fails...). I've never met an engineer who _doesn't_ want to talk about how something is designed, the pitfalls, and the hacky work arounds. People like being useful to other people. Let them be useful.

Caveat: I've met a few "legacy" engineers who were hired early and have a negative influence on the direction of the architecture. In companies like these? You can just leave. Everyone wants a good software engineer and as long as you're willing to relocate, you'll land somewhere fine.