

Ask HN: Academic looking for advice on tech jobs - ApproxIdentity

Halfway through my postdoc in mathematics, I've started to think I might be happier in the tech world. I don't have any formal credentials besides a math PhD, but I've been teaching myself Python in my spare time with rapid success (~75 problems into Project Euler) and will prepare a fair bit more in the next few months. Several questions:<p>1. What kinds of companies would consider a very unconventional candidate for a summer position? (I'm no longer a student, so I fall outside the stated bounds of most internship programs.) My postdoc runs through the spring of 2013, and I won't leave them in the lurch (in math, postdocs teach as assistant professors), so I'd like to gain some experience next summer before deciding whether to stay or switch careers.<p>2. What would make me a better job candidate? What languages and programs should I definitely learn? (I've heard some suggestions already, but I don't want to anchor anyone's reply on those.)<p>3. Will the particulars of my mathematical background help me? I've published a few research papers in the area of harmonic analysis, but they're very much pure math. (I could pick up the applied stuff in signal processing and related fields much faster than most.) How could I find jobs where that's an asset to me?<p>4. What else should I be doing in this phase of the search? I have several friends with tech jobs giving me advice, but none of them have been in anything quite like my position.<p>5. Is my current plan realistic? If not, what would you do if you were me?<p>Thanks.
======
kls
1\. You are worrying to much, a PhD in mathematics and development chops can
get you a long way in the development world.

2\. Depends very much what you want to do, if you want to do the typical
development path of internet apps / mobile learn HTML, JavaScript and
Objective-C

If you want to go into embedded, learn Assembly and C/C++ get an Arduino and
start playing with it get as many peripherals as you can and integrate them.
Try not to use the high level toolkits and write closer to the hardware, you
will be rewarded with a better understanding of the hardware layer.

If you want to go into research where you math background will be very
beneficial keep on learning Python, pick up Lisp and R.

3\. In some fields it will, some people looks at it as equivalent to a CS
degree, so long as you don't actually need heavy CS knowledge. It definitely
means that you would pick up CS education quickly. I would take a serious look
at you as a candidate given a strong math background.

4\. Select the field that you think you would be most interested in, learn the
tool of that domain, get some code built that you can show.

5\. Sure, the market needs talented individuals, a math background is valuable
with some language and self taught development experience you could be a great
asset.

------
_dps
I did a PhD in applied math, was a professor for a bit, and then dove into the
startup world working on mathematical software. I'm happy to chat directly if
you want (ping me by email, address in profile).

If I were currently a math PhD, I'd personally look toward some bio-info
application since the bioinformatics startup scene seems (in my experience) to
have a significantly positive second derivative. I personally went (~10 years
ago) down the distributed systems / statistical computing route, which is good
fun but (in my opinion) overly crowded right now.

As for languages / tools: I'd look at something like Python since Scipy/Numpy
will give you a way to ply your trade. I'd also look at Weka if you want to do
something more on the statistical / machine-learning side.

But, by far, the most important thing is being willing to work "in the
trenches." A large part of working in software is solving problems like "Our
optimizer's CSV parser is failing when we have nested quotes inside escaped
HTML". Just picking the right algorithm for the right job is only 10% of the
work; solving all the workflow's edge cases is far more time-consuming.

------
gexla
If you have free time and some income (not sure that you have much of either
of those during a postdoc) then I would hold off on getting a getting a dev
job as long as possible. Instead, focus on allowing your curiosity in
development take you for the ride and continue building your craft. The more
powerful your development chops become, the less you have to worry about
landing a job. Take care of the important things and the rest will work
themselves out.

You might try your hand at contributing to open source projects. Find one that
interests you, watch the flow of communication and code publishing, learn the
code well and then work to insert yourself into that flow with contributions.
You will get great experience with being part of a development team.

You might also try your hand working on some of your own ideas for things
which can bring in some cash. Start small and try a number of ideas. This is a
great learning experience because you make mistakes and then adjust, the same
thing that every start-up has to go through.

------
iqster
You may also want to consider quantitative finance. They will likely welcome
you with open arms. In addition to python, consider learning C++.

I have some doubts about the social benefit of that field. But you might be
surprised how well they pay.

