Why is the software industry like this?

Why is the software industry like this?

Attached: hard truth.png (1249x699, 218K)

Other urls found in this thread:

news.ycombinator.com/item?id=20637849
twitter.com/SFWRedditImages

Remember faggots the pic isn’t reddit.

imagine spending your entire life surrounded by these people at work and in your social circles

>orange website
What's posted in there is not the absolute truth, you know.

>why I cringe a little inside whenever I see the words "software engineer"
Well, he's not wrong

I like how people act like if engineering wasn't full of retarded fuckups too.

The real kinds of engineering have well-established processes to deal with retarded fuckups because errors are seen as an unavoidable part of project execution. They also don't keep changing the composition of alloys every six months based on which 18-year-old faggot got his meme compound to trend on their version of Hacker News.

> ycombinator
it's worse than reddit. oh, and thanks for not posting a link, you fat lazy retard.
news.ycombinator.com/item?id=20637849

>unobtainium

this. fuck the larping faggots.

Attached: knowyourplacetrash.gif (320x180, 1.31M)

pajeets and the like wanting easy bux

>webshit isn't engineering
Thank you Captain Obvious.

This. Hot ass opinions and shitty ass egoist bullshit. Like chill the fuck out or literally fuck off. Sick of this shit. If you're so badass, actually demonstrate what you preach instead of shitting on some guy on some meme news aggregator.

Except he is. Software engineering is a valid job title.

if the Code of Hammurabi were applied to code monkeys, there would be a genocide overnight

hey that engineer spent good money and worked his ass off in order to get the same title that everyone else in his class did
do you know how many sleepless nights he had, because he was able to sleep during class???

Says the dipshit using software he couldn't begin to understand designed by and implemented engineers.

Software development isn't reproducible like normal engineering. If you can estimate it to the same exact detail as in traditional engineering, then you've already completed the bulk of the work. The only remaining task is to type out the program and let the compiler catch the syntax errors. All the decisions about what every line of code should do has already been made.

If someone develops a piece of software within the planned time and budget, then they are just copying something that already exists with trivial modifications. They are ripping you off.

Attached: iu.jpg (1280x720, 32K)

Well obviously because software isn't "real" unlike engineering. It's literally just a bunch of abstractions so we can reasonably instruct that a machine to compute something. You can't quantify or plan something that doesn't physically exist like you can with traditional engineering.

Software eng is way more complex than most of the physical engs. How many layers of abstraction are there in designing a physical product? One for the commonly used mechanisms (gears, levers, etc), one for common configurations of mechanism, and Newtonian physics.

How many layers of abstraction are there for a simple hello world web app? You have HTML, CSS, the web browser renderer, HTTP, TCP, IP, DNS, data link, OS, multi-processing, virtual memory, file systems, buses, interrupts, sockets, block devices, machine code, microcode. Even if you only account for a third of them, which is all most software developers can hope to do, that's still way more to keep track of.

Engineering is defined by Wikipedia as "Engineering is the use of scientific principles to design and build". How the fuck is building software scientific? I am software developer and me nor do I know of any colleagues that use the scientific method to create software. There is literally nothing empirical about creating 99% of software, hell we could all do it locked in room with nothing but a whiteboard.

>bunch of abstractions so we can reasonably instruct that a machine to compute something

And any part of software development that is reproducible is already or will be done by the computer. If it's repeatable, it can be translated to code. The humans are needed for the parts that are different for previous projects.

>Software eng is way more complex than most of the physical engs
here someone with no background in a field has a completely uninformed opinion on it

If your field of study doesn't have entire subfields dedicated solely to controlling complexity, you know your field doesn't have as much complexity to deal with.

You are not a real engineer.

>>Software eng is way more complex than most of the physical engs.
Why are code monkeys so retardedly arrogant?

Attached: Wankel.jpg (546x473, 38K)

By that definition, it isn't. I've always attested that it is most similar to math.

Most other forms of engineering have existed for at least a hundred years and have had time to figure out processes as the field matures. Meanwhile, CS as a whole hasn't been around for 100 years yet, let alone the webdev being discussed in that screencap. Aerospace took a good 50 years to figure out that putting regular chairs on an airplane isn't safe for passengers, how is webdev supposed to get its processes "standardized" when the WWW isn't even 30 yet?

I wanna see structural engineers apply some software engineering techniques I've seen in the wild. Let's see someone design a building by copypasting shit into CAD until it looks like it'll hold up. If it collapses with people in it, they can always just call the engineer at night to come fix it.

Because civil engineering has a proud tradition of always being on-budget and on-time on "reproducible" public works tasks, for example.

You could argue similar things about, say, transmission line construction for something like urban power.

EE gang rise up

>Aerospace took a good 50 years to figure out that putting regular chairs on an airplane isn't safe for passengers
Yeah but have you seen the wicker chairs they used to use on planes? Way WAY more comfortable than modern airline chairs. Give consumers the choice and I bet most would opt for the more dangerous but more comfortable chairs.

Why? Because the chance of any sort of accident is very very low, but the chance of discomfort in a modern airline seat is 100%. But of course engineers and lawyers have to shit the situation up for everybody and deny the people what they really want, which is more comfortable flights.

Attached: ugh.png (583x420, 347K)

if you sit at a desk you're not a real engineer, desk jockey

The problem here is that there are so many uncontrolled variables. In other areas of engineering, the laws of physics are constant. You can't however know why a piece of software works on 9/10 identical computers, but fails on one simply because Microsoft Windows has to many proprietary complexities.

If you don't operate a train, you aren't a real engineer.

Attached: casey jones.jpg (330x246, 26K)

Capitalism, that's why

BASED

That's not sufficiently explanatory, because other engineering disciplines are operating under that same capitalist system with a lot more, well, discipline...

Attached: al.png (655x430, 278K)

>.
words that make me cringe even more:
Cyber security
Cyber security expert
Website designer
Javascript programmer
full stack

The last poster in the image has never worked in a software job. His whole knowledge of software engineers and how they act derives from forums. Any respectable software job will have people talking like the engineers in his scenario.

>implying wind turbines, bridges, buildings and even most microelektronics aren't solved problems being recycled with minimal customer-tayloring
Name one (1) reason why reusing a working design is bad?

i wish, regular programing takes to long, i would like to use something like Linux commands and chain commands until you get the desired output rather than having to declare variables, types, objects...

Bullshit

Software Engineering and Machanical Engineering have a lot of general concepts in common.
1) usage of standard parts (libraries, nuts and bolts)
2) reusability through interfacing (the connection between a motor and gearbox is an interface, and you can reuse both parts in a different design)
3) single responsibility through seggregation
4) usage of patterns (like a crank)
And so on. The general way of thinking and concepts required are the same. Software just doesn't have a production cost unlike real hardware, resulting in bloatware and other anti-patterns. And software isn't physically real, like those machines, creating a situations where in software you can fix any mistake and design flaw by working around it, something which is very costly and fragile in mechanical engineering.

The main difference is that programming is engineering in abstract which means it has to deal with a lot less uncontrollable variables than physical engineering, the latter taking place in the unpredictable real world. Outside of say, high temperatures causing bits to jump randomly, there isn’t much that’s supposed to be unpredictable with computers, and if there is it’s due to the insupportable high burden of complexity, for which programmers are largely responsible.

What is eet with Hacker News?

They are not hackers
They don't make News

Attached: seinfield.jpg (499x318, 10K)

We're only human

>why is this allowed?
Please just give up on computing OP

>The main difference is that programming is engineering in abstract which means it has to deal with a lot less uncontrollable variables than physical engineering, the latter taking place in the unpredictable real world. Outside of say, high temperatures causing bits to jump randomly, there isn’t much that’s supposed to be unpredictable with computers, and if there is it’s due to the insupportable high burden of complexity, for which programmers are largely responsible.
You're wrong. Especially modern web backend softwares are asynchronic, event-driven mess that is impossible to predict in any way approaching determinism. On top of that, I would argue that software is more sensitive to state change than mechanical devices, i.e. designing mechanics that deal well and predictably with stimuli is in fact easier.

Embedded software isn't like that
When I have time I routinely try to optimize algorithms so that they require less CPU cycles to execute. I often reach conclusive results like how some algorithm will now require 4us less to execute etc