And to clear up potential misconceptions, Python and Java are general-purpose programming languages that can also be used for back-end web development and aren’t necessarily used just for that purpose—other jobs that use Python might be in AI/ML or data science for example, and Java-related jobs can be in Android development, deep learning, et al: https://www.invensis.net/blog/it/applications-java-programming-language/
Lastly, computer science != software development, they’re completely different topics. Yes, the two are related, and it’s possible to use knowledge of computer science during software development, but they’re not the same thing, and a person who might have a title like Computer Scientist might not even know how to code very well:
in addition to what you said, I thought I should add this:
people who write compilers
people who design artificial intelligence programs
people who program mars mission robots
people who program robots for surgeries
people who work in animation
people who design network security solutions
people who perform white-hat hacking
people who code software and hardware installers
people who teach!
just some of the types of jobs that are possible with the right background knowledge…
As someone who’s done both of those (I previously worked as an ethical “white hat” hacker and took a college course on 3D animation, if that’s the sort of animation you meant), I’d actually say that barely any computer science or coding knowledge is needed for either of those. 3D animation involves mostly artistic skill along with highly-specialized knowledge of a single 3D modeling & animation application like Maya, 3ds Max, or LightWave 3D. I used Maya for my course and can attest it’s very complex and would take some time for anyone to master.
For ethical hacking, I can further attest that I almost never relied on any knowledge of CS or coding, and the only language that had any usefulness to my job was x86 Assembly, and it wasn’t knowing how to write it per se, but rather how to read and understand it.
Of course some of this is job-dependent, as some jobs might require more coding than others, just speaking from my own experience in those fields.
I agree that it depends on the job. For animation, I was thinking more along the lines of the people who develop the animation software (versus those who use it). I have seen also some interesting behind-the-scenes videos from Pixar that show how they had to develop brand new software to animate various complex things. I am guessing a lot of maths was needed but I think a lot of coding too…
Hacking on the other hand can be quite a complex job when you’re doing it for a big organization. There are whole teams of them in some cases. I was again thinking of the people who develop software to test security and suggest solutions (for eg. software used internally to test web servers and customer facing programs , but I’m sure that also extends to network security and physical site security which I know less about). Perhaps I should have said ‘cyber security’ instead…
In that case (of animation), this would fall under the category of “Desktop Developer” in that link I posted, since the 3D animation applications usually run directly on Windows, macOS, or Linux.
In terms of the broader Internet security realm, I dislike the term “cybersecurity” because that’s the word that the media always uses and doesn’t really understand. Ethical hacking is sort of a subset of that, while what you’re describing sounds more like infosec, which as you mentioned is a different type of work: https://en.wikipedia.org/wiki/Information_security
looks like we essentially agree but that term ‘desktop developer’ made me laugh it is so old-fashioned! I don’t think anybody would use that term who works in those jobs. (or even use that term in the job description on a job search site unless this is some crazy old software dev we’re talking about). People tend to be more specific these days about the title but not so much about the platform (unless it is a new one like cloud/mobile) (eg. I used to be a graphical software developer, otherwise now known as UX developer. I worked on software that runs on OSes - various ones - but I wouldn’t have called myself then or now a ‘desktop developer’. Other types of devs I used to know include: security engineer, media designer (they also used to make our websites!), cloud-services developer, database engineer, quality assurance engineer, information development engineer (they made the software that housed all our documentation), i18n/nationalization developer (they made both web and ‘desktop’ based software and frameworks to deliver translations to the back-end systems), and many more that I have now forgotten!)
I think therefore the point is that you can group all of these under various umbrellas or classifications but what they do or know can be quite varied even within the classifications.