I have quite a few friends who didn't study CS and don't know anything about programming but they hate their fields and want to switch.
What's the best book, course, etc. that can take someone from zero knowledge to somewhat employable in tech? Employable is a vague term but when I think about most online college courses I imagine they teach more theory than practical skills used in most tech jobs to me.
I'd imagine learning web development is probably the fastest track to becoming employable today but I'm curious what your recommendations are for how to learn that in the fastest way.
You don't get bootcamps for doctors or airline pilots. But people think they can go on some course, shit out a few lines of javascript/ruby/whatever and go get a job.
I don't really blame someone who is stuck in a shitty low paying job with no job guarantee. They have nothing to lose but try the whole coding thing and see if they can hit it big. The only issue with that is that if they don't enjoy learning how to code and are just doing it for quick money, they wouldn't be able to sustain that for a long period of time. I know a few people who tried bootcamps and then never got anywhere.
If you have a mid level IQ and are willing to put the work in and can self learn, coding is one of the best things you can try to get to six figure income. It literally costs nothing except your time for the most part.
In fact being licensed for small aircraft in the us isn't much different from a bootcamp in terms of time and effort, but that jump from personal to commercial airplanes is largely in more flight time and some specifics related to larger aircraft, but largely the skills are very similar.
I think the same is true of most software jobs.
I think part of it is the accessibility of both the tools and the knowledge compared to other fields. The two aforementioned professions are both gatekept behind expensive credentials as well (pillows don’t need a degree, but iirc the process to get licensed isn’t cheap). Additionally:
> shit out a few lines of javascript/ruby/whatever and go get a job.
Actually seems fine for a number of roles out there. There are plenty of jobs where it’s enough to shit out code that just works, while you probably won’t be commanding the salaries people gush over in more tech centric communities such as this, you can certainly make more money that you would in the typical roles that many people find available post-education. I’ve argued about this before here, but in my experience, you don’t have to be that great of a developer to maintain some form of employment in the industry.
When you have a field, that pays well, even in some of the lower windows, has a vast amount of learning resources readily available, is not locked behind time and money expensive credentials and has all the tools needed to learn do the job for free, it seems almost stupid not to consider it.
And there are programs for the lower levels of that amalgamated medical grouping that are much less involved than typical coding bootcamps.
The other part is that even the people with formal education have learned most of the stuff that they know through self-studying and real-world experience - very often you hear people in their first job saying that university didn't really prepare them for an actual job in software. And the skills that you leave university with are just a starting point - you have to keep learning throughout your entire career anyway.
There are essentially bootcamp programs to get pilot licenses. Most people I know who have or were pursing a license would do a couple hour class once a week or so, but you can also sign up for bootcamp style courses where you do a focused, 8ish hours a day, 5 day a week program for a month or so and assuming all goes well, end up with a pilot license. Of course, a license doesn't get you a airline job, you'll need to do additional training and acquire flight hours.
Software jobs don't have hours requirements like many professional fields (usually through license requirements), so that makes it a lot easier to get in.
Another thing is that since you have almost all the necessary info online, and that open source is a very big thing, there is way less gatekeeping compared to other industries.
Some can pick it up mind-boggingly quickly because their brains are naturally good at formal thinking, keeping many variables in their head, and being extremely precise and logical in their thoughts without much training. But again, that's such a small share of the population that "be a prodigy" is not really useful life advice.
You can mass throw neets at le epic coding bootcamp and hire those that perform decently. Like a repeat of the outsourcing trend during the 2000s.
In my opinion, the absolute best way to make the switch is to start in tech support. It’s the same concept of the only true way to learn a 2nd language is immersion by living in the country. The only true way to make the switch to tech is to be immersed in it.
Starting in tech support at a small-to-mid-size startup is such a strong and viable path, it’s a shame most people don’t realize that.
If you're doing tech support for a smaller org, you're also going to do system setup and delivery, and you're probably going to touch provisioning systems and your boss or your bosses boss is going to be managing people that run the corporate IT systems. There's a path to developer there, usually by doing some automation on the day to day work and being recognized and asked to help out with more things and eventually a job title. Or at least, working with people who do what you want to do, and asking them what it would take to get there.
Manual test -> automatrd test -> writing the things that need testing is also a valid way though.
I mean working as a “support engineer” for a start-up SaaS company whose users can be fairly technical themselves. For example, working on the support team of a B2B SaaS company who makes a tool for IT teams.
These types of roles can be filled by just about anyone, and there is so much to learn just by being around the environment. Lots of things we (people already in tech) take for granted is just how much one can learn by being around devs, sales, success, QA, devops, etc teams on a daily basis.
>No one gets paid for working hard, they get paid for demand of their skill and expetience relative to supply.
I think that's generally true, but that doesn't mean it doesn't take a lot of initial hard work to gain the skills and experience necessary to work "easily" ofcourse there's some people where those skills came easily first anyways but I think those are generally at the tail end of the curve.
Because if the work is easy, and there's high demand and high salaries as a result, tons of people will flock to that easy work and the increased supply of workers would drive down wages.
Coding is not easy. And it requires a lot of fiddling with things and a lot alone time trying to figure things out. Transcribe your own solutions in working code and communicate elegantly about them is also an art form by itself and it’s not accessible to many.
1. Software development isn't some magic field that is different from anything else. People do it mostly because it's good money. Sure, some genuinely enjoy it, but almost no one would do the kind of work they do full time if they weren't getting paid well.
2. Even people who start off with a "love of the craft",so to speak, are usually doing it "for the money" after 5, 10, 20 years.
3. People might not realize whether or not they enjoy coding without trying. Filtering people before they even start because they don't realize whether they like it or not is not a good idea.
4. Most importantly, people are the judge of their own lives. Development might be hard (though arguably a easier than other fields), but people can decide for themselves whether, given their current circumstances, it's worth the hard work in order to earn more money.
Rant over.
Please join tech or engineering because it genuinely excites or interests you. Not because the wages are higher.
I've worked with a lot of people with Engineering and CS degrees who worked as developers writing code for 2-3 years and didn't enjoy coding full time. Then they moved to other teams where they coded only a little bit (e.g. PreSales) or didn't code at all (Product Management, Project Management, Marketing, Sales, Education, etc).
Sometimes learning to code is the easiest entry point into a "Tech" job.
This does make it sound pretty appealing. What makes developing enterprise software interesting to you?
Friend of mine did a bootcamp recently, and had three offers two weeks after finishing. It was pretty intense at 6 days a week 10h each. They seemed to cover a lot of ground. There are bootcamp comparison sites that show how the people landed after a few month. The market is pretty hot right now which seems to translate into easier entry for new people, which was usually the hardest part.
Who is going to let some one new to the game learn in their infra?
- There's a lot of people trying to fast-track their learning and get into software and it's not an easy position to be in. It's a saturated market.
- It might turn out that software isn't for your friends either - personal preference, interests, aptitude etc.
I would point them to some beginner resources and let them explore it for a while in their spare time before jumping in and committing seriously.
See if that framework has a local meetup group. Attend to network. Being associated with a meetup helps.
At that point, find a job posting or a recruiter looking for people who know that framework and try to land the gig.
In my experience, the barrier of entry of dramatically less for front end roles than other roles. Once you’re in, it’s easier to move away from front end if that’s what you want.
Be nice and enthusiastic in the interview to make an impression.
I think that’s the fastest way?
Warning: programming is challenging work and not everyone is cut out for it. It can be miserable work.
Then try to find a mentor in your work place that will champion you and help you grow into the area of tech that you want to do, whether that product, data, engineering or what ever.
Side note: Software engineers never graduate. The moment an engineer at any level decides to stop learning because "they know it all," their career will go into a death spiral. I state this because there's no fast and easy way to do something. Any corners you cut upfront you'll need to figure out later on in order to move your career forward.
Small org tech support appears to be the best answer. It fits with my suspicions that a willingness to be humble about doing ops or support entry-level work gains one valuable exposure.
what do you mean exactly?