I've been thinking about this for years, and wish I'd asked this earlier. Here is my rationale:
--Work with people who have more similar personalities/outside interests/sense of humor as me
--Sick of envying developers have fun, make cool shit, and make money
Here are some details:
--I work as a quant doing research at a firm on wall street (recently got masters in financial engineering). I thought going into finance my salary would surpass ~200k after a few years, and as a developer, it would max out around that level. But, my salary now is about 100k (w/ 25k bonus) and I feel like I could be making way more as a developer right now...and I'm always thinking "that could be me" about my developer friends.
--Whatever I need to get done, I kludge away (usually in Python, R, or C/C++/C#) until it works; I have no concept of elegance in this context. Also, I'm usually the only one writing the programs--I've never worked in a collaborative development environment, since I mainly do research. I'm not sure how to get from this level to being a developer?
--I write programs to analyze data, which frequently involve machine learning/AI algorithms. Are companies looking for this in a web developer? Or should I try to tailor my skills more towards a data science position? Or is there a path you would recommend particularly for someone with this skill set?
--I want to stay in NYC
What I'm hoping to get out of asking this question on HN is some guidance to help me realize if I'm on the right track, or if I should completely change my life and go down an entirely different career path as a dev. I'm pretty lost when it comes to the tech industry right now and am glad I started reaching out for help. Any advice you could give from your experience in this industry would mean a great deal to me.
You would be abandoning a true niche skillset: there are some positions that are open only to people with an MS in FE plus C++ plus x years of industry experience plus a cogent answer to "What happens when there is a race condition between an Order Cancel Request and Executions? What FIX tags are involved? Give me an example". Many people would seriously envy you if you told them what you do.
BTW, many startups (not all) are all about the kludge : they are always in a time crunch and that's why languages that allow rapid iteration such as Ruby or JavaScript (quick wins, but long-term technical debt accumulation) win out over the more sturdy-but-time-consuming enterprise choices such as Java or C++. If your startup may not even exist 3 months after inception, it makes sense to rapidly discover if we can even get customer no. 1. For Goldman Sachs or other big bank with deep pockets, they can afford to allow you time to do things the right way from day one.
For some people, kludging is a personal habit. It is a dangerous one. One suggestion I have is to spend at least an hour daily on reading.
The way I see it, you only need a change of job to a better pay and more respect than $125k in NYC. You may be happy after that + finding more like-minded friends outside work? (maybe attend some tech meetups on meetup.com in NYC?) If your heart strings still tug at you, you can always consider switching over :-)
I used to work in the financial industry and switched over to a startup recently, but it was a decision that made sense for ME, not necessarily others. If you want to talk to me, please don't hesitate to contact.