4 ms·
Ask HN: Your thoughts on returning to college to “refresh” a career?
I'm curious as to how much it helps, in particular for a software engineer. A bit about me. I'm 35, male, unemployed and unmarried (so I don't have much financial backing) and don't live in a tech hub. I went to a fairly standard state school for a non-STEM degree to get into web development.
Now I know web development can have the potential to provide a stable, well-paying career. I have not seen this much in my experience. I've only been contracted by very small companies for putting out fires, or for projects that they don't want their "core" employees to work on. These places underpay a lot to contractors, and do not make any permanent job offers to me. My professional network is also weak. Nobody I know is looking to hire software developers. I think my reputation works against applying to large companies.
As for my goals, it is to work in high-performance computing, in particular with aerospace. My example: adaptive resolution grids for fluid simulations. My reality: CRUD apps and CMS websites for small-med business clients.
Obviously good experience and talent can overcome that, but that's a lot easier said than done. I did not receive a lot of good experience, and see myself as a mediocre developer. So what are your thoughts about returning to college and doing it "the proper way"?
The plan is getting a CS degree at a better school, get one or more internships from reputable tech companies, build connections with people from those companies, and receive full-time job offers. There are a few stated theories made about the hiring pipelines of many of these companies, giving new grads an ironic strength.
- itamarst 9y agoGiven plenty of time I'd probably focus on e.g. contributing useful code to open source projects (maybe scipy, numpy? not sure what aerospace involces). Probably cheaper and definitely faster than college, and doable in parallel to paying work. You'd have to ramp up some on your own, of course. But then you can point at real scientific computing code, which is better than "and I took some classes".
- camus2 9y agoIf you can afford it by all means. It's never too late to go to College and get an education but you need to be highly motivated. Also don't neglect Math, in fact, I you can get a Math degree it's even better. My 2 cents.
- tptacek 9y agoMultiple years is a lot of opportunity cost, and while it is probably tough to get a sci programming aerospace job without at least a CS degree, (a) you might not manage to land a job in such a narrow specialty, and (b) even if you do, you might not earn back the lost wage, especially because you'll be sort of tacitly acknowledging an EXP "reset" and starting from a lower salary rank. These are obstacles you can overcome if you have a lot of career and negotiation savvy. But the Venn diagram of programmers with that kind of savvy is not encouraging, so you may want to do some personal reflection before investing. The good news is that if you want to get away from piecework web grunt stuff, you don't need a degree (or even any formal education) to do that. If you apply yourself as seriously as you'd have to in school to practicing serious development, on personal projects, in specialized areas that are interesting to you, have some job market applicability, and involve more hardcore programming, you should be able to get yourself to a place where you can start interviewing for serious dev jobs.
- x0x0 9y agoThis is good advice. A lot of those scientific programmers have at least a MS in amath or an engineering discipline. PhDs are extremely common for the people writing adaptive meshers for fluids. Plus they are pretty good programmers. Experience building websites and an undergrad CS degree does not get you that job. In fact, an undergrad CS is (imo) a waste of time. From CS, all you need is programming skills / data structures. You need a graduate level understanding of PDEs and linear algebra to do most fluid work.
- djellybeans 9y agoThat shows how much I need to go back to school to understand the different disciplines in the field, as I didn't know most sci-tech programming is reserved for PhD's. But what if, while you are going for your undergrad CS degree, you get internships from places doing heavy computing? I've read several accounts of undergrad students getting internships at JPL/NASA and NVidia, so it should be possible at least to get interest from these places.
- 9y ago
- mandliya 9y agoCollege education at least to me is a scam. My wife recently started her school because she can’t work here as she is on a dependent visa, and the only way she could work here is to get a student visa. Paying 48k a year for 10 week courses per quarter which she could have easily learned from coursera in much better way. I feel per course fee is too high for a ten week more or less too fast and superfluous study. I honestly think you could brush up your skills through coursera and other tools and then present your work through github and LinkedIn or your network. I know you need a bit of luck, however if you have good projects, you will get notice the coveted tech company recruiters. I have friends who took this path and are successful. This will save you a tonne of money (those loan payments are nasty) and working hard would be common denominator.
- santaclaus 9y ago> My example: adaptive resolution grids for fluid simulations. You aren't going to get any real exposure to this through a CS degree. The action here is happening in Applied Math, Aerospace Engineering, Mechanical Engineering, and similar departments. Some schools (like Caltech) have more specifically tailored Computational Science/Engineering, but that is pretty rare.
- djellybeans 9y agoWhat do you consider to take for one of those engineering fields? I'm thinking of UIUC (they have aerospace as well) and curious to know which schools are most targeted for internships and job recruitment related to engineering.
- limeblack 9y agoTake the math classes at a community college and transfer. It will be cheaper and help you figure out if its a good fit. I tried CS and couldn't do the Math above Calculus 1. UIUC is a great school and by no means easy. I have friends that graduated from there.
- Mr_P 9y ago> As for my goals, it is to work in high-performance computing, in particular with aerospace. My example: adaptive resolution grids for fluid simulations. If this is what you really want, then just do it! Research whatever you need to implement a fluid simulation program, stick it up on github and put it on your resume. Doing so accomplishes several major things 1) it makes it extraordinarily clear to employers that you can actually do the work that you want to do 2) it makes it clear that you can teach yourself to learn whatever else you might need to know to do the job 3) it demonstrates the kind of self-motivation that "reputable tech companies" look for Alternatively, find a Coursera course on something you're interested in and just do it. You won't get much more out of college than you can from free online courses.
- matt_j 9y agoThe Coursera recommendation is spot on. MIT Open Courseware would be worth looking into as well. Studying a few mathematics and programming courses would put OP in a much better position to determine the next steps. I finished a comp sci degree with a major in computational mathematics and I don't feel like I could accomplish very much with my bachelor level skillset in an industrial context. I didn't learn enough mathematics in 1-2 years to be a good applied mathematician. I wish I did a mathematics degree in hindsight!
- ianai 9y agoI second this so long as s/he’s willing to invest the time to learn any required math. I’m thinking a self learner needs to signal some deeper understanding somewhere. Software really does lend itself to self learners though.
- slavik81 9y agoMy recommendation for self-study would be to borrow or purchase a copy of "Fluid Simulation for Computer Graphics" by Robert Bridson. It is by far the most approachable resource on eularian fluid simulation that I have found. I would warn, however, that it took me a nearly a month to build my fluid simulator[1] after reading. I didn't have any good reference implementations to follow when I built it, and there's a lot of little details to get right. My code still has an annoying bug that appears when building with optimizations on Haswell or later, and I need to clean up the code a little, but it should nevertheless be useful as a reference for the features it implements. That said, being at a university really does help. There you're surrounded by other people who understand the linear algebra and vector calculus concepts you're working with... or, at least, in grad school you are. Having people you can talk with makes quite a difference when you're confused or unsure about something. It also makes this sort of study feel... normal. He's also not going to achieve his goal without years of heavy study. Doing this in his off-hours may be fun and rewarding, but I think he's unlikely to successfully reach the point that he's impressing aerospace R&D. Of course, I'm not sure an undergraduate degree in CS is really going to do it, either. A graduate degree maybe, but I'm not sure it would be easy to skip undergrad. If not, an undergrad degree in physics or mathematics might be a better complement to his existing experience. Others have pointed out that the opportunity cost for going back to school is tremendous. They're right. For a basic estimate of the cost, he can multiply his current earnings by at least four. It's probably enough to buy a house, but that's what dreams cost. Is it worth it? Well, financially no. The satisfaction from achieving that dream might be, though. That's up to him. [1]: https://github.com/cgmb/euler/blob/master/README.md https://github.com/cgmb/euler/blob/master/README.md
- raintrees 9y agoIn short, what are you working on in your side time to move this forward? College can be an expensive (time and money) way to do something you can do with other resources, unless the credentials are required for that career/field. In software work, I have personally found that my side projects teach me the skills I in turn use to sell solutions to clients. So as long as I put myself to learning that which I want to work on, I make ground, slowly getting paid ever larger amounts to work in the field I targeted. In your case, HP computing, probable heavy math ability? As my talent grows, I spend less time on CRUD-type stuff and more on my chosen pursuit. And in my experience, people who _do_ have more value than people who know but do not do... And I personally favor hiring someone I can teach the specific skills to, if they already have the proven background of "getting things done" (Spolsky reference).
- objclxt 9y ago> My professional network is also weak. Nobody I know is looking to hire software developers. I think my reputation works against applying to large companies. Being honest, I don't know if the degree itself is going to help you. What's going to help you is the networking and getting real-world experience. Perhaps going back to college might help with that, but I also think you could equally get it elsewhere. When you submit your resume to a large tech company on their job site the chances of it getting to a hiring manager are exceptionally slim. If you actually know the hiring manager - or know somebody who knows the hiring manager - your chances are exponentially higher. If your background is non-traditional the absolute best thing you can do is seek out and network with other engineers, many of whom will be more than happy to help mentor and provide references for you. > and see myself as a mediocre developer. So what are your thoughts about returning to college and doing it "the proper way"? A CS degree doesn't qualify you as a good developer, in the same way that my film degree doesn't qualify me as a good film-maker. I must have done several hundred interviews when I was working at Apple, and I don't think I really paid attention to the candidate's major at all: it was never a good indicator of performance. I can't tell you whether going back to school for a CS degree is or isn't the right decision: what I can tell you is that if you do go back you should absolutely concentrate on networking, building connections, and getting as much practical dev experience as possible. All of these will be far more valuable to you when it comes to getting a job than the academic content of the degree itself.
- djellybeans 9y agoRight now, what I am doing is going to developer meetups, talk to them after the seminar is over and get their business cards. Then I reach out to them and ask if they know if their company's hiring. Sometimes I get put in the interview process and fail, but most of the time I hear that they don't have anything appropriate for me. So it's not much just considering college education for its classes as I am for the reputation of going to one of the better ones. Joining academic clubs, going through applying to internships. The path of least resistance to getting $BIG_CORP on your resume is by interning as a student. It's easier to get in that way than as an experience developer, where you'll be evaluated more harshly. I mean, would most MOOC's provide students access to career fairs and internships at $BIG_CORP? Also, as someone approaching middle-age, I would be taking my classes more seriously than many students 10 years younger than me.
- davidwihl 9y agoYou should ease into this by taking some online, full credit college classes at a named institution like Harvard Extension, UCB extension or Georgia Tech for example. Given you already have a bachelors, why not go for a masters which be more distinguishing than another undergrad degree. If you enjoy the classwork and find it helpful to your career, you can dedicate an increased percent of your time. We're all lucky that there are so many choices available.
- davidwihl 9y agoFor example: https://www.extension.harvard.edu/academics/graduate-degrees/software-engineering-degree https://www.extension.harvard.edu/academics/graduate-degrees...
- weston 9y agoOregon State also has an online computer science post-bacc program. I believe it's the same degree that on-campus students receive. You can do it full time in one year or take one course a semester and do it in four years. I believe the course is about 28k total iirc.
- bartart 9y agoI am in college right now, and after one year I and a friend got summer internships. I made $43 per hour and my friend got just under $8000 per month plus heath insurance, which was nice because she is on Medicaid. I was surprised I got an internship because my grades aren't the best, but I did apply to a lot of places. This was after freshman year of college, so neither of us had taken more than five CS classes, in total, in our whole lives. Neither of us had any programming experience before coming to college. Over that summer we were both able to pay off our first years worth of student loans for the tuition that finaid didn't cover. A different friend of mine took last semester off to work at Apple, and got free housing right by the new spaceship campus thing. There are a ton of recruiting events on campus, and the place I worked over that summer offered to hire me part time over the year. Obviously life isn't all about internships, but being able to pay tuition and send money home is a giant plus. People say college is lame, but I think if you can get in somewhere decent or even not that great it would be a good choice. I also know a ton of transfer students from community college who are in their mid to late twenties and less commonly in their thirties. You could always just apply to some places and see how that goes before making a final decision. One other thing is that I am taking a lot more math than I thought I would have to when I came in as a freshman, so just make sure you like math.
- pkaye 9y agoWhat was your previous degree and work experience if you are willing to disclose?
- djellybeans 9y agoThat is pretty good. I have never made that much money in my life and I have 10 years software experience. So my self-taught nature has its limits. I see a few people here telling me to consider the loans, but developers with a BS in Comp. Sci tend to earn more than most other graduates (on average) right out of college. At least for now, it is one of the most bang-for-the-buck majors. My goal is to get into a good internship each summer. I'm looking to emphasize in math as well as I took some CS coursework previously (OOP and discrete structures) but it was not enough to even minor in it.
- jpasmore 9y agoI would highly recommend that you pursue this. I'm quite a bit older than you and am pursuing and CS degree at Columbia part time as a General Studies student. My motivation is different than yours in that I don't see myself writing code professionally, but believe understanding technology, from logic circuits, to math and data structures begins to reframe how you think/how I think. Also learning within a university setting is a great addition to all that you can continue to teach yourself remotely which is generally more tactical, like learning R via Courseworks. You may also find that the diversity in the course-work may point you in a direction where you're more naturally drawn. Maybe you'll find a different path, meet your future wife, meet a business partner, or some other unexpected outcome. At the very least you will learn something. All the best...
- bra-ket 9y agoI studied at the same school while working full time (got my bachelors when I was 39) It was a great experience, besides taking CS courses and Columbia Core I've also done some undergrad research in machine learning in one of the labs. It helped landing a job in R&D while I was still studying. I'd recommend to contact professors doing interesting work and volunteer as a 'research programmer', previous SW dev experience helps a lot. They get free labor and you get to work on exciting stuff that changes your career.
- dilap 9y agoYeah, definitely, go for it. Do some math and maybe physics too.
- bbimbop 9y agoBefore taking on debt you should truthfully ask yourself if you did everything in your power to advance. Did you even apply to any jobs you want? Or, did you assume you were not worthy and give up. You identify your own shortfalls (such as your geographic location), but demonstrate no action to change the circumstance. In addition, even Harvard degrees guarantee nothing. There are so many people with the top degrees who are "unsuccessful". If I am not mistaken at least one top employee at Steam started his career at Waffle House. What a genius. https://www.polygon.com/2013/2/1/3941274/gabe-newell-steam-box-talk-ut https://www.polygon.com/2013/2/1/3941274/gabe-newell-steam-b... All this said, education is the best investment you can make. Why not just work your hard to get a better job and then take night classes toward a masters? Find some medium size company who might even pay for it and work toward your dream. Best of luck to you!
- Mz 9y agoA bit about me. I'm 35, male, unemployed and unmarried (so I don't have much financial backing) The lack of a spouse also means you don't have a lot of responsibilities and are fairly free to go where you want and do what you want (assuming you mean: childless and generally unencumbered). and don't live in a tech hub. This might be your real problem. Re college: If you can get enough in the way of financial aid, like grants (not loans), and can use school as an excuse to move someplace that has more tech jobs, even if it isn't a major tech hub, it might be a good move. You are currently unemployed. If your resume said student instead of unemployed, that would be a better position from which to market yourself. Another option: Look for gigs instead of a job. Put "freelancer" on your resume instead of unemployed.
- hw 9y agoWith most colleges (especially in CA) not taking in students who already have a degree, your options are limited to private (Which costs more) or lesser known and less popular colleges who probaly aren't the top tier of STEM schools. That means taking on 4 years of a lot of debt and probably no income, which is worth thinking about. I wish schools would not turn away students coming back for a second degree especially if the first degree didnt pan out in terms of job prospects, or if it wasn't what they wanted to do in the first place.
- TYPE_FASTER 9y agoInternships and connections will definitely help. I've personally started a couple co-op programs that resulted in permanent hires. I'd look at TopCoder and other coding competitions for experience. I wish I had more time to do them myself. You can also gain experience with CRUD app development. Being able to quickly troubleshoot through layers of CRUD, tuning performance by figuring out what the bottleneck is, etc...time spent investigating and learning is good experience.
- probinso 9y ago>> I've personally started a couple co-op programs that resulted in permanent hires. Do you have any notes about this process? I would love to understand what it ment to accomplish this.
- TYPE_FASTER 9y agoIt's pretty straightforward to get co-op students to come work for you. It's harder to manage them in a way where you both succeed. 1. Find a local university that is known for their co-op program. They will be looking for companies to sponsor their students. 2. Write a job description and post it on their job board. 3. Interview. Remember they don't really have much experience, especially if it's their first co-op. You can walk through FizzBuzz and other standard programming questions. Give them an open ended problem to see how they think about solving it. 4. Onboard the co-op(s) you end up hiring. It might be their first job, so provide clear detail on expectations and leave time for questions. 5. Give them really simple assignments at first, just like you would any new hire, but with more direction. Have them reproduce a bug. 6. Ok, now tell me how you're going to fix that bug. Put it in an e-mail, and we'll review. 7. Ok, let's step through it together in the debugger (many co-ops do not have that experience). 8. Ok, let's work through the release cycle to get it into the dev environment. 9. Ok, now let's work with QA to get it into test. 10. Ok, now let's work to get it into production. 11. Goto 5. 12. Three to six months pass... 13. Co-op eventually graduates! Now they're looking for a job, and reach out to you. 14. They have experience with your codebase, and you know what they can do, so you hire them.
- probinso 9y agoI'm in this now. Usually for web development I would argue that returning to school will be an ineffective way to join the market. High performance computing and aerospace will likely require a return to school. A few things to note. Not all graduate schools require a undergraduate degree in a supporting field, nor GREs. Its worth considering graduate school over a undergraduate degree in computer science. A graduate degree will support your current goals better. If you return to school, consider being part time student and working for your department in your remaining time to ramp up your skills. Most universities don't pay much, but are more than happy to work with fresh meat. additionally the more students you interact with in a technical setting the faster your network will grow. growing your network can also be accomplished by other means. I suggest meetup groups if they exist in your area. If your Meetups support talks, be sure to sign up for some. The other choice is open source contributions, which is much more work but grows your skills in remote work and enables you to take similar contracts.
- subpixel 9y agoI admire your goals, but my advice is to double down on getting to the the next level career-wise as a web developer. Don't throw the skills you have under the bus in pursuit of skills you think you need. The sort of community and connections you imagine academia providing you is actually already available. Pick a project or framework or ecosystem and contribute, a lot. Build and share projects that other people, esp. developers, can find useful. I think this will grow your network in more quantifiable ways than would competiting with 22-year-olds for internships. But ultimately, just follow through and your passion will get noticed. I'm not suggesting the college route would not work. But I went to grad school (non-stem program) with a couple 30-something students who hoped being back at university would light a fire under their asses and resuscitate their careers and it did not. Don't stop dreaming big, but start building your career today, building on your current foundation. Best of luck.
- Sir_Cmpwn 9y agoIf I were ever to go to school, it'd be for something other than CS. You're already an expert in your field with that much experience under your belt! If you want to do aerospace and want to go to school, you should look into an aerospace degree imo.
- scarface74 9y agoThe “better school” has little to do with jobs most of the time. I graduated from an unknown state college in a small town with a CS degree in 1996 with a very poor curriculum and within three years of graduating I was able to compete for your standard developer job. There were a few things I had working in my favor. By the time I went to college, I already had six years of hobby programming experience and I got an internship as a computer operator the year before I graduated in a major metropolitan city. They gave me a job the next year and I used that and studying to be competitive. I don’t see how “going back to school” will help. Get a job as a developer - even a poorly paid one - in a major metropolitan area with a lot of software developer jobs, network with some local recruiters in the city you decide to move to. Find what skills are in demand and start learning. Put some side projects on Github to build a portfolio. You already have experience, learn how to leverage it in your next job.
- peteretep 9y agoJust want to pimp this a little: http://www.cs.ox.ac.uk/softeng/ http://www.cs.ox.ac.uk/softeng/ It's: - MSc - University of Oxford - Very easy admissions -- you can "prove" your way on to the course by taking a few modules and doing well in them. No undergrad required, either. - Part-time and meant to be worked around a real job - Comparatively cheap ... ~$40k spread over 4 years You will need to be physically present in Oxford for 12 weeks over 4 years, but there were Americans who were making it happen (and plenty of non-UK Europeans + about 50% British). People take an MSc from Oxford on your CV seriously.
- jnwatson 9y agoIf you do go back to school, I'd strongly recommend going straight for your Masters in a program that is known for HPC. Regardless, reach out to the other science departments to find HPC-related projects. I ended up getting an undergraduate fellowship helping a mesoscale weather simulation project.
- acomjean 9y agoWhat your asking is pretty much what I did. at 28 I was tired of my civil engineering work. I started taking grad classes interned at IBM. I ended up getting a masters in CS. I was at a start up in my last year of grad school that ran out of money, so when the chance came up to work on a radar project that had 6 years of funding, I did that. The internships that a school can help you get is probably the biggest help. I ended up working on operating system stuff for my first post grad school job, so those classes were very useful. Now I'm leaning on my database and algorithms classes for my work. Big companies like the degree. Go for it.
- mendeza 9y agoI did something very similar. I went to grad school to focus on a specific field of computer science. University is an amazing place. Classes are not the thing thats valuable. To me its the time, freedom, and the environment to really dig deep in your course topics, or gain experience in areas that really interest you. The one thing I learned at university is there is soo much opportunity to do research. A lot universities have a computer graphics department or a lab that work on fluid simulations. Working at a lab provide you a ton of opportunity to connect, network, and gain experience where you want to go is right there. I went to grad school to focus pursue a career specializing in Augmented Reality, and being in this environment has helped me get much more exposure and networking in that field than working on open source projects or building side projects.
- convolvatron 9y agoi did this at .. i think 32. i'm glad i did, i did't go to undergrad, so I got to learn algorithms and theory and some other things. completely unprepared for the social reality of being a student at an associate professors age. its also pretty difficult looking at some of the material from the perspective of a commercial developer. in your case it depends alot on whether or not you want to work on the physics side or the code side. if its the former your choice is pretty clear, if its the latter I think you'd be surprised at how starved HPC is for talent of any kind. if you're already in the US lots of labs hire pretty junior people and there is a fair amount of room you can grow just on your own inertia. there are also alot of fairly junior positions in industry in sales engineering and related roles doing benchmarks. if you show an interest there is room there also to grow into at least maintenance development. again, if you are in the US - LBNL/NERSC/UCB is a great place to do work in adaptive grids. see if you can meaningfully get employed in some support role and pivot. they are also really nice people and would love to let you grow into a role. another advantage of working as staff, even junior staff at a university or associated lab is that you get access to courses as a non-matriculated student. that way if you do want to take grad level scientific computing or analysis or discrete time domain pde solutions everyone is perfectly happy for you to go to class free from 2-3 MWF anyways, if you're sure that fluids is your future, maybe just try to cut to the chase a little. hope you are ok with fortran though.
- juancn 9y agoCS is fine, but if you can do it while working. You don't need the degree per-se, just gain the experience and the knowledge. I"m a college drop out (I could in theory get a bachelors with if I do the paperwork and I'm 95% to an engineering degree). Prioritize learning over "labels". Most of the learning happens on the job.