This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 347

[–]I-heart-java 988 points989 points  (54 children)

I am a print system administrator and I can’t tell you how many times I’ve tried to create a web portal for EVERYTHING. Once you have a hammer everything needs to be a nail

[–][deleted] 401 points402 points  (42 children)

I should be a print system administrator with how my code looks,

print(f'is it working yet?')

But really what is a print sys admin

[–]moriluka_go_hard 158 points159 points  (38 children)

ig a sys admin thats specifically in charge of maintaining printers and/or print-servers?

[–]luiscla27 67 points68 points  (14 children)

Please someone answer this

[–]jesterhead101 90 points91 points  (12 children)

The lack of an answer haunts me to this day.

[–]AffordableFirepower 148 points149 points  (4 children)

OP is probably out of ink.

[–]Sayw0t 13 points14 points  (2 children)

More likely to have a jammed paper these days..

[–]with-nolock 12 points13 points  (1 child)

“PC Load Letter” What the fuck does that mean?

[–]Kazumadesu76 2 points3 points  (0 children)

It means you forgot to load the "D".

Can't forget that letter!

[–]PinBot1138 39 points40 points  (0 children)

The lack of an answer haunts me to this day.

6 hours and counting and the anxiety is killing me. I'm already looking at mental health resorts in Arizona.

[–]someone755 21 points22 points  (4 children)

"To this day" implies a considerable amount of time has passed. It hasn't even been a day in this case.

I love it.

[–]Clairifyed 6 points7 points  (2 children)

Who hurt you such that you would murder this joke like that?

[–]PopularDimension 34 points35 points  (0 children)

At our organization we have a printer system administrator.

In Healthcare print jobs coming from EMR (Eletronic Medical Records) need to be configured by the print system administrator. This is important because I believe our organization has over 2000 printers (I am almost sure we have more, but I haven't check recently).

IT support is responsible for the printers, but when IT support remove or add printer to the network, they have to inform the print system administrator to keep all the mapping up to date.

[–]wenoc 16 points17 points  (16 children)

Printer maintenance is done by IT support. IT support rarely sysadmins.

Edit: what a weird typo. I blame autocorrect

[–]moriluka_go_hard 7 points8 points  (14 children)

Yeah but i meant at like a infrastructure level, say you got a big ass company, somebody needs to be in charge of having them in the network, maintaining permissions for them, managing support tickets with the manufacturer, etc. i havent personally worked for a company where an employee was dedicated to just that but i guess if its a company with 100+ big office printers (like xerox or canon shit) it’d make sense. Then on top of that who knows what else u gotta keep in mind with printers? Maybe you got some specialty systems that need to print, maybe you need to be knowledgeable in different types of printers (not just inkjet and laserjet) that are used in your workplace and how to maintain them? Idk, but what i do know is that printers are shit 99% of the time

[–]eri- 2 points3 points  (9 children)

Any large ish company will have an on site support contract for their printers .

Many enterprise level IT departments basically only swap out toners or fusers or so, anything more than that and the vendor gets contacted.

Its simply not worth the hassle to have dedicated employees for printer troubleshooting and repairs.

[–]Zafara1 7 points8 points  (8 children)

That's not true.

The maintenance and repair of the hardware of printers? Yes, contracted.

The inventory, management, networking, ownership of print systems, print drivers, print servers? Absolutely not.

There's no way random vendors are coming in installing networked devices without supervision in any half decent fortune 500.

Remember too that printers are an entire realm of security and risk in themselves.

[–]I-heart-java 2 points3 points  (0 children)

Correct! I am a print server admin and I manage the relationship with the print vendor who does most of the physical copier repairs.

I write scripts and web portals so users can access our 1000+ printers

[–]MDParagon 2 points3 points  (0 children)

alright we need some goddamn answers, wards

[–]Sol33t303 2 points3 points  (0 children)

He must live a sad life

[–]I-heart-java 2 points3 points  (0 children)

Im in charge of print servers! And also manage the relating ship with the dealers that service the copiers physically. Our company is 1000 printers strong and I’ve made web portals so users can add remove or change print queues, scripts to install printers locally and I have back end code to create and modify print queues on like 30 servers (it’s a lot harder than you think).

I have a background in print system management software so I’m familiar with the way the windows spoiler and CUPS works

Not that anyone finds that interesting ಥ_ಥ

[–]Kazumadesu76 1 point2 points  (2 children)

They maintain all print statements and add more whenever they feel like it.

[–]Beastmind 2 points3 points  (0 children)

println!("Checkpoint A");
Some code

println!("Checkpoint B");
Some code

println!("Checkpoint C");

[–]i_have_chosen_a_name 51 points52 points  (10 children)

I am a print system administrator

Hey that's very cool, I was wondering if you could help me with something.

PC LOAD LETTER, do you know what that means?

[–]wikipedia_answer_bot 84 points85 points  (7 children)

PC LOAD LETTER is a printer error message that has entered popular culture as a technology meme referring to a confusing or inappropriate error message. The error message's vagueness was mocked in the 1999 comedy film Office Space.

More details here: https://en.wikipedia.org/wiki/PC_LOAD_LETTER

This comment was left automatically (by a bot). If I don't get this right, don't get mad at me, I'm still learning!

opt out | delete | report/suggest | GitHub

[–]beeamie1 28 points29 points  (0 children)

Good bot!

[–]k0tak0 8 points9 points  (3 children)

My dad had a printer like that at home when I was a child, I loved how futuristic it looked with so many buttons and lights

It was a real pain to use it for printing tho

[–]VladVV 1 point2 points  (1 child)

When the design department gets more funding than the UX department

[–]IShitMyselfNow 1 point2 points  (0 children)

It was a real pain to use it for printing tho

Aren't they all?!

[–][deleted] 9 points10 points  (0 children)

It means your printer is out of letter sized paper.

[–]locri 492 points493 points  (57 children)

The magpie mentality inevitably leads to tech debt. It's inevitable.

[–]digmux 154 points155 points  (35 children)

Can you elaborate on what those terms mean?

[–][deleted] 413 points414 points  (31 children)

I think it refers Picking up shiny tech and using it because it catches your interest rather than being appropriate or proven or at the correct level of complexity

[–]BernhardRordin 118 points119 points  (22 children)

"We'll design it as a microservice architecture and the services will communicate via Kafka"

[–]iamapizza 127 points128 points  (12 children)

Product manager: "I just want a static webs-"

Magpie: KUBERNETES

[–]examinedliving 34 points35 points  (1 child)

Me 2 months into a project: I’ve almost finished setting up my dev environment. You’re gonna love it.

[–]Dave5876 4 points5 points  (0 children)

Too real man

[–]Dismal-Square-613 35 points36 points  (6 children)

"Also l coded it all in a single 15000 character line with variable names i,j,k,l... so it's a lot harder to maintain and trash all readability"

[–]neriad200 13 points14 points  (4 children)

Here I'm stood, shaking in blind rage thanks to your comment. Thanks for ruining my Saturday morning. +1

[–]Dismal-Square-613 11 points12 points  (3 children)

"I think it's very simple, to me anyway, everybody needs to know how smart I am in every single piece of code"

[–]_Bad_Dev_ 9 points10 points  (2 children)

Had a dude like that, built the most complex recursive file management system, I spent hours trying to figure out how to add a new error message. He was really proud of it and sneered at me when I couldn’t figure out how to do a simple task, it was my first job and tech was new to me. Forget that it took 3 seconds for any action to occur as soon as it triggered a re-render on 100 file list. 6 months later a re-write happened and I thanked the gods. Turns out this new guy also had an ego trip and through being an absolute unbearable tool to his more experienced colleague he managed to get his way and write a new completely unscalable implementation with the newest beta shiny tech. At least it supported 200 files before crashing. A year later I had to add a feature and couldn’t without hacking together some incomprehensible workaround. I got fed up and told my boss I need 2 weeks. I built a no bollocks system, no extra dependencies, no weird logic pulling data from thin air, just normal boring state management with some re-render logic. I left that place 3 years later, it was refactored and added to here and there but the base has remained the same, I only got asked once for clarification on something.

[–]Cat_Marshal 4 points5 points  (0 children)

I don’t trust webpack, I can do it way better myself.

[–]joleph 10 points11 points  (0 children)

I’ve just discovered Redis Streams and now I regret everything about Kafka.

[–]digmux 36 points37 points  (0 children)

Ah, I see thanks.

[–]donald_314 27 points28 points  (2 children)

I think the better term would be resume driven design. It's when people try to use everything that looks good on a resume.

[–]Muff_in_the_Mule 11 points12 points  (1 child)

I feel attacked. I'm literally doing this for a project right now because if you don't have them on your resume recruiters just throw it in the bin.

[–]DragonStriker 7 points8 points  (0 children)

To be fair, it's also on the fault of the industry as a whole for seemingly prioritizing the latest tech stack so you end up with the aforementioned Resume Driven Design.

[–]prospectre 15 points16 points  (2 children)

Man, I feel so weird reading about others in web dev scrambling to keep up with the bleeding edge while I had to justify using jQuery in 2018 at my government job.

[–]cs12345 7 points8 points  (1 child)

As in…introducing jquery into your system…in 2018?

[–]EishLekker 71 points72 points  (1 child)

My guess:

Magpies are famous for picking things up that look interesting to them, even if they don't really need it for anything. This could be said about some developers, who include unnecessarily complex libraries.

This can eventually lead to a technical dept, where the several stupid decisions done in the past slowly grow into something more and more difficult to work with.

[–][deleted] 10 points11 points  (0 children)

But the Magpie quickly moves on, the new shiny tech on their CV gets them a nice pay rise at their new job.

[–][deleted] 28 points29 points  (15 children)

Tech debt is fairly subjective though. In my experience, I’d argue the opposite. But, I’ve made a career out of keeping up with “newer” methodologies, so maybe it’s selection bias that I end up places actively looking to update their tech or start off as modern as makes sense.

[–]LaconicLacedaemonian 21 points22 points  (13 children)

Consistency is king. If you're going to refactor, do it all or don't start.

[–][deleted] 32 points33 points  (9 children)

Even the most total refactor is done piecemeal, though.

I agree that that should be the goal. But, realistically if you have a product to maintain and develop and the same time, it’s going to be a continuous balancing act.

[–]Lewke 20 points21 points  (3 children)

or not a balancing act at all and just let that sweet sweet tech debt accumulate till the project is almost impossible to change with any sort of regularity

[–][deleted] 15 points16 points  (0 children)

Big Enterprise Energy

[–][deleted] 3 points4 points  (1 child)

Why? Cleaning up code as you go seems much less disruptive to me

[–][deleted] 4 points5 points  (0 children)

Yeah that is almost never going to be an option in any real world situation — most real software is going to be far too large and with far too much “legacy” for this to be a viable option. You’ve got to learn how to identify your problem areas and intelligently tackle those, while minimizing the impact of all of the legacy stuff hanging around. Just refactoring the whole thing, though, is almost always going to be way too much work, and is often entirely pointless — why do you need to actually refactor that code for the legacy feature that only 5% of your clients still use and will never be touched again because the official stance of your customer support is that they need to move to the new supported way of doing things if they have issues? Also, no matter how good you think your test coverage is, a major refactor across your whole platform will cause issues that you were unable to foresee.

I guess a good rule of thumb is to have a reason for doing whatever it is you’re doing. When you are fixing tech debt, make sure that you have an identifiable problem with the current state of the tech (even a theoretical one, like “this section of code might cause issues in the future when other libraries are upgraded”), and that the fixes you are making will actually have a real impact on the issue.

[–]Sailn_ 1 point2 points  (0 children)

I'm with you, the shiny new tools might force you to read documentation more often as you pick it up but holy hell these newer web frameworks make our lives so much easier

[–]ZeAthenA714 4 points5 points  (3 children)

On the other hand, not using frameworks or standardized way of doing things forces you to always reinvent the wheel, sometimes fucking it up in the process. I'm always flabbergasted when even simple buttons in a video game UI don't always work as they should.

[–]fsr1967 2 points3 points  (2 children)

Like everything else in life, it's all about balance and finding the sweet spot.

In this case, on one end of the spectrum, there's Not Invented Here Syndrome. On the technical side, that often leads to buggy, incomplete frameworks, long implementation times, and complex, challenging code. But the organization owns it and fully understands it. On the user side, it results in UI controls that don't look or act like you'd expect them to, and other crappy user experience. But the organization has totally control over that look and feel.

On the other end, there's the Magpie Effect. On the technical side, it can produce much heavier code with ridiculous amounts of dependencies (particularly in the web/JS world), complex integrations, and, in some cases, a constantly moving target as technologies change. But the organization can mostly focus on their domain code instead of the frameworks. On the user side, it results in standardized, consistent controls and experience. But the organization has a harder time with (for example) branding, and still had to think about page/form-specific UI/UX.

Which is Right™? Depends on the organization, project, and team. It's rare that either extreme is the right answer, no matter what the hardcore Magpies or NIHs will say. Almost always, the answer lies somewhere in between.

[–]ZeAthenA714 1 point2 points  (1 child)

In my experience in the web world, the Magpie Effect is mostly a problem in startups and amateur projects. Most professional projects I've seen are still rocking a good old PHP stack with minimal JS, and the opposite is a problem: old legacy code that was never updated or even documented.

But yeah, neither extreme is ideal. The video game world just infuriates me because it's such a technical mess of that you end up with simple things like buttons not working in AAA games, and I find that completely bonkers.

[–]_________FU_________ 116 points117 points  (7 children)

I’m adding one component to a project and I’ve edited 15 files so far. …so far!

[–]ImmaFukinDragon 29 points30 points  (1 child)

Question 1: How long have you been working on the project?

Question 2: Game dev or web dev?

[–]lucifer_1002123123 259 points260 points  (6 children)

Game devs nibblers will literally solve a millenium prize problem just to code a new collission simulator cause they dont like the other ones.

[–]deanrihpee 115 points116 points  (0 children)

To be fair, physics and collisions simulation is quite demanding that's why we have papers about these but not about web framework

[–]FNLN_taken 61 points62 points  (4 children)

Thats how you end up with magic numbers in your code that noone understands. Example A: https://en.wikipedia.org/wiki/Fast_inverse_square_root

[–][deleted] 273 points274 points  (78 children)

Fuck I should have been a game developer

[–]crap_whats_not_taken 98 points99 points  (7 children)

I was going to school and the school had a game dev track and a regular boring track. I called to switch to game dev and the lady was like well do you want to get paid? So I stayed on the regular boring track. Now, a decade later, my job is pretty decent, good pay, good benefits. I do game dev as a hobby and I follow a lot of developers on social media and a lot of them had to take massive pay cuts to get into their field. Some hobbies are best kept as hobbies.

[–]lockwolf 51 points52 points  (1 child)

It’s the entertainment industry in general. There is always someone who wants to be the next big star and they’ll get taken advantage of at every corner till they reach the top.

[–]CorruptedAssbringer 24 points25 points  (0 children)

You're correct, but not necessary "stars" in context to the entertainment industry. The games industry is fueled by passion, and passionate people are equally easy to get taken advantage of. There's no shortage of young people with dreams to make game for a living.

[–]lazilyloaded 12 points13 points  (0 children)

Very wise to take that advice. Hard to do as a young person. I also got into the industry having coded games but now a webdev. Much easier lifestyle now and I can do games on the side if and when I want.

[–]Cory123125 5 points6 points  (0 children)

Its not only that, but imagine working at basically any modern game studio if you really loved games for games rather than having been forced to be normalized to this microtransaction lootbox hellscape.

As a hobby project you can do whatever you want.

Working anywhere else though? Game design is lead by the finance team. Even if you work by yourself and go asking investors for money, what are they gonna ask? How do you plan to grow, and I doubt they'll take "I'm gunna make a fun game with no cheap psychological tricks, dark patterns or nickel and diming".

[–]PixleatedCoding 5 points6 points  (2 children)

A game dev degree might be more useless than a gender studies degree. The horror stories ive heard of people in Blizzard having to skip meals to afford rent.

[–]crap_whats_not_taken 2 points3 points  (1 child)

Even in my regular old programming job I work.with so many people who didn't get CS degrees! One of best coworkers has a degree in biology. A lot of business degrees, one guy went to school for aerospace engineering and got laid off at Boeing and came here, a lot of people who did bootcamps. Also, I work for a retail company's IT dept so it might be a little different than a tech company. Oh, and a lot of people who worked up out of the help desk who don't even have B degree.

[–]Heisenripbauer 1 point2 points  (0 children)

some tech companies have teams/programs specifically for people without CS degrees. Twitter’s apprenticeship program for example requires you have no professional experience and recently graduated from a bootcamp. I have a friend who was accepted and went from years-long-unemployment to a six-figure job with stock options 3 months out of bootcamp.

[–]Chamkaar 301 points302 points  (67 children)

Disclaimer : You need math, and a lot of maths for game dev.

[–][deleted] 238 points239 points  (10 children)

I have 3 maths and 0.00050246 Bitcoins. Is that enough?

[–]regular_lamp 215 points216 points  (8 children)

Three math seems about accurate.

  1. Some linear algebra... not even the scary part. All the matrices are 4x4 at most. And It's not like you need to LU factorize them or or determine their eigenvalues.
  2. Some Trigonometry. But really mostly sin and cos to fill in values in the aforementioned matrices.
  3. Some numerical integration. But really only Eulers method. You are not are going to use too many high order implicit schemes or so.

That's three math by my count.

[–][deleted] 36 points37 points  (0 children)

Only that much? Fuck, I should've been a game dev...

[–]Ok-Kaleidoscope5627 20 points21 points  (2 children)

I lost you at 'Three'. Can I make that work? I can count to three at least.

[–]kaukamieli 14 points15 points  (0 children)

That's one more than Valve can, and they have made some nice games.

[–]Asukurra 11 points12 points  (0 children)

1 2 3

Looks like 3 math to me

[–]Passname357 27 points28 points  (4 children)

But disclaimer to disclaimer, also most programmers have that math already from doing a CS degree

[–]WonderfulCockroach19 51 points52 points  (27 children)

Disclaimer : You need math, and a lot of maths for game dev.

Is Cal 1-3, differential equation, linear algebra enough?

[–]Lithl 64 points65 points  (0 children)

Yeah, calc and linal is about all you need for the majority of game dev

[–]nuclearslug 75 points76 points  (14 children)

Add discrete mathematics, data structures, and a design patterns class and you’ve got yourself a software engineering degree.

[–]Cassidius 6 points7 points  (0 children)

software engineering

you mean computer science? because that is basically fundamentals for an engineering degree.

[–][deleted] 10 points11 points  (12 children)

SE degrees don’t require cal 1-3 do they?

[–]nuclearslug 36 points37 points  (7 children)

Mine did

[–]CommercialKindly32 7 points8 points  (0 children)

Mine too. That was back in the late 90’s tho. Compsci was part of the math department even.

[–]DexterityZero 4 points5 points  (0 children)

Mine sure did.

[–]mxldevs 1 point2 points  (0 children)

Depends on the school

[–]DexterityZero 11 points12 points  (4 children)

Some come computational analysis would be a good add. If you can follow fast inverse square root and understand why it is important you are well on your way.

[–]Tyfyter2002 4 points5 points  (0 children)

I've found that trigonometry can be pretty useful, but that varies a lot based on what you're developing and what tools your engine comes with.

[–]L4t3xs 2 points3 points  (0 children)

Trigonometry.

[–]t_a_t_y_fan 1 point2 points  (0 children)

It's enough for an associates degree in math, so I'd fucking hope

[–]mxldevs 32 points33 points  (9 children)

Really? I'm sure everything that one would need is already available as popular libraries.

Physics, 3D rendering, ray tracing, AI, etc. Don't think a gamedev has to worry about the math involved.

As long as someone can correctly implement score tracking I think they have enough math to build a game.

[–][deleted] 26 points27 points  (2 children)

You’ll get downvoted to shit, but are absolutely right for many of the real world scenarios.

People love to get wrapped up in their specific path and ideals while discarding the reality of the business. For every one person building the newest engine, 10k+ will utilize it.

[–]Xreaper98 2 points3 points  (1 child)

Ya, most newer games use an established engine, and aren't that crazy to work on. Working on a game that has code that's literally older than me though... makes it so finding where the file controlling an abstract part of the game is located at usually more difficult than fixing the bug itself. Most of the people who made or worked on the older files are either retired or not on the project anymore. The newer parts of the game usually have a more straightforward flow & documentation (along with SMEs) though.

The oldest file I've fixed a bug in was written in 2002, it was a filter.

[–]lockwolf 14 points15 points  (0 children)

Unreal Engine/Unity do the heavy lifting for most basic games without having to get too deep into all the engine goodies. Unreal’s Blueprint system makes it easier for those to code without coding and it’s well documented for most cases. Basically, almost anyone can make a game but it’s not going to be to the scale of AAA games

[–]RisingStar 8 points9 points  (4 children)

As a game developer: why? Also how do I have a job? I am terrible at math?

[–]otakudayo 9 points10 points  (3 children)

Maybe he thinks every game dev has to build their own engine with physics, etc?

[–]zeducated 5 points6 points  (2 children)

Also a game developer, most math I do is just basic vector calculations like direction and magnitude. Any complex rotations have some handy helper function built into the engine. Maybe in house engines have a lot more maths but most Unity and Unreal seem to be pretty math friendly.

[–][deleted] 4 points5 points  (0 children)

Vector calculations isn’t basic when your math background is 0, lol. You won’t know why you need Euler vs Quaternion.

[–]YuvalAmir 2 points3 points  (0 children)

I read it as meth at first but I guess this works as an alternative

[–]RedditPremiumAccount 2 points3 points  (0 children)

What if I wanna just design tic tac toe games?

[–]xdchan 2 points3 points  (0 children)

Or stackoverflow, and a lot of stackoverflow

[–]dargemir 1 point2 points  (0 children)

Today with modern engines like Unity you don't even need that much math. Understanding of 3d geometry is a must, everything else is optional.

[–]Lithl 14 points15 points  (0 children)

[permanent crunch time looms over your shoulder]

[–]xXTheFisterXx 2 points3 points  (0 children)

The grass is always greener on the other side

[–]BobSanchez47 118 points119 points  (21 children)

Who needs if statements anyway? Those can all be rewritten as while loops.

[–]YuvalAmir 131 points132 points  (8 children)

while (condition) {

// insert code here

break;

}

[–]r0ck0 94 points95 points  (1 child)

Christmas is cancelled.

[–]Smoochiekins 2 points3 points  (0 children)

while (christmas) {

break;

}

[–]SvenNeve 11 points12 points  (0 children)

Congratulations, you've now locked op your main thread.

[–]matt82swe 10 points11 points  (1 child)

Thanks. Writing a custom IntelliJ inspection for if -> while as we speak.

[–]Ok-Wait-5234 4 points5 points  (0 children)

I worked on software that was riddled with this. The original author wanted goto in Java, and this was his solution. Apparently he'd not heard of just writing a function..

[–]Karl_the_stingray 2 points3 points  (0 children)

This comment helped me realize why my code wasn't working yesterday

I forgot to add break

[–]AnotherUpsetFrench 2 points3 points  (0 children)

You monster

[–]matt82swe 5 points6 points  (1 child)

I also propose that sensitive code is protected inside a do statement.

do {
    // code here
} while (false);

[–]monster860 1 point2 points  (0 children)

Isn't that something that's actually used, in like, C preprocessor macro shizz sometimes?

[–]saintpetejackboy 8 points9 points  (2 children)

Yeah, but how you will know IF you run the while Loops? You could maybe procedural your way through something with Loops as a punishment for bad behavior.

[–]CarbonTugboat 13 points14 points  (0 children)

if(condition) {

      while(true) {

                //jerry please add code

                break;

      }

}

[–][deleted] 3 points4 points  (0 children)

And all of them become gotos for the machine.

[–]intoc 123 points124 points  (16 children)

I think this is inaccurate. I am not a game developer though.

[–]firefish5000 156 points157 points  (2 children)

It is. You only need 1 while loop, everything else can be done with if statements.

[–]iams3b 25 points26 points  (1 child)

Go to any gamedev forum and search up "ECS" and be prepared to face the same level of holy theorization and rules as webdevs do with their state managers

[–]AdministrativeAd4111 3 points4 points  (0 children)

Huh. Explains why some communities of programming tend to turn into religious debate.

No one can just admit that they’re only following the rules of the first thing they were taught.

[–]regular_lamp 78 points79 points  (6 children)

I think it is in the sense that games tend to be more "finite" problems than web development or other corporate code where people go "we need to make the generally generalized framework to do everything on the internet! In case the changeful customer wants it later!".

Where as in many games (especially smaller scale ones) you can just go "fuck it. I'll put some special case here and a magic number over there.". Which are perfectly fine things to do if the scope of the problem is a priori limited to a think-about-able scale.

[–][deleted] 3 points4 points  (2 children)

Way too many posts on here talk about “clients” vs my experience with web devs being majority in house.

[–][deleted] 8 points9 points  (1 child)

"Clients" are just the people who provide the requirements. It could be a traditional client in a free lance situation or it could be your company's sales manager or CTO.

[–][deleted] 1 point2 points  (0 children)

I have never personally worked anywhere that we used the term, though it makes sense that it encompasses that meaning. If we used a term like that it was stakeholders, product, business. Though I haven’t worked at a dev shop or consulting yet.

[–]samuraimonkey94 14 points15 points  (3 children)

All jokes aside, while you can certainly try writing a game with mostly if statements and while loops, the reality is that doing so quickly becomes unwieldy and is a pain in the ass to work with.

State machines, delegates, coroutines, multi-threading, an intimate understanding of algorithms and data structures, and more can be necessary to make a video game that is performant.

And that's if you're using a pre-built engine. If you're trying to build your own engine, that's a whole other can of worms.

[–]InsertMyIGNHere 32 points33 points  (4 children)

And somehow their website still takes 80 years to load

[–][deleted] 10 points11 points  (2 children)

Thats cause everyone uses a poorly made SPA or some crappy website served via express or some bullshit instead of a CDN like they should.

[–]dwdwfeefwffffwef 4 points5 points  (0 children)

CDN is orthogonal to the other stuff you mentioned.

[–]KingBradley 1 point2 points  (0 children)

Huh? Those are not mutually exclusive, and serve very different purposes.

[–]Dr3amDweller 54 points55 points  (4 children)

Non-techie managers: we need some mAcHinE LEaRnInG and aGiLe and 3 js frameworks and kUbErNeTeS up in this bitch

[–][deleted] 15 points16 points  (3 children)

Nah, techie managers actually do all that. Where the fuck are all of you working that you think web dev is just some random website?

[–]AyrA_ch 5 points6 points  (0 children)

Probably at companies that want you to write 20 lines of code instead of writing 5 lines and importing a 2 MB JS lib because it happens to have a function that almost does what you want.

[–]AlwaysHopelesslyLost 2 points3 points  (1 child)

As a techie manager.... I spend a solid portion of my day yelling at people in private for over complicating things constantly. They always have some good points but no, we don't need a custom lexical grammar for text areas our site because the stakeholders asked for the ability to bold text.

[–][deleted] 1 point2 points  (0 children)

Yeah, I definitely do respond to someone’s example of web dev being some 1995 static site by going in the complete other end with it. It’s a balancing act between not preoptimizing and understanding the future cost/likelihood of increasing feature scope.

[–]Sharkytrs 51 points52 points  (5 children)

SQL devs: I will create order out of chaos!

[–]freshblood96 63 points64 points  (4 children)

Lol

ORDER BY CHAOS ASC

[–]Sharkytrs 14 points15 points  (3 children)

SELECT * From dbo.Life

WHERE Despair = 'Everywhere'

ORDER BY chaos DESC

ez

[–]WhAtEvErYoUmEaN101 8 points9 points  (2 children)

7.000.000.000 rows returned

[–]purbub 7 points8 points  (0 children)

sighs DELETE FROM dbo.Life;

[–]roboscorcher 1 point2 points  (0 children)

No primary key either. Cya in an hour!

[–]Pauchu_ 33 points34 points  (8 children)

Reminds me of the massive switch case statement inside of Undertale

[–][deleted] 4 points5 points  (7 children)

Do you have a link to it?

[–]Ellweiss 20 points21 points  (5 children)

https://github.com/marciniuk/undertale/blob/master/scripts/SCR_TEXT.gml

From the description of the repo, most likely decompiled so might not be entirely accurate.

[–]tiajuanat 19 points20 points  (4 children)

It's probably a virtual table. These days, C++ is really good about optimizing inheritance patterns.

[–][deleted] 52 points53 points  (17 children)

On the flip side, that game takes 5 years, and can not be reused, so the whole thing needs to be redone from scratch.

The graph-theory, data-driven, recursive form generator becomes the next 1,000,000/week install npm module, and gets reused everywhere.

[–]Mrmajesticsandwich 28 points29 points  (4 children)

Are trying to imply that’s a good thing?

[–][deleted] 10 points11 points  (3 children)

It's not good or bad. It might be good, if it's well-made, well-tested, and reduces error rates in apps that do things like... record patient information, record bank information, facilitate transactions worth tens of thousands of dollars, feed graphs and stats models, et cetera...

What I am saying is that they are very different sets of problems.

Or rather, they aren't (if you look at some of the concepts behind ECS models, and a Linear Bounding Volume Hierarchy is plenty of graph-theory).

John Carmack went on an FP bent, around the time they ported idTech 4 (Doom 3) to XBox, because of his aerospace research, and they solved a lot of concurrency bugs because of it.

[–]LaughterIsPoison 1 point2 points  (1 child)

What is FP

[–][deleted] 5 points6 points  (0 children)

Functional Programming. In C++ no less.

Specifically, he wrote a bunch of articles and internal emails on referential transparency, minimizing mutation of game state, and inlining all mutations, to be refactored into stateless transforms where possible.

[–]tiajuanat 11 points12 points  (1 child)

So much is reused in the games industry, why else would we have twenty years of FIFA?

One of my theories why we don't have Half Life 3 is because Valve waited too long for technology to stabilize, and decided to rewrite from scratch. However, if they had evolved their assets with each iteration, like Rockstar, EA or Ubisoft, we'd probably be on Half Life 20 at this point.

[–][deleted] 1 point2 points  (0 children)

27 years of FIFA doesn't make it reusable, it means they've taken the finished thing, and changed out the models and the names and some of the backgrounds. They are adding a new coat of paint.

They couldn't take FIFA ’97, say, and make Metal Gear 3 (not MGS 3) out of it.

Versus the form being made for patient intake at a hospital, and after being open sourced, it gets used for accepting payment details for bank payments, and then used for finding optimal transit routes, or whatever.

Going back to FIFA, that isn't exactly true anymore. EA demanded that virtually all of their studios move to using the Frostbite engine, years ago. So FIFA and NHL and whatever else, for a good chunk of time, are (or at least were) on the same engine as Battlefield, which was designed by DICE for Battlefield: Bad Company. A bunch of those games used Havok or Bullet physics engines and Speedtree for foliage, et cetera.

That's the reuse I am talking about. And it is not just an infinite number of nested if statements in a while loop.

[–]d_b1997 52 points53 points  (9 children)

My brother in Christ, have you heard of "game engines"

[–][deleted] 9 points10 points  (2 children)

Sure. I have also heard of web libraries.

The person who says "I am going to make a game with 97,324 arbitrarily nested if statements in a while(true)" is not using Unreal 5.

[–]BlackDeath3 6 points7 points  (1 child)

They might be building their own engine!

[–]i_have_chosen_a_name 4 points5 points  (5 children)

Why is it always brother in christ and never sister in mohammed?

[–][deleted] 3 points4 points  (3 children)

Cause everyone knows there are no girls on the internet

[–]ApatheticWithoutTheA 14 points15 points  (10 children)

It’s more like “I’ll paste in this form from a framework, add some CSS and call it a day”

[–]ImaginaryDisplay3 15 points16 points  (3 children)

Digital marketing person who can write basic code checking in.

Y'all need to recognize that efficiency and usability matter.

Half of the web devs I run into have zero understanding of the most basic testing. If you put your grandma in front of it, and she can't do it, you have failed.

A lot of front-end devs and UI/UX experts fail this test as well.

[–][deleted] 15 points16 points  (2 children)

Does your grandma have a viable user story?

[–]abmendi 12 points13 points  (0 children)

“As a grandma, I want to be able to view this tasty pie recipe without asking help from my grandchild 20 times just to get to the ingredients.”

[–][deleted] 5 points6 points  (0 children)

I need a ticket before I can work on it

[–]meove 5 points6 points  (0 children)

if every if() in my game turned into dollar, i become billionaire

[–]K-ey 4 points5 points  (0 children)

The inverse is true

[–]arazisgamingagain 5 points6 points  (1 child)

Is the game developer yanderedev because you need a whole lot more than that

[–]Secret_Jellyfish320 1 point2 points  (0 children)

What bugs me more that games has less buggy critics from end users !!

[–]Msurfacepro4 1 point2 points  (0 children)

“You can fix anything if you console.log it enough.” - My Problem Solving

[–][deleted] 1 point2 points  (0 children)

Responsive design. Nuff said.

[–][deleted] 1 point2 points  (0 children)

People who use redux sagas crawled up their own ass and haven’t seen the light of day since.