I recently made the transition from astrophysics researcher to data
scientist for a tech company (Yammer / Microsoft). Below are suggestions for
people in academia / research who are interested in pursuing a tech job.
Most tech companies are interested in smart, talented people who can learn quickly and have good problem solving skills. Scientists have these attributes. Therefore if you apply for jobs at tech companies, you'll likely get at least a response from a recruiter. However, once you get an interview, there are many other skills that the company will try to assess, skills that you may or may not have already.
Below are some tips which will help you both in the application / interview process, as well as on the job at a tech company.
Most tech companies are interested in smart, talented people who can learn quickly and have good problem solving skills. Scientists have these attributes. Therefore if you apply for jobs at tech companies, you'll likely get at least a response from a recruiter. However, once you get an interview, there are many other skills that the company will try to assess, skills that you may or may not have already.
Below are some tips which will help you both in the application / interview process, as well as on the job at a tech company.
1) Learn a Standard Language
Sorry astronomers, but IDL isn't going to cut it if you want to
get a tech job. You need to learn one of the industry-standard programming
languages. Python, Ruby, Java, Perl, and
C++ are all good languages to pick-up.
It would also be good to learn a statistical analysis package like R,
SAS, SPSS or Excel, as well as a visualization package to show your
results. Some jobs, involve a coding
interview. These require some knowledge
of computer science algorithms. Look online, there are many example coding problems for you to practice.
2) Learn About Databases
2) Learn About Databases
"Big data" is the Web 2.0 it-word. If you want to play with big data, you are
going to need to learn how to manage, handle, and access it. SQL is a must. It would be great if you could also familiarize yourself with Hadoop/MapReduce and Hive.
3) Brush-up Your Stats
3) Brush-up Your Stats
Many of the tech interviews involve doing complicated math,
probability, statistics, brain-teasers, and open-ended problems. Dust off some of your old statistics text
books or pick up a book about data analysis using one of the above languages. Search online for past interview questions of the companies you are applying to.
4) Communication is Key
4) Communication is Key
To be effective in a tech job, not only should you be able to
program, analyze data, and solve problems -- you need to easily explain your
work to people who aren't very technical. Communication is incredibly important for these roles, and a huge part
of the interview process is gauging how well you explain complicated ideas to a
lay-person. There are many opportunities
to practice this skill within academia, so give many talks, teach classes, tutor, volunteer, or do whatever you can to become very
comfortable explaining technical ideas to people with different backgrounds and
skill levels.
5) Convert Your CV into a Resume
5) Convert Your CV into a Resume
There is a difference, and it is important. People at tech companies get 100's of
resumes. It is important to succinctly
highlight the skills you bring to each job. It's great that you have published dozens of papers, given lots of
talks, and taught many classes... but what is more important are the skills you
acquired from those experiences. Resumes
should only be 1-2 pages. Look at the
skills required for the job you are applying for, and then try to demonstrate
those skills by listing the relevant experience.
6) Academic vs. Business Problems
6) Academic vs. Business Problems
In academia the goal is usually to get the most accurate solution possible. Time and
efficiency are less important than doing something thoroughly and rigorously. In business the goal is to
increase your company's value. Therefore
any task must both optimize accuracy AND value. This is a difficult transition
for many academics to make. Spend some
time reading TechCrunch and other such sites to help familiarize
yourself with
the various metrics and problems that tech companies care about. Be
prepared to work on short deadlines and to be able to prioritize tasks in order to increase the value of your work. Keep this in mind when answering open-ended interview questions such that you demonstrate your understanding of this difference.
7) Do an Internship or a Project
7) Do an Internship or a Project
The best way to get your foot in the door of a tech company is to do an internship. Many of the major tech companies have paid summer
internships that will introduce you to this type of work, as well as teach you many of the above
skills. The Insight Data Science Fellowship is an internship specifically designed for helping academics transition into tech positions. If you are unable to take the
time off from your current job, then consider doing a
project on your own. Create an application for
your phone, or do a research project with one of the many free data sources out
there. This will give you insight into the work you might do at a tech company, and an important set of talking points for interviews.
If you have more questions about making the transition from academia to tech or the tech interview process, feel free to contact me.
If you have more questions about making the transition from academia to tech or the tech interview process, feel free to contact me.