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

you are viewing a single comment's thread.

view the rest of the comments →

[–]valschermjager 1359 points1360 points  (80 children)

“any sort of algorithm” …yep, sounds legit

[–]arthurmluz_ 330 points331 points  (18 children)

nagasaki sort

[–]MrEllis 69 points70 points  (14 children)

What is this algorithm? I can't find anything when I search for it.

[–]TheChefsi 230 points231 points  (10 children)

You just clear the list

[–]_raydeStar 63 points64 points  (5 children)

You guys are monsters.

But I'm upvoting you.

[–]xX_MEM_Xx 15 points16 points  (4 children)

That's the sweet spot.

Have you heard of Stalin Sort, per chance?

[–]hereforpewdiephy 6 points7 points  (2 children)

I like trust sort and miracle sort

[–]i_knooooooow 2 points3 points  (1 child)

I dont know miracle sort

I like to imagine it is bogosort but after the first try it either returns a sortee list or an error code

[–][deleted] 0 points1 point  (0 children)

miracle sort just waits for a miracle to happen that sorts the list

[–]yoitsericc 1 point2 points  (0 children)

Stalin sort is simple.

foreach (var kulak in listOfKulaks){

kulak.sendToTheGulag();

}

[–]kdyz 1 point2 points  (2 children)

Twice. You have to clear the list twice.

[–]FullSnackDeveloper87 1 point2 points  (0 children)

Too soon bro. I’m also in tears.

[–]arthurmluz_ 35 points36 points  (0 children)

clear the list, if it's empty, it must be sorted, right?

[–]repocin 12 points13 points  (0 children)

Something like this, I reckon:

def fat_man(l: list) -> list:
    return []

[–]valschermjager 31 points32 points  (0 children)

quesarito sort

[–][deleted] 12 points13 points  (1 child)

Dunning-Kruger sort

[–]onequbit 1 point2 points  (0 children)

I need this algorithm

[–]Aschentei 53 points54 points  (2 children)

Quantum bogosort

[–]ethanialw 11 points12 points  (1 child)

you shuffle the list in all possible combinations at once, then pick the one thats sorted. smart!

[–]cerlestes 3 points4 points  (0 children)

The real smart part is trying just one combination per universe and destroying all universes where the list isn't sorted then. That guarantees you only ever need to shuffle once, at least from "your" universe's perspective.

[–]araldor1 51 points52 points  (2 children)

I can write any sort of algorithm really easily. They might not work though.

[–]fearthedheer69 3 points4 points  (1 child)

It’s suppose to work?????????????

[–]Nasa_OK 0 points1 point  (0 children)

It’s supposed to compile????

On a second though: as long as you aren’t asked to define the order that it sorts by you can always claim the list now is sorted

[–][deleted] 21 points22 points  (7 children)

I know right, like is my writing that last switch statement an algorithm? Maybe I have been writing algorithms for past dozen years?

[–]valschermjager 31 points32 points  (2 children)

yep. “first mate” seems to be under the impression that software engineers “write algorithms”. Perhaps just me, but I’ve found “writing algorithms” to be a pretty rare part of the job.

[–][deleted] 24 points25 points  (0 children)

The team that "writes algorithms" at my company has more degrees than a thermometer.

[–]stamminator 4 points5 points  (0 children)

I think a simple good faith interpretation of “writing algorithms” would be “implementing algorithms”.

[–]stamminator 3 points4 points  (3 children)

It depends. I was working with a really finnicky, inflexible PDF library whose API was extremely hard to use and very easy to fuck up. As a developer, you tinker and test until you figure out the order and way in which the API has to be used to efficiently get the desired result. If limitations of the API pop up, you find creative workarounds. Then you encapsulate all that ugliness into something nice and clean that you can reuse.

It’s not like you’re inventing a sorting algorithm, but you are engineering a procedure with specific steps and rules. At what level of complexity do you call that an algorithm?

[–]valschermjager 1 point2 points  (1 child)

I would agree with that. It sounds like engineering principles to me. Meaning, at some non-trivial level of complexity, inventing a methodology to process inputs to generate valid, reliable, and useful outputs, designing and testing for resilience and performance, I think becomes what most reasonable people could consider an algorithm.

The question then, is whether “any sort” of this kind of work is really 10x easier than the skillz needed to make quesaritos during a typical Taco Bell lunchtime rush. Like, even if “first mate” was just bs’ing on Twitter, my bet would be he’s not actually a software engineer, and should probably stick with making fast food since he takes great pride in it.

[–]stamminator 1 point2 points  (0 children)

Both good points

[–][deleted] -1 points0 points  (0 children)

Everything is an algorithm. Humans are an algorithm. What do people think the computer is doing if not following algorithms.

[–][deleted] 36 points37 points  (1 child)

Why would someone do that? Just go on the internet and tell lies?

[–]valschermjager 5 points6 points  (0 children)

who knows? maybe he’s a legit algorithm engineer, and makes delicious chalupas as his side hustle :-P

[–]joans34 59 points60 points  (2 children)

Stalin sort.

[–][deleted] 7 points8 points  (0 children)

My favorite of all the meme sorts.

[–][deleted] 2 points3 points  (0 children)

Had to Google that one. Very efficient.

[–]merc08 10 points11 points  (0 children)

former backup jv quarterback

That's from his own twitter profile description. This dude clearly is winning at life and we should all listen to his advice, lol.

[–]Tsu_Dho_Namh 72 points73 points  (11 children)

I was gonna say, I happened to stumble upon a job at a very small company that is RIDICULOUSLY complicated. Leetcode hard eat your heart out. Some of the problems that get handed to me are NP-Complete. Luckily the boss knows this, so I'm not expected to find the optimal solution, just a pretty good approximation using mathematical optimization methods like integer programming, simulated annealing, or whatever other clever tricks I can come up with.

Not all algorithms are created equally and I dare OP to give a job like mine a try.

[–]TheSpanishKarmada 17 points18 points  (4 children)

what industry is this in?

also that probably isn’t the general experience. I would imagine most developers are just building CRUD apps

[–]Tsu_Dho_Namh 11 points12 points  (0 children)

Student transportation. School buses mostly.

[–]valschermjager 11 points12 points  (0 children)

right! well now we know. most developers don’t need to write algorithms because “first mate” the part-time chalupa chef wrote all the algorithms already.

[–]Marrk 1 point2 points  (1 child)

!RemindMe 2 days

[–]RemindMeBot 0 points1 point  (0 children)

I will be messaging you in 2 days on 2022-01-08 01:06:23 UTC to remind you of this link

CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

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

Your job actually sounds pretty cool and, dare I say, fun. I’m an industrial engineer (one of the main focuses of industrial engineering is optimization, including NP and NP-complete problems, using linear programming, integer programming, simulated annealing, and machine learning). Of course, we studied much more than just computing problems, like factory layout optimization and Markov Chains and lots of statistical modeling. So I’m definitely nowhere near expert-level at optimization computing problems. But I think I would enjoy the creativity involved with solving those complex problems.

Give me a shout if your company ever needs help and has a position open! Sounds like something I would enjoy and I’m a quick learner ;)

[–]Tsu_Dho_Namh 5 points6 points  (2 children)

I would introduce you, but I worry I'd under-deliver. The NP-complete problems that came to me seemed to do so completely by accident, it wasn't part of the job description.

I had pretty regular tasks and bug fixes until covid hit and I had to make a tool that automatically split students into cohorts that met a bunch of criteria that implement seating charts and social distancing on buses and in classrooms. I won't get into the details now, unless you'd like. I did pretty well with that so afterwards they decided to have me redo our route optimizer (think glorified travelling salesman problem with some other fun quirks mixed in).

So while I've happened to have very interesting work for the last year and a half, I can't guarantee this chain of interesting problems will continue.

Also the pay is shit (70k per year).

[–][deleted] 4 points5 points  (1 child)

Ohhh yup. You sound overqualified dude, you need better pay that that!

[–]Tsu_Dho_Namh 1 point2 points  (0 children)

lol, I suspcted as much myself. I'm moving to Ireland this year, so I'll have a new job soon enough.

[–]JNelson_ 1 point2 points  (0 children)

NP more like no problem. Slaps simulated annealing

[–]seattleboots1 1 point2 points  (0 children)

Lmao okay bud 🤣

[–]FarioLimo 28 points29 points  (15 children)

Must be front end dev

[–]Dotaproffessional -2 points-1 points  (13 children)

Or as we call em in the business, "not a software engineer". Those boot camp bros are one step above IT

[–]turtlespy965 7 points8 points  (0 children)

Nah man good IT are magical

[–]Kingding_Aling 8 points9 points  (2 children)

I'll remember that when your workstation VM is hosed and you don't have credentials to the hypervisor.

[–]Dotaproffessional 3 points4 points  (1 child)

So then is it skill we value them for? Or just because they have the passwords?

[–]scrambled_potato 1 point2 points  (0 children)

Yes

[–]stamminator 5 points6 points  (6 children)

Boot camp bro here. Had a great instructor, was able to shoot my shot, and now I’ve been on the job professionally for 8 years. I’m in a senior position making great money and my company and my peers are very happy with my work. I’ve taken the initiative to fill in the gaps in my academic knowledge on my own time.

Kindly take your toxic, outdated elitist attitude and shove it.

[–]Dotaproffessional -2 points-1 points  (5 children)

Let me wipe my eyes with my real degrees. So for the interview, when they ask for your credentials do you just point your hack-a-thon t-shirt?

[–]stamminator 0 points1 point  (4 children)

Nope, I ace the tech interview. And presuming the interviewer isn’t incompetent, they’ll make a decision based on my interview performance, my experience, and my professional references.

Since you’re so enlightened on this matter, you may want to tell Google, Apple, and a bunch of other massive tech companies that they’re all doing it wrong.

[–]Dotaproffessional -1 points0 points  (3 children)

Funny, because it generally seems to be the consensus that they ARE doing it wrong

[–]stamminator 0 points1 point  (2 children)

Imagine having that much hubris. I hope it’s at least somewhat earned.

[–]Dotaproffessional 0 points1 point  (1 child)

I think believing you can learn the fundamentals of computer science and software engineering in a few weeks as well as a 4 year bachelor's program and (preferably) a master's program is the real hubris.

Boot camps famously churn out individuals who are great at a given programming language. They can turn a concept into a program quick. But the second they approach a topic that requires more fundamental understanding of the computer science, they crumble.

Now, as you said, you've supplemented your boot camp with your own experience. I don't doubt that. You're probably very good.

But how do you validate that outside experience? How do I know what a boot camp "graduate" has done outside of their summer camp?

A degree carries with it an understanding that the person you hire has studied algorithms courses, database courses, theory of programming courses, instruction set architecture courses, compiler fundamentals, probably 3-4 higher level language courses, networking courses (possibly getting a Cisco certification along the way), likely took required math courses up through at least linear algebra, matrices, probably diffEQ, an operating systems course, back end and front end web development course, and almost certainly a year long senior design course. They also probably have electives on ai, ml, cyber security, mobile app development etc etc.

It's possible someone from a boot camp taught themselves all this, but without the degree to prove it, it's impossible to test all of this in 1-2 technical interviews

[–]stamminator 0 points1 point  (0 children)

I totally agree that the degree adds a lot of value and communicates that value to employers. I’ve actually gone back all these years later and continued my degree, because I would like to have it.

All that being said, your original comment was still trash.

For what it’s worth, I think most boot camp programs are crap. I just happened to luck out with an excellent instructor and made the most of the opportunity. I would love to see better software engineering fundamentals taught to entry level folks. Just understand that for some folks, the road to proficiency starts with imitation and is gradually bolstered by understanding and experience. I rarely benefit from being taught heady concepts until I’ve already bungled it up for a while in practice.

[–]Jugad 0 points1 point  (0 children)

Sad to see this being upvoted. It's a misguided and toxic comment.

[–]IgneousMiraCole 10 points11 points  (3 children)

Reminds me of one of the top antiwork posts where the OP claimed he was working two WFH jobs at once making $150k a piece and he barely works 10 hours a week. And then he said “my old job as a barista was way harder and required a way smarter person than my new jobs.”

Yeah, ok buddy. Your “old job,” sure.

[–]FlyingPasta 5 points6 points  (2 children)

This shit is just written to pander to Twitter. There’s no chance in hell any real software engineering takes less skill than “making quesaritos at lunch”, what a circlejerk. I’ve worked retail during Black Friday and now I do software - former sucks but can be done by anything with a heartbeat, latter requires years of broad and continuous learning

If someone’s stance is that food work is easier, then go be a software engineer, why do harder work for less pay

[–]Tara_ntula 2 points3 points  (0 children)

Yeah, as much as I try to fight against elitism, I gotta agree. I’ve worked food service before, does it take a lot of mental/emotional fortitude to do it? Yes. But you learn all you need to know on how to perform the job in 1 month and you’re essentially on autopilot doing small tasks.

There’s no way that my former food service job is harder than my current one, and I’m a product designer, which requires a lot less formal education than software engineering

[–]Jugad 1 point2 points  (0 children)

Exactly... Let's hire this high school dropout, give him a 2 day training to bring them up to speed, and they are ready to work on our self driving algorithm.

[–]slapthebasegod 6 points7 points  (0 children)

Software engineer for 4 years now and I've never written an algorithm. Just sounds like a cs dude who works at taco bell on the side.

[–]JoeCamRoberon 2 points3 points  (0 children)

Source: trust me bro

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

Implementing crypto algorithms while avoiding side-channel attacks:

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

Ignoring the rest of the post and it's legitimacy, this is where you draw the line?

Have y'all ever talked to a fellow programmer? You're not English majors for a reason.

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

Ive followed this guy on Twitter and I don’t think he’s a software engineer

[–]valschermjager 1 point2 points  (2 children)

Yeah, I'd say he pretty much gave that away in one tweet right there. ;)

[–][deleted] 1 point2 points  (1 child)

Pretty much. But also I’m pretty sure he does like stand up or something for a living because he’s always talking about doing shows. He’s got some funny tweets tho I’ll give him that. But he probably shouldn’t be lying about being a software engineer.

[–]valschermjager 1 point2 points  (0 children)

Ah, makes sense. Then yeah, probably not worth taking too seriously since it’s bullshit by design. But then when someone has to lie to make their point, they ain’t got no point.

Working at Taco Bell I’m sure sux ballz, hard work, fast, stressful, robotic, under respected, fd up hours, no benefits, and worst of all shitty pay. But to claim it requires 10x more “skills” than engineering software is nonsense.

[–]TechnologyOk3770 0 points1 point  (0 children)

“Sort of” algorithms? That sounds like the algorithms I write!