paint-brush
How Important is a College Degree if You Want a Job in Tech?by@shivenigma

How Important is a College Degree if You Want a Job in Tech?

by Vignesh MJuly 21st, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

In India, a lot of companies won’t consider candidates without a college degree regardless of their skills or experience. College degrees are becoming less relevant to the actual responsibilities you have to do on the job. Having a degree alone will not make you a great developer. Having a computer science degree is not a precondition to become a good developer. It is not very easy to get your first job without a CS degree. Having real work experience is invaluable when compared to a degree. I had trouble with understanding the big O notion which is used to measure performance of the algorithms.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - How Important is a College Degree if You Want a Job in Tech?
Vignesh M HackerNoon profile picture

Recently, I’ve seen people discuss on Twitter about
whether a college degree is required to get into a tech job and if
having one gives you any competitive advantage over the self-taught
ones. I believe I can add a cent or two to that discussion. I am going
to tell my story and experience so it might encourage others.

I am a self-taught developer working for around 7 years now. I don’t
have a computer science degree or not even a bachelor’s degree for that
matter. In my observation, a college degree is not mandatory to get a
job in the tech industry but having one will be helpful in various
situations.

I am from India, so my experience related to jobs and hiring is based on the Indian job market. Your country’s job market might be different.



The good parts

  1. You won’t have a student loan and don’t have to run every day to
    repay it. It can be daunting from my personal experience and from some people I know.
  2. You don’t have to spend X years of your life studying for exams and those years might actually be a head start for your career.
  3. College degrees are becoming less and less relevant to the actual
    things you have to do on the job. So it is not assured that you’ll land a
    job offer after finishing your degree or you’ll be employable.
  4. The bad parts

    1. Companies may not hire you for not having a degree. In India, a
      lot of companies won’t consider candidates without a college degree regardless of their skills or experience. This will limit your choice to startups and mid-sized companies.
    2. You might sometimes find it hard to understand the concepts
      related to computer science. It is not impossible to learn them on your own. You need to be self-aware of your gaps and constantly work on improving them. For example, I had trouble with understanding the big O notion which is used to measure performance of the algorithms. I still have troubles with data structures and algorithms. It is possible that you might face similar issues.
    3. In my personal experience, people tried to take advantage of me in negotiations. Since getting a job without a degree is pretty rare in India, they might have thought that I didn’t have any other choices.
    4. People are saying that your academic qualification is taken into
      account when validating your VISA applications. My US VISA (B1)
      application is rejected twice. but I’m not sure that’s because of my
      educational qualification. It is not an official statement from US
      embassy, it was just response of some people when I asked about the possible reasons for the rejections.


    My thoughts

Those saying a computer science degree is required to be a software
engineer are likely to be gate-keepers. A degree has very less effect on
how great a developer can be. Computer science and Software Engineering are two different things and having a degree might help but it is not a precondition to become a great developer. Remember, most of the real learning happens in the job. I know a lot of great devs in both category
and vice-versa. Having a degree alone will not make you a great
developer.

It is not very easy to get your first job without a CS degree. I had
to take an internship without a salary for a few months and then I was
paid a little stipend, only to be fired after 6 months. But It wasn’t
hard getting another opportunity with that little experience. From this I
learned that acquiring real work experience is invaluable when compared
to a degree.

Once you got your first job and gained some considerable experience,
not having a degree will become less relevant. If you can spend the time
and money on education to get a degree, go for it. Things will be much
easier if you have one. But If you are not in a position to do it,
consider putting some hard work in building your portfolio, and start
applying for jobs.

Don’t assume you’ll have to know everything on the job description to
be able to apply for the job. Companies will always be ready to
negotiate on technical skills because it is easier to train people
technically. When I applied for the internship I know next to nothing
about coding, and I was selected.

I mean no disrespect to the universities or their curriculum, but
after all these years we should really start questioning the relevance
of teaching COBOL in universities (They taught me in Madras University).
This is mostly from my personal experiences and I would love to hear
your thoughts about it.


You got a job, now what?

You might feel intimidated by the things you don’t know when compared
with your colleagues. Imposter syndrome kicks in and you’ll panic that
someday they’ll find you that you’re not good. The little secret is your
colleagues might also feel the same way. Our industry is filled with
lot of smart people and insecurity comes bundled with intelligence. Try
to use imposter syndrome and try to learn the following concepts as you
gain experience.


1. Data structures and Algorithms
2. Different programming paradigms such as OOP and FP
3. Design patterns
4. Accessibility
5. Big-O-Notion (this should be part of #1 in my understanding)
6. Memory management
7. A low-level language such as C
8. Software development life cycle
9. Agile methodologies
10. Different estimation techniques
11. Different kinds of testing (Unit, Integration)
12. Relational databases

The above list is based on my experience and personal understanding
of my week areas, as you grow into your career you should be able to
identify and prepare your own list. In the above list, no one is going
to be needing most of the items for their day to day job. But in an
ever-changing industry, having a solid understanding of the basics is
necessary to keep yourself open and flexible for any situation.

I hope I told everything I had in my mind related to this topic. Do
you have a degree or not and what’s your story of getting into the tech
industry? Danny Thompson recently had an interesting thread of self-taught developer’s story. Check that out if you’re interested.