Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: I will quit my job as a PM to join a coding bootcamp. Am I crazy?
155 points by tigertheory on Nov 12, 2016 | hide | past | favorite | 214 comments
I have an MBA from a top 3 school and have a high-paying job as a PM at a top 3 tech company. But I don't feel like I am building tangible skills as a PM, it is more about project management and coordinating. I think about the future and get excited about technology and the types of things you can build and contribute to if you know how to code (e.g. block chain, deep learning, etc.). I have a feeling tremendous opportunity will be available over the next 10 years to software developers while other disciplines such as management become less and less important. Am I crazy to make this career switch?



Yes you are. I'm a PM and researched this decision myself a few months back. Most of the "well regarded" bootcamps teach basic front skills (HTML/CSS/JS). You're going to struggle to get a job in any of the the exciting technologies you've listed with this skillset. It's also not widely talked about, but I get the sense that there's a bit of negative signal associated with these boot camps a la ITT/University of Phoenix. I'm not saying this is justified, but I do believe the association is there.

I think your general premise (that management is becoming less relevant) is true, but you're approaching the problem incorrectly.

If I had your goalset, I would cram hard on EdX, OpenCourseware, etc. You need a good first principles education starting with Algorithms, Data structures, etc. I'd also start to learn how to do SWE interviews, which are a whole other skill set.

One last note: even if you do all of the above, the best way to ensure you're working with cool technologies is to start your own company. I work for a major SF tech company, and our ML team is two orders of magnitude smaller than our monetization team. At the end of the day, companies exist to make money and a lot of the stuff you've highlighted is currently speculative/nascent. There's just not going to be many jobs until these technologies prove their financial value.


Former high salaried person who jumped ship for a coding bootcamp here with some quick thoughts.

1) The negative image of coding bootcamps on HN is worse than in industry, not the other way. There are plenty of coders who came from bootcamps now working in industry. I agree that you aren't as well regarded a CS major, but it is definitely better than self taught.

2) The things you listed he should do are pretty much the things you'll do at a coding bootcamp. If you can stay on a good course and keep yourself motivated, it is completely reasonable to think you can be in a similar position in the same time frame (with an extra 10-20k in the bank.) However, you should be very honest about those two qualifications. It's quite easy to get side tracked/not do as much work as you think you will.

3) You're right on about the new tech. The reason that we think it's cool is because it's the thing that everyone is talking about on HN. The reason there is so much traction with all of these topics is because there aren't a lot of applications for them and a lot of people are playing with them. I'd expect an entry level coding job to be writing REST APIs and front ends for CRUD apps. You might be pleasantly surprised, but I wouldn't quit your job expecting otherwise.

a) The thing that isn't frequently talked about wrt bootcamps is that you don't get a job after the bootcamp. I'd expect 30-60 days of applying and interviewing before you get the job, just FYI.


The best software engineers at my company are self-taught.


IMHO, if you are self-taught, have been able to build a portfolio of projects showing your skills with several of the latest technologies, your profile is much more valuable than if you have been to a bootcamp.

Going to a bootcamp shows you are just another good student, who can sit in a classroom for 10hours straight in a day, during 12 weeks, and get good marks.

When you are self-taught, you show that beyond your new technical skills, you have the self-discipline, and drive to learn and practice new skills from scratch, without someone holding your hand. This must be a skill that any employer would value highly. Employers would want their SW engineers to be autonomous, and have the self-discipline to initiate to keep learning, because with SW, you need to constantly learn if you want your skills to remain up to date. Teaching yourself SW is hard. If you manage to do that, the proof is there that you are passionate about what you're doing, because I don't believe it is possible to teach yourself SW without being passionate about it.

There are heaps of resources online nowadays to teach yourself SW engineering.


At good bootcamps, most people are already extremely self-taught. I had basically mastered jQuery, Python, and SQL when I went to a bootcamp (Hackreactor) to get better with algorithms and the latest frameworks.

It's really about how much money you have. If you've got significant savings like I did, it makes sense to pay as time becomes more valuable than money in your life plan.


This is more or less false. Most bootcamps don't give 'marks'. Most of them are also not lecture based. Instead, they are likely to assess through assignments and/or projects. They help you progressively build towards a solid base of knowledge while you work on building out a portfolio. I would say the accelerated time span is due to curated resources and the immediate feedback loop. Concepts that normally take a week or longer to grok from searching on the web, can be reduced to a few hours at a bootcamp.

You also seem to think attending a bootcamp automatically precludes a student from being able to provide themselves with continuing education.

There are different motivations for people entering a bootcamp and some are looking for that paycheck. But again, that does not necessarily make them a bad SW engineer. And if those people would like to keep their salary, they will learn soon enough that they will not get very far with stale knowledge.


It's clear you have very little knowledge of what happens at bootcamps. I would think of them more as a place where they give you a path to accomplish self study tasks than a classroom. Also, I don't know about other bootcamps, but I came out with a reasonable portfolio. That's a big part of the program.


The portfolio is usually not worth much. Each project has ~4 people working on it, so it's hard to tell how much credit / blame you should get for it. And since you were at a bootcamp motivated to see you finish, how much hand holding did you get from them? Another problem is that I've seen the same, probably 10 projects implemented dozens of times each at this point. They are all almost exactly the same, with very little difference in implementations. When I try to dive in and ask about implementation questions or how they would change it to support a particular feature or why they think this glaringly obvious bug exists, most of the graduates can't answer my questions, often because "oh, I didn't work on that part".

Don't get me wrong, I've met some brilliant and capable bootcampers, who I suspect would've done just as well or better outside of a bootcamp, but my point is that having a bootcamp portfolio isn't much of a signal.


That is entirely reasonable. I wasn't commenting on how good the programmers are, just how well those specific things are perceived on resumes with no prior coding-as-a-professional experience.


Bootcamp != self taught.


> you don't get a job after the bootcamp. I'd expect 30-60 days of applying and interviewing before you get the job, just FYI.

It completely boggles my mind that someone can just go and do a "bootcamp" and then land a job two or three months later. Is there really that much demand for coders out there? Such a person could easily do more harm than good.


I suspect alot end up in intern or QA roles or and some less than reputable company looking good for warm bodies.


A company I know of (in a not-so-hot city in the U.S.) was so desperate for coders that they hired a Physics student with basically no coding experience.

He was a disaster, they'd have been much better off with a bootcamp graduate.


Management is becoming more, not less, important.

Good management is the number one competitive advantage an enterprise has.

Management essentially means running the corporate machine and directing the efforts of its tens or hundreds of thousands of employees. If poorly directed, effort is wasted.

As the world is seemingly centralizing into a handful of large corporations, good management is more important than ever because the power of organizations is so much larger.


As a mostly technical consulting resource, I agree so much. There is a lot that needs to be held in my brain at once, and every release of the software just adds to that. Every new client adds to that. Every new technology adds to that.

I seriously struggle to keep the non-tech side of the house in order by myself. I can handle client interactions and emails and task tracking and mentoring new hires and performing my technical job. I'm even on a project supporting an install of our product that's 8 versions out of date, that was released in 2013. That's pulling in skills I haven't used in over two years, but I can still remember what commands worked on that release and what commands were introduced in later versions.

What I don't have time or mental capacity for is making sure we're within budget, both in terms of hours and in terms of dollars. I don't have capacity to sit on every advisory board meeting, of which there are six hours worth internally every week, and at least two hours per client per week (I have 10 clients). I don't have capacity to put my project on hold while I track down an updated billing code.

I thank god every day for project managers. Some people complain, but I love them. Sure, they take a bit of my time and they don't always understand what I do, but they save me even more time and I sure as hell don't always understand what they do.

As an aside, I think the most annoying thing in the world is when a PM thinks they're a technical resource and starts telling me how to do my job. "Hey can you log into Client X's system and run the command 'xyz' with the flags '-yVx' and send me the output?" Uh, no... I know what you're looking for and the better way to get it is directly from the database. Don't worry, I know the command. Stop using Stack Overflow and do your job.


This. And if you do end up programming and you demonstrate any experience managing projects, you will end up in that role again, just with less respect for it and less money.


Mgmt > Mgmt + Dev ?


yes. there is a mental cost of doing management on development, and if you try to keep both, you'll consume yourself. and managers do get more respect, it's probably universal.


So, what's good management ?

A manager who has strong technical knowledge and experience ?

I have seen many managers who know bugger all about the technical stuff, and have zero interest in technical stuff anyway. They are absolutely not inspiring, and are poor leaders. For some reason I don't understand well, these type of managers stay.


Good managers help you navigate the weeds and surface what works. Bad managers claim to know it all and spend their time trying to do your job to set an example vs doing their job of actually managing


I don't believe anyone who says management is becoming less important. If anything it's good management that is becoming vastly more important. Like software engineering, software engineering management is evolving.


> the best way to ensure you're working with cool technologies is to start your own company.

And, I would add, experience as a PM is very valuable when starting your own company. Project management and coordination are the sorts of skills that many people starting companies do not have and do not realize they need.


This! But for slightly different reasons.

Yes, you would probably find value in picking up coding skills. Foundational rather that practical as you're unlikely to deliver more value than someone who has dedicated 100% of their training and work experience to practical coding.

The new coding knowledge isn't going to be where you deliver value though. Most of the new value you create in yourself will be as "an experienced PM who also knows how to code", so start thinking about what kinds of opportunities might be a good fit for that future you. There will always be fewer people with your synergy of skills than there will be with experience in each individual skill domain you posses.


Deep learning is already being monetized, e.g., at Google.


Yes very crazy. I have a anecdotal survey of all coders I know: most of whom all graduated from only median Tier-2 US & News Report Ranked Nat'l Universities (>15) and whom have on average, earn only median Fortune Magazine's Best Jobs annual ranked salaries as Application Developer, and only very few employed by Forbes' Most Admired Companies list or who are on the Mattermark's Top 100 Startup Index.

Most don't feel like they're building lasting career skills, as agism persists in the industry and most people work on web applications to satisfy enterprise project business specification and project managers. During lunch, I hear conversations about the future of technology and the type of technology that we can work on if we only quit to start or work for a cool start up (e.g., Tesla, SpaceX). The consensus is that there is a tremendous opportunity for these emerging technology area's while other disciplines such as closing JIRA tickets will become marginalized. So I'd advise you to stay away from the enterprise coding bootcamps and only apply for the specialized tech bootcamp that emphasizes on these emerging technologies. The few that come to the mind are, creating new cryptocurrency payment models (for Paypal), writing self-driving cars hardware/software (for Tesla) and harnessing deep/learning AI (for Google DeepMind).


If you're interested in working with cool tech like blockchain and AI, but are tired of startup culture, a good option might be one of the "Digital Innovation Lab" organizations that more traditional companies are putting together. I just started working for one, and it's pretty great - I have stability, sane hours, solid compensation, and a healthy culture, but I also get to work with a bunch of really smart people on cool technologies.


Interesting, I am currently in the process of setting one up here in Singapore. Could you give me more information about staffing (FTE devs, PM's, Mentor's, etc). How long is the process from Ideation to Innovation Lab?


I joined the lab after it had been up and running for about 6 months, so I'm not sure what setting one up looks like.

However, I can tell you that probably the most important thing we had going for us in terms of getting of the ground is my boss, our VP of Innovation. He's been with the company for a many years, and is generally very well regarded. He also works tirelessly to promote the lab and get the rest of the company involved.

We also have an HR manager, herself a long time company woman, and that's been essential for recruiting talented engineers and inters, as well as helping guys like me with the transition from startup land to an old school corporation.

Other than that, we're all full time engineers, plus interns from the local university, especially in the summer.


Where do you work?


> such as closing JIRA tickets

I'm not a big fan of JIRA myself, but even cool startups need to use an issue tracker?


No, cool startups don't have any code issues, so there's nothing to track.


>> # Elixir + Phoenix is the future -- Python/Ruby/Java are too mainstream for us

>> vi main.ex

>> # No tests needed thanks to BEAM ;)

>> git add -A

>> # No need for descriptive commit messages; we spend our time on the important stuff ;)

>> git commit -m 'New commit'

>> # Rockstars push straight to production

>> git push origin master

Am I doing this right?? /s


Don't forget to git push --force to resolve conflicts!


We have a company taser for people who do this.

You have to self-tase one second for every commmit you blew away.

Top score is 4 seconds.


I'm not a fan of complicated git flows, but are there really people who force push to resolve conflicts? I mean professional developers who do this on real projects?


Nothing wrong with doing that on a feature branch after rebasing, as long as you are sure no-one else has pushed any changes to that branch in the meantime. Although personally i prefer --force-with-lease, which will warn you if that's happened.


If anybody pulled in the meantime and they don't know you are forced pushing they also might get in trouble because of your force push.

If you have conflicts on a feature branch I guess you aren't the only one working on it and as soon as that's the case force pushing is generally a bad idea unless you coordinate carefully with the test of the team.

The only time I ever force push is on a feature branch that only I work on and I want to amend the commit I just pushed a second ago.


I hesitate to call folks who do this "professional", but yes. I have also worked around people who blindly resolve all conflicts with their version and then comment out the failing tests.


your company is a frat house?


Don't work => don't self-tase.

I am not convinced. Instead, you'd need a reward for every cleanly committed line of code.


Also next time you need to deploy you can just use --amend to avoid having to think of new commit messages


I do it when I push to staging on Heroku :)


As an elixir dev the "no test needed" hurt. As someone that had to deal with explaining why VCS is important it burns.

But elixir does not have main file so it is ok :p


I don't think this is entirely accurate. Yes, enterprise coding can be really boring and mundane, but just as often it can be interesting and challenging and involve new technologies. As an entry level programmer, sure, you'll do Jira tickets and HTML fixes, but once you get just a touch of seniority, depending on the organization, you can get some neat opportunities.

Lots of enterprise coders are tasked with evaluating new technology, working on greenfields experiments, like building a Hadoop cluster or starting out an OpenStack test deployment. Other times, there are extremely specialized jobs in enterprises. I have some friends who write Erlang in enterprises, and they go home at 5, don't find the work too stressful, and have plenty of interesting problems to solve.

Yes, there's a lot of great tech to play with out there. You can do that on your own time as much as you can do that at an enterprise. Yeah, startups might be more inclined to work with this stuff, but they're also just as inclined to make a big tech mistake and end up 1 year down the wrong road.

Finally, I am not a fan of bootcamps to learn to code. I think they're fine to get you started, but I doubt you can actually make a real career out of just a boot camp. You'll need experience and a lot more real-world time to learn how things work when you're developing software with a dozen other people at the same time. It's a lot more complicated than just knowing how to write functions and use git.

Everyone I know who did a coding bootcamp and got a job, got a job doing the absolute most basic stuff imaginable: bug reports, bug fixes, testing, etc. There's a lot of stuff you won't learn at the bootcamp that needs to be done in an enterprise: compliance and governance work, requirements gathering, documentation development, CI/CD concerns, how to build and tweak a delivery pipeline, deployment stuff, provisioning stuff. There's a ton to learn in enterprise software development, and learning how to whip out a program in Ruby or JavaScript won't adequately prepare you. It may get your foot in the door, but expect another 2 years of working there before you'll be truly ready for a promotion or better job.

And, yes, ageism is a thing, but the absolute best programmers in the world tend to be over 50. They may not know JavaScript, but they can write an entire OS in assembly, and they tend to understand the hardware/software stack down to the bit. Old coders are absolutely incredible and wise. Anyone who is ageist in the valley against coders is really fucking themselves over.

I think the best bet for you is to do the coding boot camp, then go back to being a PM. Knowing how to actually write software is probably the most valuable skill a software dev PM can have: it'll make it a lot easier to understand why everything takes so damn long. It'll also make you much more appealing to a Google or a Facebook.


I'm going to disagree with the bootcamp grads don't do interesting work. My company employees a couple bootcamp grads including myself. All of them work on what are considered the most critical teams in our company. I work on search, which has some of the best engineers in our company. I will be working on elastic search, building our first angular 2 app, and I might even get a little exposure to machine learning / nlp.

I also extremely disagree with the do a bootcamp and then go back to a pm. You will have wasted a lot of money and will definitely not absorb much. We have bootcamp grads who have done that and they forget everything they learned. You need at least a year of professional experience to really get any meaningful knowledge. Not recommended.


I was a lifelong hobbyist programmer that went to a (well-regarded) bootcamp for reasons that only really make sense to me. I do a lot of the mission-critical work for my team/company. I've been solo dev on big ETL projects that my company depended on -- they don't teach you that kind of stuff in bootcamps, but some do give you enough database experience to figure it out.


> Yes very crazy.

I conditionally disagree.

If the OP chose to do this, they should fully commit to it as if there is no other way if they want to succeed.

But, if the OP thinks they are crazy (and they definitely have doubts if they posted this here), they should indeed immediately take responsibility to hire a replacement and start interviewing elsewhere, hopefully in such a way that it will limit CV damage.


Yes, you're crazy. Keep your high paying job. Learn computer science on the side.

The really interesting stuff usually requires deeper knowledge and skills. For problems worth solving, 15 years experience as a CRUD developer is no better than 15 years experience as a project manager. Making this career change won't necessarily help you gain the skills you want.


This is what I was going to say as well. Don't jump into "boot camp", start taking night classes at your local community college (or if you have flexible hours) day classes. Even MOOC/online classes during the evenings will be a path to adding coding skills to your resume.


Finding problems and learning how to solve them with a tool you want to learn is a pretty powerful method (IMHO).


A coding bootcamp is fine, but it won't get you much closer to doing block chain or deep learning work.

The analogy is you wouldn't necessarily take the Olive Garden line cook training class if you wanted to be a French chef. Sure, it won't hurt to learn how to use a knife and it might be a decent Step 0, but it won't get you much of the way towards your goal.

You should really consider a more in-depth CS education, whether that's through a traditional university or something like a Coursera / Udacity nano degree in your areas of interest.

As a practical matter, it might be better to stay employed while you pursue that. But that's up to you. Plan on spending some significant time learning (1-2 years at least) before you can do what you want, not just a few weeks.

You're very smart to consider getting into something like deep learning. The opportunities will be good over the next 10 years like you said - but only for those who are really good at it. It's a very technical field that requires lots of continuing learning. The competition for the best jobs is high. Don't get into coding unless you are very excited about it and willing to invest in learning it for the rest of your life.

If you are excited about coding and willing to put years of learning into it, go for it! But otherwise you could take the impressive skills you already have and find a way to reinvent yourself and apply them in the deep learning industry without becoming the actual coder yourself.


My uninformed opinion on bootcamps here is that they are probably a good way to learn about finishing a project (something which CS is poor at). Deep learning or blockchains are cool, but if you can't finish something then you aren't going to make something cool (even just cool to you), and without that it's hard to keep going with self-learning.


I don't think a PM should quit his/her job to learn how to finish a project. Your comment has me thinting OP should drill through an online course. That way s/he can relatively quickly add marketable skills and background to his/her resume while employed. It might not be as sexy and intense as a "boot camp", but it's probably way more sane and productive.


I'm a CTO and active developer with a Harvard MBA, and I think you're nuts.

Not because the opportunities you see aren't there; they are. Not because management isn't losing its lustre in tech companies; it is. But because coding is hard.

I have a great software education (top school, top program), I've had tremendous opportunities to learn from the best and build amazing things from scratch, and I've been coding professionally for 20 years next year. I'm only just now starting to really "get it".

Having a top-3 MBA (I assume you mean Wharton) puts you pretty advanced on the product/management track, one it will take a decade to catch up with as a developer. Embrace that, dive in, enjoy it.

Here's an alternative suggestion: you don't need to code to understand crypto/blockchains/AI/etc. Those are complicated and sparsely understood, and they are math. Knowing what you can do with them and how to apply them in products is much more rare than being able to implement the algorithms. Why not focus on the theory beyond the code?


Fellow HBSer, thanks for your input super helpful!


>I'm only just now starting to really "get it".

Can you elaborate please?


I agree, great advice.


You're not crazy but your math is wrong.

Calculate the opportunity cost of doing this in dollars. That cost is REAL.

People seem to think opportunity cost is an abstract concept. It isn't. Your retirement and your personal situation will be less $Oppurtunity cost.

Other false assumptions I see in your thinking:

1. Underestimating the difference in competition in engineering versus PM

2. Large error in the number of years of low beginner status in programming

3. Your personality as a PM puts you at a disadvantage when trying to get technical buy in from other engineers

Investigate other paths:

1. Study on the side.

(If you can't do this for 6 months, you won't be able to sustain it full time either.)

2. After Work 1-on-1 face to face engineering coaching

Use the money you make now to have a full time tutor who sits right next to you (I.e. they only have 1 student and thats you and you sit side by side and code) after work. I think this is a much cheaper and much more effective way to learn that isn't available even at bootcamps. You keep your optionality but you also learn more/faster than at a bootcamp.

(Ping me - I'll do it for $150/hour. :)


I avoided replying to this earlier, but I've thought about it a bunch, so here's my 2cents.

You're crazy to do this. I've been (largely) a developer for years, and I struggle to get excited about client work now. It's amazing to be able to MVP something myself, or throw up a project over the weekend, but that's kind of it. Kids are younger and hungrier than me. Having experience is fantastic and certainly helps with day-rate, but I just don't have the time or the energy to keep on top of everything anymore. Now it's time for me to transition to other things.

In your position - keep the job. But invest time outside of that to learn to code. Build fun things. Experiment, learn, grow. Having an idea of what can be done, how it can be done and the time it takes will make you 10 times more valuable in your roll and moving forwards. You will be better positioned to talk to clients and talk to developers.

If or when the time comes that you want to run your own business you will be in a better position to recruit and to muck in yourself.

But for now, spend your spare time learning, and save as much money as you can to take a chance when and if you're ready.

That said, good luck with whatever you choose. Right or wrong, you can only learn from your choices :-)


Agreed. It is crazy. I have a strong dev background and got a PhD. I love to learn .. any free time I get, I further my knowledge. Since I don't do it to improve skills, I have freedom to learn whatever I want. For a few months, I was obsessed with semiconductors and MEMS. These days, I love hacking FPGAs. Before that, I was playing with deep learning with torch. Point is .. you do not need to quit your job for learning. Agreed with parent poster .. save cash, attend meet ups/events to find like minded people ... the coding/hacking culture is awesome but it is a treadmill. There will always be new stuff coming out. You need to focus on concepts more than specific software or middleware. Have you heard of "papers we love"?


PURE INSANITY, even if you are TRULY passionate about it You work at a top 3 tech company. You are in the best place in the world to learn exciting new tech. I'd kill to get a peek at the codebase of a top 3 tech company. Leverage your job as your coding bootcamp. Maybe you can negotiate 1 day/wk for learning CS.

If you can, take a sabbatical. If you can't and live in an ethical gray zone, go to a psychologist and get disability time off of work. Depression and some other mental maladies are treated as disabilities, at least in the state of CA.

Otherwise, find time outside of work. I assume you are able to teach yourself if you graduated from a top 3 school. Teach yourself to code. There's more than enough resources on the web that show how to go from 0 to capable engineer. Keep in touch with devs from work. Hang out in dev chat rooms/forums on IRC, discord, slack, or MOOC forums.

Coding bootcamps and online resources don't teach you truly how to code. The ultra basics they teach. Only actually coding, failing, refactoring, repeat teaches you how to code.


Top 3 code isn't that amazing, a lot of if it's boring stuff. Guy who wrote the events view controller for example. You can also see most of the good stuff in their open source projects like another commenter said. Go look at android or chrome or many others. The API you deal with as a 3rd party developer is usually code that gets a lot of thought put into it, since it's used by everyone at the company and outside the company.


Not everything is open source :)


I'm at Facebook, and you already can take a look at our codebase, since many of the most impressive parts of our stack are open-source.


I was mostly referring to tech on the horizon that he seemed interested in like Deep Learning, blockchain, etc.



Bootcamps are for people who need employment quickly. Since you are employed, you can take evening and weekend programming classes to see if you like it before taking the plunge.


This is the best comment so far. Bootcamps make sense if you have spare time and spare money and want to ramp up very very quickly, but they don't provide anything you can't learn on your own. This is doubly so if you are already working in tech and interact with working programmers who can help sanity check what you're doing and help you along in your studies.

I understand how having some social structure helps one learn, but I've often seen this misapprehension from PMs and MBAs that you either "know code" or you don't, and if one can just cross this chasm then all of a sudden you can be the one building things and realize your own vision. But in reality you won't be a good coder unless you have the tenacity to keep learning continuously over years and decades. Self-learning is not only free, but it's a good litmus test for this tenacity, and there's a huge amount of resources out there that make it trivially easy to get started.


As someone who has had several 'crazy' career moves over the years, it may well be crazy to do it, and yet still be the right thing to do for you. I think the best way to do this would be to keep working, but to study part-time with Udacity. Continuing to work in a good tech company gives you a big advantage in that your "professional network" (aka "people you know") contains a lot of smart developers, a small number of whom may have made similar career moves. It would be worth asking around in person or on your internal work chat groups etc to see if anyone has experience with Udacity courses, then meet up for a coffee and a chat. Don't say you want to change jobs, just start by saying you want to understand better what developers do, and that's why you want to learn to code. That makes you a more valuable PM, while at the same time you are building the skills that would let you make a career change.

As you learn more, you should keep in touch with those devs, and you can ask them for feedback on the projects you work on (clearly, the onus is on you to not abuse their time, but most people like to help someone who is hardworking, enthusiastic and respectful). Then, by the time you've developed your skills to the point you could take an entry level developer position, you will also have a bunch of developers in the company who know you, know how hard you've been working, and will often be willing to pass on knowledge of openings, and put in a good word for you in the hiring process. Also, don't ignore the possibility of joining a startup once you have sufficient technical skills, a growing startup is exactly the kind of place that would greatly benefit from someone who understands team and project management and can deliver good code. They will hire you for the technical skills, not the PM skills, but that doesn't take away their value. Email me if you'd like to discuss further, and best of luck!


If you want to become a dev via this route, right now that is a risky move and a long road to real expertise that would carry you through an economic downturn where very junior people are let go. If it is your passion to be a dev, maybe, but expect it to be difficult. Maybe just consider going back to a proper university for that CS degree you probably should have gotten to begin with?

If you want to become a much better PM and have the tools to start building apps on your own, then yes DO IT! Right now the economy is great, if in 3mo you are back on the job market saying "I'm an awesome PM and I did a coding bootcamp to increase my understanding of the products I manage so I can be an even better collaborator" you will just have increased your value significantly. Probably you could just go back to your old job with a promotion.


You have a MBA and you are a PM shows you have the skills to reserch, and put in some deep thinking. On that basis it would be folly to think you havent given seriously analytical thought to this i.e. you know what you are doing. But is this question a confidence crisis or you want some support?

My 2c is that if you dont have any dev skills right now then work night and day in your own time to get it. Choose a language, any one will do because you need to learn the fundamentals soundly. Do not be swayed by the tech-du-jour or you will never finish anything nor learn anything in depth. tschwimmer advice is sound. However know your learning style first - i got more out of 3 months messing with C on Arduino then i ever got from a textbook because i like learning stuff with sleeves rolled up and the coffee strong.

And lastly, follow your heart. npostolovski did it. It is far more important to enjoy what you do than much anything else (practical considerations of food and housing aside). Happy and comfortable is a whole lot better than miserable and wealthy.

Disclaimer: Im a PM, have an MBA, and dabble in C# at work, Python/C on home projects. Experience: Im a much better software PM because i can also code/hack some of my own ideas. Have been co-founder of a corporate restructuring company and my ability to code meant i could get the data and calculations needs to make turnaround decisions while others just drowned in their spreadsheets. Im now 53 and learning new things - currently IPC and mesh networks(home) and cost accounting(work).


Yes, you are. The best opportunities are in cross-field expertise, so keep working as a PM, but learn coding and other software development disciplines in parallel. Don't underestimate the management contribution to the quality of the code and to the final result: through building the right process, through the deep understanding of development team needs, weaknesses and strengths you may influence the resulting product much more than one of the coders. Everyone can code or learn to code - it is much harder both to possess the coding skills and manage people at the same time.


I am on a similar path, if with a much lower opportunity cost. I am 37 years old, one failed startup as a founder, a few marketing roles on other modest startups and some years as social project manager on the resume.

I decided to quit my last job and study full time to become a developer. Not through a bootcamp, but through cheap or free resources online. I chose freecodecamp.com to go for now.

I did an Ask HN too and I did not receive much support either from the HN crowd. I don't know if people here think being a developer is not a good career path, or they are tired of wannabes and impostors, or they consider a developer career is just for a few selected ones; but I was expecting much more support here for people wanting to learn to code.

My answer to your question: I think you should go for it. Just consider very carefully if a bootcamp is the best way. But if you have the cash reserve to use, I think might be a good first step. After that, keep searching for knowledge in other places. And follow with laser focus the exact field that you consider interesting.

If in one year you regret this decision, it is not too late to reverse the career change and go back with your great resume as a PM, with more added value by your experience learning to code. Go for it, it is not a path of no return and it will be a valuable experience either way.


> I did not receive much support either from the HN crowd

I think there's a reason for that, and you touched on some of them. There's undoubtedly an ageism to the tech industry, and being an older junior developer is likely to be a huge uphill climb.

There's also skepticism around the coding bootcamp industry for the same reason that there's skepticism around University of Phoenix: The certification isn't really useful or impressive, and the kind of person who benefits highly from a program like that would likely learn just as much through self-study at a severely reduced cost (or free).

Compounding that, there's a glut right now of alternative software development education. It's hard to imagine a future where being a software developer isn't significantly less prestigious in the future, except for software development in highly specialized areas (e.g. machine learning).

Not that prestige is so important, but the reasons for the loss of that prestige will likely cause salaries to plummet significantly. It's entirely possible (and some would say likely) that most web development will become analogous to traditional trade professions like plumbers in the future, with:

* Significantly less initial investment: There's no standard or certification for being a web developer)

* Significantly larger pool of competition: Your web developer doesn't need to physically be located near you, unlike your plumber.

If you're fine with all of these things, then that's great! Be a software developer. Just be aware that it's likely to experience significant changes in the coming decades, not many of which are likely to be beneficial. You might very well do better for yourself and your family to actually just become a plumber instead.


I don't know if it makes sense for the OP, but I'll stick up for coding bootcamps as a general concept. I don't agree that most people can just self-study in the same time period and get as effective an education, and I do think that the credential is important.

A friend of mine just did a bootcamp -- from a stalled career as a lab technician in which she was making something around $60k/year (in the Bay Area) -- and sure enough, three months later she got a job at $110k coding the consumer website for a bank.

Now. Is that the quintessential job that everyone on HN longs for? CLEARLY NOT. But is it pretty impressive to jump your salary up two really solid tiers in three months and at least be in a place where you might see another $50k/year over the next 5-10 years? From where she was? Hell yes.

Some people who are amazing autodidacts don't need a bootcamp for the skills, and lots of people who aren't amazing autodidacts could get the skills in other ways (but slower, and almost certainly cheaper). The credentialism is going to be a problem, though -- Google isn't going to hire a bootcamp grad, but they also almost certainly won't hire an autodidact. A big boring enterprisey place apparently will hire a bootcamp grad, and almost certainly wouldn't hire an autodidact. Startups, well, who knows, but they're a crap-shoot.


> I'll stick up for coding bootcamps as a general concept

Sure, and similarly there isn't anything inherently wrong with for-profit universities: You can certainly find people who excelled in an environment like DeVry and don't regret their decision to attend.

Over time one can expect that the "cream will rise to the top" and good bootcamps will have a certain reputation associated with them. Similar to for-profit universities. Still, I hope it goes without saying that many of the same concerns about for-profit universities also apply to coding bootcamps.

> I do think that the credential is important.

Why? What does the credential prove in this case?

> sure enough, three months later she got a job at $110k coding the consumer website for a bank.

That's great! I'm happy for her. Still, I hope that sentence gives you (and her) some pause for concern.

If three months is enough time to train someone for a $110k job, I would suggest that job is unlikely to remain paying $110k in the foreseeable future. It's hard to think of other professions that pay so well for so little investment. The supply can (and will) increase precipitously to match the demand, and salaries will drop precipitously.

For a recent example, see the recent glut of law students and freshly-minted lawyers making a pittance. There are quite a few parallels between that scenario and the current one facing software developers, except that law school is even more of an investment than coding bootcamps.

> at least be in a place where you might see another $50k/year over the next 5-10 years

That's my point though: I don't think that's likely. Maybe over 5, but it seems unlikely that 10 years from now she'll be making $160k. I'm suggesting that those kinds of salaries will be reserved for people working in specialized fields, not people doing basic web development.

For a more realistic future salary, I'd say look at developer salaries in places like Canada, or much of western Europe (where $60k/year a year is probably much more realistic than $110k).

> Google isn't going to hire a bootcamp grad, but they also almost certainly won't hire an autodidact

Google absolutely hires autodidacts. I know a few of them. Clichés about "non-Stanford students need not apply" aside, Google just hires smart people. Smart people don't always have degrees or certificates.


I think that there are a number of relatively more rosy scenarios for current bootcamp grads' salary outlooks:

* Maybe pent up demand will keep salaries high for quite a few years.

* Maybe salaries will fall off the cliff for people who graduate a bootcamp in a few years (3-5), but by that time current or near-future grads will have gotten far enough away from the glut of very junior people to have some salary stability.

* Or maybe the wages of all software devs (or a large majority of them) will fall off a cliff and that will lower cost of living in the Bay Area and it won't be such a big deal all told.

As to Google: It's a big company, it's hired a lot of people. But I guarantee you that all else being equal, a person who got a traditional university CS education has several big legs up over that person's identical twin who was self-taught or who did a bootcamp, for a junior dev position, without extensive industry experience in any of their cases.


>>If three months is enough time to train someone for a $110k job

Most fail the training, it's a necessary but not sufficient condition.


I'm self-taught. I've been interviewing GA bootcamp grads recently and they seem to have learnt very little during the 12 weeks. At most they are comfortable with hard coding css and html. Anything more complex has them stumped.


Really? I find they at least know JavaScript, git and a framework or two. Are you one of those academic interviewers asking questions about stuff people would never use in their jobs?


Quite the opposite. I ask them what they know and then let them loose on a paid project based on what they tell me.

For more senior devs I usually talk about code, design/architecture and get them to talk me through some issues they recently faced and how they dealt with them. All high level stuff. If they can explain technical stuff clearly and concisely I'll skip the coding test and put them straight into probation period. Works well for so far. All creases are easily ironed out in code reviews and are mostly due to style guidelines.


I know of multiple bootcamp grads that currently work at Google. It is a thing


The only bootcamp grads who got a job at Google right after that I know of went to App Academy which is as hard to get into as a great university. Where did the ones that you know of go?


Someone in my 3-month cohort at Hackreactor went to Google. There are a number of Hackreactor grads at Google, Facebook, Apple, etc.


Well, I happen to completely disagree with your vision that software development will be so commoditized in 10 years. Software impact on every career path have just started the way I see it. I'm smart enough to know that I will have to keep learning and not be stuck in 2026 with the JS I learned in 2016.

Yes, the pool of available software developers will grow, but I believe the applications of software development will grow even more. Even if it takes to invent my own application of it and sell it.

I still have the sincere impression that software developers in this early ages feel they are rather special and regret that more "common" people are trying to become one. Like a hipster syndrome of a kind.


> I was expecting much more support here for people wanting to learn to code.

I think if you said "my current job is packing bags in the supermarket, I want to learn to program, should I go for it?" there would be plenty of support. The issue here is that OP will be giving up a better job than that of entry-level programmer, which is what makes the proposed career switch irrational. I mean sure, it's your life, at the end of the day you have to do as you think best, but if you already have a good job and you ask for advice, the advice will be to keep it.


You are conflating "not much support for learning to code" and "not much support for bootcamps". I'm sure everyone here would support you learning to code!

Look, teaching yourself programming is not only possible, it's required -- forever. You will never have a job as a programmer where you're not required to learn new things, without anyone else's help, sometimes without even any documentation, and often on tight deadlines.

If you refuse to even try to learn extremely well-documented technologies like HTML, JS, and Ruby on your own without paying someone to spoonfeed it to you, what are the odds you'll survive when your boss tells you you need to figure out how to integrate with some obscure closed-source third-party library by Friday? Or even when working on mainstream technologies, will you do to get unblocked in the (very common) situation where you're the first person in the world to encounter a particular bug, and you can't ask your team about it because they don't know?

It's not that I'm opposed to people learning to code. It's that I think many of those who need a bootcamp wouldn't have the personality to be successful.

Of course there are some successful bootcamp graduates; this isn't an absolute thing. But why not at least try first to learn the way the rest of us did, by tinkering with stuff because you enjoy it?


No, it is not only about bootcamps. People vaguely support "learn to code", but there is no support at all to "change your career to be a software developer" (bootcamp or not).

You can see on this thread and I experienced it also (and I never considered a bootcamp).


I'd think the answer would depend on which of the top 3 tech companies you work for: Apple, Samsung, or Foxconn.

Edit: Let me try a more helpful response (though I did intend to make a point there). You seem very focused on what you have: a good salary, a top 3 education, a job at a top 3 company. Things you expect should make you happy, basically, but you aren't, and this is confusing, and it's always scary to give it up if you haven't figured out why those things don't make you happy. But IMO, if that interpretation is correct, it's more important to attempt to find things that do make you happy rather than dwell too much on why the things you have, which are often equated with success in our culture, are not doing it.


> e.g. block chain, deep learning, etc.

Most bootcamps that I'm aware of are for training web developers, with a few going into mobile app development. That will give you some basic coding skill but is probably not going to get you very far in the direction you want to go.

You'd most likely be better off seeking an online CS degree.


>> e.g. block chain, deep learning, etc.

> Most bootcamps that I'm aware of are for training web developers, with a few going into mobile app development.

Yeah, I'd actually be pretty interested in a bootcamp that teaches deep learning. AFAIK that doesn't exist, but it should (?)


I don't think there's enough time to teach. My machine learning class at Berkeley only felt like we were getting our feet wet.


Looking some more, the closest I can find are some "Data Science" bootcamps (like Insight and DataIncubator). But they require PhDs.

So yeah, maybe the only way it could work is if you already know it. They just give you a refresher and find you a job.


Sounds like we are of similar backgrounds. I was a well paid PM, I've worked at a top tech company, and I had strategy consulting experience before that.

I quit my job went into a bootcamp and have been a software developer for a year plus. I've been pretty happy with the decision. My reasons were completely different though and were more about understanding what I was good at and passionate about.

I think I can help. Ask me anything.


Thanks super helpful. Had a couple of followups: (1) Which boot camp did you attend if you don't mind me asking and in what city? (2) How you find the job interview process? (3) What kind of work are you doing now? (4) Do you feel that today you could learn anything you wanted to learn for example deep learning if you put in time or do you feel webdev is extent of what you can do? (5) What do you enjoy most about it? (6) Enjoy least? (7) What was different than you expected going in? (8) Where do you see yourself going in the future as a software engineer? -- Thanks a ton for your help.


1) app academy San Francisco 2) it was challenging you get rejected a lot, you get tons of homework projects, and you end up having to practice skills that are useless for your job. I am dreading when I have to do the next job hunt (a lot of engineers hate the process). On the plus side most companies will want to interview you because of your background. 3) I am doing full stack web dev. Started mostly on the front end moving more towards the back. I just got moved to a search team. 4) Mostly not. I feel capable of doing web dev, mobile, and possibly embedded stuff. I do see myself able to get into machine learning within 4 years but that's because of my stem and math background. It is true though that by being a web dev many large companies will let you work on a team with machine learning guys so you can hustle your way in. Just don't think a bootcamp will give you the knowledge. 5) I like building things. I don't care that most of the things I build are crud apps, I have so much pride in being able to see something I built in the real world. 6) I feel lost and dumb a lot of the times. I realize now this feeling will never go away as an engineer - it's a part of the job. 7) I don't enjoy programming as much over the weekends. Before being an engineer I used to work on small coding projects on the weekend and loved it. Now that's it's my job I look forward to doing other stuff. It's kinda like how some NBA players probably don't want to play basketball in the offseason even if they love basketball. 8) I plan to move past web dev and go into something like computer vision or embedded systems. This will take several years but I think I can do it because I have a strong math background.

FYI I agree with many of the commenters that your reasons for doing a bootcamp seem a bit misguided. I did one because I'm genuinely excited by building things. I feel like I could be building boring crud apps for the next 5 years and I'd still be happy. If you don't feel that I would reconsider.


Strongly discourage this move.

I've made the transition from developer to PM over the last 7 years and it's enabled me to work on progressively larger projects and to set direction.

Being a PM is about making sure the right thing is built at the right time.

Admittedly my technical skills have gone stale and to do any of the really interesting technical things would require 6-12 months of intensive learning if I were to do it on my own. This is with undergrad degrees in Comp Sci and Physics too.

So I decided to hack the problem and join a startup in SF thats doing novel hard tech !(business process automation, ecommerce, apps, small marketplaces etc). Here in Sydney they're few and far between.

I'm pretty excited to be working with them, its an opportunity to work and learn with a smart tight team.

So advice to you would be to is find a smaller business unit in your current company where you are closer to the coal face or go join a 100 person company working on a hard problem. Usually they'll have a team of 5 PM's supporting a tech team of 30.


As someone who runs a startup,here are some personal observations.

I would say, a PM has to understand the user needs, and drive the product. The former has got two parts 1. Understanding the user needs which the user can articulate 2. Understanding the user needs which the users cannot articulate.

I have had the opportunity to work with some of the best coders. Though I greatly admired their intellectual capability, I was not a big fan of their ability to think from customer's shoes. I have figured out that "Common sense is not so common". Now, having an MBA does not guarantee common sense, but if you think that, you can communicate effectively with your users, understand their needs, empathise with them, and can comfortably put yourself in their shoes, your are definitely adding value as a PM on Point No 1

Understanding the user needs which the users cannot articulate - This is where innovation begins. Now, if you are a PM without the ability to code, you may be at a slight disadvantage here. The ability to code, or perhaps the understanding of the fundamentals, would help you to structure your thoughts. It gives you a clear picture on what is possible and what is not possible at the present, from where, you can start to innovate.

To me, Quitting the job appears certainly crazy.


Generally, PM does not need to understand user needs and drive product. It's a job for other people (product management, ux/cx analysts etc). The PMs primary function is to facilitate communication in the extended team, so that it will achieve the desired goals in given time, and this means his focus is internal, not external.


I believe PM in the context of the original post was referring to product management, not project management


Thanks, I had to grep "PM" on the whole page to make sense of this discussion. For me "PM" was either "private message" or "prime minister"…


Oh, right, thanks. Misunderstood it.


This is like a construction foreman deciding to take a step down and become a construction worker because he's insecure about not getting his hands dirty building. It's a bad career move.


>It's a bad career move. //

But might be a good life move!?


True, if you don't like spending 40-60 hours a week doing your job, money/job security is a weak comfort.


I think about the future and get excited about technology and the types of things you can build and contribute to if you know how to code (e.g. block chain, deep learning, etc.)

You will learn none of these things at a coding bootcamp. If you are really interested in going deeper, check out Georgia Tech OMSCS - you can do it while you are holding your current job (employer may even pay for it for you if yr lucky) and more importantly the courses are relevant to what you state actually interests you about future of tech. http://www.omscs.gatech.edu/current-courses

I have a feeling tremendous opportunity will be available over the next 10 years to software developers while other disciplines such as management become less and less important.

I disagree, solid managers and leaders will always be important. Perhaps you are focusing on the negative, rote aspects of yr job too much?


No, not crazy, people change careers all the time. My suggestion would be to go over your reasons with someone like a counselor to determine if they are true for you or not. What I mean is, you said some things that are made up meanings. If you're cool with what you made up, then no worries, it's just something to look at, that you may be convincing yourself that "if I do this, then I'll finally feel fulfilled." (Not sure if this is true for you)

Like "I don't feel like I am building tangible skills as a PM, it is more about project management and coordinating." Perhaps you are learning many tangible skills (just not ones you prefer). Also, "I have a feeling tremendous opportunity will be available over the next 10 years to software developers while other disciplines such as management become less and less important." That could be true, but maybe it won't be.

My 2 cents


If you've ever done a job search in tech, there are always 10x more software engineering jobs than PM jobs. There is that.

A thought... I have worked at monoliths, a mid-sized corp, a hatchery, and my own. At a monolith, your job is very narrow. I was bored out of my mind and left. At a smaller company, the role of a PM is much more interesting.

I was a PM but I had a coder's heart. I took the route you are thinking about. I would never go back to being a PM.

Two words: software architect


I'm surprised you dismiss serious skills like "project management" and "coordinating" like if anyone could do it at all, not to speak of doing it at a top 3 tech company (we're talking Google, Facebook, Apple level).

They either come very natural to you, hence why you think they're easy, or you're not good at your job and oblivious about it or you have a very junior position and someone else makes the difficult decissions.

Either way, I would love to be a PM with an interesting product, not to mention being in a top 3 tech company. The money must be really good and the feeling of fully conceiving and creating a product has no equal. Coding it is fine and feels good too, but steering the ship is where it's at.


Do whatever the fuck you want. It's your life and your career. Opinions are divided here as voters in the USA so no one will help you make a decision in this better than yourself. :)


No, you're not crazy. While I disagree that managers will be less important, I think that you're making a good decision because technically differentiated managers will be more valuable.

Even if you go back to PM, the ability to code will help you communicate with engineers and identify the right solution for a given problem, enabling you to transcend the project management aspects of PM.

Also, many executives struggle with strategies that entail deep learning or blockchain, because they simply don't understand them. To position for a future where those technologies are critically important, it's a good idea to invest time today to learn how they really work.


Nope. But you should make sure you actually enjoy coding. I did the switch like you (from running a small startup to doing a bootcamp and becoming a developer).

Several of the people in my cohort didn't become a developers though, as they didn't seem to have the proper motivation to put in the necessary work (at least not to manage it in a 3-5 month period).

You can read about my experience going from non-technical to technical here: https://medium.com/learning-new-stuff/from-non-technical-to-...


If my PM was interested in improving coding skills and went through a code bootcamp I think at the very least it would foster some mutual respect and understanding. Also in my limited experience using ML and deep learning frameworks the tools aren't about knowing how to code, they're more about "turning the right knobs" to achieve desired results. That said I think if you find the right code bootcamp it will teach you how to use the tools you're interested in. And yes you're crazy. But it helps to be crazy to do this kind of work.


As a hiring manager who has interviewed many many bootcamp grads and supervised a couple, I don't think they're are worth it. They're vastly overpromising what skill level you will be at when you graduate and how easily you will be able to find a job.

Because they are trying to compress a lot into a short period of time, and because they are trying to keep it interesting and give students early wins, they seem to not spend nearly enough time on the basics, and jump straight in to using frameworks that do everything for you, the end result being that a bootcamp grad can quickly whip up an ok looking app that has basically no functionality but as soon as you ask them to do something complicated, they get stuck. Sure, that's not true of all grads, but I'd argue that the ones who come out of a bootcamp with serious skills are the passionate ones who would've done just as well or better on their own, so at best they wasted a bunch of money.

You are much better off going the self taught route to start off, maybe take community college classes on the side. If dabbling like that doesn't inspire you and give you the fuel you need to learn what you need to know on your own then software engineering may not be the ideal career for you anyway, what you know is a small part of the job, what you can figure out and learn are also huge factors.


Quitting your job isn't the problem. It's takes courage to do what you do. The problem is coding boot camps. They promise things they can't deliver. As a programmer I can tell you all the things you learn in those three months can be learn from any beginner textbook you download from amazon. $50 versus $10,000.

Some of the problems I deal with in programming can take months of thinking to solve and any course that says yo can become a professional programmer in three months is a joke. What happens when you stumble a problem that doesn't have a ready made answer for you or you encounter a bug take days to discover.

If you want to become a professional programmer, just start coding. You don't need certificates to tell you who you are. Programmer is an occupation based mostly on meritocracy, It's a well known understanding in the industry that the best programmers are self taught.

Start by learning some text books and doing side projects. Try and get a job from there. It will take you 4-5 years of hard work to get to the level you mentioned. And note. There are many bad programmers out there that stop learning after 6 months and just accumulate time. Don't fall into that trap. Learning is hard but the personal reward is great.


You can do it, but it will most likely be very difficult. Learning how to write software well is quite hard. On a fundamental level, we still don't know exactly how some people write much better software than others -- there are no perfectly objective measuring sticks to compare two pieces of code.

Boot camps are like dipping your toe in the water. Most people are not qualified after only a few months of learning. It might take a year or longer to become skilled enough to get hired . A small number of very talented and lucky folks can get there in 6 months with no prior experience.

Before quitting, it seems important to validate the assumption that you will actually like programming and have some success in it. Try building a few toy/example applications on the nights and weekend for a month or two.

That being said, after much consideration, if you want to do it and feel strongly it is the right path for you, go for it. I personally love writing software. It feels like magic sometimes -- you type some words into a file, and very cool things happen :)


Hi,

Definitely go for it. Especially, please have a look at my previous comment in the thread entitled "Sorry, developer bootcamps: I was wrong" :

https://news.ycombinator.com/item?id=11445582

To resume: to my knowledge, the best training to start your journey as an aspiring Software Developer is the one suggested by Founders & Coders :

http://www.foundersandcoders.com/apply/

(Note: Codewars is just so awesome... https://www.codewars.com)

By the way, if you can get into it, I would strongly advise you to apply to FullStack Academy, they seem to have the best teaching around there (at least their students have very high rankings on Codewars) :

http://www.fullstackacademy.com

Good luck :)

Très cordialement / Best Regards,


You'll become an experienced coder just in time for you to be old enough so that no one will want to hire you anymore.

Then you will think "Fuck if I were a PM, I would be a VP at this point, and my skills would be more sought after as I got older, not the opposite for a coder."

Stick with being a PM. If you like technology read up on it or program on the side.


Thanks for the responses guys. A few more points of clarification. PM means product manager. Top 3 tech think Google, Facebook, Amazon, Apple. In terms of my motivation I think today we are where the internet was in 1994-95, at the cusp of the next big technology wave. I think technologies like deep learning and AI more broadly will fundamentally change every single industry and the next big tech companies will be created during this period. Not knowing how to code I think places me at a big disadvantage when it comes to the software jobs that will open up and at a disadvantage if I want to take a stab at starting a company using these technologies. It is a risky bet for sure, but if I think long-term I have a feeling learning to code and being immersed in engineering by working as a software engineer will be a very smart move. But I could be completely wrong lol :)


You seem to care very much about the social appearance : "i work at a top 3 blabla", " i have a MBA from a top 3 school blabla".

Working as a web developer won't get you extra karma points. If you care so much about social appearance and are the kind who enjoy comparing salary income at mundane dinners out, stick to the job you don't enjoy.

If you like programming, you like building things, you like scratching your mind over complex problems, etc... then follow your heart and train yourself for your next career move. Sticking to some kind of social implicit rules isn't necessarily the way to go. Time may prove you right!

I know heaps of people who totally switched career for various reasons : went from a director position to a manager position, went from a PM position to working as a farmer, transitioned to web dev etc... and didn't regret their decision.


No, you're not crazy. Source: I quit a six-figure job as a PM to do a bootcamp and am now working as a software developer at ThoughtWorks.

If you're viewing the decision purely in terms of $$$ (as many other commenters here seem to be doing), it's true that in 10 years you will have earned less money on this path than you would have earned while remaining a PM.

But will you be happier day-to-day? I certainly am. Both careers are well-paid, so why would you pass up a net gain in happiness to earn 15% - 20% more over 10 years? Your happiness is unlikely to change materially because of the extra money, but it could change materially if you start to love your job.

I think a lot of the people giving advice here are software developers who've forgotten what it's like to be unable to build something, with their own hands, that they want to exist in the world. That's such a powerful feeling, especially if you want to start a startup one day.

I did a bootcamp at the beginning of 2013. At that time there were no bootcamps in Australia, so I moved to Chicago for 3 months to do the Starter League (now part of Fullstack Academy). Being in a different city meant I could focus all my energy on the bootcamp. I think this is main advantage of a bootcamp: forced focus for a long period of time, so you learn much faster than you would if distracted by your full-time job.

When I finished the bootcamp, I probably could have been hired as a Junior sometime after an extra month or so of filling gaps on my own, leaning things like TDD and various computer science concepts (algorithms, data structures etc.) My journey personally took longer because I got distracted by travel and other stuff.

As some of the other commenters pointed out, you're probably not going to be able to work on blockchain and machine learning on day #1. You won't have those skills coming out of a bootcamp. You'll probably need to get a job doing Rails or something - don't expect the big 4 or anything like that - and learn that stuff on the side. I would expect you will spend 1 - 2 years doing general software development before you can start working on cutting-edge tech.

But keep in mind that the organisations that do cutting-edge tech are going to be strongly biased toward people with a CompSci degree. Unless you're willing to do a degree, you'll need to learn this stuff really thoroughly on your own and then build some kind of project to demonstrate that you know it. For example, a cool machine learning project. Your bootcamp alone isn't going to get you into these kinds of companies.

You're not going to be able to do a bootcamp and then stop learning. The learning is never going to stop for you. But I think what you're planning to do is doable in a few years. In a few years I went from writing requirements as a PM to writing software to help scientists count mosquito eggs in a lab using image processing. Guess which one was more rewarding?

Feel free to ask me any more specific questions.


I suspect the salary difference will be a LOT more than 15 to 20%. More like 50% at first, and tough to close that gap (he might get on a fast track, but he'd also have gotten raises as a PM).

According to Glassdoor, Product Manager at Google is something like 200K/year (an MBA should be making more), Facebook is similar, and Apple a little less.

A bootcamp graduate shouldn't be making more than 100K/year from what I know of the U.S. (might be wrong).

Maybe his credentials make him hired at a higher salary, but nowhere near his former one.


First of all, "crazy" is a good thing if you're trying to make a difference. Think about that for a moment. It's not that obvious. When I realized this, I felt extremely liberated.

Anyway, one good way to do this may be to:

1. Take a hiatus. You may either tell your employer that you want to learn coding, or you may decide not to. Either way it's fine. Even if you tell your employer, if they are really top 3 tech company, they will understand and even encourage it. You can spin it as "I want to be a better PM and want to understand coding."

2. Learn coding

3. While you're learning, you may feel the urge to really jump in and become a professional programmer. Then be so.

4. If no spark comes during your time at those bootcamps, come back to work and continue. But even in this case, the world will be a completely different place for you than now.

Don't worry about people telling you that's crazy. Crazy is good.


You're not crazy per se but have you ever written any code? Try to get your feet wet do something like a weekend project type deal to see if you have it in you :)


I would suggest that rather than a "coding bootcamp" you take courses from your local community college, state college, or similar (do you have something like Harvard Extension School?) in actual computer science and software engineering.

But yes, by all means, if your goal is to learn to write software yourself, go ahead and get that extra education.

Coding bootcamps produce people who are conversant in the hot technology of the week, but if they were weak on fundamentals going in they're still probably going to be weak on fundamentals coming out. If you want to be a leader in the field, and not in the rank and file, you need strong fundamentals.


Don't quit your job, and learn coding on the side. That is what I did. I was an architect in a well paid senior role, so I learned to code and got familiar with the modern frameworks and tools and then found a job (or rather it found me) that recognised my professional experience with my knowing the development world and meant I kept my same level of salary. I now get to work more in engineering where things are more creative and their is lots to learn, and not services (which I was growing to dislike, due to the same old bullshit around 'escalations' and dealing with 'customer expectations').


No, you're not crazy. But if you desire to learn how to code and you're surrounded by top talent coders, why should you go for a (possibly mediocre) coding bootcamp?

Maybe do the bootcamp to get started, but keep your job and the opportunity it gives you to meet other great developers and learn from them.

My recommendation is: 1. learn the basics however you prefer, 2. study open source code, 3. build something medium-size that you can use, either home or work. If you're very good & lucky this may be your next gig. If not, you'll be a PM with coding skills, which usually is a pleasure to work with from a dev perspective.


I agree with your projection for the future and that PMs in general develop only limited skills for building products or contributing at the ground floor, but I would not get into programming unless you feel like you're wired for it, because you may invest years only to become mediocre, and can even grow to hate it.

Why not contribute by launching a startup as CEO? If a Harvard MBA with deep pockets and PM experience reached out about her startup idea, that is a beer or coffee I would take seriously. In other words it sounds like you have the background to attract a talented programmer cofounder.


Well I made the transition you talk of. Although I didn't have to go to coding bootcamp. I was a developer before I went to business school and became a PM. While I found the job of a PM interesting, I loved coding, and always kept my skills current. So when the time came, I quit to do my own startup, where I play the role of the CTO (initially the only programmer.) It's a wonderful feeling. I haven't really given up my PM function. I'm very much in charge of the product. So try this route. You may find it works better for you.


A successful career switch depends mostly on your ability to support yourself with money throughout the process, your ability to be dedicated to your goal, and ability to do lots of hard work. There is a tremendous opportunity to make the switch to many other fields, but a switch to our field is a lot easier in regards to bureaucracy because many companies in our field tend to focus more on the value that you can provide and a lot less on your background (this also depends on physical location). I made a career switch myself about six years ago. I can hardly call it a career switch though because previously I didn't have a solid career; mostly I did odd jobs for a living.

In my experience it hasn't mattered that much where knowledge has been "downloaded" from (college, bootcamp, self-teaching, etc). What has mattered is maintaining this "downloaded" knowledge and having it always updated to keep up with current times. Also, having actual projects to show to employers has helped me tremendously (e.g. open source contributions, client projects, personal projects, etc).

I'm self-taught and work at a BIG-BRAND company now as a Front End Engineer and make a six figure salary in the SF Bay Area; no college degree whatsoever, just a high school diploma. My resume says "Education: self-taught" and I'm happy to explain what "self-taught" has meant for me in the past six years to any employer. I've been able to work with people from all kinds of backgrounds: devs from bootcamps, self-taught engineers, devs with degrees unrelated to CS, devs with BS and MS degrees in CS and other subjects, and from many more backgrounds.

I'm contacted by many other BIG-BRANDs and small companies all the time to interview with them, and before I even accept to interview, I make it clear that I don't have a CS background, and that I'm unwilling to waste each other's time white-boarding algorithms - usually they're fine with this as they can clearly see my experience and instead they focus on the value that I'm able to provide. Many times I come across companies that ass-u-me I'm incapable because I chose a different path than them, but I've learnt to ignore the ignorant, and instead I focus on improving my skills and bettering myself as a programmer and a human being.

Any path you choose will lead you to a similar result. That's the beauty and uniqueness of our industry. As a final note, don't bother with comparing your salary with other people's salaries when/if you make the switch, as it won't matter at all if your income will allow you to live a really good life.


fantastic and super helpful reply, thank you for taking the time to write it!


I don't mean to sound elitist here, but if you were really a dev then it probably would have bitten you in the ass already. What you are saying here sounds completely backwards to me. So here is my advice: spend some time testing the waters, if it doesn't completely intoxicate you then go back to PM. Real dev's go through so much pain and agony in their work, if it isn't also pure joy then it just doesn't work. Getting "excited about technology" is very much not the same thing as actually doing it.


Nobody can say! But the main thing technology is doing now is pushing us to engage design skills and critical thinking. Just "knowing ML" or "knowing blockchain" makes you a potentially useful product or service, but not a change agent. And being good enough to command the big bucks is a superstar game played per subfield and specialty. The people who are really, really into engineering work latch on to a challenging problem and can't let go - it's a pretty rare mindset and most working programmers don't actually have it, as they are there to fill seats and go to meetings and unambitiously do enough to get by. And most businesses employing them don't need a level of technology much above that either - that's why bootcamps are succeeding.

This is a world where you really need to aim to be the best in what you are doing, though. It's so competitive and there is no reason to expect that to let up. If you aren't doing that you can get stuck or hit a career deadend when the market shifts and those surface-level bootcamp skills become irrelevant.

So in my own space I am focused on a mixed stack of design, coding and leadership skills that is more in line with founders. The ability to pitch, to write up planning documents, to prototype and hold a vision, to study the marketplace and identify opportunities, to hone the vision through philosophy, as well as PM-type managerial duties. Those things are robust to changes in the technical landscape and they build on my own background.


I can certainly understand wanting to make this transition. One thing to bear in mind, though, is that corporate programming jobs can end up having a lot of focus on process and highly-structured modes of collaboration that make it a very different experience from coding on your own. As a tech PM, you're probably more aware of this than people coming from some other backgrounds, but still something to watch out for, especially if you're tempted because you enjoy hobby coding.


I'm going to get downvoted for my "elitist" opinion but have to say this, to warn those few who'll listen.

Recently I was hiring on a tight budget. I've interviewed a dozen people from various coding boot camps, self taught web developers, etc. None of them could solve a Fizzbuzz level problem on a whiteboard.

(One thing I've learned after 15 years in industry, 8 jobs, 2 continents - a person who can't do fizzbuzz-type problem is not worth having onboard even for free).

It seems to me that even with best training in the world and a ton of prior IT experience it always takes people at least 2-3 years to start thinking in code in a way where you don't waste everyone's time. Learning to code is not about a bunch of syntax rules. It's about retraining your brain to use different mental models, developing intuition about where a bug might be, finding your way around a large and hostile codebase, anticipating how your today's decision will interact with all the features you'll implement over next 6 months, and so on.

Basic rules of programming are simple, but so are the rules of golf or snooker, or making bespoke suits, or wine tasting.

If you are prepared to spend next 3 years aimlessly poking around the debugger struggling to figure out the simplest thing only to realize at 11pm you were looking in a wrong place - go for it. It's frustrating but also rewarding.

If you think in 6 months you'll be able to build the next facebook with AI - only thing you'll learn in that time is how much there's still to learn.


Well, if you're not sure, then do it over the weekends and at night. Are the hours at work enough that you won't have time in the evenings to work on this other skill?

Is this something where you could first try some of the online courses (Udacity, EdX, Khan Academy, etc) to see if you're actually interested and also able enough to do the job well?

Also, while I worked as a Software Engineer, I was not really doing much in the actual job and felt I was stagnating and falling behind. Most of the advancement in ability came during my free time where I'd try to learn new things, dive into new interests, create software I actually wanted, etc.

Eventually, work hours resulted in less and less time to do things on my own, and the crap at work got more and more irrelevant, tedious, and stupid. Also, management was all about trying to rid you of any competitive edge or anything else that makes you worth anything (or that brings you happiness), so in addition to all that was in place, it was known/realized they were going around each day looking for more ways to ensure every path would lead to a dead end.

It wasn't long before I wanted to quit and before I realized the only way to make it work would be to create my own company (or maybe become a freelancer/consultant).


I think doing it on the side is less feasible because (1) work takes up too much time for me to make meaningful progress in say 6 months, it will be very slow progress (2) I find that the best coding bootcamps also help in getting you a software engineering job which I think will be a lot harder just studying on your own


You're almost certainly crazy from a financial perspective. You're unlikely to catch up, salary-wise, and will hit the ageism wall a lot faster as a developer.

But hey, we all get a little crazy when it comes to the things we love. Just be aware that a bootcamp is just the first of a great many steps before you can contribute to something you'd consider the 'future' and not 'move the button 10 pixels to the right'.


This might get lost in the comments, but I wanted to ask anyway: I am actually currently doing a physics PhD, and am considering becoming a PM. Am I crazy?


Yes and no. My question is, what do you want to achieve by going through a boot camp? Using the certification as a pivot for career change? Having an short period of time where you can focus and intensely study the subject? I think it's important to consider what specifically about the boot camp route is important to you, because there are a lot of other ways to be proficient in coding.

Tutorials on various common "patterns" (RoR web apps, iOS apps etc.) are of good quality and easily available these days. As a PM in big tech, you can try to find little ways to contribute into the product's code base, which will teach you both programming and engineering practices. In my experience (disclaimer: was a PM), engineers are delighted when PMs show interest in code, and at least a few would be excited to hand hold you through the process of setting up your dev box, building the product etc. It's not a bad way to get better while making hand and fist full of money.

That said, like any other craft and practice, programming is layered and specializes. It takes 5-10 years to be "good", and it takes equals amount of time to be good in a specialization (say machine learning for example). Even for a good ol' engineer to move from building web apps to building machine learning systems, the barriers are still non-trivial. Furthermore, consider that a career in software engineering is perhaps more akin to spending 20% of your time building somewhat sexy* new thing, and 80% of your time doing boring boiler plate work, trying to pull your hair out digging through other people's APIs and code, and wondering why the build and CI system is so broken. If that's what you want to do, then go for it.

* most likely it's just a boring CRUD app using somewhat unfashionable technology.


>engineers are delighted when PMs show interest in code

In particular, if you want to go for sink or swim, switch to a technical PM role in your dev platform (like the Dart, STL, app model, or cpp teams). You'll be forced to learn more about how developers work and what goes into a language. Can highly recommend it.


Keep your job and fund a company on the side hiring people to do the hands-on stuff your dreaming about. The software industry is full of challenges and tech so it's endless and extremely diverse. You could spend the rest of your life on deep learning or whatever discipline. Today your just another drone PM, if you want to make a difference build a company, don't be another drone techy dude.


Why quit your current gig? Can you find a bootcamp that you can complete over a "vacation"? If not, consider a program that you can acomplish evenings and weekends.

Unless you feel your PM role is a complete dead end, build on your experience instead of trading it away.

Edit, adding: A PM who understands software development, or a developer who understands project management, is a good set of skills to have.


I personally think you are better off trying to learn this on your own. It seems like you have the enthusiasm. It sounds like you're also unhappy with where you work. You could try changing jobs to something where you have lots of free time (good/work life balance, no commute) and work on learning to code. Coding boot camps are very web development focused.


If current tech managers have a hard time over the next decade, it won't be that management is less important. Instead, there will be a growing number of people that have written software and are going into management that will be better at it. They actually understand what's going on around them. Software is an outlier in that front line managers can't do even a little bit of the job their direct reports do. This only happened because the industry grew so fast that the bulk of programmers were so young.

That said, make sure you actually want to write code. Boot camps prepare you to make simplistic websites and mobile apps not the interesting stuff you mention. You'll have years of learning to get into those in a meaningful way.


Well, you've got a lot of answers here already.

I've worked in startups and the game industry as a programmer, designer, producer (probably more like your version of PM), and kind of as a PM (which, in gaming, is probably like some percentage of your job now, but not all of it).

It's definitely true that having worked as a designer and programmer was INCREDIBLY helpful in making me a better producer. The ability to communicate with people you manage or need to make decisions for at a passable level of their domain knowledge will be very fruitful and will help you command their respect. You'll make better decisions too, of course.

Feel free to email me if you want to know more. (That goes for anyone here, I'm always happy to give advice.)


Management will only become more important in the future. As technology gets more complex, it will take greater numbers of people to create and maintain it.

And truthfully, most companies today are really bad at management, particularly related to technology.

Learning to code is a great idea but I would think of it as supplementary to your management work.

You're right about all these amazing technologies that are being developed, but truthfully, the stuff you learn in a bootcamp is not going to put you in a position to do much in those fields. It might be a small step in that direction, but you would need to go way beyond it. Advancements are coming from folks with deep knowledge of math, algorithms, systems engineering, etc.


By PM do you mean product or project manager? If you're a project manager can you move over to the product side? That way you'll be able to leverage your MBA by learning a new set of skills. These will include SQL and data analysis, whatever field your product serves, and I even knew a couple of product managers who would occasionally sling code, write copy or design mockups when the project deadline was slipping. I feel that coding is going to be a dead end career field in 10-20 years, because everyone will simply do it as part of their job. Better to work on those soft skills, rather than just a pure technical skill.


Maybe you're in a place where Product Management (I'm assuming that's what you mean by "PM") is done poorly? If most of what you're doing is project management and coordination, then you're not really doing Product Management. PM work is about knowing your market, knowing your customers and their problems, knowing the tech that can be used to solve those problems, building a strategy to deliver validated solutions to the problems and then delivering the solution, all while considering company and stakeholder goals. It is a incredibly fun, sometimes, incredibly frustrating job.


Your are crazy. I taught myself rails part time using Lynda.com. I'm a sales and marketing manager, but love tech and wanted to build stuff.

The skills you pick up learning to code will be tremendous for managing others to build what you need.

Coding is hard to do well and takes years to get really good at it, and you will likely need to start at the bottom of the food chain to get the right coaching and support. I'd recommending learning enough code to be dangerous but get experts to help you do the hard stuff.

That said if this choice is about happiness, then go with your heart. Money shouldn't factor into that decision, it will come over time.


In most best scenarios, if you are good enough as developer after a few months of training you'll be able to land a job in a random software company at 1/3 or 1/2 your current salary doing probably 'boring' stuff, you know, the things that 99.99% developers do.

The chances that you happen to turn out very good at programming and that you land a job doing exciting stuff that you love in a cutting-edge company are virtually zero.

You may have an idealized picture of what developers do. You can try and learn some programming in your own time (yourself, with tutor etc) and see how it goes before taking the plunge.


NOT crazy at all. Actually this is a very good idea. Being able to code makes you a much better PM and help you gain respect of engineers. It will also will help you become a better tech entrepreneur or exec if you ever choose to be.

Having some kind of hard technical skill very important. It help you tackle harder problems that arises in the future. For example let say AI becomes increasingly important. Since you know some code, you ability to lead in this a new technical field will be better than someone with no technical ability.

FYI i'm a coder and founder of a software company. Most of my time is spend on PM now.


>Being able to code makes you a much better PM //

People aren't saying he's crazy to learn coding (though he's going to need some solid actual CS for deep learning / blockchain stuff I'd imagine); they're saying he's crazy to ditch his job and switch to a boot camp.

I took a >50% pay cut and switched to a field I had no experience in. It was absolutely crazy and high risk; it was a lifestyle move though rather than a career move as such.

Also, does he want to be "a better PM", or does he [think he] want[s] to be a software engineer (or similar), it seems like the latter to me?


There's a self-paced in-depth program I can highly recommend that might allow you to do/explore this in a moderate way - that is, without quitting. I'd be happy to chat about it. My email is in my profile.


I think you should do it. No one's an expert in these technologies yet, really, since they are moving so fast. There's a lot of room left. Excitement and meaning are much more important to long term happiness.


> I have a feeling tremendous opportunity will be available over the next 10 years to software developers while other disciplines such as management become less and less important.

We're in a period when everyone is "learning to code". This means the potential pool of developers (ignoring their actual talent levels) is growing.

Someone has to check whether the stuff people are making is following whet needs to be created. Someone has to be able to manage the teams of people making these things.

I'd suggest your premise is the wrong way round.


You're not crazy, but temper your job and income expectations. (though you may get hired because of your PM experience, to do PM) Most bootcampers when they come out are ready to be an intern and start learning. Your life will be much different than your used to, but if you're in it for the long term, that's not a problem.

As for learning to code because of things like the blockchain, etc, keep in mind that bootcamps teach you to build web apps, not that level of programming.


I fundamentally believe that programming isn't something you can learn at a "bootcamp" -- instead, it requires years of concentrated practice, much like learning to play a musical instrument or to speak a foreign language.

You're not crazy to make that career switch, but you are crazy to attempt to do so in that manner.

Start reading books on programming and teaching yourself instead, and start working through the actual exercises. I think Python is a good language to start with.


Quite possibly, but consult professional help if necessary.


You are not crazy to make that career switch, but I'm not sure that a dev bootcamp will really help you get there. Dabble in the aforementioned areas in your free time. I'm guessing you probably have at least a few software engineer friends who could probably give you some pointers along the way. IMO it's not worth the $$ and time to attend a dev bootcamp to learn how to build a few web apps.


Crazy, yes. But is it the right kind of crazy to drive your success? There are no rewards without risk. Bottom line, if you can sustain yourself through your proposed experiment, then why not? But I would preface that with some soul searching. Are the things driving you away from being a PM generic in nature and likely to follow you? If so, it probably means the remedy to your woes is working on yourself.


Learning to code will make you a better software project manager. Unfortunately coding can take a long time to get good at.

Take the coding bootcamp. Do one of the longer ones, like the 6 month one if you can. Or do one of the online ones, and be disciplined about it, such as teamtreehouse.

And then go back to being a PM, but use your knowledge of the difficulty of coding to leverage many developers to work towards an important goal.


Shit dude. Just code at home for fun and keep doing your job. Save hard for retirement and stick out a decade and some change or so and then you're free!!!

Or, go back and become an expendable framework of the week coder and then find yourself needing to relearn those skills every 5 years to do the same rote job.

Coding is great fun, until it becomes a routine. Then it's just like anything else.


Quitting a job might lead to something nice, but my understanding is that programming and computer science is overestimated. It's very interesting to learn how things work, but really doing something meaningful with it is mostly very very hard and one has lack of time or not intended all and thus you end up writing things you would never use yourself.


Please do not jump blindly into becoming a programmer/developer/software engineer. You should try out a few classes to see if it is something you are interested in and want to do for a long time. Don't forget that after 35 most programmers are moved to management roles since programming is a young persons game. Good luck!


Universities are pumping out like 50k CS students a year. Not boot camp grads, computer scientists already exposed to machine learning, advanced algorithms, databases, etc. I really don't see a tangible benefit of boot camps that only teach web development beyond short term web development jobs. This is just my own opinion obviously.


Please don't do that if your goal is to learn Block Chain or Deep Learning. The goals of most bootcamps is to get you a job in software. If you can find a bootcamp that can match your goals, then it might be very worthwhile, otherwise you can probably start by learning on your own online and practice by developing your own projects.


Learning coding takes five years—at least. Do you really want to invest this time?

Like several other commenters have said, a better approach would be to learn coding on your own time. (Choose a language—any language will do, learn the basic from a introductory book and codecademy.com, then work on small weekend projects)


Yes, this is pretty insane. No one of merit will hire you on the basis of a coding boot camp. It's a good idea on the basis of skill set enhancement (you'll know more about how your charges think+work) but as a career change, utterly completely insane.

Most technical careers are competitive and short.


What future role do you see yourself playing in the industry? Well paid geek, founder, investor, researcher ?


Try taking a class in udemy. See if you can get that much first before quitting. Speaking from experience.


If you don't have financial obligations, you could quit. Otherwise, maybe it's better to join an open source project on the side for a year. It takes years to go from noob to proficiency in coding, machine learning, cryptography. Some software positions are very selective.


You really don't need a boot camp to learn coding. I would stay at your job and learn on the side.


>I have an MBA from a top 3 school and have a high-paying job as a PM at a top 3 tech company. But I don't feel like I am building tangible skills as a PM, it is more about project management and coordinating.

And how are those not tangible?


What is driving you to seek this change? What do you want to be doing 3 years from now?


If you feel that way, use your business skills to build a business. I am an eng, a good one perhaps, and I lack the skills of a competent PM.

Find someone to complement you, then try changing the world. one small project at a time.


No. You only have one life.

Instead of something like a coding bootcamp, I've taken courses at the local university. Almost all universities (including Berkeley) allow non-enrolled students to enroll in 1 or 2 courses.


The only crazy part is thinking you need to choose between the two options. Job descriptions can be flexible. Keep your job, learn to code, and work for someone who lets you do both.


Learn everything you are excited about on the side. No need to take risks courses and general info is available everywhere, you are smart, you can learn everything on your own.


Crazy, if you are primarily interested in salary, and you are a good PM.

Not crazy if you hate PM'ing, or you are not good at it, or are not motivated by climbing corporate ladders.


Yes...

Keep the job, join some open source projects, solve some issues and enjoy the process if you can.

You can learn how to solve digital problems by coding while you work full-time somewhere else.

Good luck in any cases


You're absolutely insane and you need help. Seek professional advise from your school counsellor, if required. Below I wrote some paragraphs to help you. If you do this, someone should go, figure out who you are in real life and revoke your MBA. Or you should just request a refund of your $150k tuition.

If you really work in top 3 tech firm, your colleagues are Stanford/Berkeley/MIT/CMU grads, who ate rice and ketchup writing operating systems and compilers. This will be the level you have to get to to contribute to any technical project in a meaningful way. But basically: when you were doing business case studies and traveling around the world to meet world leaders and learn from the best CEOs how they handled corporate crisis, they kept hacking algorithms in a black window with grey letters. I know--I did that too.

I have 15+ years of UNIX experience, 10+ years of programming experience and 5 years of real-world software engineering experience. I'm thinking how to get your job all day long :-) This requires reading tons of books: http://www.koszek.com/reading/ which I do and I sacrifice time with my gf because of that. If you look at this list it's business, management, investments, people stuff. You'll have to do the same, but read about software and hack code in front of the computer, etc.

Most of HN experienced crowd are smart technical people with worse credentials, who are attempting to move from coding job to architecture/design/management job, which you now have. You are our target :) You can see it in many threads. It'd be like moving from a coffee shop manager to a waiter. Ask some senior buddies from a random technical team whether they'd like your job. It's good to see people appreciating each other professions, and we appreciate that too, but don't do this job switch yet or we will crucify you :)

My advice is this: take a break from work (just because you can -- you have a shitload of money anyway, or maybe just "enough" due to loans; go on leave, but for god's sake, don't quit your job), join the bootcamp if you really like, and don't tell anyone you did it. You see from this thread bootcamp, unlike your MBA, don't have established value in the industry yet. It won't harm you, for sure, but you won't be a software engineer. Bootcamp sounds good for you--you're a smart person and wants to learn more, since I think you haven't hacked much code before.

Better idea is what other guys say: just get yourself all online programs there are. All of them. They are $30/month at most, and Udacity is $200. Get them all for a month. You'll spend maybe $200 + 5*$30 = $350, but maybe $0, since first 2-4 weeks are free. You'll pick one that you like, because it'll fit your learning style. Stick to it and just do exercises. On top of that get books. Books are dirt cheap compared to value they bring to your portfolio. Whichever books you need; all of them. I think you'll have to end up doing bs I do for business/management books: google "top 10 programming books" and get them. Even if you don't read it, get it. It'll be maybe $350, since you may end up getting 10 books. So it's $350-$700 investment at most -- you'll get a grasp on what's going on. Then maybe $30/mo for 6 months to teach you one thing well and 2 in a sloppy way you'll kinda understand. And repeat it maybe 2 times. Basically: watch classes, do exercises and immediately after that write your toy programs on the side or (better) real products.

So you'll spend at most $1k to learn something you want. It's also spending $1k to save your $150k investment you've made by doing MBA in top 3 school. It's 0.7% cost of what you've spent on school, and still much, much cheaper than a bootcamp.

If you're a good MBA you're a cheap, stingy bastard that can get people to pay for your stuff. And top 3 high-tech companies have educational grants. Some up to $9/yr. They pay you for your education. So have the company pay for this bootcamp, if you come up with good enough reason, it'll be all free.

Now:

If you absolutely truly love hacking code and are obsessed with it and you think that yes -- this is your 2nd calling and you basically don't see yourself talking to people anymore - congratulations. You are eligible for leaving your job, retraining yourself and entering coding workforce. Trade your suit for dirty sweater and you're all set to apply for a junior dev role.

But I think it won't happen.

What will happen thanks to my advise instead is this: you'll make yourself be in like 0.1% top category of MBA people who truly understand what software is all about AND have a PM job. People who you work with will see that, so you'll be getting good reviews etc. You'll come back to this thread, see how wrong about PMing you were, and you'll apologise. You'll then keep studying and getting better at being a PM and being technical manager. You'll learn how to manage technical people, how to partition tasks, build features, build products and build tech companies. And no, it's not very easy and it's not fading away. I see you posted some stuff about machine learning in the past. If that's your field of interest: go and get TensorFlow original publication from Google. It's a paper where you see an abstract is shorter than a list of authors. Do you think these guys would have built Tensorflow without any PM of some sort?

Anyway, story goes: then you will quit your top 3 high-tech firm, and start a high-tech startup, get $20M in funding. And then you'll come back here, DM me personally and offer me 1% in your new enterprise for having a profound impact on your life and you'll offer me a PM role in your new startup. I'll gladly accept it for this 1+ hr free of charge advising.


As a programmer, you'll encounter much more ageism than you would as a PM, to the point of being unemployable from 40 or so.


Ageism is definitely a thing, but I'd challenge your assumptions about 40. I turn 40 in April, and make more money, and work on more interesting problems with new tech than ever in my career.. most of the developers I know my age are well employed. Then again, I'm in Texas - it may be a much different story in SV/SF or in "big tech". That said, a 40 year old still using the same stack they used at 30 is probably in trouble. It's less an age thing than one's ability and willingness to learn and grow.


When was the last time you went looking for a new job?

A /lot/ of companies insist on "culture fit", which unfortunately does include a lot of sexism, ageism and racism. There's been plenty of good discussions about this on HN, and the fact that you've been lucky enough to avoid the problem, doesn't necessarily mean that the problem doesn't exist - or that people who are discriminated against are just stuck using ten year old stacks.


Honestly, a long time. For a long time I've done either remote work or relied on my personal network.

I also can cheat the system a bit - even though I'm 39 I look super young and wear the typical tshirt and hoodie you'd associate with someone much younger. (I look in the mirror and see a 23 year old, so I think that shapes my personality)

Additionally, I'm in Houston, where many developers are in healthcare or energy, and they do tend to use older stacks (usually .NET or ColdFusion)

That said, I think it's just a series of data points, and what you think a career should look like.


I'd think the complete opposite of you. We'll need a few PMs around to manage the army of AI programming bots.



Not crazy. I did it and couldn't be more happy. I switched from sales to engineering.


What's so bad about crazy? Do what makes you happy OP, what else is there?


You are crazy from a careers perspective, but do whatever makes you happy.


Read Cal Newport on career capital. Do you have enough of it?


Developers respect Senior Developers


You're a prime minister?


Wow, a lot of negativity here. To me it seems like this is something you really want to do and, assuming you have the resources to give it a try, why not? Worst case scenario you go back to what you were doing before but with some new skills and experiences.

The two points I think are worth considering are:

1. Coding bootcamp vs postgrad qualification in CS or similar. I'm not in the coding-bootcamps-are-the-devil orthodoxy. In fact, I've seen a lot of great juniors come from bootcamps, but you do have to recognise their limitations. A bootcamp will get you to the point that a self-taught highschool code wizard will be at just before they hit university and realise that they don't know anything. Employable, sure, but lacking in fundamentals. You don't have to learn CS from a university, but one way or another until you learn it there will be a ceiling on how far you can progress as a developer.

2. Part-time vs full-time transition. One thing I will agree with is that you are going to be a way worse software developer than you are a PM, just by sheer weight of hours put in. For that reason if you're looking to make a switch I would do that wholeheartedly rather than learning on the side or moonlighting. Otherwise you'll be pulled in two different directions, and the one that you are better at, have more experience with, and can earn more money from will probably win.

If you genuinely want to be a developer to build stuff, I would do the coding bootcamp, get any job as a developer you can find, then teach yourself CS as quickly as you can while on the job. The CS will mean more and be easier to understand because you already have the practical skills and you'll be able to call yourself a developer sooner. Just be aware that the stuff you build straight out of a bootcamp will not be deep learning blockchain automation algorithms for SpaceX, it'll be web apps with questionable business models.

Another option is to just bite the bullet and get a real CS education up front. This will take longer to get you to a point where you're actually building things, and keep in mind that CS doesn't give you practical skills, so you'll probably still need to start with entry-level dev work, but your trajectory to doing interesting stuff will be steeper from there.

Ultimately it's down to your resources and your priorities. If the drive is to just make stuff then go with the bootcamp, it'll get you there sooner. If you mostly like the cutting-edge ideas and high-level work (and you can afford it) go with CS first. Deep learning isn't bootcamp material.

And keep in mind that either way you're 5-10 years out from being good enough at this stuff to really live up to the picture of it you have in your head, so make sure what you're doing in the mean time is going to make you happy.


bootcamps are not a good option.


I highly recommend you take an hour and a half to watch this Lynda.com video on Leadership Fundamentals. It's focus is business, but first and foremost we are all leaders of our own lives and the lessons apply as much to personal as professional development. It may serve as a good refresher as to what you once learned makes for good leadership as a manager and help you identify your strengths and weaknesses as a leader of your life as well as in your organization. They have a ten day free trial and there are many videos you can watch after this one that will help you no matter what path you choose to follow. It is well worth the 90 minutes. It helped me understand and resolve a lot about myself and my dissatisfaction with own career, my organization, and what was wrong with both.

https://www.lynda.com/Business-Skills-tutorials/Leadership-F...

Pay particular attention to the segments on emotional intelligence, motivation, engagement/disengagement(!), and professional development. It'll not only help you understand what is affecting your motivation and disengagement, but you may also realize your greatest strength is that you are motivated to solve these problems not just for yourself but others in your organization. Understanding the way things should be could just cause you to double down as a PM and master the challenges of the role while further developing your skills to advance your career.

Good leadership focuses on the health (and happiness) and growth of the individual as much as the organization. Maybe you are just in a poorly run organization or one that has poor leaders. Discontent is usually a pretty good indicator this is the case, because even if an individual is the problem, a good leader has the awareness to recognize this and have a good relationship with their staff that enables them to make the staff member aware of their strengths and weaknesses and the source of their discontent so it can addressed be remedied.

It sounds to me like you want to more authority and control, or at least more challenges and your organization's leadership is not addressing that. Without that your growth and personal development is limited. Being a coordinator is little more being an admin that tracks status and doesn't require much tactical or strategic decision making. Your manager should understand this and being stretching your abilities in every area little by little until they trust you to make those decisions. They should always be preparing you for the next level up. Maybe you aren't aware of your weaknesses and they are not identifying them and working on them with you. Maybe your desire to quit and become an individual contributor is just an Escape Coping mechanism for dealing with stress instead of a Control Coping mechanism which is positive and proactive. Or maybe they just have poor leadership skills.

It would be terrible if you quit your job and lost the opportunity where you are to address your weaknesses and strengthen all of your skills in an attempt to start over because you feel it would give you more control over your happiness, especially given all of the capital you have built up in that role over the years. Besides, if the problem is your desire to leave is a just an unhealthy response to stress or a challenging situation, it won't solve anything.

Just a thought, but one from someone who has been there.

What did I do in your situation? It took me a while but I watched that video, combined my awareness from it with formal knowledge of PMP (Head First PMP is good start) as a reminder of what project management is all about and what my organization did wrong as leaders of a functional versus projectized organization (a weak matrixed organization), and then I studied stress management to help me understand my own (unhealthy) responses to my situation.

If I had done that while still at my organization I would have not only felt empowered by the evidence and knowledge, but challenged to work on myself and the organization at the same time, and could have been perceived as someone with greater leadership potential that would have allowed me to level up. Even if I still decided to leave, I could have improved my skills while there to prepare for a move to a healthier organization that I would have been better equipped to recognize and excel at.

FYI I strongly considered a Masters in Data Science which would have had a narrow focus either as a developer, data analyst, or data scientist, but at the risk of competing with people who were younger and/or smarter, and rooted in those disciplines from an earlier age. I decided I should master my management and leadership skills instead, leveraging and building upon my knowledge and experience at a better organization. I am unemployed and working on that now. Once I get a job, even if it's a contract position, I can still take the online courses to get that masters degree from a top university and also take advantage of being around people in the industry that do what I aspire to do as mentors.

I sincerely hope this helps.


Twice in my career I moved from management to more technical roles. Both were somewhat forced by corporate reorgs and I found both quite difficult. Tech is some sort of meritocratic place and if you want to have an impact you need to contribute on an appropriate level. One of the hardest things in these transitions is to be patient enough with myself and not judging myself too hard for not meeting my expectations.

It took me 2-4 years to get on a level I was ok again with what I contribute in my role (lead architect). In these transitions I had the benefit of solid coding skills from way back plus having worked at a tier-1 corporate lab for a few years. I had the benefit that the company supported me but that came also with constraints on freedom and focus in recovering the skills.

Coding school may give you basic coding skills. The deep knowledge you would need to be a good coder however will take many years to acquire. I would be surprised if someone got to a more senior developer role in less than 4 years and going to architect before 6. Only then you will again be able to shape things. Until then you will have to implement what other - often a lot less qualified product managers have thought up for you to do. Often of the code will be for /dev/null as most projects fail in any case before hitting the user. I sometimes think salaries in tech will always be good as frustration tolerance is never going to be a commodity.

I found product management a very difficult proposition. It can be incredibly hard to add value in that role but then on the other hand it can be one of the most powerful and decisive roles too (Jobs do I need to say more). There is a lot communication and coordination and that can be fun but also can feel void. Shaping from that position takes serious political skills to acquire the necessary power and to wield it.

The way I think about these changes:

- what can you leverage into the new role?

- is there a plan B?

- do you truly like that type of work (tools, processes, travel, challenges, conflicts)?

- do you like to work closely with these type of people?

- what drives you? Long term vision?

- what are your strengths?

- what technical and interpersonal skill you want to learn? Will you learn anything new?

Would I have hired you when I was team lead way back? Iff you showed up with lots of enthusiasm for coding and passed our structured technical interview - maybe into a junior developer role. Willingness and ability to change was a key criteria for me. But I know I probably had to argue both technical staff and HR. I never worried about someone going for my role but maybe with you I would have worried about that on my side.

By all means learn coding. You may however want to give some thought on possible paths, risks and contingencies. Coding - considering your starting point - is certainly one option but comes with a high risk of significantly lower ability to contribute and ultimately benefit from it. Project management may be another. Consulting in the area of requirements may be another.


Yes you are crazy and Please Don't Do it. I'll try to make the story short so bear with me. Almost 3 years ago I took a Bootcamp Online at Bloc.io, quite recommendable and I was supremely obsessed with learning. I needed to make a fast change in my life knowing that I was going to be unemployed in about 6 months, my wife was pregnant and I had to make a quick jump not to drown. I do not regret it at all, in fact, I greatly appreciate having learned so much with my mentor. You can not imagine how many things I did after investing +90 hours a week for 6 months. I still had to learn on my own for another year testing ideas before I was able to launch a startup that has allowed me to keep a decent income higher than the one I had before. But this scenario is not what I wished for when I started 3 years ago. I did not conceive that learning to code was a permanent and continuous process where you needed concentration and long hours of focus instead of playing with my daughter who is almost 3 years old now. I love writing code, words can't describe what you feel when tests pass and you see it live in production (only to realize a few days later that you were reinventing the wheel and there was a better gem that did it faster and better). I thought this new world was my dreamed land where I could build things without asking anyone for help but that's really the problem. That window I opened 3 years ago showed me that if I continue to develop the way that I did I would spend my life without actually living it as I wanted to. I confess my lines are not that sofisticated, I even consider them quite amateurish, my tests are light, and I guess If I would really want to be a pro developer I would have to invest much more and that sucks because you can't think how many nights I've spent being away from my family because it truly is very absorbing. I do not say that it is bad idea to spend a life in front of a computer but man that is not suited for me.

I can see through your words that your interests are to participate in those great new ideas and to achieve greater things but you can make it happen without that Bootcamp especially without quitting your job. If you decided to attend to a good university it was because you really wanted to leave a dent on the universe. There are cases such as the orchestra director where although he does not play any instrument he must at least learn to play one to understand the essence of music before being able to lead. But in our ecosystem what is rewarded beyond our vision is our ability to execute.I believe that you as a PM have one the most valuable assets because you can take any talented team and give them a vision towards execution, that they will appreciate because people do not know how to execute complex Things step by step the way that you do. Besides that if you give them that strong desire to accomplish excellence that breaks the molds. And that stamina to persevere even in the darkest hours you are set.

If I could go back 3 years in time, I would ask for the refund even if I had to pay something. Instead I would use that money to spend more time observing regular people, maybe participate inside university activities, labs, study groups and invite complete strangers to take espressos or beers with students or teachers and bond with them. Instead of being a solo learner I would encourage myself to be a part of a group. My job would have been to create any initiative with them on the topics I sought were worth it and even if I knew it wouldn't work I would put all my experience to support the implementation of these ideas. I might not knew how to type a line of code but I would have felt more alive to be able to see those ideas become a reality, even if it wasn't 1% my vision, even if if wasn't my code, even if I only was able to sit on a table with just one talented person and be able to keep him motivated and enthusiastic after the first prototype was made and help him with the first sale to come, that would have been enough. Instead of investing in Bootcamps you could interact more with humans, learn more about human behaviors, spend more time with your family or children, travel more to meet with more people and take advantage of the work you have right now to find mentors or talk with your peers about your expectations in those topics that you like to execute instead of being in front of your laptop fighting with your lines of code that someone you work with can do much better in less time.

Finally I have to say it surely was a blessing to become a developer, right no I'm working as CTO/CEO but I 'm about to let go, and I know it's going to be hard, anyways in your current situation where you have much more knowledge and experience, only quit to carry out your ideas but if you definitely want to play don't forget that sooner or later you'll need to delegate and learn to orchestrate and for that you don't need that Bootcamp.

P.S.: Forgive my bad English.


Yes


Companies have this ridiculous idea that you have to either be a PM or a developer but you can't be both. Virtually everybody in an organization except developers wants to reinforce the view that developers are just dumb coders who's only purpose is to implement the whims of everyone else in the company as fast as possible. Every PM thinks they would be successful if only they had more devs to boss around. Becoming a developer is not going to be like you think.

Even as a former PM, PM's at your company will try to exert power over you if you are a dev. They will be backed up by executive management, board members, investors, the media who all have an interest in maintaining this outdated view of the programmer who takes the specifications and simply types in the code. Why not fire PM's and just hire PM's that code? PM's don't like that, executives (who don't code) don't like that, even the janitor doesn't like that. Nobody likes that except for devs and devs have no power in companies because of self reinforcing old school ideas about job roles.


"Companies"? The model you are describing is dying a speedy death IMHO. The only PMs left where I work are quite technical and do manage to join the dots between projects economics, office-politics, and engineering. Needing a PM is an indication that either something is very new, or is going very wrong. May I advise you to look for employment somewhere not going down the drain?


just hire a mentor 1 on 1 dont throw away a good job to become a front end dev or mobile app dev its madness


I'll trade my front end dev job for yours.


look around yourself. How many of the SWEs you see came from a coding bootcamp vs. a traditional CS background?


Do what your heart wahna do!


what is a PM? you're the prime minister?


Nah, PM stands for Project Manager, the person who coordinates & manages a project to make sure it happens on time and on budget.


It's also used to mean product manager. OP should've spelled this out to get better answers.


A PM is what companies used to call a business analyst. These days companies inflate titles so everybody has manager in their title.


Except that project manager makes way more sense than business analyst when you're managing projects.

Business analyst is a different role.


Project, Product or Programme Manager most likely.


Honestly, this is the first way I read it as well.


Product Manager




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: