15

Beside academia which is clearly the home of theorists, I am wondering about industrial jobs related to theoretical computer science, the ones which demand pure mathematical background.

Cheers !

usul
  • 7,615
  • 1
  • 26
  • 45
  • 1
    Well, there are jobs working for companies doing pure or almost pure research, but you might consider them an offshoot of academia. – usul Jun 06 '18 at 16:56
  • In my opinion, regardless of where you are, you have to stand by the work that you do and make a good case for why it's within the interests of the organization that is funding your work. – Michael Wehar Jun 07 '18 at 16:10
  • @usul , The problem is that academia's opportunities are somehow rare and does not provide satisfactory salary, and since theoretical CS is my interest, I wondered of any alternatives. –  Jun 08 '18 at 06:24
  • 10
    Can you code? Do you know how to use the stuff you learned in school to design efficient algorithms for practical problems? Do you know how to talk to engineers and figure out what the vaguely expressed computational problems that they're asking for help with really are? Are you at all interested in doing things like this? – Peter Shor Jun 09 '18 at 01:51
  • @PeterShor, I am interested in your talk, would you elaborate the job you are describing? –  Jun 10 '18 at 05:52
  • 9
    I'm not describing a single job. I worked at Bell Labs/AT&T Labs for 17 years, and I'm describing the abilities which make a theoretical computer scientist useful in industry. If you don't have any of these abilities, you probably won't be able to find a job in industry (or if you do, you won't last very long there). If you have all of these abilities, you would be valuable to many employers. If you can persuade a potential employer of this, you should be fine. – Peter Shor Jun 10 '18 at 13:25
  • @PeterShor, Oh My! You are a MIT mathematics professor. I did not realize that initially.

    My dream since I was a kid is to become a theorist, So I planned for pure math major but I was worried not to find a job as the common wise says, and after a while of researching I found theoretical CS, namely computational complexity theory and quantum computing which captivated my interest as a math and physics geek. so I thought of computer science as a typical solution to work in both academia and industry.

    If I was your kid and you would give me a concluding advice, what would it be?

    –  Jun 11 '18 at 18:17
  • 2
    Advice? This is probably biased towards my Bell Labs view of industry, but: Get lots of practice coding. Learn lots of algorithms. Maybe some optimization. Take some mathematical/computational modeling courses (your physics will help here). Find an internship. Maybe you won't get an industry job in research (although you might be lucky), but you should be able to get an industry job that's intellectually interesting. (Although if you plan to go into quantum computing, it's a different list of stuff. And if you want a career doing complexity theory, you should probably be looking at academia.) – Peter Shor Jun 14 '18 at 14:17
  • 1
    Quantum annealing is a current fad, and if you have a PhD in physics and can code it's pretty easy to get hired by consulting firms, the US Government, and trading firms to name a few. I'm not sure how many of these jobs are going to take people without the PhD in quantum physics though. – Stella Biderman Jul 17 '18 at 02:53
  • 2
    @Stella Biderman: these places are currently desperate for people who know both advanced computer science and quantum physics. You don't need a PhD; I expect the whole suite of undergraduate quantum physics courses would be more than enough. – Peter Shor Nov 07 '18 at 22:10
  • @PeterShor cool! I know a couple people in the field with physics PhDs, but I really don’t know much about it as a career track. Good to know. – Stella Biderman Nov 07 '18 at 22:12

2 Answers2

14

I have a CS Theory background and work in industry doing research at a consulting firm. We get hired by people who want to use various types of computer models and don't have the expertise to create them themselves. This is (partially) a research job because our clients typically have interests usually unaddressed in the academic literature, and so our contracts usually result in us creating new models and techniques that work in their context. I'm currently working on a poster presentation for an academic conference, though one in political science methodology rather than CS.

My group specializes in machine learning and social network analysis, also known as applied linear algebra and graph theory. Our clients tend to be interested in applying this to topics like international relations, logistics, international trade, and cyber security. My coworkers have backgrounds such as a PhD in applied math, a PhD in computational social science, and a masters in computational linguistics. I'm the theoretician in my group and was specifically hired for my pure mathematics knowledge. I primarily work on model design and validation, especially on leveraging graph theoretic structures in the phenomena being modeled to inform model design. I am also the point person for investigating new research and evaluating how it fits into what we are currently working.

I would strongly second Peter Shor's list of recommended skills. The key to being a successful theoretician in industry is to be able to be the bridge between engineers, data analysts, and developers on the one hand and academics on the other.

Stella Biderman
  • 1,046
  • 6
  • 19
  • 7
    "My group specializes in machine learning and social network analysis, also known as applied linear algebra and graph theory." This remark is so delightful I am compelled to express my admiration for it. :) – Neel Krishnaswami Jul 17 '18 at 13:24
  • "consulting firm", "bridge between academics and engineerss". Would you elaborate more? What are the domains those firms work on aside your example? –  Jul 18 '18 at 06:36
  • @MustafaTouny “what domains do people apply ML to” is a pretty broad question and is a subset of what you’ve asked. Investment, journalism, defense, politics, human resources and logistics, and business are a few areas. – Stella Biderman Jul 18 '18 at 20:57
  • 1
    @Stella Biderman, Would you suggest and explain me couple of domains related to what overlaps between mathematics and technical computing?, In particular theory of computation –  Jul 20 '18 at 04:09
  • 1
    What about theory of automata, formal languages, formal grammars, theory of computation.... is there any demands/usage for these in industrial jobs? – kate Mar 07 '19 at 05:47
  • @kate Setting aside ToC for a second, there are three major areas of application of the others that I am aware of: compilers / interpreters / parsers, natural language processing, and protocol validation. I know very little about the first, but know it's an area of application. NLP is a subfield of machine learning that builds computers to model human language. Although it's moving over to more neural network based approaches, there's still a ton of automata work being done there. Applications range from machine-coded data to grammar checking to autocomplete. – Stella Biderman Jun 13 '19 at 15:28
  • For the third, pretty much much every security protocol, ranging from TCP/IP to keycard authentication to malware detection can be formulated as an automata or formal languages problem. Here is an example paper and here is a survey. Disclaimer: I know very little about the field and picked papers that looked well-cited and interesting. – Stella Biderman Jun 13 '19 at 15:36
  • 1
    ToC can see a ton of application or very little, depending on what exactly is being talked about. The underlying theme in the applications I mentioned in my answer is the existence of a network structure, so I use graph theory a lot. Spectral graph theory underlies a lot of cutting edge approaches for network analysis. Information theory is increasingly popular in anomaly detection. On the other hand, complexity and computability theory sees very very little application because it's relatively disconnected from real-world computing. Fine-grained complexity is one are that sees use, such as GKR – Stella Biderman Jun 13 '19 at 15:40
2

John Cook is a Doc who applies mathematics to companies solutions https://johndcook.com