[HN Gopher] Ask HN: Is a Masters in CS/Engineering worth it for ...
       ___________________________________________________________________
        
       Ask HN: Is a Masters in CS/Engineering worth it for a mid-career
       PM?
        
       I'm a PM & designer in his late 30s who is itching to get into deep
       tech (BCI, AI, aerospace, medtech, etc). I have no background in
       engineering and am considering pursuing a masters either in CS or
       similar.  Has anyone here done this mid-career? Was it worth it?
        
       Author : deeptechdreamer
       Score  : 67 points
       Date   : 2024-09-12 20:41 UTC (5 days ago)
        
       | muratsu wrote:
       | If you're looking for a technical job, the easier path would be
       | to find a PM/Designer job at one of your target companies and try
       | switching to a dev role within the company. When you apply as a
       | junior developer, your previous work experience will not be
       | considered relevant. You'll be competing with other junior
       | developers (who also likely don't have any relevant work
       | experience) and it's much harder to differentiate yourself.
       | Whereas if you want to switch roles inside a company, people who
       | are familiar with your skills are likely to take a bet on you (if
       | you have a good track record).
       | 
       | On the other hand, the masters program will introduce you to a
       | new network of people, and working towards a goal with a cohort
       | is much more motivating than learning by yourself.
        
         | roninorder wrote:
         | I agree with your suggestion with one caveat: having a Master's
         | degree when switching to a dev role would be very beneficial.
         | Both in terms of how it looks on paper and in terms of
         | competency.
        
       | batch12 wrote:
       | A few questions to think about-
       | 
       | What are you wanting to do with the degree?
       | 
       | What are the requirements for the roles you're interested in?
       | 
       | Does the masters get you there or will you need to get some other
       | experience along the way?
       | 
       | Do you know someone in the field who can point you to where you
       | want to be and maybe skip some of the issues they had?
       | 
       | Are you willing to start as a junior technologist and work your
       | way up again?
        
       | givemeethekeys wrote:
       | The cheaper option:
       | 
       | - Learn python by watching the freecodecamp videos on YouTube.
       | 
       | - Learn AI stuff (enough to build some really useful shit) by
       | watching the FastAI course on YouTube.
       | 
       | Don't worry about not having any good ideas on what to build when
       | you start out. Once you start taking the FastAI class, the
       | lecturer point out many good ideas, which lead to your own ideas.
       | 
       | And you know, practice, build some small stuff, build some bigger
       | stuff, talk about it, write about it, network, etc.
        
       | ajb wrote:
       | You don't quite say, but I get the impression you want to keep
       | working as a PM, not a software engineer, but be able to do so in
       | these areas?
       | 
       | I think a masters that gave you expertise in the subject area be
       | better than a generic CS masters. These are quite different
       | areas. For medtech (and possibly BCI) medical compliance
       | qualifications might open more doors than CS. For AI a masters in
       | CS focusing on AI would presumably be a lot of use. I have no
       | idea about aerospace but its seems likely that a different degree
       | would be better than CS.
       | 
       | If instead you want to become a software engineer, then by all
       | means do a CS degree, perhaps one which allows you to focus on
       | the deep tech domain that interests you most.
        
       | renewiltord wrote:
       | Its only value is to get foreigners a H-1B. Otherwise it's
       | useless. Masters in CS won't help. Just go read the course
       | content yourself.
        
       | swatcoder wrote:
       | Consider that taking 5-10 graduate courses and writing a master's
       | level thesis or project will generally take all of your free time
       | and a bunch of your savings over the course of two or more years.
       | (I sure hope you're not thinking to take on debt for this!)
       | 
       | And while you'll absolutely learn some things and find yourself
       | excited about some ideas in those couple years, you will forget
       | _almost_ all of the stuff your learned within a few years of
       | graduating because you won 't be continuing to get your hands
       | dirty and won't be building on the knowledge. Technical knowledge
       | does not "stick" if you don't use it.
       | 
       | If you're a hungry learner and have the free time and money, you
       | can go back to school for whatever you want. This sounds adjacent
       | to your work, at least, so that's something. But remember that
       | formal education is only the first and smallest step in learning
       | a technical discipline, and it sounds like you want to continue
       | PM'ing rather than transition to a technical IC, so you won't be
       | continuing on the later steps.
       | 
       | If you're just trying to be the best technical PM you can be in
       | your industry, there are almost certainly _far_ more time
       | /cost/stress-efficient ways to do so.
        
         | deeptechdreamer wrote:
         | Yes, I want to be a PM with deep technical understanding. What
         | are the other more efficient paths?
        
           | whatshisface wrote:
           | A lot of people who are switching to SWE from other areas are
           | advised to write a few personal projects.
        
           | swatcoder wrote:
           | Some options:
           | 
           | * Depending on your industry and its maturity, there may be
           | courework or certification tracks designed for managers, etc
           | (still expensive, but better focused)
           | 
           | * Regularly attend technical conferences in your industry.
           | Sit for sessions and presentations on those deeper topics,
           | work hard to understand them, make a point to follow up on
           | what you're exposed to, make connections with people who can
           | amplify your knowledge and keep you inspired, etc (broadly
           | cheaper, and ongoing)
           | 
           | * _Audit_ classes and seminars. Generally, you do not need to
           | be enrolled in a degree program to attend classes and learn
           | things. But you do often need to make a personal connection
           | with whoever is leading it and get their permission. You may
           | sometimes need to lay fees. (cheap, ongoing, deep; maybe not
           | convenient if you 're not near a suitable university)
           | 
           | * saturate yourself in the technical meetup circles in your
           | area and do your best to catch up and keep up. As with
           | conference, find friendly people who can help you learn and
           | keep you inspired (cheap, ongoing, maybe not convenient)
           | 
           | * take ad hoc online classes. (cheaper, ongoing, available
           | anywhere)
           | 
           | * do what other auto-didacts do: just immerse yourself. Buy
           | books that look like they'd be fascinating, and if they end
           | up over your head, figure out what other book or video or
           | class might help remedy that, recusring until you find the
           | starting point you need. (cheap, ongoing, limitless)
           | 
           | * etc
           | 
           | Technical degree programs are generally structured and priced
           | for people who are pursuing the field professionally, but
           | they are only a tiny fraction of the learning opportunities
           | that are out there.
        
             | ghaff wrote:
             | Yeah I think there's a lot you can do that doesn't involve
             | the cost and rigidity of a degree program unless there's
             | some reason to do so. And the company is willing to cover
             | it for whatever reason.
             | 
             | ADDED: I did go back to school for an MBA and used it to
             | somewhat change careers. But degrees from good schools were
             | less expensive at the time, I had sort of planned to do so,
             | the degree was more of a gate for certain roles, I enjoyed
             | it, and as I say it was a good way to transition into the
             | computer industry which might otherwise have been hard.
        
           | jaaron wrote:
           | Everything swatcoder suggested in his comment is good. I just
           | want to add/emphasize:
           | 
           | If you don't actively stay up with the tech, your
           | understanding will atrophy. Consequently, because you intend
           | to remain a PM, your tech will never be as strong as someone
           | who is dedicated to it and you need to be okay with that.
           | 
           | Another classic example for this are engineering managers:
           | people management (like project/product management) is its
           | own discipline with a deep set of skills, research, training,
           | etc. To become a good EM means you _will_ sacrifice some of
           | your technical edge. That "deep technical understanding" that
           | good EM's maintain is built on a foundation of years as a
           | practitioner and, even then, requires continual investment.
           | 
           | I don't mean to discourage you, I just want to ensure you
           | have realistic expectations.
           | 
           | Given all that and given your goals, I think you should just
           | ask yourself a question only you can answer: how do you best
           | learn?
           | 
           | If that's in the classroom, then go get that masters (online
           | or in person). If that's with hands on projects, then set
           | aside time for tinkering and get going. Likewise with books,
           | videos, meet-ups, etc. You know what motivates you and what
           | techniques keep you focused (because you'll need that
           | discipline).
           | 
           | Regardless, I wish you luck and enjoy the journey!
        
             | jen729w wrote:
             | > If you don't actively stay up with the tech, your
             | understanding will atrophy
             | 
             | Ex-tech turned PM here. This is totally accurate. But as
             | you say, don't be discouraged. When I was a tech, if my PM
             | had taken the time to learn _anything_ I would have been
             | ecstatic.
             | 
             | My advice: learn at home. Set up some VMs and watch some
             | YouTube. Install some things. Whatever field you're in,
             | install it. Play with it. Honestly that'll put you well
             | above your peers.
             | 
             | Other excellent advice in this thread re: going to meetups,
             | conferences etc. Just absorb stuff. It takes a while but
             | it'll sink in.
             | 
             | I mean, just knowing what half the terms mean is half the
             | battle...
        
             | germinalphrase wrote:
             | " people management (like project/product management) is
             | its own discipline with a deep set of skills, research,
             | training, etc."
             | 
             | What reading or other recommendations do you have here?
        
           | moandcompany wrote:
           | Software Engineering in practice versus the curriculum in
           | most Computer Science programs, undergraduate or graduate
           | level tend to be very different.
           | 
           | If you want to become more effective as a PM through sharing
           | a technical understanding, it would probably be better to
           | gain first-hand experience of what teams are practicing --
           | That would provide a better understanding and empathy for
           | what they have to deal with.
        
           | alice-i-cecile wrote:
           | Contribute to open source! This is incredibly effective:
           | you're thrown in the deep end and surrounded by skilled
           | mentors. If you're respectful of the needs of the team, your
           | project management skills will be super valuable for the
           | project as well.
        
           | GMoromisato wrote:
           | One other suggestion: ask SWEs on your team to explain
           | specific issues you're discussing in technical terms.
           | Engineers love to explain things, and as long as you're not
           | interrupting their flow or wasting time in a meeting, I think
           | you could learn a ton of relevant, technical areas.
           | 
           | This is no substitute for broader knowledge on core
           | principles, but they will reinforce each other.
        
           | datavirtue wrote:
           | YouTube, and build your ideas. Preferably before finding out
           | how it has already been solved.
           | 
           | Early on I just read books and built distributed systems and
           | database engines from scratch.
           | 
           | These days I have been able to drink from the firehose on
           | YouTube for a variety of subjects. Physics, chemistry,
           | business finance, technical analysis (stocks), CAM, food
           | production, and plenty more. I'm literally blown away at how
           | much more efficient it is than trudging through college. If
           | you put in the work you can go deep and gain skills very
           | quickly.
        
         | ggorlen wrote:
         | > Consider that taking 5-10 graduate courses and writing a
         | master's level thesis or project will generally take all of
         | your free time and a bunch of your savings over the course of
         | two or more years. (I sure hope you're not thinking to take on
         | debt for this!)
         | 
         | OMSCS graduate. The program certainly ate up most of my free
         | time for 2.5 years, but on the other hand, the whole degree was
         | about $8k for me and required no thesis or capstone project--
         | just grinding through 10 classes worth of assignments and
         | exams. Also, it was 100% online, so that flexibility frees up
         | time.
         | 
         | Theoretically, if you do 1-2 easy-ish classes per semester, you
         | can minimize the free time impact. But I was less interested in
         | the credential and more interested in the learning experience,
         | so I took difficult classes and worked as a TA.
         | 
         | Caveat: I graduated in 2021 so things may have changed since
         | then.
        
           | Jtsummers wrote:
           | It's the same now. You can still take two hard/challenging
           | courses together if you plan it right, though. Some courses
           | release all the projects at the start of the semester so
           | they're more self-paced, pair that with courses on a more
           | rigid schedule that release one project at a time. If you
           | stay ahead in the one class, then it's not much different
           | than taking one at a time.
        
             | ggorlen wrote:
             | Good to know. https://www.omscentral.com/ and talking to
             | other students helped a great deal with planning.
             | 
             | Two difficult classes I took together were Embedded Systems
             | Optimization and Compilers, both taught by the same
             | instructor and with similar concepts, so working on one
             | helped solidify concepts in the other.
             | 
             | On the other hand, I took Distributed Computing during its
             | first offering alongside Graduate Algorithms and was super
             | overwhelmed.
        
               | shepherdjerred wrote:
               | Wow, I thought I was masochistic. What possessed you to
               | take DC and GA (two of the hardest classes) together?
               | 
               | I took DC alone and found it manageable if you weren't a
               | perfectionist. Compilers was the most difficult thing
               | I've ever done, though that was mostly due to my own poor
               | time management during phase 3 (generating the
               | intermediate representation). I didn't complete phase 3,
               | so most of my time during phase 4 (emitting MIPS assembly
               | + implementing three register allocation algorithms +
               | optimizations) was catching up.
               | 
               | Also, as a note, the very difficult classes like
               | distributed computing and compilers are completely
               | optional (though well worth it IMO). The only very
               | difficult class that's required is graduate algorithms.
               | 
               | For those not familiar with OMSCS, there are some class
               | ratings here: https://www.omscentral.com/
        
               | ggorlen wrote:
               | It was the first online cohort of DC so I didn't realize
               | how intensely difficult it'd be. I'd taken GIOS with Ada
               | which was gentle, so I figured DC wouldn't be
               | significantly harder.
               | 
               | It was a good life experience even though I wound up
               | sacrificing my 4.0 by a few grade points. In hindsight,
               | had I realized how steep the curve would be for DC, I'd
               | have pushed a bit harder to squeeze out a few more test
               | cases, but I was pretty mentally defeated at the time and
               | felt like I'd exhausted all of the ideas I had on the
               | projects multiple times over.
               | 
               | I found DC more difficult than compilers by a wide margin
               | because of the nondeterminism, debugging difficulty and
               | trying to figure out what the test harness was even
               | doing. Compilers involved writing more lines of code, but
               | it was manageable, synchronous greenfield application
               | design.
        
               | snake42 wrote:
               | You don't have to take GA anymore if you choose the new
               | specialization.
               | 
               | https://omscs.gatech.edu/specialization-human-computer-
               | inter...
        
               | Jtsummers wrote:
               | Neither HCI nor Interactive Intelligence require GA. In
               | II it's one of two courses courses you get to choose
               | between. I think a lot of people select those two
               | specializations just to avoid it. II is also close to the
               | ML specialization, so people who have trouble with or
               | want to skip GA can move to it pretty easily.
        
           | fuzztester wrote:
           | >OMSCS.
           | 
           | From the Georgia Tech online course?
        
             | fuzztester wrote:
             | I googled and answered my own question:
             | 
             | https://omscs.gatech.edu/
        
           | chubot wrote:
           | Hm what's your evaluation of the program then? What did you
           | learn, and did you learn what you wanted to learn?
        
             | __loam wrote:
             | I graduated this year. Great program at an incredible
             | price, I think it was less than $7k for me after they
             | reduced the fee. I didn't have a CS undergrad (Other stem)
             | but was working as a software engineer and wanted to bulk
             | up on basic knowledge with the systems track. Learned a lot
             | of what I wanted and got sight on some weak areas. Would
             | highly recommend the program. Hardest part was that it's
             | actually very rigorous if you're going for As.
        
         | whiterknight wrote:
         | > you will forget almost all of the stuff your learned
         | 
         | Speak for yourself.
         | 
         | You are also developing a meta skill of being able to read
         | technical material, and a fluency with basic concepts
         | (algorithms, signals, etc)
         | 
         | Also sometimes learning something isn't knowing exactly how to
         | do it on the spot, but knowing it's the right thing to look up
         | when you need it.
        
       | wildzzz wrote:
       | Can you define "designer"? That means so many things in different
       | fields. Like are you a web designer who knows stuff like React? A
       | mechanical designer that would have a mechanical engineering
       | background? Or a graphic designer thats more like an artist than
       | an engineer?
       | 
       | Seeing that you're in the medical field, I'd say look towards
       | finding a job with your relevant work experience at a company
       | that overlaps medical with the kind of technology you're
       | interested in (using AI to analyze patient records for example).
       | From there, you can use whatever experience you have gained on
       | your own (I'm assuming you've been doing little code projects at
       | home) to sidestep into roles at that new company that better
       | align with what you want. Then, use the company's tuition
       | assistance to get your CS masters as it directly aligns with the
       | work you'd be doing. Since you've been a PM and also have
       | whatever software experience you've gained so far plus the 2
       | years bump from the masters, you can easily slide into a senior
       | or lead role. You can use your PM skills while also getting your
       | hands dirty.
       | 
       | Of course you could just go get your CS masters right now and
       | then start looking at software engineer jobs with 2 years
       | experience (assuming no prior engineering experience) but I'm
       | guessing that could be a big pay cut for you and you'd be 40
       | years old competing with 22 year olds fresh out of college
       | willing to work for nothing. Not the best idea if you've got a
       | family to provide for.
       | 
       | Also, I hear you. You're having midlife crisis because you're
       | afraid you'll be stuck in a job you don't like for the second
       | half of your career. Don't worry. Take it slow but move
       | decisively. Find employers that overlap your experience with your
       | interests and navigate with purpose. Don't rush to get a master's
       | that will do little to get you where you want. Worry about that
       | once you've got your foot in the door.
        
       | shepherdjerred wrote:
       | Take a look at the OMSCS. Great degree, very cheap, and you can
       | do it while you work.
       | 
       | https://omscs.gatech.edu/
       | 
       | Happy to chat about my experience with the program, feel free to
       | email me: hn@sjer.red
        
         | vavooom wrote:
         | Can attest to the program being worth it!
        
         | jsqu99 wrote:
         | I'm in my 4th week of my first class. I'm 54. I have a CS
         | undergrad from 1996. I too caught the ML bug and...this first
         | class is kicking my butt but I'm LOVING the experience. Quality
         | education, very inexpensive, and I can quit any time. I'm doing
         | it for the love of learning and don't need to do it. It takes
         | $100 to apply. Just go for it and try a class. I will warn you
         | without a tech background this particular program will be tough
         | I think. I'm struggling catching up w/ Math
        
           | alwa wrote:
           | Congratulations on getting back into it! What style of class
           | or course of study did you choose? $100 seems like an
           | accessible price point.
        
         | musicale wrote:
         | This looks like a winner to me as well. Personally I find
         | university courses to be motivating, and unlike other programs
         | this doesn't seem to be designed to rip you off or put you in
         | debt. You learn the same good material as on-campus students,
         | and you get an MS out of it from a good engineering school. The
         | credential is meaningful because it requires completion of
         | courses that are difficult but also designed to teach you the
         | material.
         | 
         | If you have no engineering background, I expect you'd need to
         | spend time doing prerequisite/undergrad courses beforehand.
        
           | musicale wrote:
           | The down side is that: it takes time and money, and nobody
           | will give you a raise because you have an MSCS (though maybe
           | it could help with changing jobs). But the actual knowledge
           | and skills are useful if you can put them to use, and you may
           | also find the courses to be satisfying in themselves.
        
             | shepherdjerred wrote:
             | The entire OMSCS program costs about $6000-$7000, depending
             | on if you take one or two classes per semester.
             | 
             | That's not free, but it is an undeniably great value for
             | the money.
        
             | snake42 wrote:
             | At my workplace, its a hard requirement for advancement to
             | get a MS/PhD. Comes with an automatic raise too.
        
       | dangjc wrote:
       | We have a product analytics team where people have transitioned
       | from being fully PM focused to being deeply data analysis
       | oriented. It starts with using code-lite tools like Tableau and
       | SQL queries then easily opens up into running data transform jobs
       | with Python scheduled on a cluster. It would probably be easier
       | and more financially remunerative to be at a company where you
       | provide value in a product role, and continue providing that
       | value as you slowly transition to a more engineering role.
        
       | donatj wrote:
       | For what it's worth, I don't think not having a masters degree
       | would be an impediment to job progression, but it sounds like you
       | might want one and are just looking for a reason.
        
       | wileydragonfly wrote:
       | Get an MBA
        
       | godzillabrennus wrote:
       | Careful about aging out. At your age you have about 10 years
       | before age discrimination will hit you hard at the individual
       | contributor level if you haven't moved into management. Maybe a
       | dual master program to obtain the MS in computer science and an
       | MBA simultaneously? That way you show deep knowledge of business
       | and the technology.
        
         | anon7725 wrote:
         | There are plenty of us in our late 40's and above who work as
         | IC engineers.
        
           | el_benhameen wrote:
           | I worry about this a fair amount and I appreciate hearing the
           | success stories
        
             | mewpmewp2 wrote:
             | I guess one of the points is - when did they start?
        
             | vitaflo wrote:
             | IMO aging out only really happens when you rest on your
             | laurels and let your skill set lapse. Also happens at
             | younger ages but we just call that being PIP'd. All my dev
             | friends and I are mid 50s and doing fine not being in
             | management.
        
           | bfung wrote:
           | There's an extra qualifier here, where are there Software
           | Engineers past 40s _that started in their 30s_. I 'd don't
           | see many, if at all, that are basically at entry level and
           | end up doing PM/TPM work (not that it's not important, but
           | not worth degree for!)
        
         | jsqu99 wrote:
         | Serious question...where is this happening? I've been a job-
         | hopper all my life. I'm 54, and i've never felt i was being
         | discriminated against. I keep hearing about agism...is it more
         | in SV? I'm in south carolina
        
           | sumtechguy wrote:
           | They just dont call back. Two spaces in your sentences? Your
           | first job in the 90s? etc etc. Easy to filter you and you
           | would never know it.
        
       | ahewett wrote:
       | No. I would give the same advice to an 18 year old. I can't speak
       | for aerospace, but can expertly speak on BCI, medtech and AI. And
       | bank security.
       | 
       | What I would honestly recommend doing is a bootcamp for full
       | stack, or even just backend or frontend, or native, React Native,
       | etc. Start there. You must learn the basics of code first. Not
       | only that, but you will need to know how a non-academic team
       | works. Github for starters. Also if anyone ever tells you that
       | "elegant" code in one line is better than "readable" code in 10
       | lines, punch them for me. That is not how reality works in the
       | workplace. Clear variable names. Clear function names. An
       | understandable architecture for what is trying to be
       | accomplished. These are the most important things, not reducing a
       | perfectly understandable algorithm to something akin to calculus.
       | 
       | I actually made some of the first BCIs for the PC a long time
       | ago, but already was a certified architect in C#, Microsoft, etc.
       | These days you want to go for Node/JS or Go or Java, etc. Once
       | you learn one language it is simple to learn another,
       | particularly C-based languages (JS/TypeScript/C#/Java/ObjC/Swift
       | and so on - notably they use brackets instead of indents or words
       | to denote functions and objects.
       | 
       | I used to do AI work, but mainly medtech these days like digital
       | therapeutics, and paradoxically I also do bank security (startup
       | I was working with got bought by a bank, thus the disparity
       | between the two. hey, you make friends along the way, help them
       | out, and occasionally a hustle becomes your job)
       | 
       | I highly recommended becoming intimately aquatinted with
       | databases, both relational and otherwise. And learn how to
       | optimize them. You WILL have to work with a relational database
       | at some point and thus you will need to learn SQL, indexing, etc.
       | 
       | Along the journey of my life, I've become quite the physicist and
       | like to think I have a deeper understanding of math than most
       | people. The only benefit I see to a degree is you might learn
       | some of that. Physics, signal processing (from an EEG for
       | example), and so on, are unavoidable. HOWEVER, there are a TON of
       | libraries that will do all of that for you, and along the way you
       | will learn it. I highly doubt anyone writes their own Fast
       | Fourier Transform (FFT) these days, but to use it you have to
       | understand how it works, what it's giving you, and what it's not,
       | in order to avoid egregious mistakes. I've had to correct many
       | people on what a Fourier transform actually does, many of them
       | who have related doctorates. There are some truly stupid highly
       | credentialed people in the world. IMO even the wikipedia article
       | on it has some serious mistakes.
       | 
       | Honestly? Everything you need to know you can learn yourself
       | online very cheaply through online courses. Get yourself a mentor
       | or two. People LOVE teaching others. A bootcamp, however, will
       | land you your first job.
       | 
       | As far as getting a job, when it comes to programming or
       | engineering, "the proof is in the pudding". I've interviewed
       | hundreds of programmers. At first I read all about their
       | achievements at MIT and all of what they are experts in. But, in
       | the end, EVERY INTERVIEW will consist of a live coding session.
       | 90% of the people I interviewed could not write a solution to
       | total softball questions like, "Alphabetize this text" or "Parse
       | this JSON". I would even let them google and they still couldn't
       | do it. I've had people right out of bootcamp that were better
       | coders than the most highly credentialed CS graduates.
       | 
       | Which brings me to my final notes: 1) Live code as much as
       | possible. Learn to love it. I failed the crap out of my first
       | live coding interview, but faced my fear and now I'm the only one
       | in the bank department I'm in that live codes. As I'm sure you
       | can imagine, product and design LOVE IT. 2) FORGET ABOUT LEETCODE
       | or any other such crap. If I was ever given a leetcode question
       | in an interview I would tell them point blank that people just
       | memorize the answers to these, they are not applicable to real-
       | life application, and then I would walk out because that company
       | is clearly not serious. 3) Whiteboard interviews are also going
       | to happen. Super easy. Flow chart with how the frontend connects
       | to the backend, branching enough into each until they know you
       | know what you're talking about. 4) Don't forget the old school!
       | If someone asks you what "PUT" means in a request and you don't
       | know the answer, that's pretty embarrassing. Learn about basic
       | networking, from old to new. 5) LEARN DEFENSIVE CODING: This will
       | give you a leg up because I've never met a programmer who knew it
       | who hadn't also been a hacker at some point in their life.
       | Basically what this means is how to reduce vulnerabilities, but
       | also how to straight up trick would-be hackers. For example,
       | error messages. If you have an error message that says "License
       | invalid", it will be ludicrously easy to find that string and
       | thus where the license code is likely to be. Instead, screw with
       | them. Say your program detects that a user has hacked into your
       | app, if you simply cause a crash or exit that just gives them an
       | easy way to find and remove the problem. Instead, perhaps there
       | is a commonly used number in your app. Change it so they get
       | weird data. Or maybe division of numbers is needed at some point.
       | Change the divisor to 0 to cause a random crash. Some defensive
       | coders will simply use a timer, set it to a random value, and
       | then cause a crash in some way. Whatever you decide to do, use
       | multiple defensive techniques, and always always screw with the
       | hacker so they have no easy way to determine where to look to
       | bypass your protections.
       | 
       | -------
       | 
       | Ok so I've overwhelmed you and you may be rethinking your
       | decision. Don't. Jump right in! Learn as you go, keeping the
       | above advice in mind, and you will succeed. Take a few courses on
       | the basics of the actual reality of working in the private
       | sector, so you know the basics of github, but make no mistake:
       | show me a coder that says he doesn't google at least once a week,
       | I'll show you a damn liar.
       | 
       | As far as aerospace, I've no clue. I have friends at NASA who are
       | bored out of their minds, but the are all credentialed. Even so,
       | the exactly University you go to barely matters, as far as I can
       | see. Again, coding and the understanding of fundamental concepts
       | is something that can and will be tested during an interview, and
       | maybe even before the interview with a take-home project or a
       | general phone call.
       | 
       | Above all, have confidence in yourself, and walk out of an
       | interview that is stupid or has a bad culture. EVERYONE has
       | imposter syndrome. Make THEM court you. I've straight up never
       | gotten a job I wrote a cover letter for. Usually out of some
       | company that is truly interested calls YOU. They can see your
       | resume on LinkedIn like everyone else. Which reminds me, up your
       | LinkedIn game big time. Yeah yeah everyone hates it but you start
       | writing things, people invite you on podcasts, the snowball
       | starts rolling.
       | 
       | Well that's all I've got. I hope it helps!
       | 
       | Good luck!
        
       | purple-leafy wrote:
       | I am an Electrical Engineer who transitioned into Software
       | Engineering at the start of my career. I'm also under 30.
       | 
       | For context, I failed most of my Computer Science papers first go
       | (undiagnosed ADHD) and I absolutely Hated (with a capital H),
       | Software at uni.
       | 
       | Once I graduated though I picked up Python and discovered I
       | actually LOVE programming and computers - the way uni was taught
       | and my immaturity really put me off initially.
       | 
       | I'm successful as a Software Engineer, have sold my own Software,
       | have built an AI app recently, but I have had some knowledge
       | gaps.
       | 
       | I entered Harvards CS50 courses and loved them! You could try
       | that instead of a masters? One can basically finish a full course
       | in 2 weeks (on top of work and life)
       | 
       | I'd highly recommend starting there, rather than the mountain
       | that is a Masters.
       | 
       | But if you are blasting through the courses, then consider a
       | Masters at that point?
       | 
       | I have also been considering a Masters, but you have to ask
       | yourself why?
       | 
       | - For the knowledge gained?
       | 
       | - For the cred?
       | 
       | - For employment opportunities?
       | 
       | I'd say you can get all of that with a typical software career if
       | you also study on your own time outside of work.
       | 
       | But if you absolutely can't shake the thought of doing a Masters,
       | how about doing it part time so you can still have healthy
       | finances?
       | 
       | Best of luck!
        
       | jwrallie wrote:
       | If you want to justify it, just frame it as a personal goal and
       | do it. That way you don't have to measure any benefit from your
       | career perspective, you did it because you wanted to grow as a
       | person, and any benefits are a side effect.
       | 
       | Most people always think you can take classes online, work in
       | side projects and get the same benefits. They are all right,
       | except enrolling in a program will help you stick to it, and that
       | is the whole point.
        
       | alienchow wrote:
       | To be honest not really. For mid career pivots, your work on your
       | resume counts more than a degree. You'd see more success
       | transitioning organically by helping out with simple technical
       | projects on the team and filling knowledge gaps with YouTube.
       | Formal courses fill you with information that gets forgotten
       | without practical application.
       | 
       | PMs with engineering knowledge are actually very valuable. I love
       | cross-functional team members, since they always provide new
       | perspectives. So I wouldn't call it a pivot either, more like a
       | career boost. You'd need to have a supportive engineering team
       | who'd be willing to let you get your hands dirty though, that'd
       | be your bigger challenge.
        
         | geertj wrote:
         | I went through a similar change from PM(-T in my case) to SDE,
         | and I can +1 the parent. The best way to make a mid career
         | change is to find a job where the old and new role can overlap,
         | which I how I did it as well. If you're currently working as a
         | PM, try to get an engineering role for the same product. The
         | engineering part will be new, but you will be able to leverage
         | your domain expertise.
         | 
         | I will caution you that SDE is a job family that requires a ton
         | of practitioner experience, especially at the higher job levels
         | (and you likely don't want to transition to a lower level). The
         | only way I was able to make this change was because I have a
         | relevant college degree and because I started out my career as
         | an SDE and always kept up to date. And even with that, it took
         | me 2.5 years to make the job change official.
         | 
         | Still, don't let that caution scare you, if you really want the
         | change and you want it for the right reasons. SDE is probably
         | the easiest of the STEM disciplines to get into without a
         | format education in the field.
         | 
         | And finally, another big +1 on the parent's comment about PM-T
         | with technical experience being super valuable.
        
       | david38 wrote:
       | No, not worth it
        
       | ghaff wrote:
       | I'm not sure that, absent some serious credentialism, getting a
       | degree makes a lot of sense past some point. Certifications,
       | attending conferences, etc, may well and they're a lot cheaper,
       | companies will probably be happy to pay for them, and they are
       | probably mostly not time out of your pocket.
       | 
       | If a company wants to pay for an executive MBA program or
       | something along those lines, sure why not?, but certainly
       | wouldn't do it on my own.
        
       | tptacek wrote:
       | 29 years into my career. I have 1 semester of undergrad at UIC.
       | Hasn't mattered a bit. The opportunity cost of a midcareer
       | masters is high. If you're not already in tech, the degree might
       | serve as a forcing function and do some matchmaking for entry-
       | level jobs, but my guess is you could have hustled and gotten
       | those same opportunities without it.
       | 
       | I have two kids who occasionally think about how they'd pivot
       | from their undergrad degrees into tech work (probably after
       | seeing me waking at at 11AM and working all day in my pajamas). I
       | would steer them away from an MSCS.
        
       | pinkmuffinere wrote:
       | The advice in here is broadly "no", but I think that is because
       | you specifically called out CS. I think you should probably
       | narrow that list of fields a bit more, because for some fields
       | you would have no choice -- eg, if you wanted to do GNC (guidance
       | navigation and control) in aerospace I think you'd _have_ to go
       | back to school, because so much of the fundamental math is not
       | something you could learn on-the-job.
        
       | erichmond wrote:
       | If you want to learn for the joy of learning: yes
       | 
       | If you want to get a job at a competitive company / make a career
       | change: no
        
       | 1jreuben1 wrote:
       | Learning is always worth it, but you dont need to pay for a 2nd
       | certification for that. Disclaimer - I did an MSc in
       | Bioinformatics 20 years ago. I've been working in the software
       | industry for 30 years. I contemplated doing a PhD, but up until
       | now, there has just been multiple firehoses of free information
       | online to absorb (plus many good books).
        
       | senjindarashiva wrote:
       | I am assuming your in a country where you have to pay for
       | university courses? If not I've personally found that it's an
       | interesting and worthwhile complement to development work.
       | Working as a developer and taking some courses in areas where I
       | feel that theoretical knowledge is beneficial while slowly
       | working towards a masters. From a career standpoint I don't think
       | the degree while help that much however the deeper knowledge
       | might. But again this is under the assumption that the education
       | is free.
        
       | austin-cheney wrote:
       | A masters degree is excellent for gaining opportunities doing
       | more interesting work, but otherwise is an extremely expensive
       | way to enter tech.
       | 
       | I am a mid-40s developer without a masters, but have a former
       | military and cyber defense background. Most of my programming
       | experience is in JavaScript, which is super low barrier to entry
       | and generally stacked with beginners and beginner experts that
       | never get past entry level capabilities. At this point in my
       | career, in this line of work in JavaScript, I have to make hard
       | choices:
       | 
       | 1. Make good money working with people that cannot really program
       | but nonetheless consider themselves engineers with hyper
       | insecurity because they are reliant upon a massive tech stack
       | 
       | 2. Make less money working with more mature people doing
       | different work
       | 
       | With that as my options I have to make some hard decisions about
       | if I even want to advance
        
       | badpun wrote:
       | 99% chance you're just bored in your career. You'll probably be
       | as bored in your new career, as most of work in any field is just
       | a boring grind. It's best to alleviate boredom without severely
       | compromising one's earning potential.
        
       | gsch1 wrote:
       | If you can secure a scholarship, I would definitely recommend
       | going for it. You'll gain a lot of knowledge and earn respect
       | with a master's degree. Whether it leads to something more
       | depends on how you use your degree and the opportunities you
       | create for yourself.
        
       | brudgers wrote:
       | In a person's late 30's job prospects for professional jobs are
       | primarily a function of the person's professional network. If you
       | get a degree in CS, you will be one among many fresh CS grads.
       | What will stand out is your age and work history. These will
       | raise a natural and reasonable question "Why hasn't this person
       | been hired by someone who has seen their work or worked with
       | them?"
       | 
       | For someone whose job is going through 1000 cold call resumes a
       | day, "No" has a low bar because the shortlist is only a small
       | fraction of the resumes. It's not impossible. But by your late
       | 30's "potential" is not a saleable asset.
       | 
       | Go to school to learn something you are directly interested in.
       | If you want a job in BCI, Ai, aerospace, etc. apply for jobs in
       | BCI, Ai, aerospace, etc. Good luck.
        
       | langcss wrote:
       | For clarity: do you want to be a software engineer, platform
       | engineer, data scientist, ML expert or something else?
        
       | freedomben wrote:
       | I pivoted from hardware to software by getting a CS degree. I
       | would only recommend doing it if the jobs you want _require_ a CS
       | degree. Even then, I would probably look around and find a
       | company who doesn 't require a CS degree, as the companies that
       | do are becoming rarer and rarer. Rather than going back to
       | school, I would use your current foot-in-the-door to try and get
       | more involved in the technical side of things. There's usually at
       | least one dev who loves to explain things in as excruciating
       | detail as you want, though definitely let him know you're asking
       | because you want to learn, not because you want to manage.
       | 
       | I'm sure that many people will disagree with this, but I also
       | don't think there's a ton of value in an MSCS unless you have a
       | BSCS or similar technical undergrad, or unless you study/prepare
       | your ass off learning the fundamentals before starting grad
       | school. A CS degree certainly isn't required to be a great
       | engineer, but most of the great engineers I've worked with did
       | have one. The underpinnings provided by a good BSCS program will
       | make you much better at the design side of software.
       | 
       | If you want to do the prep work, between MIT and other online
       | courses it's all out there for you. You can also audit great
       | courses for cheap at most any school you choose. Some of the most
       | helpful classes are Algorithms, Data Structures, Operating
       | Systems (yes! knowing what the OS is doing underneath you is
       | important for writing performant and reliable code), and Computer
       | Security (you should at least be writing a basic buffer overflow
       | exploit in this class, such as the classic "defuse the bomb"
       | assignment).
       | 
       | So to summarize, IIWM, I would try to find opportunities in your
       | current role to get deeper into the technical, then practice
       | practice practice on your own. Build a non-trivial app that does
       | something you need. Open source it and do a Show HN, and you'll
       | get a ton of feedback, some of which will be extremely helpful
       | for you. Also show it to your colleagues and ask for feedback.
       | Then look for jobs that don't require a degree. You could
       | reasonably be getting an engineering job in 12 to 24 months. If
       | you really want to go for the MSCS, make sure to thoroughly
       | prepare yourself with undergrad-level work. The MSCS will (or
       | should at least) expect you to already have a base knowledge in
       | algorithms, data structures, and other CS-related things, and
       | while most people can get through the program without this, they
       | will get far, far less out of it than they could have.
        
       | robgibbons wrote:
       | Meta comment, but didn't this get posted 4 days ago? Why is it
       | showing as posted today with comments that I definitely saw
       | before? This has triggered my deja vu.
        
       | ljbryf wrote:
       | I transitioned to SWE later in life, I did a postbac CS crash
       | course that got me automatic entry into the CS masters program at
       | the same school. I did two terms in the MS program and then got a
       | full time SWE job after an internship. Some lessons
       | learned/logistics:
       | 
       | * I did pre reqs as cheaply as possible while working. I went to
       | school full time after, the cost benefit was better for me
       | because of the expected income jump. Either way, I worked really
       | hard in school, keeping a full time job wouldn't have been
       | possible for me with a full load.
       | 
       | * If you do a CS program, allow the time to really enjoy the
       | material. It will move fast. If you don't enjoy a class, or a
       | prof, find something better if at all possible.
       | 
       | * A MS degree has so far not been necessary (I didn't finish the
       | degree), but a significant amount of CS coursework plus an
       | unrelated BA has absolutely been necessary for my SWE jobs (I
       | work as a backend/platform engineer most of the time)
       | 
       | * If you're doing it for the money, a CS education can do a lot
       | to unlock better jobs-- just be really clear with yourself that
       | that's what you're aiming for. School involves a lot of hoops.
       | Don't do what doesn't serve you. If you're there for personal
       | growth and learning, set yourself up financially and take the
       | leap to go full time. You'll enjoy it a lot more if you spend the
       | time saving, take intro courses and then allow for a deep dive.
       | Your interests and goals will shift over time.
       | 
       | * I really benefitted from landing in a program where I had a
       | small in person cohort. I studied with my classmates a lot and
       | made at least one life long friend.
       | 
       | Anyhow, good luck! It's so exciting to go for a big goal.
        
       | jerf wrote:
       | This is one corner of the educational system I never dug into. I
       | know it's possible, so, I would ask someone who has done it, how
       | exactly does one progress from "no background in engineering" to
       | "a Master's degree in CS"?
       | 
       | Having done a Master's degree in CS, but with a Bachelor's in CS
       | before it, the classes I took for my Master's degree would have
       | been mostly impenetrable to someone without a bachelor's degree
       | already.
       | 
       | So how exactly does that work?
        
         | ljbryf wrote:
         | It takes some doing. In my case (in the USA):
         | 
         | * Years of part time math classes. Math classes are sequential,
         | I hadn't taken any college level math as an undergrad. I was
         | working at a university, so I had the luxury of basically free
         | credits, and lunch breaks where I was already on campus.
         | 
         | * A unicorn, no-longer-in-existence post baccalaureate program
         | that covered the highlights of undergrad CS topics in 9 months.
         | It was full time, and the entry bar was pretty low, but I had
         | to take the GRE. Completion granted automatic entry to the MSCS
         | program.
         | 
         | * Postbac is always an option, without a special program you'd
         | just take undergraduate programs until you either earn the
         | entry requirements for the MSCS program, or an actual second
         | bachelor's degree. This can take years, because of course
         | scheduling and sequential classes.
         | 
         | * I went to a state school -- sadly, many of the MSCS classes
         | were 400/500 level, meaning there were some nominal additional
         | assignments for the grad students, but you were otherwise
         | basically just taking advanced undergraduate classes for
         | special topics.
         | 
         | * All told, I spent a few years taking math classes one at a
         | time, three terms full time post bac, and two terms in MSCS
         | before landing a job. I don't see an advantage to finishing the
         | MSCS at that school.
        
       | iamwpj wrote:
       | I'm nearing completion of my Cybersecurity Masters degree. It's
       | fully online and takes around 20-40 hours per week of work. No
       | thesis, but I do have a project/capstone course right now.
       | 
       | I don't have a computer science undergrad so for me the
       | motivation was both in the potential for advancement, but also a
       | chance to study the field I've been working in for the past
       | decade.
       | 
       | School has some clear advantages:
       | 
       | * It standardizes taxonomies, frameworks, and methods. You'll be
       | able to talk to others who are more ingrained in things like
       | distributed systems or other deep fields and recognize the
       | terminology and use the correct references.
       | 
       | * Things like ethics, establishing trust, and reliability of data
       | are hard to learn "on the job" except in cases where you are
       | directly prompted. These skills can be easily taught in a
       | classroom setting.
       | 
       | * The efficiency of classroom learning is hard to beat. A well
       | defined lecture and reading guide will show you just the right
       | content to most efficiently convey a topic. Obviously this
       | requires a lecturer to be good enough at their job to
       | successfully perform.
       | 
       | Frankly, some of the arguments here against higher education are
       | alarming. You should not be acquiring specific skills in your
       | classes. You should have learned logic, algorithms, and how DAG
       | works in your undergrad or through self teaching. Mastery of
       | Apache Airflow is your own business, but much more
       | straightforward with the aforementioned skills.
       | 
       | After continuing in my IT career and taking college courses, I
       | have continued to regret my time as a younger administrator. I
       | was given too much permission and it's only through luck and
       | coincidence I never caused turmoil. Without any formal training I
       | had access to so much data and potential to inflict problems. I
       | can't see a world where that kind of malpractice is allowed to
       | continue. In the same way that we ask forklift operators to
       | guarantee the safety of those around them by passing a test, we
       | should be asking our IT workers to prove their basic abilities
       | before handing over domain administrator logins.
        
       | justinhj wrote:
       | I would advise taking an IC role in deep tech. See what that
       | takes, what knowledge you need. If you do need an MSc then do
       | that. A couple of years as an IC will prep you to be a deep tech
       | PM more than any credential.
        
       | athorax wrote:
       | What causes 4 day old questions like this to resurface with the
       | timestamps showing hours old instead of days?
        
       | rahimnathwani wrote:
       | itching to get into deep tech
       | 
       | What actions have you taken so far? Are you working through any
       | books or online courses with actual homework problems?
       | 
       | For all the things you mentioned, a good start might be studying
       | calculus. Even if you studied it in high school, you're probably
       | rusty.
       | 
       | If I were in your shoes, I would sign up for mathacademy.com
       | ($50/month) and commit 2 hours per day (14 hours per week) to
       | studying math. This would both help you develop a study habit,
       | and ensure you have a good mathematical foundation for the other
       | things you want to do.
       | 
       | In my experience, trying to study things that require some math
       | foundation (like all the things you've listed) can be really hard
       | and demotivating if you're missing those prerequisites. It can
       | feel like you're not smart enough.
        
       | TheMagicHorsey wrote:
       | Not really. The utility of credentials is falling fast vs
       | recommendations, networking, and work experience.
       | 
       | If you want to learn some deeper technical things, I suggest
       | online one-off courses or online mini-certificates.
       | 
       | On the other hand, if you are still in one of the few remaining
       | societies where credentialism is still rampant, then you may want
       | a Masters for the prestige.
        
       | ponty_rick wrote:
       | Unless you're doing it for ease of immigration, I generally don't
       | recommend it - a lot of University assignments use outdated tech
       | and you end up not using most of what you've learned. The
       | concepts are useful of course, but you could also read about them
       | on your own time.
       | 
       | If you're doing it for ease of immigration though, I 100%
       | recommend it, not just to get a work visa, but for a foreigner
       | coming to the USA its a great way to get accustomed to American
       | lifestyle, make friends in a new country and create a network and
       | support system.
       | 
       | edit: spelling
        
       | analogwzrd wrote:
       | If you have no experience in writing software, physics, or
       | applying higher level math, jumping into a master's program
       | without an engineering background will probably wreck you.
       | 
       | Lots of universities will let you sign up for graduate level
       | classes as a continuing education student or certificate program.
       | Sign up for one and see if you can keep your head above water.
       | Even taking a Python class at a community college would help a
       | lot.
        
       | djent wrote:
       | Why would you take graduate courses if you have no background?
       | Maybe undergraduate would be more your speed
        
       | evanmoran wrote:
       | I'll try to be a bit more direct than other answers, so apologies
       | if it is too much, but let me say that such a move would make
       | more sense if you want to switch to a developer role. I'd say it
       | is not a good plan for a PM role as honestly PMs don't need the
       | tech depth to be great and two years isn't enough to be
       | competitive technically with devs with 4yr degrees and 10+ years
       | experience, etc. Instead consider taking an online data structure
       | coding class to feel how it feels (coursera has good ones) to
       | become technical. If you love it, you can choose to go further in
       | that direction if you want. Hope that helps!
        
       | itohihiyt wrote:
       | I'm 40+ and I've just handed in my dissertation for a BSc in
       | computer science. I've also just started an MSc in cyber
       | security.
       | 
       | My advice. If you want to get a job just do courses that are
       | going to teach you the practical things you need to know/are
       | interested in. Academia is a waste of time unless you're going
       | into academia, or an industry that requires academic skills.
       | 
       | All the stuff I can do is self taught, though these course have
       | taught me the fundamentals.
       | 
       | If I knew then what I know now I would have gone a different way.
        
         | copperx wrote:
         | > dissertation for a BSc in computer science
         | 
         | Wait, dissertation? What country are you in?
        
           | itohihiyt wrote:
           | UK. That's what the uni calls it.
        
       | thenerdhead wrote:
       | I'm in a AI/ML masters and it is pretty cheap.
       | 
       | While it takes time to do, it has really held me accountable to
       | actually go learn the things I really ought to be learning rather
       | than being stagnant.
       | 
       | I'm a staff PM at a big tech company and I came to realize that
       | nobody knew this stuff, not even the people we are hiring to
       | implement it. Therefore I decided to go out and learn it as my
       | skillset needed a refresh (I come from the mobile dev boom)
        
         | rmbyrro wrote:
         | Mind sharing the link to the masters you're taking?
        
           | thenerdhead wrote:
           | It is the UT Austin program. It is a bit more theory heavy
           | akin to early Andrew Ng courses at Stanford.
        
       | lowkey wrote:
       | I would recommend considering the Georgia Tech Online Masters in
       | CS. You can manage the work at your own pace. It is extremely
       | cost-effective, and Georgia Tech is well recognized as a tech-
       | forward university.
       | 
       | Btw, I highly I applaud your decision to go deep tech mid-career.
       | I think there's not enough strong product people in deep tech.
       | Even if you go back to product afterwards, your strength in
       | understanding the problem space and available solutions will
       | serve you well.
       | 
       | I'm also mid-to-late career PM transitioning back into deep tech.
       | My path is a little bit different than yours. I'm doing a hard
       | tech startup instead.
        
       | yayitswei wrote:
       | Is this a repost? I swear I've seen a similar post recently with
       | near-identical responses.
        
       | Clubber wrote:
       | >I'm a PM & designer in his late 30s who is itching to get into
       | deep tech
       | 
       | I've always told people who are interested in getting into tech:
       | if you don't love it enough to do it on your own, don't get into
       | the field. Not because I think they're dumb, but to excel, you
       | need an almost unhealthy obsession with building software.
       | 
       | So, having said that, I would explore the internet for a topic
       | you are interested in and invest some of your free time into it.
       | Build something to the point you think someone would buy it
       | (polished, not throw away code). Make sure it's tested and
       | relatively bug free. See how you feel after that.
       | 
       | Having said that (again), I have an undergrad MIS degree and it
       | gave me a good foundation and I learned the jargon, but the vast
       | majority of practical stuff I learned, I learned working on
       | personal projects at home and projects at work.
        
       ___________________________________________________________________
       (page generated 2024-09-17 23:01 UTC)