4 ms·
This may be a hot take, but if you thing that $programmingLanguage is a discrete skill you're doing something wrong. That's not to say there's a minimum amount
by duped 4y ago
This may be a hot take, but if you thing that $programmingLanguage is a discrete skill you're doing something wrong.
That's not to say there's a minimum amount of knowledge to understand about $language (be it memory safety and UB in C/C++, virtualenvs in Python, auditing and setting up dependencies in node, how to set up tsconfig.json, whatever these are random examples). But the core skills of software engineering are not writing code.
I feel there's going to be a point in the next 10-20 years where we establish the difference between programmers and software engineers like there is between mechanical engineers and car mechanics, electricians and EEs, contractors and architects, whatever. The line is super blurry today which is fantastic for labor since we don't have too many hurdles to get into any role, but eventually companies or governments will establish them. I think I'd be happy to be a programmer for my home stuff and hobby projects like people who like to work on their cars, but I also value other domains of expertise like people who design them - and the choice of language is an implementation detail. Over investing in any technology is bad move, when it kneecaps your ability to learn or choose others.
- pjmlp 4y agoWhich is why in some countries Software Engineering is a protected title, with a specific set of skills to assess, and we don't go around calling ourselves "engineers" after a six week bootcamp. https://www.informatics-europe.org https://www.informatics-europe.org https://www.ordemengenheiros.pt/pt/a-ordem/colegios-e-especialidades/informatica/ https://www.ordemengenheiros.pt/pt/a-ordem/colegios-e-especi... We might still call ourselves engineers without the admission exam (which is a legal gray zone if signing projects), yet the university degree was anyway certified by the organization and the only thing missing is the exam.
- sh4rks 4y agoWhat are those specific skills? The links you gave don't seem to say anything about that
- pjmlp 4y ago5 years learning about various programming languages, OS architecture, distributed systems, graphics programming, algorithms and data structures, soft skills like project management and risk assessment, physics, math, electronic and digital circuits, among others. Start with https://guia.unl.pt/en/2022/fct/program/1053#structure https://guia.unl.pt/en/2022/fct/program/1053#structure and follow up with https://guia.unl.pt/en/2022/fct/program/1059#structure https://guia.unl.pt/en/2022/fct/program/1059#structure. Before the Bologna changes across EU, those two were a single degree.
- gjulianm 4y agoAs an "engineer" with the corresponding university degree, I am absolutely against software engineering being a protected title, for several reasons: - We are nowhere close to a set of widely agreed required, specific practices for a software engineering project. "Signing a project" is meaningless without those specific practices. - Even if we had those practices, this world changes so fast that they would need to be updated frequently and get people to examine themselves again. - There's no test for the characteristics underlying components being used. If I'm building a bridge, I can specify certain characteristics for the materials and the procedures, those things can be tested during/after construction and if something fails, we can try and check what failed and pinpoint responsibility (was it a bad procedure, a bad implementation or a bad material?). That's utterly impossible with software. A program crashes or has a bug, and whose fault is it? Nobody will be signing any project and assuming the responsibility it comes with when there's no reliable way to pinpoint who's responsible for a failure. - There isn't even a specific set of skills for an engineer that we all agree on. Yes, you might say "know programming languages" or "testing" or "project management", but what does actually mean? Do you need to know Agile to be a software engineer? Or assembly? Or A/B testing? And finally and the most important thing for me: the amount of knowledge you get from a degree is just a small, often antiquated, part of what's actually software engineering in practice. As someone with an actual software engineering degree, I do not think that the degree is necessary for someone to be a great software engineer. Most of the important knowledge will be learned on the job and on various Internet resources anyways. In my opinion, making SWE a protected title will, at best, do nothing. At worst it will put good engineers without a title out of a job, for no actual change in the quality of the software.
- pjmlp 4y agoHigh integrity computing has proven record of what those practices should be. As for the rest of your arguments, let me rephrase it, And finally and the most important thing for me: the amount of knowledge you get from a degree is just a small, often antiquated, part of what's actually medicine in practice. As someone with an actual medicine degree, I do not think that the degree is necessary for someone to be a great doctor. Most of the important knowledge will be learned on internships and on various yearly conferences anyways. In my opinion, making a doctor a protected title will, at best, do nothing. At worst it will put good doctors without a title out of a job, for no actual change in the quality of the treatments being applied.
- duped 4y agoThe US doesn't have "engineer" as a protected title (*) and I think that's a good thing. We shouldn't gatekeep behind expensive and time consuming doors. (*) except for PEs, which except for a handful of industries no one really cares about
- 8n4vidtmkvmk 4y agosoftware engineering is definitely different than programming. i didnt understand this until i moved up from an iddy bitty company to a big one. fortunately i learned the rest of the skills on the job but it was a bit of an adjustment for me
- BlargMcLarg 4y agoI definitely don't think so, but a lot of hiring managers and recruiters seem awfully convinced of the opposite. Despite all of them using the exact same concepts.
- mettamage 4y ago> This may be a hot take, but if you thing that $programmingLanguage is a discrete skill you're doing something wrong. Hello programmer! I'm a recruiter. It definitely is a distinct skill to know different programming languages. The reason is that years of experience shows that different pain points exist in different languages. What I'm looking for is someone who can anticipate those issues in advance. Moreover, software architecture is different in languages and building for scale as well. These things are honed through experience. So no, people aren't doing something wrong. Disclaimer: I'm not a recruiter. I'm a programmer, and I don't believe a word I just wrote. I'm fairly sure that some do.