
Ask HN: Doctor turned self-taught developer. To do a master's in CS or not? - drhectapus
Hello HN,<p>I come to you guys in search of solid and honest advice.<p>I&#x27;m 30 years old doctor turned self-taught developer. For the past 12 months or so I&#x27;ve been teaching myself programming through use of Freecodecamp and Udemy courses.<p>My main skill set right now is web dev, but my main interest is in health tech and ideally I&#x27;d like to be working as a software engineering in the healthcare space working with patient data, medical imaging and other more complex stuff.<p>I must say that my programming career path has not been straightforward. Unbeknownst to me, I didn&#x27;t realise that coding != programming and if I want to become a software engineer I would need to get a solid understanding of computer science. It is for this reason that I&#x27;ve recently started to focus more on the fundamentals of CS like DS&amp;A.<p>It is also for this reason that I&#x27;ve applied to go back to university to do a Master&#x27;s in CS.<p>However, during this time I&#x27;ve also been applying for jobs and recently was offered a job at a health tech startup where they want me to work on an AI symptom checker chat bot.<p>So now I&#x27;m a bit torn. I really want to get a solid understanding of CS so that I can become a knowledgeable software engineer and work in the healthcare space in the future.<p>But at the same time, I feel like I can also learn whilst on the job and actually, this style suits me more as I consider myself more of a practical learner than a book learner.<p>So HN, all other factors put aside (like money), what would you do in my shoes: to go back to university or not?
======
aqsis
The only advice I can give is from my perspective as an employer at a large
SaaS company recently. As CTO I was responsible for building a large team
covering various skills, including a large number of software engineers. My
experience led me to a position where I would actually favor candidates who
had significant experience over those with academic qualifications. I have
often found, not always but often, that highly qualified engineers need to be
"retrained", as software development in the commercial world is (IMHO) a very
different discipline to that taught in academia.

I should stress, that my experience is in very specific fields, visual
effects, games, retail intelligence, VR, and this may colour my advice. It is
entirely possible, in fact likely, that academic qualifications are more
valuable than experience in other sectors. I would advise researching the
nature of the sector you want to work in, if possible speak to various
companies and agencies who specialise in that area, and see what the general
expectation is. You may find that a lack of formal qualification might hinder
you even getting to interview.

Summary, I personally don't feel that academic qualifications hold any
particular value over experience, and strongly believe that someone who is
motivated to learn themselves brings value in a different way to a business.
But that might not be the opinion of every business or sector, so be careful.

------
CyberFonic
I would recommend going to university and doing that Masters in CS. Mind you,
it could be a pretty steep learning curve not having done any undergraduate
work.

My rationale is simply that as a self-taught coder, you are unlikely to have a
solid grasp of the fundamentals. It is the fundamentals that will support your
work in the long term. As you hare discovered coding is only a small part of
the total knowledge required to be a competent software engineer (and I use
that term deliberately).

The complex stuff that you would like to work on will, sooner or later,
require more than programming knowledge. In the long term your additional
education will make you far better prepared to handle the intricacies of your
intended work.

In closing, it is rather like the distinction between a pharmacist and a
general practitioner. They both know the names hundreds of pharmaceutical
products. But only the GP is qualified to correctly diagnose the patient's
condition and thus optimal prescription(s). In simple cases the pharmacist
could probably make a diagnosis and supply the correct drug, but it might not
be based on the same thorough examination and diagnosis that the GP would
make. In complex cases the latter approach could have adverse effects.
Fortunately in medicine there is a protocol that avoids such problems. In
programming there are no such protections.

~~~
drhectapus
Yes I am thinking along the same lines too. Thanks for your answer!

------
brudgers
[random internet remarks]

Is your goal to work as a programmer or go to school? Neither is right or
wrong. It might be both depending on the short versus medium term. It might be
neither (i.e. the goal might be getting out of medical practice instead --
again nothing wrong with that). Good luck.

~~~
drhectapus
My goal is to work as a software engineer in the healthcare space and improve
the state of patient data (because I think it's currently abysmal). I'm
interested in making medical data less fragmented, more accessible and more
secure. I believe blockchain could be a viable solution so naturally I am also
interested in blockchain.

Obviously I want to work as a programmer, but I'm wondering if my goals, which
require specialised knowledge in topics like security, encryption,
cryptopgraphy, medical imaging, databases, would be better learned in
university than from a job.

~~~
brudgers
Some random remarks:

1\. Working as a software engineer in healthcare and improving the state of
patient data are two different goals. One is technical and vocational and the
other is largely a matter of policy and economics and outside the scope of
working as a software engineer in healthcare.

2\. Engineering is usually a matter of combining existing systems. Detailed
academic knowledge of databases is very interesting and mostly irrelevant to
engineering an information system that contains databases because there are
lots of good databases and because what makes one or the other better is
nature of the problem to which they are applied.

3\. The same is true for encryption and security. It's a matter of picking
tools and/or hiring experts. It's not robustly implementing one's own elliptic
curves.

4\. There's nothing wrong with pursuing a CS degree for the sake of learning.
Just realize that successful engineering is a matter of collaboration and
"knowing which table to look at."

------
mhkl
You do need to have a foundation which you can learn in a university but also
outside a university. My bet is that you can learn it faster and cheaper
outside university.

~~~
drhectapus
Are you suggesting I go through the self-taught route and learn from MOOCs and
books instead?

