Can an absolute newbie get a solid job in a CS field within 6-12months?

My TLDR – If willing to work hard and be dedicated to learning to code, can a person go from zero experience in computer science to being competent enough to grab a decent-paying job with healthy work/life balance in the field within 6-12 months? While still working another job up until transitioning? I’m not asking if the above would be a rare but possible success story, I’m asking if the above is a somewhat-realistic expectation if truly dedicated.

This is my SOS to you fine folk, and hope this is appropriate for the community. Without going too deep into the pity party, I will say I am a man pushing 40 and the primary breadwinner for my family whose business has entirely collapsed in a few months due to market conditions and left me making income more akin to minimum wage. The business was practically killing me anyway, no work/life balance whatsoever. I don’t have the energy to rebuild it, nor do I want to.

I need a new industry. I need to in a starting position make at bare minimum $65-70k/yearly if my family isn’t to suffer, and I need to find something with true work/life balance. No more 7 day work weeks for multiple years at a time with no vacations. I need to be able to expect to reach something close to $100k/yearly again within a handful of years. I expect a competitive job market, but I need it to NOT be SO saturated that I can’t realistically expect to find work without having connections.

My big ask: are my above needs something that one can realistically expect to achieve in a computer science related field in my needed timeframe? Can the learning process to become proficient enough to get a starting level job be done while still working 40+ hours a week?

I do not have a passion for computer science, but I do have a passion for saving myself and my family from ruin. I have a bachelors degree but it’s not in a tech-related field, is that sufficient if I do a bootcamp and become proficient? Are community-college bootcamps acceptable, given that I cannot afford a $10-15k bootcamp right now? I am not a fast learner, but my workstyle is very procedural: for example I tinkered in my Customer Relationship Manager program endlessly to build automations that make my workflow easier and succeeded at doing so. I enjoyed building systems that ensure my employee’s work gets done as efficiently as possible and eliminate stressors.

Have I found a possible path to rebuild my life here, or am I running a fool’s errand? I deeply appreciate anyone willing to give advice or perspective, positive or negative.

1 Like

6-12 months is theoretically possible, but that timeline is not typical and I would not count on it. You need to squeeze in the knowledge and skills to make you competitive with graduates from 4 year programs. Building up that knowledge takes time. Programming is not a ‘fast’ career to break into.

7 Likes

Everything depends really on two critical things.

  1. How much time, and commitment you can provide outside of your current 40 hours a week.
  2. What the job market looks like and expects where you live.

The first is what you have the most control over, but is still limited by pure time. Not only are you aiming to move away from a job with limited work life balance, but you’ll need to throw on top of that learning. If you find yourself exhausted already you might struggle with learning continually and consistently.

The second is what you have minimal control over, but what matters the most to your timeline.

If there are a large amount of entry level jobs needing to be filled across multiple companies that have training programs targeted toward career switchers, then you’ll have vastly better chances with your timeline and goals. If these jobs don’t exist, or the only jobs you find are totally different, then your timeline will get incredibly difficult to outright impossible if there are limited job opportunities.

Yes there are remote-only jobs, but these are very difficult to break into due to large amounts of competition, and usually require some experience working remote. Such a setup also makes entry-level difficult as it isn’t easy or effective to learn in an isolated environment without significant resources to leverage.

This is the key area I’d like to point out. Its true software/tech is a growing field that is seeking talent. However it is saturated at entry level positions due to the multiple avenues one can take into the field, and the “affordability” of some of these paths.

Yes boot-camps can get expensive, 4 years of college come in expensive as well, but to be self taught you only need to have 3 things. Time, grit and an internet connection. Because of that anyone can try, and apply.

So the only way to “stand out” is to be able to take those three things and get to a point where you are clearly “above” the competition when it comes to applying for a given job. If you are unable to do this, then you’ll blend in and wont get many or few bites.

These are the 2 critical things I think you can leverage to “stand out” and ultimately succeed with a career pivot. Obviously you’ll need more than these, but these are 2 things that you can “build yourself around” when it comes to applying for jobs, along with other critical skills.

Simply put, being a software engineer is about solving problems. If you have a history about doing that, then you can easily build your job application around that and show that you have experience and “have what it takes”.

Finally, its worth mentioning there are plenty of other routes you can take that aren’t directly software related, but may be related to tech. Learning to build good software takes time, and experience. You might not have enough time to commit, so it might be better to build your career pivot around more relevant experiences you already have. Something like a PM or general IT can get you a stable position, with less work, and into a role where you don’t have to work as much to stay afloat.

Good luck, keep learning, keep building :+1: :

7 Likes

Thank you Jeremy! It pays to know to temper my expectations as to how quickly this can be become a reality. I will prepare for the worst and hope for the best.

1 Like

Thank you greatly for the thoughtful post Brad.

To follow up on some of your points:

  1. My current business is taxing and time-consuming but I am the owner of it, and can likely carve 2+ hours of the day into being a learning time, which could put less of a burden on evening learning time. Perhaps I will need to extend my timeline, but I will do what I must.
  2. I live in Washington, DC and at least from searching online there seems to be a fair number of entry-level tech jobs, both remote and in-office. Several of them do advertise training programs. I will take that as a good sign that there is possibility, even if there is stiff competition.

Thank you for pointing out those items that may help me stand out. My hope is that leveraging those, along with hopefully getting myself to the point I can build a good-looking website with proofs of success (whatever those end up being) will put me above the rest.

Again, thanks for the help.

2 Likes

Sorry to hear what you’re going through, that sounds awful.

I learned how to code mostly while working 40-70 hours/week (sometimes 90 but I usually didn’t code those weeks).

I had different circumstances but very similar needs as you. I was the sole breadwinner for my family and I needed to be making about 65-70k CAD a year give or take to make ends meet.

From the time I decided that I wanted to be a programmer to the first dollar I made while doing it, it took me 4 years. But that’s quite a bit above average for self-taught web developers from what I hear.

If I could go back and do it over, I would have focused 100% of my time chasing a job in web development and only focus on what’s essential to that role. I wasted a lot of time not knowing specifically what sort of programming job I wanted and I would often get distracted whenever I read job posting descriptions. Job postings would convince me that I needed to know a dozen or more programming languages and technologies to make myself more hirable, which was completely not true.

Just to give you some perspective, here’s what entering into this industry was like for me.

As soon as I focused on web development specifically it only took me about 5 months to get my first job. It paid $30 USD/hour or about $42/hour for me after converting it to CAD. Unfortunately it was only about 10-20 hours per week and on contract so I still had to find another job.

With real experience on my resume I was able to land a web developer job at an agency but it was only $13/hour… And my boss couldn’t afford to pay me OT most of the time so he was pretty adamant about only working 44 hours/week.

Within 1 year after landing that job I found another job that started me at $50k/year which was still quite low for my needs (I was incurring a lot of CC debt during this btw). But the experience I gained at this company helped me land a job at a place that started me at $75k and within 3 months bumped me up to $80k, from which I slowly climbed up to about $100k/year within 4 years of being there.

How much you make at your first programming job will depend on a lot of factors, but in my experience, even if you start quite low you can work your way up quickly if you’re willing to change jobs a few times early in – and this is the experience I hear from many others in the industry too.

I also have heard of quite a few people who have been able to make it into the industry in that 6-12 month time frame. But I’ve never heard of someone learning the equivalent of a CS degree in that time. CS is extremely generalized. It’s not just programming. There are a lot of other subjects that are covered in depth, that are not required for most web development, or software development jobs out there. As you advance in your career and work on more complicated systems, you may need to dive deep into advanced CS topics but you don’t need to learn those topics before landing your first entry-level job.

When I hear stories of people getting a web dev job in that time frame, they were always extremely focused on the specific job they wanted and didn’t get distracted by all that’s out there. A common scenario I hear about, is that they pick up a freelance project or two early on in their learning and that either takes off and they just continue doing that full-time, or those freelance projects help them land their first full-time job.

I’ve also heard of, known, and have personally worked with people who got into programming in their 40s or 50s and have been able to do well. So I don’t think age is an issue. If anything your age will just help you move into management faster if that’s what you’re interested in, and you’ll have no problems breaking through 6 figures if you do that :slight_smile:

7 Likes

Thanks Dan, all that perspective is incredibly helpful. Sounds like you had a lot of grit to get where you’re at. I appreciate hearing a realistic account of the process.

I probably shouldn’t have referred to where I am aiming as a CS career specifically…although it would fall in that realm I suppose the two things I have read about most that seem to make sense are web development and software development.

Elsewhere on the site I found a pretty solid starter guide providing steps for web dev advancement. It sounds like for you focusing on that ended up being the ticket, so that’s encouraging. I figure that’s what I’ll start with in my learning process.

I suppose a follow up question is: how tethered am I to the first path I go down? If I go down a web dev path at first, am I cutting myself out from pursuing a software dev path down the line? Or with demonstrating proper skills, and maybe taking a small lateral hit switching roles, can one build off of one development path into another? I ask because in my current career I really hamstrung myself…once I had one thing on my resume there was no turning back, and I ended up hating that type of work years down the line.

Either way, it sounds like if I begin learning web development now (which sounds like uses the programming languages most suitable for building a knowledge base) and test myself using the tests and challenges in the freecodecamp cirriculum, I can then build a website showing it off. And maybe start doing some freelance work with the help of some of these task apps that my younger cousins are so fond of, I can get myself in a position to take off maybe a year down the line.

Thank you again!

1 Like

If you are going to be a self taught developer, web dev is the easiest place to find a job. You can branch out after your first job.

4 Likes

Going back to that CS degree reference, a CS degree goes down no path, in that most schools don’t only teach you web-dev. They usually avoid all specific “roles” and focus on the underlying theory and concepts that are applicable to all roles you could possible get. Something like statistic classes, physics, and hardware level classes are all something that are more specific and are thrown in for context but aren’t the focus. Stuff like data structures and algorithms always apply regardless of what your doing in terms of “programming” are taught instead. Sure they might teach you something like Java, but the goal isn’t to focus on the language, its to focus on the underlying concepts so you can take those to whatever language you end up using.

The same should be said about whatever things you start learning. Simply put if you’re a web developer, odds are you are also a software engineer and coder. You could also be exposed to design/UI/UX, infastructure, design, operations, testing, architecture and project management. These are those “other paths” you mentioned and are all something you’ll have to learn eventually professionally.

Because of this, you will have plenty of flexibility. Ultimately what makes developers/software engineers get paid so well, and why they are always in demand, and why their pay can increase dramatically is all down to the fact they are learners.

If you learn how to be a developer, you can learn to be ____. Some call it a “super power” and in some ways it is!

So no you wont be “locked down”, if you keep unlocking your potential by learning what you need as you go along.

Furthermore lots of companies appreciate this mindset, as no single developer can know everything, but at the same time the more a single developer knows, the more useful they are at the job they are assigned. So cross training is very popular in many organizations.

Thank you Brad and Jeremy for the followup. That eases my mind greatly. I cannot thank you all enough for this information, it gives me the confidence to at least begin taking free but serious, dedicated steps toward this and test my aptitude.

That being said, any additional advice from anyone is welcome :slight_smile:

Hey no problem, glad you found it encouraging!

That’s a great question.

This is actually why I often suggest people start out in web if they don’t have a specific area that their hearts are set on.

Out of all the types of programming jobs I can think of, 90% of them are going to either require some knowledge of web technologies or at least benefit from a background in web.

There’s also a very blurred line between “web development” and “software development”. They can mean different things to different people. I build applications that run primarily on the web, but my title today is “Software Engineer”. Early in my career I was making websites for small business – landing pages, online stores, marketing sites etc

Personally I found that I was more enthusiastic about building web applications than websites and it was a pretty seamless transition for me. The skills overlap so much it was very natural to become what some people think more of as “software development” or “engineering”.

The interesting thing about web technologies is that you can kind of build for any platform. Browsers have come a long way in terms of what they support for one. There are some extremely powerful applications running in browsers these days. But you can also use HTML/CSS and JavaScript to build iOS, Android and Desktop applications too. So you have a lot of spaces you can move into laterally just within the technology alone.

Aside from that, businesses that are building products or services with web technologies need Business Intelligence, AI, Machine Learning, Data Analytics etc. There’s DevOps too which is often a role where you build the infrastructure for all of the systems and services using code (in some cases literally JavaScript).

I know of quite a few people who transitioned into these roles because they picked up the required skills through proximity. Working alongside people in those roles, and having the foundations required to dig into those skills deeper, while also working at companies that have these jobs available all increase your chances of moving laterally if you choose to.

As someone mentioned earlier you may want to consider just a general career change into IT, unless you just have your heart set on Web Dev.

You could probably get through some baseline entry level IT certs (A+, Network+, etc.) in the next 6 to 12 months and be job ready if you are dedicated.

Dive into Linux as well. Look at the FCC Relational Database curriculum. This will teach you skills like BASH, SQL, etc. From that you can build into the FCC Python courses. You put that knowledge on top of some baseline IT certs, and you will look really, really good to employers.

AWS and Azure are hot as well. I believe FCC has training videos on these topics on their YouTube site so can see if it’s something you might be interested in. AWS admins make a ton of money.

There is a huge demand for folks in IT Admin, Cloud, Networking, Cybersecurity, and host of other fields. Frankly many of these roles may pay better and have more opportunities than Web Dev. And you won’t have to put up with endless JS frameworks :slight_smile:

Also, while not universal, if you are worried about the CS degree vs non-CS Degree I find in general, again not universal, that Certifications in the IT world are going to hold a ton of weight (then don’t necessarily in web development). So, I could argue IT has an easier entry point and less barriers. (Some might adamantly dispute that however)

Bottom line I think if you are just looking for a career change into something more stable, well paying, etc. I would research all your options in this very large field. There are MANY paths you can go down.

Thanks for this look at an alternative path, I really appreciate it. I will admit that mainly the reason I had not considered Infotech work that much is because I know even less about it than web/software development and found researching it overwhelming with my limited framework of understanding. But I’m curious to learn more and hopefully you don’t mind some followup questions?

I did look into these IT certs you mentioned like A+ and Networks+. My understanding is these prepare one for general roles fulfilling basic IT needs in an office space…fixing computers, installing OS, managing email accounts, etc. I’m reasonably competent with general computer use and setup, so I am assuming I would be able to learn the rest of the needed skills and achieve those baseline certifications and make it into that field. It seems like respectable work. I’ve found a lot of conflicting information on what salary one can expect…is it safe to assume that someone who gets the baseline certs mentioned, and is good at presenting themselves, could likely bag a job making 70k+ starting in a large US city? Assuming one is dedicated to continual learning and has the mindset for climbing the ladder, can one expect to break into six-figures+ within 5 years?

I also have admittedly struggled to, despite research, understand where one might go from entry level, mostly because I don’t understand the jobs. There are so many paths…though most of them seem tied to understanding, building, or analyzing databases, or working with cyber security, which you mentioned in your post. In exploring it I discovered a fear that may be entirely unfounded…which is that I get an IT job that does not really expand beyond basic computing functions and pigeonholes me a bit. Where I get no opportunities to learn in the field, or prove myself at admin, cloud, networking, cybersecurity, etc. If that ends up being the reality: can learning those skills outside of work (and I guess taking certifications in those too), and leveraging my job position, where I did none of those things previously, be enough to get me a better job expanding into those more advanced fields? Or will the fact my previous job just had me doing basic functions disqualify me?

I suppose I’m also curious about lifestyle in IT. One of the reasons I was leaning toward web/software development was because I have heard there is a lot of opportunity for work/life balance there. I’ve read a lot of posts about people being able to work from home, of sometimes being able to do their “40 hours worth of work” successfully in less than 40 hours and then having some additional freedom. I’m not averse to hard work, but after the grueling nature of my current business those stories are tempting fruit for me – and while they are certainly not the prime impetus behind any decisions they are a consideration. If I were to pursue IT, should I generally expect being mostly on site, and mostly being under the type of oversight that requires my presence even if my work is complete? Not a deal-breaker for me but I need to go into it with open eyes.

Then the question of versatility. In exploring web/software dev paths I liked the idea that if I start in one and get more interested in the other there’s a lot of overlap and it sounded like jobs in one can be leveraged to get to the other. I liked the idea that given that I don’t truly know the realities of either position yet, I could begin my learning and adjust as needed along the way. Can I have that same kind of leeway in the world of IT?

I had kind of started to develop this romanticized idea in my head of eventually plodding through software design long enough to eventually begin working in machine learning and AI, which I know is a lofty goal but it did spark some passion. Does IT ever brush into those kinds of work at high levels?

I do not intend for my response to feel weighted toward development…it’s simply the initial path that gave me some hope, and now there’s a new option and I just want to understand it more and compare apples to apples. Sorry for the disjointed nature of the post, but any questions you are willing to answer will be greatly appreciated!

This doesn’t really make any sense. You want to do the difficult and time consuming transition into software development, to then transition into an unrelated field?

This sounds pie in the sky. If you’re looking for a panacea, easy, a quick fix for all your problems, it’s not in programming. The career transition is hard, and the jobs are demanding. The advantages are that there’s a good career path that leads to good compensation, finding remote work is normalised and possible, the work can be interesting, and there’s the intrinsic reward that comes from continual learning and development of a craft.

Many programming jobs come with good benefits, but they’re proportional to the time and effort you put into developing your skills.

I am a developer that works from home. There are definitely weeks were I can get “40 hours worth of work” done in less than 40 hours. Sometimes I knock off a little early. But there are also weeks where I have to put in extra hours to get work done. And even if I take a little time off, I often replace that with learning that benefits my job.

This is hard work. It pays well because it is hard work. There are other people out there willing to work hard. If you aren’t willing to work hard, then this isn’t a good job for you.

1 Like

Perhaps I was mistaken then – I happened to find several programmers who described the above as their work-life balance on another board. Offending anyone or implying that programming is easy work was not my intention. I am not averse to hard work, I built a business from the ground up that was successful for a decade, and I’m still working 50+ hours a week at that business. I have to continue that work until I make the transition though; and am merely trying to understand what my work-life balance may be on the other side, so thanks for the reality check. Even 40 hours a week for decent compensation is an enormous upgrade from my current schedule, working 7 days a week and not taking vacations for years at a time.

I was lead by another post to believe that software programming, far down the line, could lead into skills that touch upon AI and related fields. Perhaps I was mislead or misunderstood. I’ll have to do more research.

I was lead by other boards to believe it was fairly common to find the above described situation, and perhaps I was mislead. I’m not looking for a quick fix or easy work, but hell even 40 hours a week is a vast improvement over my current work-life balance. I work 7 days a week and haven’t had a vacation since 2019.

I think you need to narrow what you’re looking for for a start, there are a multitude of careers within IT, on this forum you will mainly find web developers/engineers, because that’s what freecodecamp teaches. Personally having made the transition from zero, with the benefits and disadvantages weighed up, I would recommend it as a career, but it’s hard work.

I spent 6 months learning part time, followed by 1 full year learning full time, before I was able to land my first job, and that job was by no means my ideal job (either in terms of tech stack or salary). I did that job for 1.5 years as a stepping stone before landing my current job, which is really the job I wanted. I basically just did it for the experience. I was very focussed on one specific area (frontend development/engineering). The second job I got within 6 weeks of starting to make applications, and even with experience I had to go through a multitude of applications, interviews, technical tests, rejections etc to land that one. So it’s tough and takes commitment. I’ve no doubt second job will be as hard as the first.

Machine learning/AI requires a strong background in statistics. If you don’t have that background, I wouldn’t bother. Other than code being involved it’s not related to software engineering. My brother has a bachelors in Maths and a masters in engineering, and even he’s struggling to get into the field.

It’s possible to transition from a non-technical background to web development, but it’s hard. Part-time learning… I would imagine it would take 2 years or more to get the first job. Full-time learning… maybe a year?? It’s just speculation though and it completely varies depending on your background, how much time you can dedicate to learning, connections, luck… etc etc

There are a bunch of other jobs in IT that I have no idea about so couldn’t comment on.

You’re basically going to need total commitment to one career regardless of the obstacles.

For me it took 3 years of hard work and dedication to go from zero to the job I actually wanted.

This is an incredibly difficult question to answer. There are so many variables including where you live, who is hiring, what the role is, etc., etc., etc. I would probably set realistic expectations for your first job be it in Web Development, General IT, or whatever. Could you land a 70K job out of the gate. Sure, you could. But I would set the expectation somewhere in the range of 40 - 50K. Once you get some experience you can upgrade jobs pretty quickly if you are in the right area. And yes 100K+ is completely possible in 5 years. But DO NOT count on a 70K job in your first role. If you get one great but don’t count on it.

You can get pigeonholed in any job in any field. Frankley that’s really more on you IMO. If you keep learning, adding higher level certs, and gaining experience you most likely will be just fine and not get pigeonholed.

As some of the other people have noted anything, and I mean anything IT or software development related is going to be demanding. I would set realistic expectations that you will be working 40 - 50 hours a week especially at the beginning when you are starting out. Web and Software Developers have projects deadlines. Network and Security Engineers sometimes get called in the middle of the night. People who claim to work only 25 hours a week or whatever are most likely flat out lying to you. Now you can freelance and set your own hours and decide what projects you want to work. Plenty of people do that I suppose. But understand that come at a cost. Inconsistent work, inconsistent revenue, no 401K, no health insurance, etc. can all be major net negatives to many people. Only you know if that is something that works for you.

$70K can be highly dependent on location - you have to take things like cost of living into account as well.

An entry-level developer job paying $70K in the southern US probably doesn’t even exist due to COL (that’d be more of an upper-level developer position). And it might not exist in NYC, Seattle, or San Francisco either for a similar reason (I’d expect a $70K salary there to be low for any type of “white-collar” job).

If you’re located somewhere in-between that type of COL range, $70K entry/mid developer jobs do exist though. But they’re not necessarily easy to get, and every job will have prerequisites.