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?

Top comments (51)

Collapse
 
timrodz profile image
Juan Alejandro Morais

Degrees regarding knowledge on empathy, conversation & communication — They’re pillars for developers who want to excel at their job. Communication is simply so important!

Collapse
 
ryancmcconnell profile image
Ryan McConnell

As someone with a Bachelor degree in English, I've become the go to guy in any development job for presentations, proposals, and communication. I can convey so much more to non-technical staff in ways they understand than I would otherwise.

Collapse
 
timrodz profile image
Juan Alejandro Morais

It’s a skill often overlooked, yet such a cornerstone. I’ve been reading and writing blog posts so I can practice my communication skills! In result, I’m now able to express myself in a more concise, clearer way.

Collapse
 
mattlbellingham profile image
Matt Lintz

I had an English major manager for a few years. He was great.

Collapse
 
vinceramces profile image
Vince Ramces Oliveros

Agreed. However, In other third world countries, I have to communicate with other people with different languages at different times. I'm so grateful for them to adjust my inexperienced communication skills.

Collapse
 
timrodz profile image
Juan Alejandro Morais

As a native language speaker, I can empathise with you. Language barriers can seem daunting, but if anything, they help us simplify our vocabulary so that it can be understood by everyone.

“If you can’t explain it simply, you don’t understand it well enough”

Collapse
 
jmfayard profile image
Jean-Michel Fayard 🇫🇷🇩🇪🇬🇧🇪🇸🇨🇴

Any degree where you learned to handle frustration and suffering

Collapse
 
lauragyre profile image
Laura Gyre

Yeah, I was thinking that while my BA is helpful enough, what has really made me better at this stuff is being a parent. When I used to play around with coding I would give up easily. Now I'm able to accomplish a lot more because I am ok with things being hard and uncomfortable and I understand what being committed to something involves. If only that kind of background were actually seen as a plus on a resume...

Collapse
 
jmfayard profile image
Jean-Michel Fayard 🇫🇷🇩🇪🇬🇧🇪🇸🇨🇴

Actually, if you or someone else feel like it, I would love to read such an article:

How parenting makes me a better programmer

Thread Thread
 
lauragyre profile image
Laura Gyre

That actually crossed my mind when I made the first comment, I can write one!

Thread Thread
 
jmfayard profile image
Jean-Michel Fayard 🇫🇷🇩🇪🇬🇧🇪🇸🇨🇴

Please do!

Collapse
 
jmfayard profile image
Jean-Michel Fayard 🇫🇷🇩🇪🇬🇧🇪🇸🇨🇴

Fully agree with you, parenting should be seen as a plus on a dev resume.

Collapse
 
maeganwilson_ profile image
Maegan Wilson

I think any class that makes you problem solve. My degree is in Lighting, and with it, I've learned different ways to approach problems. It's also taught me that looking at the whole picture is sometimes a good way to see a solution that will work.

Collapse
 
ben profile image
Ben Halpern

Lighting... That's fascinating.

Collapse
 
maeganwilson_ profile image
Maegan Wilson

Studied theatre in school as my passion, and took a few computer science classes throughout the 4 years. I have to say that the theatre degree taught me how to communicate openly and how to problem-solve creatively.

Collapse
 
anthonydevelops profile image
Anthony Campos • Edited

Psych classes! After having spent a full year before graduating taking Psychology/Cognitive Science classes before transitioning to Computer Science, they helped improve me as a person and a friend.

I would say once I got to the upper-division classes in Psychology, it really pushed you to work with others and collaborate on interesting topics dealing emotion, awareness, the brain, etc. Through many of the classes, they value respect and careness for classmates, and it helped set a tone in our meetings which would help make sure it was a safe and open space to share our thoughts when doing group work. These classes made me confident in being honest to others about how I feel, what's going through my mind, and opening me up to not being ashamed of the mental issues I faced myself, among other things. So I would 100% say Psychology/Cognitive Science classes, because in those classes and groups, you felt the care of your classmates which is something I often missed during my Computer Science courses, but it helped me become a better teammate and friend to others.

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
 
conw_y profile image
Jonathan • Edited

Agree with this, having done a short course on philosophy.

There are certain 'cults' in philosophy that give it a bad rap and make it seem impractical and useless. But amidst the 90% of garbage, I found that 10% of gold that genuinely improved my life and my work.

Practices like thinking abstractly, thinking deeply, reasoning, constructing logical arguments and synthesising knowledge from different fields have been very useful in my programming work and career.

Collapse
 
axelledrouge profile image
AxelleDRouge • Edited

My degree is in Geography and Environmental Sciences with years lived in Architecture. Someone said building blocks? in Architecture, we are really building with blocks. The mental process for me is the same. Like with Geography, I am mostly a space thinker, I visualize in 3D. It's perfect to "see" the links, the connections, the networks of data.
Like it has been said before, I believe that the most important skill in software development is logical thinking, just before the ability to learn new skills quickly. Any classes could help with that.

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
 
byrro profile image
Renato Byrro • Edited

I think it depends a lot on what you're looking to achieve in your career.

My degree is in Economics, a bit of Business as well.

The business & marketing side of it helped a lot with entrepreneurial initiatives, which is my main driver in tech.

The economics & statistics side of my course provided a basis for wrapping my head around machine learning.

Years ago I developed an autonomous software to track corporate investment announcements on the web. Kind of "Tesla is opening a new manufacturing facility in Germany". I extracted the data using NLP and organize info in a searchable database with company name, HQ address, target country, type of investment, etc. I sold this info to people interested in it.

Having an economics background was key to this experience. But it might be useless to most developers...

Collapse
 
jacqueskevin34 profile image
@Hernández

Knowledge is important. But there is human skill more valuable to get than a career filled with many recognizations. I'm android developer student and my knowledge is pretty good, but I have to learn a lot of conversation skills to share my opinions and the university has done a good job with me in this affaire.
Important subjects like programming languages should be valuable when you search for useful classes. Math is important, but I believe that Logic is more important than math.

Collapse
 
kylerconway profile image
Kyle R. Conway

Technology is something that spans all fields and can benefit from expertise of all types. I've found my theater experience to be extremely valuable, as well as philosophy and visual art.

Theater and visual art and in communicating and collaboration, while philosophy helps with what's important to communicate.

Collapse
 
lewiskori profile image
Lewis kori

Business skills coupled with strong communication rank high for me. Especially when you are freelancing. One more thing and it's not really a degree but a skill to master is tolerance and empathy. This comes in handy when dealing with difficult clients.

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
 
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
 
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?

Why You Need to Study Javascript Fundamentals

The harsh reality for JS Developers: If you don't study the fundamentals, you'll be just another “Coder”. Top learnings on how to get to the mid/senior level faster as a JavaScript developer by Dragos Nedelcu.