As someone who spends time programming, I of course find myself in conversations with people who aren’t as familiar with it. It doesn’t happen all the time, but these discussions can lead to people coming up with some pretty wild misconceptions about what programming is and what programmers do.
- I’m sure many of you have had similar experiences. So, I thought it would be interesting to ask.
that programmers make $300-500k/year
They can’t possibly judge what is trivial to achieve and what’s a serious, very hard problem.
The example given in the comic has moved from one category to the other. Determining whether an image contains a bird is a fairly simple “two hour” task now.
Plot twist: The woman in the comic is Fei-Fei Li, she got the research team and five years and succeeded 🤯
Well that’s after thousands of people and 100s of millions in money
Of course, but I still find it remarkable that the task that was picked as an example for something extremely difficult is now trivially easy just a few years later
That is a pretty hard thing to do, to be fair. And the list of things that are easy sometimes makes big jumps forward and the effect of details on the final effort can be massive.
You’re right! Even for programmers.
That IT subject matter like cybersecurity and admin work is exactly the same as coding,
At least my dad was the one who bore the brunt of that mistake, and now I have a shiny master’s degree to show to all the recruiters that still don’t give my resume a second glance!
That IT subject matter like cybersecurity and admin work is exactly the same as coding,
I think this is the root cause of the absolute mess that is produced when the wrong people are in charge. I call it the “nerd equivalency” problem, the idea that you can just hire what are effectively random people with “IT” or “computer” in their background and get good results.
From car software to government websites to IoT, there are too many people with often very good ideas, but with only money and authority, not the awareness that it takes a collection of specialists working in collaboration to actually do things right. They are further hampered by their own background in that “doing it right” is measurable only by some combination of quarterly financial results and the money flowing into their own pockets.
Doesn’t help that most software devs don’t have the social IQ to feel comfortable saying “no” when they’re offered something that they don’t feel comfortable with and just try making it work by learning it on the fly, even learning a company enforced format of code layout is often left for new hires to just figure out. If it weren’t for how notepad++ has an option to replace tabs with spaces, I’d have screwed my internship over when I figured out that IBM coding (at least at the time) requires all spaces instead of any tabs after a stern talking to from my supervisor!
Idk I’m not sure I’d trust any dev who doesn’t consider cyber security in their coding. So much development is centered around security whether that’s auth or input sanitization or SQL query parameterization…
If you’re working on an internal only application with no Internet connectivity then maybe you can ignore cybersec. But only maybe.
No one’s saying to ignore it.
If I own and run a sandwich shop, I don’t need to be on the farm picking and processing the wheat to make the flour that goes into my bread. I could do that, but then I’d be a farmer, a miller, and a sandwich maker. All I need to know is that I have good quality flour or bread so that I can make damn good sandwiches.
I’m confused where cybersec sits in your sandwich analogy. If every time you sold a sandwich someone could use it to steal all the money in your business you’d probably need to know how to prevent reverse sandwich cashouts.
I’m not talking about advanced, domain specific cybersec. I don’t expect every developer to have the sum total knowledge of crowd strike… But in a business environment I don’t see how a developer can not consider cybersec in the code they write. Maybe in an org that is so compartmentalized down that you only own a single feature?
In a few words, I’m reiterating the point that a professional software developer =/= professional cyber security expert. Yes, I know that I should, for example, implement auth; but I’m not writing the auth process. I’m just gonna use a library.
… You know not all development is Internet connected right? I’m in embedded, so maybe it’s a bit of a siloed perspective, but most of our programs aren’t exposed to any realistic attack surfaces. Even with IoT stuff, it’s not like you need to harden your motor drivers or sensor drivers. The parts that are exposed to the network or other surfaces do need to be hardened, but I’d say 90+% of the people I’ve worked with have never had to worry about that.
Caveat on my own example, motor drivers should not allow self damaging behavior, but that’s more of setting API or internal limits as a normal part of software design to protect from mistakes, not attacks.
It’s fair to point out that not all development is Internet connected, but ~58% of developers work in web dev.
5% in desktop apps
3% in mobile
2.4% in embedded
And then of the remaining I’d be shocked if few of their domains excluded Internet facing devices.
https://survey.stackoverflow.co/2023/#section-developer-roles-developer-type
But you’re right to point out development isn’t a monolith. Professionally though: anyone working in a field where cybersecurity is a concern should be thinking about and knowledgeable of cybersec.
I didn’t realize just how siloed my perspective may be haha, I appreciate the statistics. I’ll agree that cyber security is a concern in general, and honestly everyone I know in industry has at least a moderate knowledge of basic cyber security concepts. Even in embedded, processes are evolving for safety critical code.
Well, at least I know from this that some folks give my résumé the first look! Not exactly more than cold comfort though, especially when I’ve already built a career in business management after a family friend gave me a leg up when the “I don’t want to do my job!” HR sorting bots kept discarding my resume for not having gone to Harvard for either my Bachelor’s or Master’s.
My part of the hiring cycle they’ve already gotten past the pipeline / bots. I’m there to do architecture and design questions 😉
But I do read every resume.
“But why? It both has to do with computers!” - literally a project manager at my current software project.
That it’s dry and boring and even I must hate it because there’s no place for creativity in a technical field.
The best programmers I know are all super creative. You can’t solve real world problems with the limited tools available to us without creativity.
I’ve been listening to stuff you missed in history class pod from the beginning and whenever something about computers, science or tech comes up they start being like hush hush don’t worry we won’t actually talk about it; as if the mere mention will scare away listeners
After doing it for 15 years, I must be good at it and everything should be easy.
hidethepainharold.jpg
I had some dude here trying to tell me, a mathematician and data scientist who is developing AIs for fun and is a holder of an MA in Visual Effects specializing in procedural design, who has worked on algorithmic video game development, what AIs are or are going to be capable of in procedural/generative/algorithmic game design “because he has played a lot of games” and argued for days with me, cherry-picking everything I wrote attempting to use my words refuting him to support his arguments.
Just… Infuriating.
Can’t fault someone for trying to convert digital information into something tangible to visualize it better. Unfortunately peoples brains aren’t really built to comprehend a newspaper that weighs almost as much as the moon. (rough estimate I pulled out my ass)
If this were my grandma, then sure, I wouldn’t fault her. But if it’s someone making life-altering decisions based on their understanding of it, someone who has been doing so for a very long time, and who has support staff who ostensibly try to make sure that person understands the topic at hand, and yet after all these years of hearing about tech-related topics and deciding on them, the person — who has every ability to retire if the world is moving too fast for them to keep up, but has opted not to — asks a question as absurd as this… I actually am going to fault that person.
The files are IN the computer.
That just because I’m a programmer that must mean I’m a master of anything technology related and can totally help out with their niche problems.
“Hey computer guy, how do I search for new channels on my receiver?”
“Hey computer guy, my excel spreadsheet is acting weird”
“My mobile data isn’t working. Fix this.”
My friend was a programmer and served in the army, people ordered him to go fix a sattelite. He said he has no idea how but they made him try anyways. It didn’t work and everyone was disappointed.
Ironically, most of those things are true, but only with effort. We are better than most people at solving technical problems, or even problems in general, because being a programmer requires the person to be good at research, reading documentation, creative problem solving, and following instructions. Apparently those aren’t traits that are common among average people, which is baffling to me.
Sometimes I’ll solve a computer problem for someone in an area that I know nothing about by just googling it. After telling them that all I had to do was google the problem and follow the instructions they’ll respond by saying that they wouldn’t know what to google.
Just being experienced at searching the web and having the basic vocabulary to express your problems can get you far in many situations, and a fair bit of people don’t have that.
And everyone expects you to know how to make phone apps.
Like, I think I know what to google in order to start learning how.
If you know Java or Javascript you can easily build apps.
But like in every other software field, design is often more important.
My neighbour asked me to take a look at her refrigerator because it wasn’t working. I am a software developer.
I used to get a lot of people asking for help with their printer. No, just because I am a software developer doesn’t mean I know how why your printer isn’t working. But, yes, I can probably help you…
“Sometimes when somebody called it shows up up here but normally it covers the screen and I can see the name.” Like I have no idea how those businesses fix people’s phones, when they hear this kind of instructions. Makes me tear my hair out.
He said he has no idea how but they made him try anyways.
Uh, I’ve been present when such a thing happened. Not in the military, though. Guy should install driver on a telephone system, despite not being a software guy (he was the guy running the wires). Result: About as bad as expected. The company then sent two specialists on Saturday/Sunday to re-install everything.
Don’t pretend you suck at these things. You know very well you are fucking equipped to fix this kind of thing when you work with programming. Unless you’re, like a web developer or something ofc
Why should I fix any of those peasant problems if I can order the lowly technician to fix my computer which I use to make crappy SQL queries? 🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐🧐
Because you are a nice person to your relatives???
Thankfully dad knows how to troubleshoot stuff or go to the technician. I just tell him that I haven’t used windows In ages
You are part of the problem
Nope
That they have any business telling me how complicated something is or how long something should take for me to implement.
Yeah like “Just add a simple button here”. Yeah of course, the button is not the difficult part.
Its like they think we just tell the computer what they asked us to do and we’re done.
I was coming here to talk about that recent post saying how easy it is to make a GUI and every program should already have one…
Command line is a GUI, change my mind
That you can mix and match bugfixes like lego blocks an hour before release.
Based on some places I used to work, upper management seemed convinced that the “idea” stage was the hardest and most important part of any project, and that the easy part is planning, gathering requirements, building, testing, changing, and maintaining custom business applications for needlessly complex and ever changing requirements.
Doesn’t happen as much, but family and non tech friends would present me to other people that “worked with computers” thinking I could take new job opportunities. They were always wildly unrelated to my field.
I know I know,… they acted in good faith, and probably could have adapted a bit, but like 30 years ago there was a lot of overlap and systems where somewhat similar, but now somebody trained in Linux kernel maintenance isn’t going to learn how to create SharePoint SPFx webparts. Development is very specific now!
I was at a party explaining that we were finishing up a release trying to decide which bugs were critical to fix. The person that I was talking to was shocked that we would release software with known bugs.
When I explained that all software has bugs, known bugs, he didn’t believe me.
- You’re a hacker (only if you count the shit I program as hacks, being hack jobs)
- You can fix printers
- You’re some sort of super sherlock for guessing the reason behind problems (they’ll tell you “my computer is giving me an error”, fail to provide further details and fume at your inability to guess what’s wrong when they fail to replicate)
- If it’s on the screen, it’s production ready
I’ve had questions like your 3rd bullet point in relation to why somebody’s friend is having trouble with connecting a headset to a TV.
No idea. I don’t know what kind of headset or what kind of TV. They are all different Grandma.
If it’s on the screen, it’s production ready
“I gave you a PNG, why can’t you just make it work?”
I actually get that somewhat often, but for 3D printing. People think a photo of a 3D model is “the model”
Dude, I would just 2d print the png they sent and give them the piece of paper.
If they complained, I would say: “I literally printed the thing you told me to print.”