Ask HN: How to safely switch to programming?
Unfortunately, I'm getting "out-networked." I understand GPA isn't everything, but it's disappointing to hear that I have a slim chance at banking just because I'm not emailing/cold-calling 3 investment bankers a day. I'm working my ass off so I can get an internship where I work 100+ hours a week doing stuff I don't even know if I'll enjoy. Note: neither the 3 emails / cold-calls per day nor the 100+ hours a week is an exaggeration.
I've never looked into a software development internship. I'm consistently one of the top students in my EE programming classes, but I'm definitely not as good as the kids that have been programming since middle school. But at this point, I'm sick of recruiting for business internships and seriously considering switching.
I came into the business school thinking it would give me a broad array of choices, but it's funneled me to either investment banking or management consulting. I feel like I'm better suited for software development or a startup, but I'm afraid of risking a safe / prestigious job at an investment bank after I graduate.
I know it's "never too late," but I feel like my software dev prospects are nowhere near my banking prospects with about 1.5 years to graduation. What should I do?
45 comments
[ 4.2 ms ] story [ 67.5 ms ] threadThat said, I've discovered on "the outside" (of college) that I don't really like being the analytics guy, the banker. I'd much rather build products, make things, have skills which enable me to do. Often, work in banking (be it sales or analytics or underwriting or finance or whatever) can feel pretty disconnected from the real world. For instance, I've worked in risk management, and now in credit administration, and while I'm very good at what I do, it doesn't excite me the way building products for the web does.
The key, in your position, is to determine what drives you. Do you like being the analytics/numbers/finance guy who is a whiz with spreadsheets, analytics, finance/accounting, etc? Or deep down do you harbor the desire to make things: software, web apps, mobile apps, etc.
At this point, put aside concerns about making tons of money or being "successful" after graduation. Thinking about those things will just muddy your thinking. And the truth is that there's good money to be made in either arena.
Think about whether you want to analyze or build and I think you'll have the answer to your question.
In my case, I've often wished I would've made the transition no matter the cost, so that I could be working in software development now. Since I didn't I now have to pursue a long-game of developing the skill-set on my own and eventually slowly working my way into the field.
It sounds like you expect all banking positions to pay a ton, be on Wall Street, require 100+ hours a week (and 3 emails/cold-calls a day), etc. This is certainly not the case in any of the non-Wall Street positions I've worked. I've always worked no more than 40 hours a week, received decent benefits, good salary, paid bank holidays, competent co-workers, etc.
I'm sure positions like you describe exist, I just don't think they're indicative of the vast majority of the banking and finance industry. Broaden your perspective and you might like what you find.
If not then yes, commit to change gears. Particularly if you really enjoy the software development stuff (like I always have). Don't focus on whether you do well at it, but instead on whether it is rewarding to you. If it's not rewarding to you (software development related classes) then you'll hate working as a software developer. However, if you find the programming you do in those classes rewarding then definitely make the switch, because the banking/finance world can be a very frustrating place for someone who'd rather be making things with code. You have some semi-technical skill-sets which may or may not get any respect, there can be a lot of egos run rampant, and banks are notoriously slow to adapt and innovate.
That said, if you can find meaning in the banking line of work, it's not a "bad" gig per se, it's just not quite as satisfying personally as programming is.
To be honest, my biggest interests are in statistics, programming, and finance (in that order). The most natural intersection seemed to be working at a proprietary trading firm. Unfortunately, I applied to over 25 prop shops with no success. I haven't heard of a single alumni from my school in trading; they typically only hire out of MIT, Harvard, Stanford, UPenn, etc.
After no luck with trading, I figured banking would be the next best option with numbers and finance.
Just out of curiosity, do you program in your free time? Do you think you'll eventually make the transition from banking to software development?
Also "math / engineering" is usually good enough to bypass the HR "must have degree" wall at companies where that pertains - at least to the point that you have the same chance anyone does to pitch them on interviewing you.
Things you can do that beat "switch majors" in terms of improving employment prospects:
You also have to ask yourself, what are your goals for this? Are you looking for a comfortable W-2, or to spend some time working at startups, or to start a business of your own within a few years of graduating?The biggest problem is I know absolutely nothing about the recruiting process, job requirements, internship duties, etc. for programming roles. Since the start of 2013, I've worked a bit on my coding and published very small projects on GitHub, but I haven't done much else in terms of seeking an internship.
I'm most worried about switching my focus entirely from banking to programming and missing out on a banking internship. If I don't do investment banking this summer, I basically have no chance at a full-time investment banking position. And although I've made it sound like I absolutely hate banking already, there is a chance I could enjoy the internship and the full-time position.
I'm pretty sure I would like a programming role more, but again, I don't know where to start for recruiting. And I'm afraid that working for a small tech firm this summer may not help much when I look for a full-time job after college.
Also, don't forget that "working hard" is more of a signal than a legitimate ethic – a signal that you can be used. Try to take some time for yourself. Walk around and really look at the world. Think about the meaning behind things. In the time you spend doing this you'll acquire wisdom that will be essential later on.
College, and much of your 20's and even 30's, is the time where you figure stuff out. Try business/banking - don't like it? Try web development. Don't like it? Switch to something else. And then when you're 47 years old you'll realize that you want to change again - and you'll do it too.
Of course that's far easier said than done; I'm not trying to tell you switching is easy, it's not, but I am trying to tell you that you're not locked in to any one path.
I've interviewed and hired quite a bit, and I can tell you that any programming internship is a good internship. Having some real world experience is good, even if I've never heard of the company you interned at.
You don't have to know what you want to do with the rest of your life. But my advice to you is to pick something and go hard for it. Don't worry about whether you're making the right choice. Just make sure that whatever path you take, it's something you're going to learn and grow from. The only way you can lose is by not making an affirmative decision on your current direction. You're young as hell, there's plenty of time to pivot. How do you know when to pivot? When you have ceased to meet new people, learn new things about yourself, build new skills, and enjoy yourself.
I could be 8 years into some career job right now. Maybe I missed out on an opportunity to really press my claim in some particular direction. I don't think so though, because instead, I've lived in 8 different states, seen several different career paths, met fascinating people, built soft and hard skills, and learned an incredible amount about myself and what I value.
If you want to be a programmer, you can take some advanced level MOOC classes today. Overcommit yourself to it for a little bit, beyond your coursework. You can try to fix a bug in an open source product you use. You can volunteer your time for a startup in your area, and try to learn the ropes. Just start building. If you can make it clear that you're the type of person that will dive in head first to a tough problem and find a way to scrap together a solution, you will put yourself in demand in the tech world.
Good luck, and feel free to email me if you need any advice.
The best for you would be using HTML + CSS + JavaScript. You can use node.js on server side, it's on JavaScript. I think in 6 months you'll be able to build things you want.
If you want to switch to programming to earn money by working for someone, I'm afraid I have bad news for you. You have to spend a lot of time, cos others probably may have much better experience than you. And you will never earn enough. Salary is salary.
To be short: build your simple project, start learning with practice, not theory. Don't think about being software developer for hire.
Add machine learning and data mining to your skills. Play around with MQL4, and show them your chart. Get hired as a quant and earn tons of money.
http://www.collegeanswerz.com/i-graduated-high-school-now-wh...
http://www.collegeanswerz.com/the-process-of-exploring-your-...
I'm a founder -- AMA!
Best of luck with making your decision
I did my degree in mechanical engineer (mechatronics), and didn't have too much trouble finding employment in software. I graduated with no internship or professional experience. My graduating semester, I realized software 'was it', so I just strapped down and built a product (made no money) and released it (ios/rails/AWS). A few more months studying mobile development obsessively, I landed my first paying gig. It's been about a year since, and I couldn't be happier with my decision and progression.
But to be fair, my major heavily involved programming various robots/devices/languages since 1st year, so I had lots of programming experience upon graduation. But I imagine you are in a similar situation, or could be if you wanted to.
Since this is HN, I wouldn't be surprised if you have a curiosity/enthusiasm with trying your hand at the startup lottery. There's no better background to have than CS/Engineering for this.
So my advice is: find a sector from software you find interesting, build something and ship it.
You sound to me that you are a smart, bright and hardworking person. But for once in your life, you found yourself out-competed and out-networked and you are trying to "pivot" to another career. There is nothing wrong with that. Think hard about what you want. Are you switching to another career because it is prestigious?
You have the grades, so stick with your current course. You do not need a computer science degree to build a career as a software developer. Practical hands-on experience counts more than qualifications.
I believe that a multi-skilled / cross-disciplinary software engineer can expect to earn more money over the course of their career than a straight-up developer. The skills shortage (and therefore the demand) always seems to lie in-between disciplines.
Software development skills + math + business gives you a possible (eventual) avenue into quantitative development in the financial industry, which can be a lucrative career path should you chose to pursue it. (Be prepared to spend a significant amount of time (10 years?) building up skills prior to making the move, though).
Once you have finished your degree, you might consider doing a software-oriented masters degree, or spend 2-3 years with a small company picking up the basics. Your multi-disciplinary skill-set should stand you in good stead. If you cannot find a company willing to hire you, start one! Even if it does not work out, that experience will be golden. If you don't have any ideas, ask in this thread. I have a ton that I am never going to pursue. I am sure that others will pitch in as well.
You're on a good track. Stick it out. It's hard to get into banking/finance, so do that first while you have the chance just to see if you find something you like there. The software / product development world doesn't give a shit about credentials, so if that's where your passion lies you can also go there later.
But here's the advice: don't let them put the golden handcuffs on you. If you get out of school making $100k it's real easy to start wearing Armani and lease a BMW, and before you know it there's no job outside of finance that will pay your bills. Instead: buy off the discount rack, get a Honda, and save like crazy. If you end up hating your job, 5 years could be enough to build a nest egg to allow you to bootstrap your own startup.
I made God's Temple. I am the best programmer on the planet. I have divine intellect.
God says... I_don't_care Oh_Hell_No wont_you_be_my_neighbor do_it so_let_it_be_written so_let_it_be_written that's_much_better I'll_think_about_it that's_all_folks dance ouch so_let_it_be_written quit_it unemployment be_quiet_bird thats_laughable fabulous