Stories of industry/academic software incompetence

>99% of programming contest problems just require a knowledge of recursion, depth-first searches, sequences, and memoization to solve
>I have an applied level math background with bad grades
>at least put out an answer for all of the problems in these competitions
>most other people in these competitions can barely answer one question
Software is truly doomed. I don't know of any other industry that puts out so many incompetent students and professionals.

Attached: 1515438151116.jpg (1542x1102, 369K)

>programming contest
found your problem

I think the biggest indicator that the industry is doomed is the attitude towards software quality. There's 50 years of knowledge about how to put out a stable, working product with minimal bugs, and people are ready to throw it all away with the naive idea that "as long as it works, ship it!" Not to say that you should spend forever working on one feature, but you should at least mention balance whenever bringing up this idea. I have seen it rip projects apart when brought to its natural conclusion. In my experience, the industry is putting out tons of people who just want to do the exciting parts of writing software and don't care about learning how to bring up the quality of software. Any engineering industry that has the idea that "if we write documentation and have quality checks, most workers won't be able to maintain the product" is completely fucked.

What's the actual problem with programming contests? I like to keep my algorithmic skills sharp.

>When you're an IT major and took programming for fun and learned and understood it better than programming majors.
Still makes me smile.

>I like to keep my algorithmic skills sharp.
that you think programming algorithms is some skill like playing the guitar or running a marathon is the problem

Yes it's a retarded mindset.

>There's 50 years of knowledge about how to put out a stable, working product with minimal bugs
there really isn't

This is because capitalism has taken this odd turn towards "services" and completely abstracted the necessity of lower-level programming away because "programmers got paid too much"

it's complete and utter bullshit and only unionization and keeping 90% of pajeets out of the industry will solve it.

I have a bad memory for medical reasons, so for me, it is important to maintain those skills. I felt the impact when I stopped doing programming problems for fun in my professional life. I like to be reminded of certain optimizations, problem domains, etc. Plus sometimes I do learn something completely new, and it's fun.

>I have a bad memory for medical reasons
I dont believe you

How can you say that? Have you not worked on a project with no thought put into software architecture, no documentation, and no tests before? Have you tried to read anything on the topic before and have seen it applied even marginally? For me the difference has been like night and day, your post is so completely opposite to my experience I need to know where you're coming from.

yeah but this is because of companies like facebook making computers mass-market, low-skill-ceiling devices

back when it actually took a 100-110 IQ to run a computer software quality was much better, but hardware quality was what sucked.

we've somehow gotten completely inverted, I can't install a modern web browser that's usable without it sucking up ~2GB of RAM and web pages are regularly over 5MB in size.

the smartphone destroyed computing as we know it

Lol, what? Why?

This isn't a problem with capitalism, it's a problem with the West's ethnomasochism. Westerners aren't allowed to do anything for themselves, so they can't tell China, India, etc to pound sand. This means that bad actors are allowed to, simply put, replace 90% of their workforce with Pajeets to save money.

Without the ethnomasochism, the Pajeets would never be allowed in not because they make shitty software but because bringing them in doesn't benefit Westerners, which would prevent malicious individuals from outsourcing. This is the exact same problem with manufacturing, where the problem only exists because of cultural attitudes preventing it from being fixed.

because software development is so diverse and changes so rapidly that saying there's 50 years accumlated knowledge on the topic is ridiculous
there's 20, maybe 30 if you're being really generous, and that 'knowledge' is full of opinions and dogmatic bullshit and alot of incredibly subjective information about how to deal with the people working on the software rather than the software itself
There's a small amount of actual, useful knowledge about software architecture and alot of enterprise bullshit like scrum or agile or waterfall or whatever which is completely irrelevant if you're working with programmers who know what they're doing

>there's 20, maybe 30 if you're being really generous
You are probably right, I just looked up some the book from which I first learned about software quality that I thought was much older and it dates to the 90s. My mistake.

It's not ethnomasochism, it's just economics. That labor is simply cheaper, you would have to make hiring cheap labor illegal which goes against capitalist ideas.

Only capitalism provides sufficient reason to outsource work to another country, these companies are trying to cut costs to increase profit margin.

Instead of actually competing we just race to the bottom, and that isn't a racial issue, it's a markets issue.

If American IT workers would only unionize they'd have a seat at the table and tell these scab street shitters to fuck off and compete in the actual global marketplace instead of taking advantage of tax breaks given to companies willing to import them.

>union commie calling other people scabs

good job completely misunderstanding the word scab

You're missing the point. WHY are people okay with the race to the bottom? WHY are people okay with not acting in their own interests? "Capitalism" is a system made up of parts and interactions, it's not axiomatic.

The Japanese don't have this problem. Why? Because the Japanese aren't afraid to act in their own interests. The Chinese don't have this problem. Why? Because the Chinese aren't afraid to act in their own interests. Westerners are.

>Westerners are.
no they arent

>WHY are people okay with the race to the bottom?

Because companies want to market to everyone, they used the modern smartphone as a platform to introduce computing to more people than should have originally had access. 90% of people in this world can't tell you what a compiler is, yet use a computer for hours a day.

>WHY are people okay with not acting in their own interests?
In Capitalism they ARE acting in their own interests. Dumbshits want to browse instagram on their iphones all day and watch youtube videos, they don't care how the computer actually works. Which means the consumer is willing to accept an inferior product if it's for free.

You see, attention is the new currency. The destruction of the normal business model (build product, sell product, get profit, use profit for R&D, build better product, etc.) is what has lead to Macbooks with soldered-on RAM/SSDs and "smart" refrigerators that take place in botnets.

When computers were only things that business people, machinists and artists used, everything was better. We need to go back to that time and only by restricting the free market will that ever happen.

>The Japanese don't have this problem. Why? Because the Japanese aren't afraid to act in their own interests. The Chinese don't have this problem. Why? Because the Chinese aren't afraid to act in their own interests. Westerners are.

Name me a piece of japanese software or hardware developed in the last 10 years. Capitalism has caused them to completely outsource 90% of their design and manufacture.

The Chinese are socialist and literally prove my point.

>Name me a piece of japanese software or hardware developed in the last 10 years.
video games

Nintendo outsources their hardware design to Nvidia and most of their games are running on western game engines.

They're just as globalized as anybody else.

>most of their games are running on western game engines.
Many Japanese games are running on Japanese game engines and even if they aren't, they're being made by Japanese people, and there's a shit-ton of Japanese video games, like nearly as much as the rest of the world combined

You guys know that tech outsourcing is a meme right? I and almost everyone I know have bullshit tech jobs making six figures out of college

It's not that indian programmers are writing shitty code, it's that american programmers are writing shitty code

I am a westerner and I am acting in my own self interrest, but I don't own those companies.
The owners of those companies also act in their own self interrest, and they are westerners too.
It's just that their interrests don't allign with the lower classes. Sure some working class people have been brainwashed by globalists but they aren't being asked anyway.
Billionaires don't care about negative effects of outsourcing or immigration, they make enough money.

dynamic programming isn't memoization

Right, good job

The issu is that the vast majority of developers are technologically illiterate, and have no understanding of anything outwith the local system. They do not understand AD, DHCP, DNS, and other extremely basic IT concepts, which in turn leads to shitty programmers putting out shitty apps that require everyone else to work around their incompetence. Fuck, I seen one program last week where they even fucked up the Inno installer. (Rocket 3F if you're wondering)

seething IT brainlet detected

They don't understand software itself, I think that's a deeper issue. Having shitty network code isn't as bad if it's easy to see what the problem is and you can easily optimize, replace, or remove it.

you can always learn more problems, better implementations, etc.

sure there's a couple algorithms that everyone should know but developing your own mathematical models requires a pretty intimate understanding of many types of methods

better learnt on a job than solving basic toy problems

>Calls someone else a brainlet
>Requires an i9-9900k with 128GB of RAM, a 2TB SSD and 2 RTX 2080ti in SLI config to make a window pop up that says "Hello world"
>Asks for more RAM because the "Hello world" app is slow
>Also needs to be ran as Domain Admin
>(Ask someone who knows about computers what that means, brainlet)

Attached: dstt.png (1908x1040, 2.52M)

>>Requires an i9-9900k with 128GB of RAM, a 2TB SSD and 2 RTX 2080ti in SLI config
I bet you felt really cool typing that part out
You learnt all the acronyms for things other people made, you're a smart person too!

>Thinks that terms such as
>GB
>RAM
>SSD
>are somehow designed to be 'cool' or otherwise esoteric in nature
What's it like working for Ubisoft?

Dynamic programming can utilize memoization tho

I don't think it, you're the one who tried to brag about knowing the names of basic computer parts

Not every problem on the job requires finding novel solutions unfortunately, and not every novel problem on the job is going to be a real head scratcher like some of the harder problems online. Plus, I don't have to worry about keeping my branch history clean, writing documentation, or writing tests when I do contest problems. Contest problems also don't make me burn out like when I spend all my spare time on work. I spend a lot of my spare time learning, and I don't always have a book with interesting exercises on the go. Ultimately, I don't mind that they're toy problems because just reminding myself to have fun programming is part of why I do them.

sounds like you have a shit job

>you're the one who tried to brag about knowing the names of basic computer parts

>Things that didn't happen
The Post.
I'll let you in on a secret. To everyone else who works in IT, those terms are used multiple times, daily. Using words that are the names of things is not 'bragging'.
Oh, I forgot, you're a dev. Your fagbook pro is likely the only thing you know.

>To everyone else who works in IT, those terms are used multiple times, daily
i'm in awe
how do you manage it
as soon as people start throwing around terms like "RAM" and "hard drive" I just get confused and check out of the conversation

It's good money, challenging enough, and has good hours so I can keep a good work/life balance. I'm happy with it.

if your job is less challenging that programming contests I'm afraid you've settled for too little

Hopefully you can find a job that meets your criteria for happiness.

I don't think I've ever seen a dev so salty about being called out for their profession not knowing anything about computers.
There's no need to feel ashamed for being an iToddler incidentally, there's lots of other people who know nothing about computers too.

I know things about computers, not that it matters, it's just hilarious to see IT monkeys think they're better than devs because they know how to plug a network cable in

>IT monkeys
>a network cable

Devs, everyone.

Attached: maxresdefault.jpg (1280x720, 62K)

I'm tired of working with absolute apes who can't wrap their heads around a text based interface. I shit you not, these fags don't know what a compiler is. They click a button in an IDE and it spits out an icon. That's how they build their spaghetti code. I've seen a one week project get dragged on for three fucking months because these niggers need to build a hand holding GUI front end for applications that run headless anyways. It's a waste of time all around, and the results aren't even good.

oh I'm sorry are you not qualified to do that

What the fuck happened to the user using software? Seems like most developers these days are coming from the perspective that they decide what the thing they are coding does, not the user. What happened to the user deciding how their software behaves?

I will write that software if you pay me. Even give you the code.

Instead of running headless
they run
headless

>Ticket comes in
>Requester : Faggot Dev
>Request : I need a new network cable, the current one is what's causing my shitheap of a program to consume 256 GBs of RAM and crashing the SQL server in an endless boot loop.
>Reply : Drop by IT and we'll give you an RJ11. Have a nice day.

Sometimes the user is wrong. For example, they may want A but B is already possible. It is a problem, but it may be better to rethink B in some cases lest A is just as inaccessible if it's introduced without thinking. It's all about balance - it's not good to ignore the user, but it's not good to not think about a feature before implementing it.

bump

Attached: 1512101613433.jpg (1218x1015, 212K)

>have a job
>learn on the side by solving novel problems
people can walk and chew gum at the same time lol

>problem has dozens of solutions
>professor will only accept the one approach they had in mind
>informs no one of this

maybe your approach was gay and retarded

It's really a problem with mega-corporations obligation, established by eBay vs Newman, to inflate their share values with whatever legal means are available to them. They must do this, without regard for ethics, customer satisfaction (especially because their customers don't actually pay them anything), employee quality and happiness, or damage to society at large. Unionization won't help because their unions will be infiltrated by people of their choosing (likely SJWs because SJWs don't actually want to help people; they just want power and praise) and bent to the will of the megacorps. Union members will be distracted with progress towards some bullshit that won't negatively impact share values or REALLY make workers happier, such as social justice.

This probably wouldn't be so bad for everyone if everyone could own stock in Google, but you, an individual, can't. Stock trading moves too fast for you, and because the stock market is a corporate invention for trading IOUs that can't reasonably be exchanged for anything, they're not going to just let you buy stuff on your own. You have to go through some broker who works for a bank who ACTUALLY (allegedly) owns the shares, it's just in an account with your name on it.

The turn towards services instead of manufacturing is a much bigger problem than tech giants. That's the failure of a world of fundamentally worthless fiat currency, which has allowed countries to intentionally devalue their currencies so that, on paper, making something there costs seven times less than it should, when in truth, it might actually be more expensive, but the ledgers say otherwise. When a bottle of water costs the same in two countries in each country's respective currency, but the exchange rate is something other than 1, something is very, very, wrong, and this leads to a chain reaction of industries dying.

Unionization seems pretty impossible when you can outsource labor with 0 cost.

Plumbers and Teamsters unions work because you need a local to do plumbing or shipping work. You can't outsource a plumbing job to someone in another country. When you have entire countries of chinks who legally cannot unionize and can transmit instructions and receive a product the instant it's done outsourcing becomes the easiest thing in the world.

Forgot the end

So even if every single programmer in the US and Canada unionized than companies could still easily function via conference calls and emails with offices in Asia and India.

IT might have a shot. You need someone to plug in the cables after all.

>when you obscure snowflake supremacist garbage under self-made new words
Your bullshit smells even under a loin cloth .

Attached: 1554192890812.jpg (290x284, 31K)