musings on music and life

April 20, 2016

ok now, this is getting a little ridiculous

Filed under: Coding, Data Science — sankirnam @ 11:26 pm

As part of my job search (which has been ongoing for the last year and a half now), I’m applying to several programming and “Data Science” bootcamps. I have posted my thoughts about “Data Science” before, but it seems the juggernaut is nigh unstoppable. During this process, I have experienced a multitude of things that I need to get down.

First off, I want to get a satisfactory answer to this question: If people with just 12 weeks of education can compete for the same jobs as computer science graduates from a university, does it mean that a CS degree is not really worth that much? On the flip side, the relative value of these skills is still pretty high – you can study chemistry for 10+ years, get a PhD, and end up unemployed (as in my case), or you can go through a bootcamp and code JavaScript and look forward to jobs with a minimum starting salary of $105,000 (so CS >>>>>>>>>>>>> chemistry, every time).

I have also heard that there are an astonishingly high number of CS graduates, even those with advanced degrees, who cannot do simple programming exercises like the “FizzBuzz” challenge or simple algorithms. So perhaps there are a large number of mediocre CS students who are getting through the university system and are unable to pass job interviews or fulfill job requirements. In chemistry, this would be like studying organic chemistry on paper but having trouble going into the lab and doing synthesis (or if you’re a theoretician, not being able to input and optimize a model system in a program like Gaussian or Spartan properly, and draw reasonable conclusions).

The other thing that I have been told by a lot of people who studied computer science formally and are now practicing computer scientists (or programmers) is that “computer science ≠ programming”. While this may be obvious to those in the field, it is not obvious to those outside, such as myself; for a long time, I was belaboring under the illusion that they were the same thing. Pure computer science is more akin to math or logic, and one spends a lot of time learning about abstract concepts such as Data Structures, and it is implied that students should be able to pick up programming skills along the way. The current rise of bootcamps and websites such as FreeCodeCamp and Codecademy has decoupled a “pure” CS education from that of programming; these programs get you coding first, usually with HTML, CSS, and JavaScript, without worrying about the underlying logic or science behind the code. Interestingly enough, when I asked interviewers at bootcamps about this (whether bootcamp graduates with a shallow theoretical CS education could compete with regular CS grads for programming jobs), they mentioned that bootcamp graduates were often competitive, simply because of their ability to code better and faster.

The analogous situation in chemistry would be decoupling experimental and theoretical chemistry – e.g. doing organic synthesis without knowing anything about the theory. Is this possible? We’ll never know, because I don’t think there will ever come a time where the demand for synthetic chemists will jump that high, to obscene levels beyond the ability of universities to produce sufficient graduates. At the same time, safety is the big consideration when comparing computer science and chemistry. If you screw up in CS, nobody will get hurt, but if you screw up in the chemistry lab, a range of things can happen, ranging from nothing (if you’re lucky), to killing yourself (if you’re not careful). But from an educational perspective, is it possible to teach “applied chemistry” in order to reach the masses, the same way websites like Codecademy, FreeCodeCamp, and Code School have revolutionized programming education to make it more egalitarian? Chemical concepts like equilibrium, reaction kinetics, etc. can be dry and theoretical; can you teach chemistry in a way to make it more understandable by the masses, but at the same time maintain the “tactility” required to really understand the subject that can only be achieved through lab work? This is a challenge for the next generation of instructors, and one that we as chemists all must face as we strive to prove to upcoming generations that our subject is relevant!

In any case, back to the subject of bootcamps. One of my friends mentioned earlier today:

“honestly you becoming a vanilla webdev is a waste of your talents and training
a lot of people can do that job
not many people can do research in organic chemistry”

Formatting is messed up because I copy-pasted this from a google chat. This friend does bring up a valid point though; why am I trying to go into CS? I have addressed this before, but I still have inner conflicts where I feel like I should keep trying for a job in chemistry (due to the sunk cost fallacy). In any case, this friend is forgiven for not having an accurate knowledge of the chemistry job market – that last statement is completely inaccurate, as there is a massive glut of people who can do research in organic chemistry.

But the sudden rise of bootcamps has got me thinking – is this indicative of another bubble? There are so many coding bootcamps now all over the US, and “Data Science” bootcamps are also springing up all over the place. BTW, the next person who tells me “with a PhD in science, you should think about going into “data science!” is going to get a kick in a very sensitive place. Unfortunately, as I have learned, organic chemistry is not a “quantitative” discipline, and I have been rejected from The Data Incubator, Metis, and Insight for not having the correct background. Also, the programming background required for “data science” is rather steep, and it is not something that can be easily picked up if you don’t have prior training in CS or programming, which is why I’m looking into “vanilla webdev” bootcamps, as the entry requirements are easier for me to meet with my limited coding background.

As to the title of this post, today I came across this.

I have NO idea what to make of this – it’s a prep course to help you get into a bootcamp (o_O). This is like what goes on in India today – you have prep courses to help you get into prep courses for the IIT JEE entrance exam. This has me completely flummoxed, and is another indicator of how the demand for programmers is far exceeding the supply – App Academy (the company running the prep course) is simply cashing in on this trend. Is this indicative of another imminent bubble? One can’t predict the future, but it certainly does seem that way…

Advertisements

8 Comments »

  1. I think you shouldn’t worry about a CS “bubble”. I too have several friends who went into CS majors and they are ALL employed with BS degrees. In fact, they told me to do a MS in computer science instead of going to chemistry grad school. Of course I didn’t listen but I don’t regret it. Unlike chemistry, computer science and technology is constantly evolving and growing. The demand for programmers and developers won’t be declining any time soon.

    Comment by chemdiary — April 22, 2016 @ 7:34 am

    • Cool, thanks for the feedback!

      Comment by sankirnam — April 22, 2016 @ 7:35 am

      • I should also mention that I am trying to learn programming by myself too. You know… just in case…

        Comment by chemdiary — April 22, 2016 @ 7:54 am

      • Smart move! What language(s) are you trying to learn?

        Comment by sankirnam — April 22, 2016 @ 9:32 am

      • I am trying to learn Python and Django. As you can imagine, I can only spend 1-2 hours (max)/day on coding so it’s been slow. But, I have made some good progress since I started a year ago. I can write some code that can do stuff. Do I really know what’s happening behind? Not always. In my opinion, anyone who spends 6-8 hours a day on coding for ~6 months can be eligible for employment in somewhere with a salary paying more than a chemistry post-doc salary. The person who wrote the comment below is absolutely right. I don’t really think self-teaching or bootcamps can teach you how to be a good programmer or really make you understand how your code works at all levels. But (at least for my case), that’s not what I am trying to learn. On the other hand, computer scientists/developers etc. also work in groups. So, you learn and do your own part. You shouldn’t be discouraged just because you don’t understand all those back end, front end, server side etc. I might be wrong but this is what I think.

        Comment by chemdiary — April 22, 2016 @ 10:21 am

  2. I highly suggest you do learn to code. And I don’t just mean “superficial” topics like web development. Yes, there’s a demand for web developers; but it’s not just as simple as learning HTML5/CSS3 and becoming instantly employable… any more than having a degree in anything makes you employable in that field.

    Full stack web application development typically consists of several things:

    Front end (Html/css): but even this is as straightforward as it sounds. How are you going to deliver the HTML? Old school HTML? PHP? ASP? ASP.NET… in MVC or Web Forms? AngularJS? Will you be making your web pages responsive (God help you if you don’t)? How will you do that? Bootstrap? Current web application development methodologies rely on JavaScript. Does you know jQuery? AngularJS (again)? Knockout.js

    Middle Tier (web server layers): How’s your site/application hosted? Is it IIS and .NET? Is it apache? Will you be able to run/host the application anywhere or will you need a Java VM? Is it a Node.js server?

    Back End (database): where you do plan to keep your application’s data? MSSQL? Oracle? MySql? NoSql?

    The options for every layer are seemingly endless. A lot of times, you’ll get hired by a place and realize they don’t have anything newer than something that was written 10 years ago “and has worked fine” since then. So how are your classic ASP skills? Can you follow a path of include files to the source that’s actually throwing the errors at your users?

    I don’t mention these things as discouragement, but this is the reality of working as a software developer. I don’t know if boot camps work or not. My limited experience working with interns from boot camps indicate that it’s entirely dependent on the person. If you’re willing to come out of a boot camp and slog through the low-level stuff you’ll qualify to work for, and look at it as an opportunity to pick up some additional skills, then it may work. If you think the knowledge you pickup learning the syntax and a some fundamentals will make you John Romero or Bill Gates or Wozniak, you’re going to be disappointed. Good developers don’t just understand the syntax, they understand the structures. There are reasons for features in every language you work with. Some are good reasons and some seem arbitrary; but they’re there. And understanding how to leverage those is integral to being a good software developer. I sucked at high school chemistry (I didn’t have much interest in it), so I don’t even think I can come up with an analogy… but you’ll probably get what I mean.

    I should probably stop yapping on your page now.

    Comment by matt — April 22, 2016 @ 8:22 am

    • Thank you so much for the feedback; I really appreciate it. I appreciate you giving a realistic account of the field, as right now for me it is a case of “the grass is greener on the other side”. On the other hand, at least there ARE companies hiring in that area, and there are jobs to be had!

      Comment by sankirnam — April 22, 2016 @ 8:47 am

  3. […] the job situation in organic chemistry continues to remain abysmal. I know I have been scornful of bootcamps and “data science” in the past, but my reason for applying to these places is simple. I […]

    Pingback by On learning to code | musings on music and life — May 17, 2016 @ 11:06 am


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: