DEV Community

Ben Halpern
Ben Halpern

Posted on

Which non-computer science degrees apply to skills needed for a career in software development?

Which classes are most useful?

Latest comments (48)

Collapse
 
saichai profile image
Sai Chimata • Edited

Mathematics, Linguistics, and Logic provide the theoretical frameworks for Computer Science.

For instance, I didn't understand functional programming for the longest and had constantly tried to deal with React code with an OO mindset, until I learned that it was influenced by the mathematical concept of function composition. Having knowledge of mathematics beyond discrete math, stats, linear algebra, and calculus, which are usually prereqs in CS, it immediately clicked with me. Now, I can't get enough of using functional patterns in my work!

Collapse
 
dkassen profile image
Daniel Kassen

Electrical engineering has me thinking a lot about the efficiency of my code probably a lot more than I should. :p

Collapse
 
niweera profile image
Nipuna Weerasekara

I am an undergrad in BSc. Information Systems (you guys might know it as Management Information Systems degree). The things I learnt so far is pretty much valuable for me being a web developer. We've studied about organizational behavior, human computer interaction and economics and I think these things are really important when thinking from the clients' side. As you know, thinking from the client's perspective is the most vital yet most hard thing to do it development...

Collapse
 
xbilek18 profile image
Jan BΓ­lek

Linguistics! I was pretty surprised how programming languages principles are still the same principles found in natural languages. I’m talking about grammars, compilers and stuff..πŸ€“

Collapse
 
iarehilton profile image
Hilton Meyer

I'd say any degree is useful in some way. Most degrees you only come out using a small percentage of the stuff that you learnt. The connections and techniques though are often the unspoken hero's of going to organized institutions.

Collapse
 
cwreacejr profile image
Charles Reace

I have a Music Ed. degree. The person who sits next to me has a Music Composition degree. The company we work for has nothing to do with music. I'm not sure getting a music degree itself has any benefits, but there seem to be some common things between music and programming in terms of how your brain processes comparatively complex relationships, perhaps?

Collapse
 
mwanahamuntu_ profile image
Stella Mwanahamuntu

Mathematics degree!!!!

Collapse
 
jess_ingrass profile image
dr. jess

My doctorate is in music education. I consistently find that my problem solving skills and willingness to attend to tedium help me in debugging. My knowledge of flexible structures through Jazz helps me with team leadership.

Collapse
 
itsasine profile image
ItsASine (Kayla)

I have a couple of math degrees and it's seemed to work out. I tended to focus electives towards proofs more than business, so there was a bunch of logic.

Since I don't have a CS degree, I can't tell you with words how that applies to theoretical computer stuff like optimizing algorithms, but I might be able to use words if I studied for a few weeks to tie together concepts :)

Collapse
 
ng_update profile image
Kieran

I earned a degree in journalism and am switching careers at 34 to web development after 20 years in sales/customer service. This has been extremely helpful, as journalism taught me how to ask the right questions and sales has taught me to be empathetic towards the customer/end-users needs. They both taught me how to communicate with people on many levels, as well as in technical and non-technical capacities. Also, I adapted to Google and dbs like Lexus-Nexus early on, so finding information on-line has long been second nature to me.

Collapse
 
xowap profile image
RΓ©my πŸ€–
  • Various electronic equations (filters, charge/discharge of capacities, etc)
  • Tons of math-y stuff
  • Markov chains (is it unrelated though?)
  • Signal theory
  • Intercultural communication
  • Project management
  • Game theory

To name a few

Collapse
 
rachelsoderberg profile image
Rachel Soderberg

Communication for sure!

Collapse
 
rdelga80 profile image
Ricardo Delgado

Having a history degree actually has a lot of advantages.

  1. Know how to do a ton of research
  2. Solid writing skills
  3. Logical critical approach to hypothesis and issues
  4. Data analysis
Collapse
 
elasticrash profile image
Stefanos Kouroupis • Edited

I like how a substantial slice of replies have to do with communication skills. Which let's be fair they are useful, especially on diverse, medium/large teams. But you don't need a degree for that, you just need to be logical and not an idiot.

Having studied Surveying Engineering/GIS and Photogrammetry (masters) and after being in the Software development business for nearly 13 years. A degree I would really wanted to have is on Mathematics.

Collapse
 
ryancmcconnell profile image
Ryan McConnell

Interesting that you think communication is easy...and then implicitly insult those that aren't good at it. Hint: saying anyone that's not good at communication an idiot is not great communication. I don't think communication is easy for anyone. It's a learned skill that some might be more naturally inclined to, but being logical has nothing to do with being good at conveying your point with tact and relevancy. I've met many very logical people who can't expand on their answers well or write super confusing documentation.

Collapse
 
therealkevinard profile image
Kevin Ard

Actually, being (overly) logical can harm communication. I'm PAINFULLY logical, and I've learned over the years to give myself a cool-down period to become human before expressing ideas to humans.

Like clockwork, when I'm still in logic/robot mode, the moral is either lost or completely mis-conveyed.

Thread Thread
 
elasticrash profile image
Stefanos Kouroupis

That is the reason I've added the idiot part in the sentence. No one likes being the idiot in the team. And from my point of view every developer pass through that phase during his career.

Communication and cooperation are life skills and not easy ones. Which means that they are not something that can be easily taught in a classroom. They can though be promoted and cultivated through education

Collapse
 
elasticrash profile image
Stefanos Kouroupis

I didn't intend to insult anyone ...and I didn't say it was easy. I personally suck at it. But it is not degree worthy in my eyes.

Collapse
 
miku86 profile image
miku86

Psychology, Sociology: Most software is used & developed by people, so you should know how your users & your co-workers "work".