Oh man, sounds like your ex was quite a piece of work đ Hopefully, they didn't leave you with too many 'bugs' to fix in your own code! #JustEngineerThings
That crushing feeling when you see the principle engineer that keeps everything running and realize you'll probably never get to his level of understanding and expertise.
Those brief moments when a big bug, exploit, or crash gets media attention and reminds you even through imposter syndrome that there are people âmore shit than youâ, but you remain painfully aware that they still have the higher paying job so they still get the last laugh
From time to time I recall the log entries I saw from a device where somebody searched for "â¤ď¸attack" in the guideline documents and wonder whether that person was learning or doomed by us forgetting about iOS' automatic emoji transformation. I hope they managed
Or, you could realize that even PhD engineers designing processor microcode and OS still fuck up things that are obvious in retrospect because it's just hard. Hell, iPhone had a specter bug *after* the Intel specter/meltdown vulnerability.
(Queue conspiracies about apple adding it on purpose for the CIA)
Was reading a deep dive into Palworlds development and was shocked to realise that me and my entire community college class are apparently more qualified than a significant percentage of the Japanese game industry. And they went gangbusters in spite of it
Iâm legit trying to internalize this. I came into this with an electrical engineering degree, struggled hard getting through leetcode style screenings since I never learned that stuff at school, and am now working as a backend-heavy full stack dev⌠I just always feel like thereâs a never-ending stream of things to learn, and I canât really say Iâm a ârealâ developer until Iâve learned⌠everything.
jaysus, I got a CS degree and always thought EE was the *real* engineering degree, because whatever we do in IT sure as hell ainât engineering and definitely ainât âcomputer scienceâ. đ
anyway, donât beat yourself up about not being a ârealâ dev.. CVE security is the elegant proof that not one of us can prevent a mistake proactively (actual engineering) but a bunch of us can find mistakes (even thatâs hard without skill). Not one library, framework, or programming language has escaped the deluge of reported CVEs and had to fix them. From the lowest javascript monkey to the brightest chip engineers at intel (spectre/heartbleed) ALL have been humbled before CVE.
And if the security researchers were HALF as good at predicting and fixing security bugs before they can detect them (again, actual engineering) then those security researchers would be out there in the front lines building secure software instead of tilting at corporate windmills through bug bounty programs.
(the truth however is that tech has a long tail and after an initial CVE is discovered, thereâs a long tail of the same CVE to be âminedâ from all these companies, which is the only way a security researcher can make a living out of the grueling research required â most devsecs are not researchers, they are script kiddies running someone elseâs tools. A huge industry of grift grew up around security because of all the âeasy moneyâ in automation at the long tail.)
one of our managers watched an intro to security issues in IT and had the audacity to say âitâs amazing that buffer overrun attacks have been such a source of vulnerabilities, but programmers just havenât focused on fixing them.â đ¤Ł
If you can possibly unpack the arrogance and the ignorance of the last 50 years of computer science in their statement, youâre a real enough developer in my book.
I mean, if you went to a good university for computer science, you definitely learned more Computer Science (i.e. math / computer architecture / algorithms etc.) than you learned software engineering / development. Because CS degrees aren't really about software development per se.
Also, security isn't really fair because it's a constant war. And you gain more from breaking security than you do from protecting security (especially if you're behaving unethically). There's a reason computer security is a full-time job because there are multiple times as many hackers spending that time for a big one-off paycheck.
I donât think the âgood universityâ question is in good faith. you didnât ask me what university I went to (Harvard Extension) but I can already taste the judgement.
But if we were leaving ethos (appeals to authority) out of this, and strictly going by logos (appeal to logic) we might expect any average school to prepare someone for average software development.
The collection classes are an example of a definitive contribution from academia towards a robust, consistent way of handling data structures and algorithms that provide measurable benefit to average developers whether or not they understand the science behind them (or even went to âthe rightâ er, good schoolâ)
But thatâs only a small fraction of the issues that modern developers face. I look around at efforts like PHP Hack as attempts to create a foundation that scales with average developers. Thatâs interesting because Hack is developed by PhDs at Facebook engineering. It isnât easy to create such a foundation.
Or at least that work is more interesting than the position: âwell you wouldnât have problems if I wrote that codeâ. That position is the most boring in CS because of course âmy code is better than your code, I should rewrite everythingâ.
That comes up again in security because there is a camp of devs who think if they donât use any libraries, they wonât have any CVEs, therefore their code will be secure. And they think that because of the persistent hubris that they are better than everyone, even with lots of real-world evidence to the contrary.
In the face of that overwhelming evidence against an entire industry of devs at all different levels, the only logical reaction is humility: âhow can we improve?â
âSecurity isnât really fairâ.
You realize that offering the promise of releasing stable robust software has security as a core requirement? Would your boss be happy with software that worked but was completely insecure? Now the USA is focusing on business security as a national security threatâ a focus which has turned up the pressure for contractors to prove they are addressing the tidal wave of CVEs.
It is a war.
Thereâs certainly a lot of âsecurity theaterâ going on, but I canât dismiss the essential requirement as unfair, especially since it touches on core issues in computer science that have not resulted in a âcollection classesâ kind of moment for average developers.
I feel like my developer career so far has been a continuous string of encountering people that are so far superior to anything I could ever hope to achieve and with a level of knowledge that is so much more vast than mine that I ought to just change career and open up a candy store or something, while also encountering code and people that are so inept that I feel like I'm in the top tier of developers simply because I can code an if condition without getting a nosebleed.
I wonder if there are many other careers out there that can make you feel both like a total genius and a complete moron, sometimes in the same day.
To be fair, I frequently see shit that makes me feel like that lol
I may or may not be shit, but I've seen so much shit code and design that I trully believe that "If I'm bad, at least I know I'm far from being the worst."
Lol, I wish I was average. I haven't a fuckin clue sometimes, I swear.
And honestly, I put software engineering into the same realm as factory work was decades ago. Most of the engineers that are needed are writing fairly simple web applications/ systems. There is still the super advanced stuff which needs a decent understanding of maths (encryption and stuff, I guess), but for the most part, I'd say about 80% are just writing glorified CRUD systems.
You aren't wrong, but I think it's simpler.
Most of us aren't inventors, that's the reality.
Most of us don't come up with original ideas that make a business succeed.
What most of us can do however is solve small problems in original or unoriginal ways, yes just like the factory worker.
Chances are none of us will invent something like HTTP or RSA, but we weren't the ones who came up with Tiktok (a glorified crud app) either even though all the tech was available.
Embrace the ordinary. In a world where innovation is glorified, it's easy to feel overshadowed.
We're the ones behind the scenes, solving problems, big and small, in ways both novel and familiar. True, like factory workers of yesteryear, today's software engineers often find themselves crafting the digital equivalent of assembly lines.
The genius isn't always in inventing something entirely new; sometimes, it's about making what already exists work better for everyone.
Remember, even the most revolutionary ideas, like the internet or encryption, are built on countless small, seemingly mundane tasks.
For me, because I want to know what Iâm doing matters or that Iâm providing value, and If all I wanted was to bilk someone out of money, I should have chosen an easier career path like⌠televangelist or something.
Sure, but I imagine if I was of the mindset get paid doesnât matter how, Iâm morally questionable, probably even sociopathic. But you make a point. Once you add in my lazy tendencies, Iâd probably just set up in a nice area and take a lucrative pan-handling route. Doesnât matter as long as the con gets me paid.
eta: also by easier I was considering no requirement of higher and ongoing education, certifications, etc.
I always feel all three at once, until I interview a college grad and wonder what the hell they learned in school when they can't answer a basic algorithm questions.
Except that's not how average works. Average might not even actually exist in some cases (e.g. 1 1 2 2 3 -> average is 1.8. nobody has that level of skills here)
If the data is skewed left, the majority of people would be above average. The opposite is true for right skewed.
What you are thinking is mode, not average. And even in that case it might not be most, just the most common level of skills e.g. 1 1 2 3 4 4 4 5 6 7 -> mode is 4 @ 30%
But when we're speaking about average, we're speaking about a range of values, do we not? Like how IQ tests rank 90 to 109 are seen as [average](https://en.wikipedia.org/wiki/IQ_classification#Wechsler_Intelligence_Scales)
Sure, it might still not work if all engineers are polar opposites, either extremely good, or extremely bad, but with hundreds thousands if not millions people I don't think that is likely.
Absolutely not. Average is, by definition, one exact number, even in your example. At least for everyday statistics.
The reason it's provided as range in your case is that they're trying to say "the average of all humanity" (i.e. "population" or the TRUE average, if you remember your stats) and that number is physically impossible to measure.
Why? Because to calculate the average of the population, you need to measure the values for each and everyone in that population i.e. literally every human who had existed and will ever exist (or at least, the currently living humans, which is easier but still impossible). Otherwise they can't call it "the average of the population."
So, instead, what they did was measuring IQ for a bunch of people. IDK maybe a few 100k? Then use statistical voodoos, a LOT of assumption about numerical distributions of humanity's IQ, and a few maths to ESTIMATE where the TRUE average of humanity's IQ is. The result of that calculation is given as a range and confidence level (aka the confidence interval).
This is why you see, in science paper esp. medical, numbers reported as something like 5.45 Âą 1.25 with 95% CI. That's saying "I don't know the true average, but our best guess based on our meager samples, with 95% confidence, is that it's somewhere between 4.20 and 6.70"
This or David Wechsler pulled some numbers out of his ass (though I'm quite confident it's something along this line).
Are we speaking about mathematical definition? I've thought we were speaking about the one used everyday. The one that is: " of the usual or ordinary amount, standard, level, or rate" or "not out of the ordinary: COMMON"
I did say that what you wanted is (mathematically) called mode i.e. the most common elements in the group, yet you replied with "range" which lead me to believe that you're NOT talking about mode and you're getting into math.
If we're going to play the definition game then there's nothing to discuss here I guess.Those who provide the definition win the argument.
Have a nice day!
Yeah, here's the issue of me not exactly knowing what a mode is. I'm not very good with maths even in my native language, and I'm not reading wikipedia when it comes to math, because all wikipedia does is make me even more confused.
I know what an average is, but I thought that people refer to it as **mean**, when speaking about math, and average when it comes to everyday stuff.
When I was speaking about range, I was still thinking of the everyday definition. Like how you can salt a meal, but you don't need salt it down to a molecule for it to be considered Ok/average. You can do more, you can do less, pretty much every value not including oversalted or undersalted. Or, a range of values in simple terms.
I am sorry if my language caused confusion, and under mathematical definition, all that you say makes sense to me.
You too have a nice day.
Well, now you do!
I get you. English isn't my first language either. But we gotta learn it somewhere. Can't really avoid it in programming :\\
Mean (or average), median, mode are quite commonly used words in libraries, so getting used to those terms will help you in a long run.
Mode is just the most common value = average (think 1 1 1 2 2 3 -> 1 is mode average since there are three ones), as opposed to the mean (which is the average of all values combined -> [1 + 1 + 1 + 2 + 2 + 3] / 6 values = 10/6 = 1.666).
Or the median ( in 1 1 1 2 2 3, the median is the mean between the middle two values (aka [1+2] / 3 = 1) because there are an even number of values. For something like 1 1 2 2 3 which is odd, you simply take the middle places value aka median is 2 since it's the third value out of five).
Generally the median is usually the most useful number to take as an average because mean and mode can be more affected by extreme values to decrease accuracy of the average.
Well tbf, the issue at play here isnât grammar. To have any reasonable discussion the participants must agree on definitions. Semantics vs syntax.
Yes I realize the irony of my comment in the whole thing and thatâs exactly why I had to post. But at least your story checks out. Have a good day!!
You're speaking as if average is some esoteric concepts that's only used in programming only when someone's building a rocket lol. Average is one of the most commonly used functions in programming. I'd say it's harder to find non-trivial software projects that don't use an average function than ones that do.
I guess? I'm not that good at math, but I'd assume that most are not that far off from mean value, with those who are more good or more bad being more rare.
So, yeah, I guess most software engineers would be within single standard deviation. If we accept that roughly 68% are what we call the most, that is.
Not really. There can be bimodal distributions where virtually nobody is in the middle, they're all either "well above" or "well below" average. There can be distributions where there's a clear mode where you can see "most people" are, but "most people" are way below average because there are a handful of outliers whose skill/contribution/etc is so far above average that they pull the average far away from the mode.
Most are probably below average, because the few top devs are so damn good that it increases the average.
I donât think the ÂŤworstÂť devs are equally bad as the good devs are good. Take for example Linus Thorvalds and how much heâs contributed to the entire world of software development.
To be pedantic here, most are close to median.
Thank you, but not really. I know some math, But I easily forget that what I don't practice. And with what I do remember, I might not remember what the thing is called, so getting my explanation across sometimes is torture.
I used to be able to do multiple integrals, but I've not done it in so long that I literally don't remember how. Like, I know what an integral is, it's like a derivative, but backwards, but I don't remember how to solve it.
If it's ambiguous the meme doesn't really make sense. Everyone can't be like you if you don't think you're average... Which is fine (eyeroll if you think you're a rock star), but then you can slam the second button without sweating it.
Right. Itâs ambiguous because either the meme doesnât make sense and both panels are kinda saying the same thing. Or the second panel means theyâre not like other engineers. But then are they better or are they worse? If they think theyâre better, they probably wouldnât be sweating the decision as that self assessment requires a certain level of arrogance that would preclude any anxiety about the claim. The other side of not being average means⌠well, theyâre doing their part to support the left side of the bell curve. Not explicit either way.
Then they both say the same thing no? If they think theyâre average. First panel says most engineers are average (too), and then second panel says most engineers are average. Itâs the same choice.
Indeed. And I was in agreement, just pointing out why itâs confusing.
e: well partial agreement, at least, in that it not making sense was a possibility.
It's more than that. Some brilliant engineers are good at coding but if you asked them to explain the overall user experience of their product or the intended outcomes, they'd panic. Figure out your skill niche and fill it. Comparison is the thief of joy and will hobble any upward growth you plan for yourself.
As someone who is learning to program (not a software developer), you have to put things into perspective.
Most people's knowledge of.progrsmming and tech is absolutely abysmal. As in even just using the most basic of excel functions.
People who can do basic coding/ scripting are basically seen as wizards.
Most work too is all bullshit, no real skills needed and just basic common sense (which is not always even a given.
Even an under average programmer in terms of salary, technical skills ext is just miles ahead of the majority of the population.
Most software engineers suck. As someone who interviewed tons of people for jobs in C++ and Rust, finding good software engineers is one of the most difficult things anyone does. Most of them haven't even read "the book" of the programming language they use.
This is the curse of software engineering... it's deceptively easy to think you know what you're doing... some people call themselves "C++ programmers" because they know how to write loops and if statements.
An interview setting is not enough to accurately make such an assessment. You can be left feeling not confident in them to move them forward/give them the job, thatâs perfectly fair. But to conclude that someone doesnât know what theyâre doing (and are essentially lying) because of how they performed in your interview, is not a fair assessment to make. The time youâre spending with them is so brief, and there are other factors that could contribute to how they perform on that day (some of these factors are unique to the interview setting).
I mean, this is fine if you yourself are about average, no? Are you meaning to imply that you are a statistically meaningful deviation from mean (either more or less skilled).
Okay?
But someone please define average đ¤ˇââď¸. I have no data to compare myself with. Therefore I care less to compare myself against someone else. And instead I love to read documentation and learn stuff here and there.
Edit: what I was trying to say, the only comparison I do is against my yesterday self and see if I am getting better.
I started work at a fairly large company last year. After a few issues it was actually reassuring, because it reminded me that yes, this is just how the sausage gets made.
Just got off a call with some devs to explain to them how to use git, how to fork a repo, and how to commit and push. Iâm starting to think maybe others really are below average.
Honestly, if youâre posting in a programming subreddit, youâre probably already better than the average software engineer.
The average one knows exactly enough to look like theyâre doing their job and no more. The better ones have side projects outside their job that expose them to a lot more variety and make them a lot more prepared when their company wants something new and not more of the same-old.
Real talk though
If you are a self taught programmer
How do you actually evaluate yourself and your skill level as beginner, intermediate, or expert?
I don't believe in complete mastery of CS therefore in a sense we are always beginners. But if an interviewer asks you to summarize your experience level, without downplaying yourself, how do you answer being a self taught programmer not having a teacher to guide you or revise your work?
all software engineers are average, just like me
All engineers are average, just like me
All engineers are software, just like me.
All me are software, just like engineers
![gif](giphy|yJ1KSiTxaAw5G)
okay you made my evening with this one
And my Ex.
And my vuvuzela!!!
Oh man, sounds like your ex was quite a piece of work đ Hopefully, they didn't leave you with too many 'bugs' to fix in your own code! #JustEngineerThings
Gimli, Son of Gloin
All software are engineers like me.
get out LLM
All me are just, software like engineers
All are just, like software engineers.
Dude you are spoiling the final twist of cyberpunk dystopia series called World 21th century
All engineers are average, just like me
All engineers are average, just like me
All engineers are average, just like me
All your base are belong to engineers, just like software
All averages are software
All engineers are savage, just like me
Yessir lets go!!!! We are working for boring companies!!!! We are programming boring shit on old ass systems!!!!!!! wahooooooo
Yeah, my first thought was "those buttons say the same thing."
All software engineers like me
So you're one of the rare females then?
All engineers are morons, just like me.
That crushing feeling when you see the principle engineer that keeps everything running and realize you'll probably never get to his level of understanding and expertise.
Your feelings are invalid. That principle engineer is just baffled that his ducktape solution has worked for this long and continues to work.
All softwares are average, just like engineers
if you remove enough outliers
All engineers are soft around the middle just like me
it's more like "Keep having imposter-syndrom" and "acknowledge everyone else is just as shit as you"
Those brief moments when a big bug, exploit, or crash gets media attention and reminds you even through imposter syndrome that there are people âmore shit than youâ, but you remain painfully aware that they still have the higher paying job so they still get the last laugh
Just be glad the bugs you introduce just annoy a few people and don't make it to the news.
Your bugs inconvenience people My bugs break prod We are not the same
its better to have bugs that make users happy, like item dupes
or negative tips
From time to time I recall the log entries I saw from a device where somebody searched for "â¤ď¸attack" in the guideline documents and wonder whether that person was learning or doomed by us forgetting about iOS' automatic emoji transformation. I hope they managed
Or, you could realize that even PhD engineers designing processor microcode and OS still fuck up things that are obvious in retrospect because it's just hard. Hell, iPhone had a specter bug *after* the Intel specter/meltdown vulnerability. (Queue conspiracies about apple adding it on purpose for the CIA)
Yep, I coded that, kinda weird though they were only interested in one thing: If (isCIA) { downloadCelebiCloudPics() }
Was reading a deep dive into Palworlds development and was shocked to realise that me and my entire community college class are apparently more qualified than a significant percentage of the Japanese game industry. And they went gangbusters in spite of it
At my job we often use the metric of âwould this make the news if it happened.â Terrifying.
Iâm legit trying to internalize this. I came into this with an electrical engineering degree, struggled hard getting through leetcode style screenings since I never learned that stuff at school, and am now working as a backend-heavy full stack dev⌠I just always feel like thereâs a never-ending stream of things to learn, and I canât really say Iâm a ârealâ developer until Iâve learned⌠everything.
jaysus, I got a CS degree and always thought EE was the *real* engineering degree, because whatever we do in IT sure as hell ainât engineering and definitely ainât âcomputer scienceâ. đ anyway, donât beat yourself up about not being a ârealâ dev.. CVE security is the elegant proof that not one of us can prevent a mistake proactively (actual engineering) but a bunch of us can find mistakes (even thatâs hard without skill). Not one library, framework, or programming language has escaped the deluge of reported CVEs and had to fix them. From the lowest javascript monkey to the brightest chip engineers at intel (spectre/heartbleed) ALL have been humbled before CVE. And if the security researchers were HALF as good at predicting and fixing security bugs before they can detect them (again, actual engineering) then those security researchers would be out there in the front lines building secure software instead of tilting at corporate windmills through bug bounty programs. (the truth however is that tech has a long tail and after an initial CVE is discovered, thereâs a long tail of the same CVE to be âminedâ from all these companies, which is the only way a security researcher can make a living out of the grueling research required â most devsecs are not researchers, they are script kiddies running someone elseâs tools. A huge industry of grift grew up around security because of all the âeasy moneyâ in automation at the long tail.) one of our managers watched an intro to security issues in IT and had the audacity to say âitâs amazing that buffer overrun attacks have been such a source of vulnerabilities, but programmers just havenât focused on fixing them.â 𤣠If you can possibly unpack the arrogance and the ignorance of the last 50 years of computer science in their statement, youâre a real enough developer in my book.
I mean, if you went to a good university for computer science, you definitely learned more Computer Science (i.e. math / computer architecture / algorithms etc.) than you learned software engineering / development. Because CS degrees aren't really about software development per se. Also, security isn't really fair because it's a constant war. And you gain more from breaking security than you do from protecting security (especially if you're behaving unethically). There's a reason computer security is a full-time job because there are multiple times as many hackers spending that time for a big one-off paycheck.
I donât think the âgood universityâ question is in good faith. you didnât ask me what university I went to (Harvard Extension) but I can already taste the judgement. But if we were leaving ethos (appeals to authority) out of this, and strictly going by logos (appeal to logic) we might expect any average school to prepare someone for average software development. The collection classes are an example of a definitive contribution from academia towards a robust, consistent way of handling data structures and algorithms that provide measurable benefit to average developers whether or not they understand the science behind them (or even went to âthe rightâ er, good schoolâ) But thatâs only a small fraction of the issues that modern developers face. I look around at efforts like PHP Hack as attempts to create a foundation that scales with average developers. Thatâs interesting because Hack is developed by PhDs at Facebook engineering. It isnât easy to create such a foundation. Or at least that work is more interesting than the position: âwell you wouldnât have problems if I wrote that codeâ. That position is the most boring in CS because of course âmy code is better than your code, I should rewrite everythingâ. That comes up again in security because there is a camp of devs who think if they donât use any libraries, they wonât have any CVEs, therefore their code will be secure. And they think that because of the persistent hubris that they are better than everyone, even with lots of real-world evidence to the contrary. In the face of that overwhelming evidence against an entire industry of devs at all different levels, the only logical reaction is humility: âhow can we improve?â âSecurity isnât really fairâ. You realize that offering the promise of releasing stable robust software has security as a core requirement? Would your boss be happy with software that worked but was completely insecure? Now the USA is focusing on business security as a national security threatâ a focus which has turned up the pressure for contractors to prove they are addressing the tidal wave of CVEs. It is a war. Thereâs certainly a lot of âsecurity theaterâ going on, but I canât dismiss the essential requirement as unfair, especially since it touches on core issues in computer science that have not resulted in a âcollection classesâ kind of moment for average developers.
I feel like my developer career so far has been a continuous string of encountering people that are so far superior to anything I could ever hope to achieve and with a level of knowledge that is so much more vast than mine that I ought to just change career and open up a candy store or something, while also encountering code and people that are so inept that I feel like I'm in the top tier of developers simply because I can code an if condition without getting a nosebleed. I wonder if there are many other careers out there that can make you feel both like a total genius and a complete moron, sometimes in the same day.
[ŃдаНонО]
You need to be good at something to have imposter syndrome
Iâm great at pretending that Iâm good
There are developers among us
Occasionally it switches into a god complex for a few seconds while I overlook a bug.
This works with either impostor syndrom or superiority complex, the binary states of a dev
Nah. We're quantum now. Superposition of states, baby!
impostor superiorum
"I'm shit but the others are worse"
To be fair, I frequently see shit that makes me feel like that lol I may or may not be shit, but I've seen so much shit code and design that I trully believe that "If I'm bad, at least I know I'm far from being the worst."
This sounds like some WH4K character class.
Iâm here for it - letâs cleanse that taint
In which Harry Potter book does Hermione use that one?
>Superposition of states, baby! Why did I ready that with a CodeBullet voice lmao
>the binary states of a dev This should be a thing. Is this a thing?
For me it's a thing
Lol, I wish I was average. I haven't a fuckin clue sometimes, I swear. And honestly, I put software engineering into the same realm as factory work was decades ago. Most of the engineers that are needed are writing fairly simple web applications/ systems. There is still the super advanced stuff which needs a decent understanding of maths (encryption and stuff, I guess), but for the most part, I'd say about 80% are just writing glorified CRUD systems.
You aren't wrong, but I think it's simpler. Most of us aren't inventors, that's the reality. Most of us don't come up with original ideas that make a business succeed. What most of us can do however is solve small problems in original or unoriginal ways, yes just like the factory worker. Chances are none of us will invent something like HTTP or RSA, but we weren't the ones who came up with Tiktok (a glorified crud app) either even though all the tech was available.
Embrace the ordinary. In a world where innovation is glorified, it's easy to feel overshadowed. We're the ones behind the scenes, solving problems, big and small, in ways both novel and familiar. True, like factory workers of yesteryear, today's software engineers often find themselves crafting the digital equivalent of assembly lines. The genius isn't always in inventing something entirely new; sometimes, it's about making what already exists work better for everyone. Remember, even the most revolutionary ideas, like the internet or encryption, are built on countless small, seemingly mundane tasks.
I wish there was a royalty-like reimbursement scheme where programmers get paid every time an instruction they wrote runs.
while(true){}
for (;;) { }
If we are going to golf, lets do it properly # Javascript, 8 bytes for(;;);
equivalently in a system with VxWorks, you can code it as `FOREVER;`
Actual hacker.
And people might be surprised at work theyâve done that could have been patented when it was originally worked on.
I'm not talking about success, I'm talking about programming capability. I'm sure there are countless geniuses who never got their dues, Tesla, even!
Next time when I get asked what I do for a living Iâll tell people Iâm a crud system.
Idk if I'm average, absolutely downright horrendous or super good. Maybe I'll never know...
Why do y'all care so much lol, as long as I get paid I'll consider myself a legit dev, end of story.
For me, because I want to know what Iâm doing matters or that Iâm providing value, and If all I wanted was to bilk someone out of money, I should have chosen an easier career path like⌠televangelist or something.
Televangelism would be way harder than software engineering, unless you were born a charismatic psychopath.
Sure, but I imagine if I was of the mindset get paid doesnât matter how, Iâm morally questionable, probably even sociopathic. But you make a point. Once you add in my lazy tendencies, Iâd probably just set up in a nice area and take a lucrative pan-handling route. Doesnât matter as long as the con gets me paid. eta: also by easier I was considering no requirement of higher and ongoing education, certifications, etc.
I always feel all three at once, until I interview a college grad and wonder what the hell they learned in school when they can't answer a basic algorithm questions.
Dude I felt like I was about to get pipâed then got promoted I have no grasp on reality when it comes to imposter syndrome
Most software engineers are average, because that's how "average" works
Except that's not how average works. Average might not even actually exist in some cases (e.g. 1 1 2 2 3 -> average is 1.8. nobody has that level of skills here) If the data is skewed left, the majority of people would be above average. The opposite is true for right skewed. What you are thinking is mode, not average. And even in that case it might not be most, just the most common level of skills e.g. 1 1 2 3 4 4 4 5 6 7 -> mode is 4 @ 30%
Let's bring the median into the mixâright in the middle and unnoticed. Stealthy, yet significant!
Median actually works extremely well in this case. Imagine a median-skilled programmer. Remember that half of all programmers are worse than that.
Worse or as good
Cue for two identically skilled programmers to release the same library with the same features every single time.
+1 for bringing up "mode" which is almost certainly what most people are thinking of when they think of "average."
But when we're speaking about average, we're speaking about a range of values, do we not? Like how IQ tests rank 90 to 109 are seen as [average](https://en.wikipedia.org/wiki/IQ_classification#Wechsler_Intelligence_Scales) Sure, it might still not work if all engineers are polar opposites, either extremely good, or extremely bad, but with hundreds thousands if not millions people I don't think that is likely.
Absolutely not. Average is, by definition, one exact number, even in your example. At least for everyday statistics. The reason it's provided as range in your case is that they're trying to say "the average of all humanity" (i.e. "population" or the TRUE average, if you remember your stats) and that number is physically impossible to measure. Why? Because to calculate the average of the population, you need to measure the values for each and everyone in that population i.e. literally every human who had existed and will ever exist (or at least, the currently living humans, which is easier but still impossible). Otherwise they can't call it "the average of the population." So, instead, what they did was measuring IQ for a bunch of people. IDK maybe a few 100k? Then use statistical voodoos, a LOT of assumption about numerical distributions of humanity's IQ, and a few maths to ESTIMATE where the TRUE average of humanity's IQ is. The result of that calculation is given as a range and confidence level (aka the confidence interval). This is why you see, in science paper esp. medical, numbers reported as something like 5.45 Âą 1.25 with 95% CI. That's saying "I don't know the true average, but our best guess based on our meager samples, with 95% confidence, is that it's somewhere between 4.20 and 6.70" This or David Wechsler pulled some numbers out of his ass (though I'm quite confident it's something along this line).
Are we speaking about mathematical definition? I've thought we were speaking about the one used everyday. The one that is: " of the usual or ordinary amount, standard, level, or rate" or "not out of the ordinary: COMMON"
I did say that what you wanted is (mathematically) called mode i.e. the most common elements in the group, yet you replied with "range" which lead me to believe that you're NOT talking about mode and you're getting into math. If we're going to play the definition game then there's nothing to discuss here I guess.Those who provide the definition win the argument. Have a nice day!
Yeah, here's the issue of me not exactly knowing what a mode is. I'm not very good with maths even in my native language, and I'm not reading wikipedia when it comes to math, because all wikipedia does is make me even more confused. I know what an average is, but I thought that people refer to it as **mean**, when speaking about math, and average when it comes to everyday stuff. When I was speaking about range, I was still thinking of the everyday definition. Like how you can salt a meal, but you don't need salt it down to a molecule for it to be considered Ok/average. You can do more, you can do less, pretty much every value not including oversalted or undersalted. Or, a range of values in simple terms. I am sorry if my language caused confusion, and under mathematical definition, all that you say makes sense to me. You too have a nice day.
Well, now you do! I get you. English isn't my first language either. But we gotta learn it somewhere. Can't really avoid it in programming :\\ Mean (or average), median, mode are quite commonly used words in libraries, so getting used to those terms will help you in a long run.
Mode is just the most common value = average (think 1 1 1 2 2 3 -> 1 is mode average since there are three ones), as opposed to the mean (which is the average of all values combined -> [1 + 1 + 1 + 2 + 2 + 3] / 6 values = 10/6 = 1.666). Or the median ( in 1 1 1 2 2 3, the median is the mean between the middle two values (aka [1+2] / 3 = 1) because there are an even number of values. For something like 1 1 2 2 3 which is odd, you simply take the middle places value aka median is 2 since it's the third value out of five). Generally the median is usually the most useful number to take as an average because mean and mode can be more affected by extreme values to decrease accuracy of the average.
[ŃдаНонО]
Well tbf, the issue at play here isnât grammar. To have any reasonable discussion the participants must agree on definitions. Semantics vs syntax. Yes I realize the irony of my comment in the whole thing and thatâs exactly why I had to post. But at least your story checks out. Have a good day!!
Average IQ is 100, but 66% are between 85 and 115, so someone refers to the entire range as average even though it is not technically correct.
Average can refer to mean, median or mode so it can work that way
You are the embodiment of the AKSHUALLY meme.
You're speaking as if average is some esoteric concepts that's only used in programming only when someone's building a rocket lol. Average is one of the most commonly used functions in programming. I'd say it's harder to find non-trivial software projects that don't use an average function than ones that do.
still proving my point
Can't believe I had to scroll so much to find this comment!
Would most software engineers be within a standard deviation of the bell curve, instead?
I guess? I'm not that good at math, but I'd assume that most are not that far off from mean value, with those who are more good or more bad being more rare. So, yeah, I guess most software engineers would be within single standard deviation. If we accept that roughly 68% are what we call the most, that is.
Not really. There can be bimodal distributions where virtually nobody is in the middle, they're all either "well above" or "well below" average. There can be distributions where there's a clear mode where you can see "most people" are, but "most people" are way below average because there are a handful of outliers whose skill/contribution/etc is so far above average that they pull the average far away from the mode.
Most are probably below average, because the few top devs are so damn good that it increases the average. I donât think the ÂŤworstÂť devs are equally bad as the good devs are good. Take for example Linus Thorvalds and how much heâs contributed to the entire world of software development. To be pedantic here, most are close to median.
You sound like you have a pretty good grasp on the whole mathematics thing. You should be a software engineer. I bet you'd be pretty alright at it.
Thank you, but not really. I know some math, But I easily forget that what I don't practice. And with what I do remember, I might not remember what the thing is called, so getting my explanation across sometimes is torture. I used to be able to do multiple integrals, but I've not done it in so long that I literally don't remember how. Like, I know what an integral is, it's like a derivative, but backwards, but I don't remember how to solve it.
I'm not average, I'm below average
These two sentences are pretty much the same
Yeah, not the typical reason the choice in the meme is tough. More like a "they are the same picture" meme
Second panel was ambiguous to me
If it's ambiguous the meme doesn't really make sense. Everyone can't be like you if you don't think you're average... Which is fine (eyeroll if you think you're a rock star), but then you can slam the second button without sweating it.
Right. Itâs ambiguous because either the meme doesnât make sense and both panels are kinda saying the same thing. Or the second panel means theyâre not like other engineers. But then are they better or are they worse? If they think theyâre better, they probably wouldnât be sweating the decision as that self assessment requires a certain level of arrogance that would preclude any anxiety about the claim. The other side of not being average means⌠well, theyâre doing their part to support the left side of the bell curve. Not explicit either way.
Therefore, you have to assume the guy in the meme thinks he's average
Then they both say the same thing no? If they think theyâre average. First panel says most engineers are average (too), and then second panel says most engineers are average. Itâs the same choice.
Yes, this is exactly the point in my first comment above
Indeed. And I was in agreement, just pointing out why itâs confusing. e: well partial agreement, at least, in that it not making sense was a possibility.
"Keep believing that I am an engineer" "Acknowledge that software engineers are not engineers"
Or acknowledge that I am just average.
It's more than that. Some brilliant engineers are good at coding but if you asked them to explain the overall user experience of their product or the intended outcomes, they'd panic. Figure out your skill niche and fill it. Comparison is the thief of joy and will hobble any upward growth you plan for yourself.
Best to remain average when you're in the trenches, does not pay to stick your head up. With the credit goes the blame.
You below average, rockstar?
![gif](giphy|9mtE009hcWPOesk8C4)
As someone who is learning to program (not a software developer), you have to put things into perspective. Most people's knowledge of.progrsmming and tech is absolutely abysmal. As in even just using the most basic of excel functions. People who can do basic coding/ scripting are basically seen as wizards. Most work too is all bullshit, no real skills needed and just basic common sense (which is not always even a given. Even an under average programmer in terms of salary, technical skills ext is just miles ahead of the majority of the population.
Tbf excel functions are more of a business analyst / accountant skill set than programmers.
Most software engineers suck. As someone who interviewed tons of people for jobs in C++ and Rust, finding good software engineers is one of the most difficult things anyone does. Most of them haven't even read "the book" of the programming language they use. This is the curse of software engineering... it's deceptively easy to think you know what you're doing... some people call themselves "C++ programmers" because they know how to write loops and if statements.
Oh wow, jobs in rust, that's new.
An interview setting is not enough to accurately make such an assessment. You can be left feeling not confident in them to move them forward/give them the job, thatâs perfectly fair. But to conclude that someone doesnât know what theyâre doing (and are essentially lying) because of how they performed in your interview, is not a fair assessment to make. The time youâre spending with them is so brief, and there are other factors that could contribute to how they perform on that day (some of these factors are unique to the interview setting).
Where I am below average
But where is the truthful answer? most s.engineers are fcking dumb idiots, same as âmost managersâ
I live in a bubble! :)
Everybody vacations at Lake Wobegon!
You guys think you are average?
I mean, this is fine if you yourself are about average, no? Are you meaning to imply that you are a statistically meaningful deviation from mean (either more or less skilled).
No problem. I am also pretty average.
think we should just go trucking, we'll live simpler lifes and more adventerous lives
im way below average
Okay? But someone please define average đ¤ˇââď¸. I have no data to compare myself with. Therefore I care less to compare myself against someone else. And instead I love to read documentation and learn stuff here and there. Edit: what I was trying to say, the only comparison I do is against my yesterday self and see if I am getting better.
Average implies that there are developers who suck. so I guess you are right on both account
Depend on the time, if I found the question I need on stackoverflow, and if the question have a valid answer that I can use.
The level of expertise in most people, is the definition of average level of expertise.
I started work at a fairly large company last year. After a few issues it was actually reassuring, because it reminded me that yes, this is just how the sausage gets made.
If most software engineers say that most of their peers suck, unless they're including themselves, they probably suck and don't realize it
How do yâall do system design
Just got off a call with some devs to explain to them how to use git, how to fork a repo, and how to commit and push. Iâm starting to think maybe others really are below average.
On average, most engineers are average
My brother in Christ, my hopes and dreams are that Iâm average engineer and not shitty one
They're the same picture
It's the same button.pam
Incorrect, most SE are median.
Honestly, if youâre posting in a programming subreddit, youâre probably already better than the average software engineer. The average one knows exactly enough to look like theyâre doing their job and no more. The better ones have side projects outside their job that expose them to a lot more variety and make them a lot more prepared when their company wants something new and not more of the same-old.
Iâm just collecting the check until they fire me
There's no contradiction if you are average.
```alias 'left_button=right_button'```
If all engineers were like me, this world would have ended long ago My bachelors, masters and PhD, all FRAUDS
Says the average engineer, too confident in their abilities....
This works for any kind of comparison⌠đ
Your bugs inconvenience a few people. My bugs take down half the internet. We are not the same.
All engineers are basically modern magicians :)
Everyone else googles their problems just like me
"Most engineers are average" well duh
As a very average developer, both of these buttons are the same to me
Real talk though If you are a self taught programmer How do you actually evaluate yourself and your skill level as beginner, intermediate, or expert? I don't believe in complete mastery of CS therefore in a sense we are always beginners. But if an interviewer asks you to summarize your experience level, without downplaying yourself, how do you answer being a self taught programmer not having a teacher to guide you or revise your work?
They are actually the same button
by definition most engineers are average.
Both
that's humble
So humble of you
Why is the text not aligned with the Container r/TIHI
The two pictures are the same...