Transitioning from Academia to Data Science

I’ve finally finished my Mathematics Masters, and after an exciting internship at Amazon, am transitioning to work for a Consultancy as a Data Science Consultant.

 One of the issues that came up in my work at Amazon was when I realized that although I could code, I knew very little about real world software development – so I knew very little about Make, code documentation, project management, debugging.
 So I did what I normally did, I turned to Twitter! I’m a huge Hilary Mason fan, I think she is one of the leading thought leaders in Data Science.  
She tweeted – “Aside from lots of JS, this Coursera Startup Engineering class could help people go from academia to data science: http://bit.ly/1gJJ6Oe
I asked why and she responded “Because most academics know little about real-world software engineering, which they will need to learn if they want a job.”
 So I then looked up the course and decided to follow it.

I don’t think Javascript is the best language to learn about for data science, but given the rise of D3.JS I thought it was a good time to learn a bit. 
What I learned:

 I’ve not finished it all but have learned the basics of Emacs and version control.

One of the most pertinent points I felt was talking about the need for dev/stage/production environments as they solve the problem of editing on a server directly.
Editing on the production website (typical of academics) makes it difficult to:
* test features before end users see them
* roll back code that has introduced bugs
* restore code or data from catastrophic crashes of the server
* incorporate contributions from multiple engineers
* perform A/B testing of different incompatible features

Challenges of Real World Software Development

One of the challenges of real-world software development (and data science) is that in academia you often code without understanding the fundamentals of IT. These include the dev-ops things such as Command Line Interfaces, dot files, version control, scalability. These things are often not taught to STEM graduates, who may be coding for many years yet know nothing about staging environments, development environments, setting up VM’s (one of the things taught in course I mentioned) and other things such as documentation!

A challenge for tech companies and labs at Universities

One reason why organizations such as Amazon, Facebook etc implement bootcamps is that they realize that even good undergraduates from STEM backgrounds or CS backgrounds know very little about real-world software development. So one of the challenges for these companies is to get people up and running with new technology, these may include different programming languages, configuration, internal software that one can’t learn anywhere else.

I’m looking forward to my on-boarding at my next job – but the lesson here for all institutions is that if you want your new talent to get up and running as soon as possible, copying Facebook isn’t a bad idea. 

See this for further details http://venturebeat.com/2013/03/02/facebook-bootcamp/ 

About these ads

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