I graduated from a programming bootcamp about 6 years ago. I decided to go into full CS degree but my bootcamp instructors said to me "it is a waste of time and will cost you a lot of opportunity cost".
A lot of my friends from that bootcamp without CS degree already have good careers as engineering managers, senior staff software engineers at startups, or regular engineers (around junior and mid level) at Facebook/Google, some of them are content enough and stop improving, some of them are still improving. Meanwhile I still failed the interviews. (For some reason I have a history with many rejections. I got rejections 9 times from programming bootcamps and admitted into one, that changed my life. I also got rejected twice from a programming bootcamp that was known for "anyone can get in").
I didn't regret a thing. I'm glad I studied CS. (Disclaimer: I had 2 other unrelated degrees: Industrial Engineering and Biblical Theology, this is my 3rd career change). For now, even though I already graduated and worked at a decent paying job, I just started to revisit compiler and want to study all in about it.
In my opinion, tech field moves really fast, even a hardcore techies will have hard time and regularly experienced burnouts due to the fast nature of the field (cough cough, frontend dev and devops). But as long as you have passion, you can still be the last persons standing. It will last you a long time. I think people with passions will go above and beyond of what is expected from the regular job to practice his/her craft, and the world can't get enough of people like that.
As long as it is fun, would you mind? I don't mind. If CS pay only half of what it pays right now, I would still do it.
Your comment resonated with me. Sounds strange, but - any advice on finding a worthwhile bootcamp?
I'm in in the middle of a career-transition effort myself. I'm a ChemEng & do fine financially so the motivation is not money-based. Honestly though, the faster I can switch the better.
I completed a Graduation CS Foundations program (5 courses at Master's level university credit) and now I'm starting a Master's CS program.
I originally explored bootcamps but my impression (purely online based, no friends in the industry) was that it could be hit or miss and all were not created equal. Plus, the cost seemed high compared to other options. The online research leaned a bit more to the doom & gloom side but I figured reality was closer to neutral.
At this point though, I'm exploring all options to make the move as soon as possible so curious if a bootcamp might help speed up the process. The MS program will take 2-3 years since I will be working full-time in my current position (which I plan to complete regardless). I'd really prefer that my after-work efforts be more closely tied to my day job as I continue with such a workload the next couple years (not to mention the synergistic benefits).
Where are you located? I am at NYC. I recommend Fullstack Academy. I graduated from there, wrote a really long Quora answer that asks about bootcamp experience and got voted as one of the top viewest answer, I have since removed that because the current Fullstack Academy community (the community, not the curriculum) is not for me anymore.
With bootcamp skills, you can definitely land FAANG jobs. I know a person that did not go to bootcamp or CS degree at all but just study Data Structures and Algorithms and got a job at Facebook (since then the person got fired because of performance review, but landed at Google, and it seems that Google does not fire people).
Your MS program will not advance you toward making SE salary soon, so I believe that a bootcamp program probably will be a better bet. MS program though, will prepare you for a good CS foundation and will make you a well rounded SE overall. However, it has little correlation to the amount of money that you will be making, unless, you are so damn good and famous that literally FAANG will be knocking on your door.
There are too many things to study, and CS is not programming. Programming is not CS. You can program without knowing CS. If you want to optimize for money in a short amount of time, I recommend bootcamp, built a few projects, and then study the heck out of Data Structures and Algorithms. Make sure it is a reputable one and has support structure to help you find a job.
Also it helps to focus either on Frontend or on Backend. Thi will make your career transition even faster. I am a fullstack by choice. I don't recommend this path to anyone. It is too much trouble to keep up with the techs, and don't pay that much more (if it pays more) compared to pure backend or pure frontend. I just do it because one day I foresee to create my own company. I need to be a generalist.
So to summarize. If (goal === make more money within short time):
- Do bootcamp
- Make sure the bootcamp is reputable, has support structure to find you a job and optimize your resume
- Focus on either frontend or backend if you can
- Build a few projects (maybe 2 or 3)
- Study Data Structures and Algorithms
else:
- do MS
- just study whatever is interesting. AI, ML, Compilers, Hardware, Graphics, maybe build a small project in one of these areas. These topics are hard topics, so even just one project is hard to do
- still do Data Structures and Algorithms
I appreciate the in-depth and well-rounded response. I think this will help me develop a better short-term plan to supplement my current longer-term plan. Seems I should consider abootcamp instead of a summer course after this Spring semester.
Will bootcamp be valued the same if not looking for a FAANG job?
I'm in Texas so not dead-set on a FAANG intitially. I'd likely need to move to Austin to do so, which isn't out of the cards overall but not as feasible while still in my current career (also own a home). Needless to say, it would take quite a leap of faith to go full-on intobootcamp/relocation mode where a shot at FAANG would be in the cards based on proximity.
Your points about the MS program are well taken and align overall with my motivations for attending the program. While I want to get into SE or Data Science as soon as possible so that I can start gaining some reps & experience with the overall process (engineering, coding, even inter-office/workflow), I really want a solid core of understanding to build on because frankly, my long term vision for role and area of immersion is yet to be solidified.
Coding is certainly the hook that landed me on this path as I've dabbled here and there for most of my life (arduino,raspi, light scripting at work, C++ in high school) but I suspect I'll eventually be after something besides hammering out code for a bank or similar enterprise where I'm just punching time. (Apologies if I'm leaning on a webcliche; still learning about all the different roles and opportunities from the outside-looking-in).
The courses I completed in the Grad program were DS+Algs, DB design, Comp arch & OS, and etc. I enjoyed learning the concepts and ins-and-outs of all, albeit with DB probably lowest on the list. Massively useful obviously, and learning SQL, relational theory, data modeling & normalization was interesting but again I suspect I wouldn't want to work exclusively on the DB side long-term. I did come to see the connection between relational models, set theory, and object-oriented programming so I definitely see the value of having a CS core.
I suppose that's a long winded way of saying I want to program but don't want to purely punch code. Overall, I enjoy writing code & working with algorithms and time seems to melt away when working on programming projects for school (same cannot be said about my current eng career). But, I am also equally drawn to the math and science side of things - both the ML, AI (data science?) side and the "effect the external world" side (robotics?).
For the MS program, I'll be declaring ML specialization but plan to use my electives to take AI, comp vision and other courses that satisfy much of the perception & robotics spec.
In the meantime, my short-term goal isn't necessarily to make more money. It's to cross-over from my current engineering career & industry into the software/tech/data-science realm ASAP.
I have several years as a ChemE under my belt, so as a new entrant I expect to take a pay cut initially anyway. Long-term, I understand I could eventually outpace my current financial path but overall that's not the primary goal or driver when all is said and done.
Hopefully a bootcamp might help with the short-term goal, while I continue the MS for the long-term aspirations.
According to my experience, reflecting on myself and my non-CS friends' interviews at FAANG (I know 3 non CS friends that worked at FAANG), I was grilled harder during interview at FAANG companies because I have a CS degree compared to a bootcamp graduate.
It seems that you already completed some courses on your grad programs, I think that's a good thing. I heard college these days are partnering with bootcamps to help mitigate the gap between CS curriculum and real SE work, why don't you try to find out if your CS dept has a similar program?
Also it looks like you have coded before. Bootcamp is geared toward a complete beginner, like, never-touch-a-code-before-beginner. So the first 1,5 months (out of 3 months) will be introduction to programming concepts. Therefore I think it will be a waste of time and money for you to do bootcamp then. In NYC, Fullstack Academy is about $17.5k now.
If you can stomach watching and learning yourself, watching video for hours, I recommend just going to Udemy and buying one/several of those tutorials and do it your own. Without bootcamp, you also will need to grok resume your own, find job opportunities your own. I think it is fine to be honest, as long as you have a few good projects and good at DS + Algs, you won't have problems in interview.
Another possible path to take, once you finish your CS degree is to interview at banks that will train you at real world projects (I think these banks only take CS graduates). I actually just had a friend recently, just 1 month ago, that got a $100k/yr + $10k signin bonus on a training program at BNY Mellon, and he just graduated and he isn't that strong in his programming skills currently. Not bad at all.
Looking at your interest, I think you'll probably get bored quickly at average SE jobs, but hey, after you finish your MS and get your first SE job, with ChemEng under your belt, the world is your oyster. Create a new ChemTech startup!
A lot of my friends from that bootcamp without CS degree already have good careers as engineering managers, senior staff software engineers at startups, or regular engineers (around junior and mid level) at Facebook/Google, some of them are content enough and stop improving, some of them are still improving. Meanwhile I still failed the interviews. (For some reason I have a history with many rejections. I got rejections 9 times from programming bootcamps and admitted into one, that changed my life. I also got rejected twice from a programming bootcamp that was known for "anyone can get in").
I didn't regret a thing. I'm glad I studied CS. (Disclaimer: I had 2 other unrelated degrees: Industrial Engineering and Biblical Theology, this is my 3rd career change). For now, even though I already graduated and worked at a decent paying job, I just started to revisit compiler and want to study all in about it.
In my opinion, tech field moves really fast, even a hardcore techies will have hard time and regularly experienced burnouts due to the fast nature of the field (cough cough, frontend dev and devops). But as long as you have passion, you can still be the last persons standing. It will last you a long time. I think people with passions will go above and beyond of what is expected from the regular job to practice his/her craft, and the world can't get enough of people like that.
As long as it is fun, would you mind? I don't mind. If CS pay only half of what it pays right now, I would still do it.