
Pursue a CS degree? - jimmierock
I&#x27;m currently a law student looking for a career switch into engineering.<p>I have taken 6+ CS classes by now and I really enjoyed them. I&#x27;m not half bad at it. However given my resume, its been pretty difficult to get technology companies to give me a shot.<p>Im wondering if is worth pursuing a CS degree. I can probably get it done in 2 years. I can probably get into a fairly strong undergrad or graduate program in Canada.<p>Your thoughts would be appreciated!
======
logical42
I was on track to attend law school (accepted into a top5 US law school)
before I detoured into programming. I consider it one of the wisest decisions
of my life but, to be honest, the engineering landscape was quite different in
2011 (no such things as coding boot camps and such). Not sure how things would
fare if the same decision were made today. Getting a degree sounds wise, since
it would differentiate you from all of the other people trying to get into the
field through boot camps and the like. If you can get into a school with good
career fairs (and outreach internship programs) then that's probably your best
bet.

Though I did not personally pursue a CS degree, I would still recommend it
since it's quite difficult to learn algorithms, data structures, and lower
level stuff (compilers, assembly, etc) without being in a program that forces
you to learn it. All that stuff is necessary (but not sufficient) to land a
gig at one of the top tech companies.

Also, if you opt out of the school route, it helps to try landing a gig at a
crappier company so that you can basically get paid to learn stuff (but you
should probably leave once you stop learning things, otherwise you may
stagnate).

~~~
jimmierock
Can I ask what you are doing instead and how you picked up programming skills?
I have tried doing algorithm and data structures myself in depth. It honestly
feels hopeless at times. And did you ever think about detouring into law
again?

~~~
logical42
I did not get a CS degree because it turned out that I didn't need to (I am a
software engineer at one of the 'big' Silicon Valley companies and have upward
trajectory in my career). However, learning algorithms/data structures is not
easy (as you mentioned) and if you aren't the type who can sit down with a
bunch of textbooks over the weekend and bulldoze through them, then a
structured setting which forces you to do exactly that may benefit you. And
getting formally schooled will help you from having 'gaps' in your CS
education which can (and probably will) happen if you opt not to get a degree
(getting a CS degree doesn't mean you won't have gaps either, actually).

And no.. I don't think about going back into law. That field is horrible.. you
get saddled with debt and then you make mediocre money (even at big law firms)
with insane hours. It makes me sad that people feel desperate enough to even
consider it. The only type of law that is probably economically worth pursuing
is patent law (in terms of work life balance) but that's really some scum of
the earth type stuff, especially with software patents..

------
czbond
I need to ask some questions. Stay with me here. I've helped hire/build/lead
engineering teams - so I'm asking to help structure the guidance I give, as
you're looking for a life change. Q's) Why are you leaving law? Why interested
in engineering? What types of tasks interest you the most in engineering? Do
you know your personality type (Big 5 / MBTI, etc)? What does success and
happiness look like in 10 years for you in this path?

Attorneys can make fantastic engineers - depending on personality type.
Sometimes straight engineers can see the "trees, not the forest". Some
attorney types are good at "forests, and seeing the trees". I firmly believe
the logic paths taught in law school should be required in engineering
disciplines. Often, the engineering mind can make things too complex to begin,
or too pedantic to continue.

~~~
jimmierock
Thanks for the response! Here are my reasons.

First, I think the legal industry as it stands is due for a huge shake up.
Alot of junior associate work will be automated away.

Second, I enjoy creating things. Law doesn't really put me in a position to do
that. Making my first silly game was really cool.

Third, my personality fits better with engineers. People are more relaxed and
interested in solving problems rather than focusing on appearances.

Fourth, the dream. I spent sometime in the West coast and want to see if I can
make it as an entrepreneur.

Does that help?

Thanks in advance!

~~~
czbond
Yes - it does a lot. It seems like the switch would be good for you. I agree
that junior associate and mid-associate work is being iterated away. Don't
discount the intersection of the two interests in law practices of
cybersecurity, robotics, and machine learning law among burgeoning areas.
Those are locations one could make a mark "on the intersection". I was trying
to determine how extroverted your personality is; I have a CompSci but I'm
fairly extroverted - and it has become a "secret power" of mine. As an aside,
you don't need CompSci or Law to become an entrepreneur. If you want to be a
non-web oriented engineer - a CompSci program would be heavily useful. A web
engineer can get entry with a head full of knowledge, projects, and a good
"code school". Edit I realized how disjoint each sentence is, but hopefully it
helps.

~~~
jimmierock
Awesome thanks. I agree there's definitely some interesting possibilities
between law and tech especially in regulatory research. Do you have a
particular preference for undergrad v grad?

------
tbirrell
I don't know if this is something you want to do, but I have a full time
development job with no more education than High School and attending one of
those Bootcamps. So _technically_ you don't need any degree at all to break
into this field. That said, it is much harder to get into larger companies
(FB, Google, etc) without a degree. As well as certain subsets of the industry
(I won't be able to get into some jobs that needs fluency in algorithms or low
level languages). So it's a trade off. But if you really really want to, you
can get in on the merit of knowing what you are doing, work a couple of years,
and be right up there with the rest of them.

~~~
jimmierock
I see alot of mixed news about bootcamps. How did you make the decision to
attend one, and how did you know which one to attend?

~~~
tbirrell
Yeah, they are saturating the market these days.

I decided to go for it because I was unsatisfied with my degree path (I was in
business), and a scholarship more or less fell into my lap.

I filtered the bootcamps based off the curriculum they offered, which I
decided my prefrence based on what tech was hot, both in the industry and in
my region of the world (South Central US). I then filtered by reviews and
success/employment rate. Finally I scheduled an interview with all the
remaining options and talked with them to to get as much of an idea as I could
on what kind of place they were. I finally applied to one, and thankfully was
accepted.

~~~
jimmierock
Awesome, thanks. If you could attend a top university at the same price as a
bootcamp would you have done it?

------
pwaweru
Strongly advise enrolling on some sort of undergraduate/graduate program. A
lot of tech companies are looking for experience the most as opposed to a
computer science degree. I myself have completed a 3 year degree, however, I
do not think it's 100% necessary. What got me onto the job market is obtaining
an internship which built my experience. I am now a full-time software
engineer working in London. So yeah, try enrolling on a graduate program, take
some courses online to learn more programming and programming concepts. You
should be set.

~~~
jimmierock
Thanks for the comment. Do you think there's a difference between pursuing a
undergrad degree v grad? From my limited experience so far is that undergrad
classes are better in terms of teaching fundamentals.

~~~
coralreef
Not sure where you're located, but if you want mobility (be able to work in
other countries), a degree will help a lot in getting work visas.

~~~
jimmierock
I'm Canadian! I would prefer to end up in the West coast/California, but I
don't think I can afford a top US degree.

~~~
coralreef
You don't need to go to a US school for a CS degree. They accept Canadian
universities.

------
chris_chan_
The answer is yes. The number one thing that attracts me to a CS major is the
fact that I can build stuff that stays around forever. It’s like teaching a
really stupid baby to do something. My prof told me on the first day of class
that computers are really dumb, but are really good at following instructions.
Almost too good, to the point they do everything to the letter. If you can
talk to the computer in it’s language, and make it do what you want it to do,
then you’re golden.

~~~
jimmierock
Awesome thanks. A related question, what are your thoughts on a complementary
discipline? If you want to be sort of an all around engineer not just CS?

~~~
chris_chan_
Well, with cs, it spans the range from theory through programming to cutting-
edge development of computing solutions. There are lots of options to choose
within the cs's career path:

Career Path 1: Designing and implementing software. This refers to the work of
software development which has grown to include aspects of web development,
interface design, security issues, mobile computing, and so on. This is the
career path that the majority of computer science graduates follow.

Career Path 2: Devising new ways to use computers. This refers to innovation
in the application of computer technology. A career path in this area can
involve advanced graduate work, followed by a position in a research
university or industrial research and development laboratory.

Career Path 3: Developing effective ways to solve computing problems. This
refers to the application or development of computer science theory and
knowledge of algorithms to ensure the best possible solutions for
computationally intensive problems. As a practical matter, a career path in
the development of new computer science theory typically requires graduate
work to the Ph.D. level, followed by a position in a research university or an
industrial research and development laboratory.

As for me, I think if you want to follow a path in career 1 then additional
business and management discipline that can be a benefit in a long term that
if you want to take a lead role within the corporation in your future.

Hopefully, that might be a help to your questions. Let me know what you have
any others questions.

~~~
jimmierock
Awesome, thanks for the detailed response. I would love to follow up. How
should I contact you?

~~~
chris_chan_
Here's my email: cxchan@ualberta.ca. Feel free to contact me when you have any
question about CS. :)

------
donovanm
Yeah if you want to get into the industry a bachelor's degree in CS is worth
it especially if it'll only take two years.

~~~
jimmierock
Do you think there's a difference between bachelor v masters?

~~~
donovanm
Yes. In my opinion though a masters isn't necessary unless you want to go into
something really specialized like machine learning. Otherwise a bachelors is
enough. If you have a choice masters > bachelors, but if a masters would take
significantly more time then just get a bachelors. For most software
engineering jobs a masters won't be necessary.

