天天看点

如何离开学术界(写给科学博士)

原文出处:http://www.chrisstucchio.com/blog/2012/leaving_academia.html

黑客新闻的评论:http://news.ycombinator.com/item?id=3802259

译者序:有很多人在不知道读博士(PHD)的意思的前提下(大部分PHD是为了培养大学教授的),读了工科的博士,之后发现,自己其实并不想钻进故纸堆里,写那些“没人看的纸”,而是希望创造点什么,或者多挣些钱改善自己的生活。想法是好的,但是,当你从事了科学研究(学术型)那么多年后,想改行是需要勇气和技巧的。那么这篇文章就显得那么合适你读一读。

原文翻译:

如果你已经决定离开学术界,或者正在思考是否离开的问题,那你就来对了地方。我再几年前完成了这一转换,同时我也积累了关于如何实现这一目的的一切问题及思考,因此写了这篇问斩。首先,我假设你是一个来自技术领域的学术人员,同时希望寻找一个技术工作。在我离开博士后岗位时,我聚焦于寻找技术和金融方面的工作。

许多人喜欢离开学术界去做咨询行业(比如去麦肯锡),但是我对该行业不了解,所以不做评论。如果你学的是语言学学位,那么我只能给你个到星巴克的链接(同样不了解)。

打牢自己的基本功——Building your Skillset

好消息——如果你有一个扎实的数理背景,则你有很多工作可以选择。现在,你需要做的只是提升自己的实践经验。这比代数几何或者固态物理简单多了,但是他们是必须的。

编程——programming

当前面向理工科的工作都可编程有关,因此学习这一技能及其重要。

(学习阅读代码,使用Git工具而不是subversion)To begin with, go read Software Carpentry. Right now. This document covers all the basic practicalities of dealing with code. Even if you plan to stay in academia, you should go read it, particularly if you plan to be a computational scientist. I’d differ from software carpentry in only one case: use git instead of subverson. A tutorial on git can be found here.

(从python开始学起,C++的学习也很需要)As far as programming languages to learn, I’d suggest Python to start with. This is because python has the excellent scientific Python andmatplotlib libraries, which matlab like functionality in a language suitable for use at work. You should also learn C++ - it’s fairly widely used in quantitative jobs, particularly in finance. It’s also very common for interviewers to ask C++ questions even if the job uses another language. I found the book Practical C++ Programming helpful, at least to reach a practical level.

(改变学术界代码只需一次执行的习惯,学习编码风格,以便于维护)The key fact to note about coding is that the goals are different in academia and out. In academia, the end product is a publication and your code needs to work only once. After the important graph/image is generated and included in latex, you are finished. Outside academia the end product is usually software and it needs to work reliably. This involves a very different coding style - for example, instead of observing garbage output and rerunning the program, your program needs to automatically detect errors and either fix them or notify the user. Learn to develop this coding style early, it will help you later on.

(学习算法很重要,是面试常考的问题)It’s important to learn about algorithms. One of the classic books is Introduction to Algorithms (it’s the one on my desk right now), but there are many more. Also, algorithm questions come up often on job interviews.

(掌握web开发技巧,Django是个比较好的框架)Another important skill is web development, for two reasons. One is that the web is becoming a universal front end to computers. The other is that if you write a cool webapp, you can show it off to potential employers. I’d recommend learning Django, due solely to the fact that you are already going to learn Python in order to use Scipy. The free Django Book is a great place to get started.

(Ruby on Rails是个python的替代脚本语言)If you don’t like Python, Ruby on Rails is another option. From what I can see, you can’t go wrong choosing either Rails or Django. The only reason I suggest Python over Ruby is that Ruby doesn’t have anything comparable to Scipy.

重视实践——Focus on Practicalities

很多学术研究只关注计算的核心问题。这是个好的想法,但是也不要忽视实践方面。

(从一个文件中查找电话号码的工作,已经有很多人实现过了,比如grep就是个很好的工具)To find a list of phone numbers in a file, a smart man writes observes that phone numbers form a regular language and writes an optimized finite state automaton in C++. A wise man knows that 

grep

 already exists, and types:

grep "[0-9]\{3\}[-]\?[0-9]\{3\}[-]\?[0-9]\{4\}" filename.txt
           

(记住:在计算领域很多问题都已经很好的解决过了,所以避免重复发明轮子)If I run into a smart man on a job interview, I’ll tell him to reapply when he becomes wise. Many of the hard problems in computing are already solved. In both work and job interviews, it’s very important not to reinvent the wheel.

数据科学——Data Science

对于理工科的学术人员最适合的就是数据科学家了,同时他也是高收入的工作。大概描述这一工作的最好方式就是:“理解回归和确信度的编程人员”。

(进入大数据时代,数据分析和挖掘很重要)Nowadays, businesses generate a lot of data. A single user browsing a website can generate 20-30 data points in a few minutes - click data, scroll data, pause data (the user paused to look at something), etc. The job of the data scientist is to look for patterns in this data and come up with useful ways of explaining it to technical and non-technical people. For example, at Styloot, I analyzed data to determine which properties of a dress are considered important by women (and used this to build a search engine for clothing).

(从事数据科学工作,你需要扎实的统计学基础和机器学习技巧,下面是推荐的学习书目)To do this job you need to be a good programmer. You also need some basic statistics and machine learning skills. The classic introduction to machine learning is Pattern Recognition and Machine Learning, by Bishop. A basic intro to statistics is Data Analysis: A Bayesian Tutorial by Sivia and Skilling, a more advanced intro is Bayesian Data Analysis by Gelman. Of course, whatever you used in grad school is probably also sufficient.

(小数据集,python自己写程序就搞定了,大数据需要学习分布式系统的知识,比如Hadoop框架)For small data sets (2-8GB) you can write code using python and numpy, and this will cover many important applications. For larger data sets, Hadoop seems to be the standard tool. Hadoop is quite heavyweight, however, so don’t start off with it.

金融——Finance

学习金融的起点应该是基础的衍生品定价理论(比如,股票的价格)。The starting point for learning finance is learning the basics of pricing derivatives. The classic starting point is Wilmott’s Book. Another somewhat more sophisticated book is An Introduction to the Mathematics of Financial Derivatives. The key takeaways from these books are Gaussian models, Black-Scholes, PDE models and Monte-Carlo simulation.

金融面试——Finance Interviews

(金融机构的面试时需要技巧的,你需要让自己擅长它。通常,你会被问到基本的编程问题,关于量化金融的基本问题,以及基本的统计学难题或者急转弯)Interviewing at financial institutions is a skill in itself and it’s one you need to get good at. For the most part, you can expect to be asked basic programming questions, basic questions on quantitative finance, as well as brainteasers involving basic probability:

Consider the integers from [0,1000]. Suppose a particle starts at position n. At discrete instants of time t=0,1,2,…, the particle moves up or down with p=0.5. What is the probability that the particle reaches 0 before t=1000?

100 passengers have queued up to board a plane, and are lined up in the order of the seats on the plane (n=1..100). However, the first person lost his ticket and selects a random seat. The remaining passengers will occupy their assigned seat if it is available, or a random seat otherwise. What is the probability that passenger 100 sits in seat 100?

(常用的一些概率难题可以再如下的书中找到,也是银行家常出的问题)The source of hundreds of such brainteasers is Heard on the Street. In addition to giving great interview practice, many lazy/busy interviewers take questions directly from this book.

(擅长面试的方法就是参加面试,我希望你在毕业前两年就经常的去参加面试,一遍你熟悉他们)The best way to get good at interviews is to practice interviewing. I recommend that you start doing finance interviews a year or two before you graduate, just so you have some under your belt and are good at them.

其它领域——Other Niches

除了一般的数量编程及金融,还有许多博士可以选择的领域。

(军事和政府部门需要建模相关的工作人员,这些工作很稳定)If you are American, many military or other government contractors will hire you for physics and behavioral modelling. Typical jobs here might involve modelling the spread of disease, radio interference between different communication devices, cryptography or game theory. I have no firsthand experience, but I’m told these jobs are usually very stable, very bureaucratic and political, and are typically located just outside major metro areas (the sole exception being DC). One notable exception is Palantir which allegedly behaves a lot like a tech company, though a significant fraction of the engineers they hire wind up working in sales jobs.

(生物统计学也是个不错的方向)Another niche is biostatistics. I don’t know much about it, but people with a solid stats background often wind up there.

(还有一些销售和生产科学仪器的公司可以考虑,包括人脸识别,电信,传感网络等)There are also a variety of small tech companies selling specific scientific products to larger institutions. These will often be things like face recognition, LIDAR systems, sensor networks, statistical software, telecom or environmental modelling. The culture at these places varies widely - some behave like Valley startups, others act like government contractors.

寻找一个工作——Finding a Job

(首先,不应该只投出你的学术经历说明CV。而是应该缩略为一个简历,该简历应该只有1-2页,应该主要说明你干过什么和能干什么。教育背景通常在最前面,发表论文在最后,如果你有过工作经历,则这些经历应该在最前面。下面是我的简历模板)First of all, don’t just send out your academic CV. Shorten it to a resume. The resume shouldn’t be more than 1-2 pages long. It should focus on your skills and what you’ve done and can do. Your education should probably be at the top, and your publications/talks should probably be last. After you’ve had 1-2 jobs, your experience should be at the top, followed by skills, followed by education, and maybe you’ll still bother to include publications. Here is my old academic CV and my current resume.

(如果你想找一个变成工作,则简历自己的代码档案非常重要,Github就是个公开展示的舞台,很有用)If you are looking for work in a programming job, it’s very helpful to build a portfolio. A github account with a few projects is helpful, as is a publicly visible webapp. Some interesting projects and a well populated github will get you far more callbacks than a resume. I’ve gotten quite a few job interviews without ever writing a resume, based solely on the strength of publicly visible projects.

(如何包装自己,有一个不错的博客)Another important point is how to market yourself. You want to focus on the value created rather than the specific methods. As if often the case, Patrick McKenzie wrote a great blog post on this topic.

(金融领域,第一学历很重要)In finance, pedigree is very important. If you went to Harvard for undergrad and UCLA for your Ph.D., emphasize your Harvard degree. Signalling is the name of the game here, and a github will be less helpful than in technology.

面试,那是个技巧——Interviewing - it’s a skill

(在技术领域说服他们你能干和足够聪明很重要,同时,说明自己适合他们的文化也很重要)In technology, just convince the interviewer that you are smart and can get things done. Convincing them of cultural fit is also a good thing - if you want documentation and procedure at a startup, you won’t be very happy, and neither will anyone else.

(值得注意的是,电话面试不要沉默,即使自己思考的是错的,也应该说出来)One significant tip, particularly for phone interviews - don’t go silent. Tell me what you are thinking even if it’s wrong. It’s much better to sound like you are thinking than like you’ve given up.

(如下是一些相关主题)Apart from that, I’ll just link to good blog posts on the topic:

Get that Job at Google

How to take control of your job interview

From the other side - advice given to interviewers:

My Favorite Interview Question

(积极参与网络,多帮助人们解决问题,比如论坛,微博)Networking

It’s important. I suck at it. The gist is to get out there, meet people, and try to help them out.

薪水协议——Salary Negotiation

Just go read Patrick McKenzie’s excellent blog post about this topic. I have nothing to add.

(I’m also sick of linking to him, but his blog is great.)

(评价自己是否喜欢该工作)Do you even want this job?

Make sure you evaluate whether your workplace will be a good fit. Ask yourself - do you want to come here every day and work? If you don’t want to come to work, does the money make the job worthwhile? There is nothing wrong with chasing a $200k paycheck. But if you are doing work you dislike for the money, understand that and be aware of the tradeoffs you are making.

(绝望的咨询)Desperation Consultants

(很多研究生,总是在寻早教职和研究的工作上失败,以至于失去自诩,变得绝望,大可不必,在纽约附近,量化博士的薪资应该在十万美金左右)There is a group of people to be wary of, what I call the “desperation consultants”.

A lot of graduate students fail to find a postdoc or teaching position - perhaps as many as half. They find themselves feeling dejected, perhaps with low self esteem, and a bit desperate for some sort of work. At this point, the “desperation consultants” swoop in. These will typically be third rate consulting shops, occasionally with a name that alludes to a prestigious university or financial firm (e.g., J.T. Marlin). They will offer the dejected academic a third rate salary often using hardball negotiating tactics (e.g., “tell me your salary requirements or I’m hanging up the phone”).

Use them for interview practice. Don’t work for them.

Pretty much any serious employer will be offer well north of $100k to quant Ph.D.s who can program. (Early stage technology startups might be a bit lower, but will also offer equity.) The desperation consultants will probably be in the $60-80k neighborhood, sometimes lower. Obvious disclaimer: this number applies mainly to the NYC and SV area, and holds true for the 2008-2012 neighborhood. If you are looking for work in Texas or Nebraska, adjust downward.

(事情的真实情况)What it’s actually like

(当你获得一个工作后,情况将完全不同。学术界只是通过发paper证明自己多么聪明)Once you actually get a job, things are a bit different. In academia, half the goal is to show how smart you are. The end goal is to have a grand unified theory of whatever, which is simple, elegant and beautiful. The problems you solve should be as general as possible. Code is written to get a single graph, attach it to the paper, and submit. The end product is publications and grants.

(而在学术之外,你是需要向顾客提供有回报的服务)In the outside world, the goal is to give customers something in return for money. This won’t necessarily be a testament to your genius - the customers don’t care if you use cheap tricks to avoid solving the fundamental problem. You can build Strong AI or just run a call center in India - your customers don’t care about those details, they just care about you solving their problems. Cheap hacks are just as good as grand theorems.

(同学术界一样,总有些工作让你觉得不喜欢)Much like in academia, some of the work you do will be the fun work you signed up for, and some of it will be boring grunt work. As a postdoc, I found teaching and writing papers to be boring. As a startup CTO, I find writing web scrapers and building crud apps to be similarly boring. You can’t avoid this, all you can do is change the form it takes.

(学术界只认第一,而工业界第二类选手也有机会)One of the biggest differences between academia and industry is the ranking system. Academia is a tournament - either you make it to the top or you are nobody. Once you prove the full theorem, there is little interest in special cases. In industry there is plenty of room for B-players and there is lots of interest in yet another CRUD app or a new application of linear regression.

Further discussion on this topic can be found on Hacker News.

Disclaimer: Links to books are affiliate links. If you click the link and buy the book, I’ll get a buck or two. You can tweak the urlparams if you want to change this. To keep myself honest, I restricted my list of books to those I either owned or borrowed myself.