this post was submitted on 26 Feb 2024
189 points (95.7% liked)
Programming
17432 readers
220 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
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.
... 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.
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.