My experience with code bootcamp trained developers is positive, due to the follow reasons:
- Most of them have engineering background: electrical engineering, civil engineering, petroleum engineering.
- Since they lack formal education in IT, they have to train twice as hard, which our company encourages (2 months of probation = 2 months of training, it's almost impossible to find developer with Scala experience around here anyway).
- We work with the Bootcamp to improve their program: giving reference to 'hard', 'theoretical' books such as Algorithms & Datastructure or Database Design and cutting down some unnecessary parts.
- Most importantly, we strongly prefer people who switched to IT because they actually love programming, not just looking for higher wage.*
* It may sound weird but actually many people here didn't picked their university by themselves but by the guidance of their parent, so they might study something else than their favourite.
>Most of them have engineering background: electrical engineering, civil engineering, petroleum engineering.
That's great, but what about the people who come from a non-engineering background? I feel like people with a technical background will be able to pick up coding a lot quicker than people who don't have a lot of engineering aptitude.
>We work with the Bootcamp to improve their program: giving reference to 'hard', 'theoretical' books such as Algorithms & Datastructure or Database Design and cutting down some unnecessary parts.
That's great that you guys do this. I'm a real big proponent of this private/public model since it benefits both businesses (they get people who are trained in key business areas) and colleges/bootcamps (they can brag about knowledgeable grads whose job placement boosts their numbers).
> That's great, but what about the people who come from a non-engineering background? I feel like people with a technical background will be able to pick up coding a lot quicker than people who don't have a lot of engineering aptitude.
You're almost certainly correct. It's perhaps possible that the bootcamp model, which can work well for people with solid technical backgrounds, might not work equally well for others.
That's fine. Not every tool is a fit for every job. A hammer is very useful, but it makes a poor saw.
> It may sound weird but actually many people here didn't picked their university by themselves but by the guidance of their parent, so they might study something else than their favourite.
Hello! This was me. Studied music because it’s what my parents wanted me to do, and kept finding ways to shoehorn “computer stuff” into any music I was doing: making digital synths, making music analysis programs, and coding up generative music machines.
That path worked well enough, so it took me awhile to realize I ought to give up the pretense of music and just do the thing I was interested in full-time. The pay difference was indeed the incentive to re-tool, however.
I used a boot camp, where I learned the current faddish tools of frontend, to get connected into the industry, and have since happily transitioned to backend work. I’m not sure the boot camp itself was necessary, and 20 years ago I probably would have found an enthusiast group at a city library or something, but it was a short term functional community that worked for me.
I learned programming at 12 years old. I think its funny that people think you need a engineering degree. It does help to get a higher paycheck though.
There's no such thing as someone you're not going to have to train. Every single company does something different. To suggest that you're not going to have months of train up isn't feasible. I wish this mindset would go away. Training is, and should be an integral part of any workplace. It's what makes your whole team better, it's what makes everyone have a similar style, and shows people the expectations. This goes for internal code process as well as external code and tools. Embedded especially is going to be hard because it's a specialized skill set that's far harder than people realize especially once you get into space constraints.
> commit to 6 months of training for anyone I hire.
Google broadly believes it takes 6-12 months for a new hire to become completely productive, so I doubt that particular aspect of your experience is due to shallowness of the embedded (straight) C (not C++) talent pool in your area.
Out of curiosity, what's your area, and what channels do you use for hiring? Sounds like exactly the kind of work I might enjoy (and spent several years doing for my old startup) depending on industry, location, and compensation, but all I ever see are Java and web jobs.
I am currently working for a big corporate in the UK, who have been showing off their "pioneering" and "visionary" strategy to focus recruitment from code boot-camps.
All I can say is that as a senior developer, it has made my life misery. I've gone from writing code and producing features, to a full-time mentor and babysitter.
Half of the boot-camp graduates I believe have become coders for the wrong reasons like:
* developers have an easy life, getting into work whenever they choose
* they get to wear t-shirts and baggy jeans
* they get all the latest toys to play around with and shiny MacBooks
* I hated my last job, looking at developers on TV in these Silicon valley places looks like the dream life
* I am a single mother who was given the course for free
The others, have aptitude but are so inexperienced from their 3 month session that it will take them atleast two years before they can be fully independant engineers.
These codecamps are licenses to print money it seems, they charge the students a hefty fee for the course and companies then pay a recruitment fee at the end.
Needless to say, I will be leaving my company very soon to go to a place where there is a coding test and filtering to prevent most of these bootcampers from getting in.
Yes its snobby, but I didn't study and spend my student loan on my passion just so I can train up a bunch of people looking for the "easy life".
This has been my experience, and I'll add I have noticed there is a massive disconnect from the reality of just how complicated modern software is. I remember beginning my career what I think used to be a quite common experience of being quite a bit overwhelmed by how much I had to learn, very aware that I didn't even know what I didn't know and this definitely motivated me. This awareness is completely absent from 100% of the boot camp grads I've encountered, who have been sold and apparently internalized the idea that "everything is easy" and are quite resistant to the suggestion that they might not fully grasp the scope and difficulty of the situation. I'm sure there are exceptions, but I also suspect these people would have found their way into software development without going to a boot camp.
Completely agree, I would like to blame it on this dichotomy of "frontend and backend development".
Most of the bootcampers did three months of "frontend" work and are oblivious to what goes underneath in the murky world of business logic and services.
Until they have been able to demonstrate they are confident in:
* Presenting data to a user
* Validating inputs
* Making correct requests and understanding the interactions of an API (whether its REST, RPC, programmatic, internal)
* Processing requests
* Persistance and access of data
* Basic security
* Be able to document and explain all areas to a basic level.
* Debug and provide a root cause analysis.
Then they will remain a junior developer and I think that will be many of these bootcampers fate, as they are either unwilling or incapable of doing work outside their comfort zone.
> I have noticed there is a massive disconnect from the reality of just how complicated modern software is.
There's also a massive disconnect from the reality of just how complicated modern software needs (not) to be.
That said I agree that some 3-month bootcamp probably isn't enough time to really internalize the basics of programming (unless you're really smart or have prior exposure), let alone learn to design and write nontrivial programs.
I went to a coding camp. I sat in a group working with my classmates on our group project and I noted that what we were learning was "just enough so that we can learn reasonably well on our own.... so that maybe later we will be good at this".
They looked horrified...
Most boot camp students really do not know at all the level of complexity involved, how much you need to just go figure out yourself / learn about ... learning, and etc.
This. When I started my career all I had to learn to make enterprise grade apps was Visual Basic. True story, there were even big ERP companies built entirely on VB. Today? Modern HTML, CSS, and JS apps with backends in <pick your language and data store> is more off putting than Win32 or GTK+ was.
Yes I’m aware of the differences in capability and no I’m not complaining. I’m just saying it was easier back then.
Many of the things you said sound pretty representative of new CS graduates as well. It'll take them at least a year, and a lot of mentoring, to learn the best practices and get their hands dirty. I get the impression the problem at your company isn't with bootcamp-vs-CS-graduates. I suspect the problem is that your company is hiring too many inexperienced developers at once (to save money), and isn't doing a good job of hiring the best bootcamp graduates (probably also to save money).
I might be biased since I have an engineering degree, but no CS degree. Self-taught myself a bunch of stuff, made the switch to software, and have now worked for 2 of the FAANGs. My very first software employer certainly had to mentor me quite a bit for the first 4 months, but I certainly justified the investment over the following year.
I think part of the problem is people assuming CS degrees teaching software development and best practices. They don't. They teach theory and on the side as either a lab or project, you write some code. Best practices? Nope. SCM? Nope, unless you have an external influence.
Like you, I learned a lot of beat practices on the job. SCM? Was SourceSafe (Yeah. I know, cringe, but also 2000). But also practices about how to release, when, notification of releases, post mortem of incidents, none of that was mentioned in school. All on the job.
I landed in finance, and any single fuck up can land you on the wrong side of the door. But if you accept you screwed up, most people I've worked with will give you a second chance as long as you don't repeat your mistake.
A self motivated person can break into CS but that's not what he's talking about. A 16 week class isn't enough to prepare a dispassionate person looking for anything.
The problem with these camps is they help those who don't need it.
Self taught is the key skill. If you can learn on your own you have a good chance of facing a developers life.
Bootcamps are the opposite. Quick compressed learning certified by a brand. Good for experienced developers learning a new language but lacking for the type who haven't used a computer before.
Honestly, I agree with you. I don't mean to discourage anyone trying to learn software engineering but: IMO its something that takes years to learn the fundamentals. There are so many small details that aren't what you expect them to be that I see no way bootcamps could prepare you.
Things like how file systems work, what system calls do -- how write() works -- does it write data or not? How do blocking / non-blocking calls differ? What concurrency models are there in programming? How does parallel execution really work? How do you (properly) handle I/O, networking, and other events? How do you evaluate and compare the efficiency of algorithms? What kinds of security threats lie in different types of code? Practically, how do you prevent them? How do databases work? How do you design applications to avoid corruption? What are the different isolation levels in a database? What parts of the database are 'locked' for a given query, what 'order' are transactions executed in? How does the OS allows multiple programs to run?
Cryptography. Sessions, encryption, hashing, salting, peppers, verifiable delay functions, public keys, symmetric vs asymmetric crypto. Signatures. Mutual authentication. Message integrity. I guarantee you most developers have screwed up their handling of I/O, security, db use, or concurrent code at at least once in their career. These are deep concepts that can be "learned" in 10 minutes from a tutorial, but have tons of weird, undefined behavior that only shows up if you don't completely understand what you're doing.
IMO, what seems to have changed recently is there's now more ways to shoot yourself in the foot. I.e- more open source libraries that are usable right off the bat as black-box-plugabble, square-peg-in-circular-hole type deals. Kind of like how people trick themselves into feeling like experts from reading wikipedia -- a little knowledge can be just as dangerous as no knowledge at all.
Consider however that not all software jobs require all that knowledge. As software spreads, not all new software jobs are rockstar positions. A lab full of scientists, for example, might benefit a lot just from a couple people who know how to operate a database and do some basic data crunching. Or, consider the vast number of people who get their job done in Excel today, who don't need to call write() but could do their job better & faster if they switched to Python.
If the future is software, then there will be places for PhDs & bachelors, but also for associates and even bootcamps/certs. Even people who are not deeply passionate about software can make a useful contribution. Putting men on the moon took a lot more than just rocket scientists.
You should note that a bulk of your list is the knowledge that a senior engineer should require of his peers. To be productive writing a small feature in a React app it could be had under a week out from bootcamp with modest support sharing whatever tribal knowledge and documentation for onboarding.
I've shared this experience of being a mentor and babysitter for people who seek all the things you listed, although in my case it's inexperienced coworkers who are "self taught" (no boot camp even). Their charisma and our shallow interviewing process usually lands them a job and leaves me cleaning up after the messes they perpetually make. You would think proper communication would prevent these things, but often they are so alack of experience it goes right over their head, and other times they're overconfident or just disinterested in improving themselves. If you try and give them too much constructive criticism, then you quickly become the office asshole.
Other engineering industries have to take rigorous exams to achieve any forward momentum in their job (civil engineering had the PE, for example). This is something I think I could get behind for our industry .
24 yo CE here with FE here, the question becomes do you think a test can be designed for something as large as software to accurately judge competency. Competency in code comes from getting stuff wrong and having to live with it and fix it, that stuff isn't super easy to test.
Even to become a licensed land surveyor, which is a subset of civil engineering and not as highly paid as an engineer job, you have to pass the PLS exam. As an apprentice surveyor or surveyor technician, you can't sign off on your own work until you get licensed.
You're describing an unfortunate situation, but it feels like you may have mis-identified the issue.
> I am currently working for a big corporate in the UK, who have been showing off their "pioneering" and "visionary" strategy to focus recruitment from code boot-camps.
Your employer is trying out a new HR strategy to cut costs and boost productivity. Is that strategy working for them? It doesn't sound like it's working for them if they're hiring bad coders and driving away experienced staff. Do they think it's working? Is your management aware of your concerns?
Because honestly, this sounds a lot like "my management team is doing something dumb, and it's all the fault of the new junior devs we hired". That sounds unlikely.
Also:
> I didn't study and spend my student loan on my passion just so I can train up a bunch of people
Mentoring is a key part of the job. If your HR department is hiring poor candidates for that, that's an issue, but if you don't want to mentor people at all, is this really your passion?
I look at it the other way around. I get paid 115k$ in a very cheap area to do code reviews and go to a few meetings.
I make things at home now. I don't want to go back to the stress of rapid fire "three parallel orthogonal lines for Miss Business" development. The baby-devs are a cudgel of tender emotions with which to push back against the exploitative wiles of business.
I fondly imagine I'll actually have the time to strike out on my own any day now, but the reality is that my life is already better.
What is really disheartening is for those of us who went to camps.... we're painted with the same brush after people have experiences with our bad classmates.
About half my coding camp class was unemployable by my estimation. At one interview I'm fairly sure they had interviewed a classmate or two before me and the questions they asked were painfully simple to start.... if they felt they had to ask that, I can't imagine they'd ever want to hire someone at that level. Obviously I showed them otherwise and the interview went well, but I felt like their perception was so poor to start, there was no chance.
At least I'm working now so it's not just "coding camp" on my resume as far as coding goes (I had another technical career previous to this one). I"m hesitant to mention the coding camp when I meet other people who are in the same industry. I really enjoyed my coding camp experience (going back to school was a surprisingly wonderful experience as I was a poor student earlier in life) and yet I'm inclined to say "self taught" and that isn't exactly true although much of what I know now would fall into that category.
> I had another technical career previous to this one
This seems to be the huge differentiator.
I've had really good experiences with boot camp grads who had a previous technical career or came from a STEM phd. Camps are great for getting already well-educated people up to speed on how to hack together a website, which is an enormous value add to an existing skill set.
> Needless to say, I will be leaving my company very soon to go to a place where there is a coding test and filtering to prevent most of these bootcampers from getting in.
I went to a bootcamp, and the first hour of every day was spent learning to solve the types of coding tests that companies use in interviews. So, when companies look at the graduates of these bootcamps, it's really hard to differentiate between people who perform really well on the interview but will require significant investment before they're useful (this was me) and people who have been programming and working with computers for years and simply lacked a little bit of polish & training (like some other people in my program).
All that's to say -- traditional coding tests & filtering doesn't necessarily work that well when you have people training for the test (rather than training for the ability to do the work that the test is supposed to be a proxy for).
The key to handling such environments is to not care about the result more than the others. So socialize with the newbies, maybe go have some beers, be a pleasant person and absolutely don't give a damn that they are utterly completely useless. It wasn't your decision to hire them and you shouldn't be wasting your passion and energy on rectifying it. If you care about what you're doing, it consider starting a side project and growing it into a fully-fledged business instead.
I don’t see how any of those things you listed are “wrong” reasons to go into software development. All of them are true or roughly true, so, if that’s important to someone, then great. Believe me, given a choice between software development and service work or factory work, I would always choose development for the “easy life,” too.
OTOH, you’re right about boot camp grads not being ready to operate independently, but that’s your employer’s fault for hiring too many of them. You’re totally free to leave and go somewhere that doesn’t hire boot camp grads if you don’t like it.
To a lesser extent, the same can be said for those who get an "IT" degree from a no name school from the college of business. I've spent a lot of my time training people who graduate from local small colleges instead of say, Georgia Tech or UGA (I'm in Atlanta) because management at my big corp is throwing cheap bodies at the solution.
Don't get me wrong, I've enjoyed mentoring but done kids graduate with no clue and the wrong expectations.
I've mentioned to management these kids don't graduate with the proper foundation... And I'm told it's my job to give it to them....sure, I'd love to if they give me their college tuition!
>local small colleges instead of say, Georgia Tech or UGA
This really only applies for CS, but I wouldn't hire people with "IT" degrees for programming jobs no matter where they went (not based on their degree anyway).
GSU is much larger than either GaTech or UGA, and it just received an award for being the 2nd best teaching institution in the US. Kennesaw is about the same size now that they merged with Southern Poly, and their CS program is also ABET accredited.
I've taken CS classes at both GSU and Tech, depending on the classes the person takes at GSU, there isn't a big teaching disparity. The type of person who makes it into Tech changes things, but if you look at their transcripts when hiring you can quickly see who took the easy classes and scraped by with Cs and who really took it seriously
* The local management are non-technical and have a rudimentary equation that 1 developer = 1 productivity unit
* The bootcamp has some really great salespeople
* Hiring is generally difficult for great dev talent, so their logic is just to hire anyone for the numbers, otherwise their budget gets constrained by kafkaesque finance practice from the companies HQ.
* Local political and PR reasons, the company is "hiring local talent", "equal opportunities" etc.
They could still administer a coding test to the bootcamp certificate holders. Just because you have a CS degree does not mean we hire you without a coding test. Some of the least productive coders I have worked with have had degrees. Most degrees only prove that you have some ability to memorize things, practical application is a very different skill.
>Most degrees only prove that you have some ability to memorize things, practical application is a very different skill.
My degree put very little focus on memorization. Individual and group projects certainly had nothing to do with memorization. My experience hiring and working people from other schools indicates that their degrees were similar. I'm not sure where this degree == memorization thing comes from.
I know people with 4 year CS degrees from reputable schools who picked tech jobs for the same reason. I think wanting a job that allows you the means and time to enjoy other parts of life is perfectly valid. Being incompetent at said job is where the problems come from.
Nothing wrong with that, but if I ask you why did you become a developer and you list that as a main reason, then I will immediately dismiss you as not being serious.
It often comes with wanting to go to lunch whenever and leaving early to make up for it all. With the result that work never gets done.
Don't get me wrong, I'm the biggest fan of getting in at 10:00 or 11:00, but I also try very hard to get things done. If you come out of your boot camp without understanding that you still have a shit-ton to learn and you aren't willing to put in the effort to learn it and do the actual work (which isn't easy), and, yes, put in the time required, then you are a liability.
Well it's wrong if people have that expectation and it's not the reality.
It's also problematic in a world wherein people have to work together, which is why most jobs don't allow one to 'work when one chooses' although that is obviously the case in some scenarios.
I'm currently in a bootcamp in SF after several years in product/analytics type roles in tech. I decided to finally go for it after considering it for a few years because structured learning/accountability helps me learn a lot faster.
I just finished my first final project using React/Redux/PostgreSQL/Rails/S3 -> http://www.orangemusic.xyz
I don't think I could have learned what I've learned in that amount of time with self-study alone.
tech people have been automating jobs away and insisting the future is code for a long time now. Now all of a sudden we get "coding is hard" and the non-traditional bootcamp education they pitched only really works for highly motivated self-starters, often with preexisting engineering or science backgrounds.
So what do they do? What exactly are they going to train into?
We're commenting on an article about a coding camp founded by a professional TED talker who's now in law school.
The "they" pitching bootcamps and the "they" automating jobs away are two different "theys".
People who have been doing software for the last 20 years have always been saying "coding is hard" and "a few months in a coding bootcamp isn't sufficient preparation for a career in tech, especially when the winds of the market shift".
But no one wants to hear "high-paying jobs require spending years getting good at doing hard things".
> who have been showing off their "pioneering" and "visionary" strategy to focus recruitment from code boot-camps.
Seems like the kind of company which would be relying on interns and juniors (that need training too) instead of hiring seniors engineers, they just found a way to make it look good.
I always think the we should send CS graduates to a bootcamp to get some coding skills. Or send old-time devs so they get up to speed with newer tech. But starting from zero in 12 weeks seems almost impossible except for a few.
Being able to learn these things on your own is exactly what a CS degree is supposed to teach.
In my career, I've taught myself how to make complex CLIs. Then CGI-based web apps. Then Java desktop apps. Then MVC frameworks. Then JS frameworks. Etc. Ditto for changes in development and deployment processes. Ditto for changes in DB technology. etc.
My employer rightfully expected that, for a six figure salary, I should be a professional who is able to keep up with best practices. That's why they pay me well. They let me attend conferences and I negotiate for some "experimentation" time whenever there's a big shift in the tech landscape, but it's not like I'm disappearing for months at a time every 5 years. That'd be insane.
I'm not very old.
Hell, I don't even work in web development.
It's just one of those skills I need to keep fresh because it comes in handy every once in a while.
The changes in my actual domain of expertise have been even larger and much more difficult to keep up with.
Coding bootcamps are expensive -- they often cost on the order of a single year of college. If you're going to need to go through a few of them in your career just to keep up with a single skill set -- building UIs -- that's more of a baseline competence than a real specialty, why not front-load and just get a good-quality degree that prepares you to teach yourself the easy stuff? Double major while you're at it.
Do these bootcamps charge what a real uni charges? I recently went back to school (a well known one here in the UK) to get a MSc in Data Science (have gotten interested in research now) so I ended up doing a research dissertation. I already had a MSc (CS) and B.Sc (CpE) and 20 years experience, so it was not too difficult. It was a bit less math heavy than I expected, but ok.
But the MSc in CS course for this uni... it really is less than a proper B.S. in CS course - it was nothing but the very basics. Aka a fairly expensive bootcamp, albeit with a "dissertation" at the end. The uni is making serious ££££ churning out "MSc graduates" and now I know where the trope of people with MSc who can't program comes from. My MSc course was a real course, from a much better school, but that was 15 years ago...
Not all the MSc in CS students were bad, mind you - the ones who could have been engineers did well. But they still only got the very basics of what you need to know coming into industry now (or what a BSc student would get) and if I was in charge, I'd re-label the degree to something other than a MSc. But degree inflation is here to stay...
> I will be leaving my company very soon to go to a place where there is a coding test
Maybe that's your problem right there? I'm in SV and know someone who successfully did a bootcamp, but they certainly didn't get a special route through job interviews. They had to compete with graduates and pass regular technical interviews with algorithm questions (and they could do fairly hard ones that certainly many college graduates fail). BTW the bootcamp only charged on successful job placement, so it's hard to see how they could stay in business if it was just a scam.
> and filtering to prevent bootcampers from getting in
> its snobby, but I didn't study and spend my student loan on my passion just so I can train up a bunch of people
Why should the interview be for anything other than to determine technical competence and organizational fit? I'm sorry if you've had difficulty with your student loans but I don't see why it is relevant here.
There's plenty of mediocre programmers that managed to pass a CS program somewhere. Maybe their course material covered a broad range of topics but certainly not everyone retains it or can even answer basic questions. Assuming two people with no experience, I would strongly prefer to work with whoever performs better on coding challenges and computer architecture questions even if they went to a bootcamp. Probably especially if they went to a bootcamp. If someone has 4x as much time to study and still does worse, that's hardly encouraging is it?
To me it sounds like the hiring process at your company is what is at fault, and it would be better to fix that than to rely on expensive credentials (that can only set a low minimum bar anyway) as some sort of proxy. Maybe if you are overwhelmed with applicants you could filter by individual school, bootcamp, github portfolio, etc. But this seems to be painting with an overly broad brush.
This isn't a soul-crushing job babysitting (only outdone in horror by being in a chicken suit waving a sign for a fried chicken restaurant). This is an opportunity for you to study various psyches and all the gory "this is how sausage is made! details. Also exposure to abnormal psyches.
> very soon go to a place where there is a coding test
Sadly, I fear that will be like “going to a place that doesn’t require unpaid overtime” or “going to a place that doesn’t have a noisy airplane hangar ‘open office’” - once it catches on, it will spread everywhere.
That doesn't sound like a problem with the people you're hiring. It's perfectly normal to train new hires. The problem is that you were not hired for a training job, but they're making you do a training job.
Haha. There is a lot of this happening in data science as well for software engineers and with exactly similar kind of results. I hate mentoring tons of new people who just learned to throw tensorflow at pandas dataframes.
Bootcamps don’t provide an adequate training to become an engineer, yes, but believe it or not there are plenty of very good engineers who have things besides work at the top of their value list. Your post reflects narrow mindedness and a lack of empathy.
* You have to help people, no longer get to play with your toys all day
* You hate your current job
* ----
I'm seeing a pattern of 3/5 but only because I'm assuming you aren't a mother. If I was wrong, Happy Mother's Day!
Have you ever been in a company where senior people were responsible for helping new people? Or, are you searching for that company where everyone comes in magically perfect and at exactly the same level of competence? I've never been at that company, when you find it, please share it here so we can all go work there.
The real shame here is that apparently nobody throwing money at this company did any due diligence. In an interview, the co-founder claims that all of its graduates get jobs, and that the skills taught are worth $200-$250 an hour (i.e. 400-500k a year) in San Francisco. The website’s success testimonials include quotes from a co-founder and one from a co-founder’s brother. If the people donating a million dollars had done ten minutes of background research they could have prevented this debacle in the first place.
We can discuss code camp pro/cons all day, but the article spells out that there was little coding being taught here.
Instructors with little tech experience, high rate of firing and stuff turnover, students being told to "google it", operating without licenses, all while the founder has fancy offices in Chicago with rapacious and alcoholic parties.
Amanda Laucher, the founder, essentially stole funds from governments and made false promises and is now going to Law School in Chicago. Meanwhile, these people quit their jobs on false hope and now are unemployed or have to rejoin at the bottom of the rung.
Assuming the article is fair, this is a sad situation and Laucher should be prosecuted.
It sounds uncomfortably close to a cynic's view of aid projects in poor countries. The customers aren't the students, but rather the Commission, and they were apparently sufficiently impressed with the TED talks to part with $1.5 million to start this thing. Maybe someone trying to get re-elected got to cut a ribbon on TV too. And I bet this also made a great story for the founders to tell in their law school applications.
I would be interested to know (again, assuming the article is fair) if Laucher will actually get admitted to a bar after law school. This is the sort of thing that could easily raise issues in a character and fitness examination for bar admission.
I guess people believe what they want to believe, but it should be obvious that if programming is really something you can learn in a few months in your spare time, it’s not going to be a very valuable skill. Either programming requires extensive education and experience to be really proficient (read: employable) in, or it’s going to be a minimum wage “we can throw a rock and replace you this afternoon” call-center job.
You can learn it in a few months in your spare time if you're cut out for it, which the vast majority are not. CS education for programming jobs is mostly a very expensive formality to convince hiring managers you know what you already knew before enrolling, or at least it was in my case.
"You can learn how to be a lawyer in a few months in your spare time if you're cut out for it" would be considered a ridiculous statement. Perhaps you could learn enough to be an assistant to a legal secretary.
Its both - programming is bimodal and becoming more so as we automate. A ton of programming is not really difficult, and cloud/SaaS keeps getting better to make those simple tasks trivial - eg setting up a small ecommerce store or a blog.
Meanwhile the hard stuff is out there, but increasingly being done by a few companies that sell it to the rest of the world.
So programming is becoming more bimodal and if you’re not on the hard curve it is going to become a lot less lucrative and a lot more competitive.
This is a byproduct of the (in my view, very positive) tradition in programming of not requiring a college degree. It offers the political class an easy message for dealing with the ramifications of the jobs exodus in places like Appalachia. Nobody would suggest, for example, training people up as doctors or lawyers or accountants to be a solution to that problem. The degree requirements are a signal: “this is not for everyone.” With programming, politicians have gotten this idea that because there are no formal educational requirements, programming and “tech” jobs are an avenue for employing the large numbers of economically displaced. But of course, programming is hard. Most people don’t have the analytical/mathematical mindset necessary to be even competent programmers. All of these coding boot camps and public programs just capitalize on this misconception and wishful thinking.
> But of course, programming is hard. Most people don’t have the analytical/mathematical mindset necessary to be even competent programmers. All of these coding boot camps and public programs just capitalize on this misconception and wishful thinking.
It works both ways too; When bootcamps first popped up, I was dismissive of them until I realized that there was (to be fair, relatively new) high demand for people who could even do the bare minimum of stringing together CRUD apps, forming a labor market that had nothing to do with me, despite nominally being an "engineer". I think a lot of the pathologies of eng hiring stem from the broadness of the role "engineer", which just ends up causing credentialism and the metaphorical ghetto-ization wrt talent of parts of the stack, like frontend.
The untrustworthy city slicker stereotype doesn't come from nowhere. Nobody ever engages with these people except to take their money or tell them they're backwards hicks and their way of life is somehow wrong/bad (this being an example of the former).
Some do care about people left behind but they usually don't care about a big social media boost to their ego so you don't really hear about their work
Just because it "comes from somewhere" doesn't mean it is valid. The rural they would already be disinclined to trust those from without - their mechanisms of trust are based upon personal knowledge and history which outsiders lack.
Also the latter is clearly bidirectional. I haven't heard of the urban calling the rural "not real Americans" for one.
I know I'll catch flak for this, but where did this idea that "anyone can learn to code" come from? Coding requires a certain drive and curiosity, without delving into the capability side. What makes anyone think that they can take a bunch of people who never or barely passed highschool and have been working in a mine for a decade+ and teach them this?
By all means subsidize a laptop and point them at some great online (free) resources, but beyond that if they won't/can't help themselves...
To adapt a quote from one of my favorite movies: "Not everyone can become a great coder; but a great coder can come from anywhere." That's what (in my opinion) you should take away from "everybody can code."
I think it's obvious that not every single person in the world has the external characteristics to be a great software developer. But those with passion and curiosity will be able to make a great career for themselves.
I think people got too hung up on "greatness" and some vague idea of "coding" as a kind of gold-rush job (pardon the pun).
Could the school have instead focused on more boring general job skills with a special focus on using software effectively? I think so. I think it would have been more successful than teaching "the LAMP stack" or whatever it was they did. Not that software development is rocket science, but it's true that it's not for everybody, and neither is accounting, nursing, engineering, teaching or plumbing.
Of course, not everyone is equipped to become a chef de cuisine. But not every cook needs to become that to make a living from their profession, just like not every coder/developer/programmer needs to know high end computer science concepts or how to work with the latest framework.
In the same way most chefs don't work at Michelin star restaurants, most developers don't work at FAANG companies like Google. They work at other types of companies, whether those are large company in house development teams, small agencies, outsourcing companies, government agencies or as freelancers.
And in those locations, you don't really need to be some super smart genius to get the job done. Coding themes and plugins for systems like WordPress doesn't require a computer science background or an analytical mindset. Building a percectly usable site or app for a local business doesn't require that either. Enterprise or government work often doesn't require it either.
So there are plenty of jobs available for people who know only a bit of code, or who struggle with the theory side of things. They're just not jobs making hundreds of thousands of dollars a year in Silicon Valley.
Good analogy. But to extend it, part of the disconnect is that management/business side wants a lot of coders that are the equivalent of line cooks at a chain restaurant: just competent enough, with someone more educated/competent overseeing, and most importantly: easily replaceable.
I've no idea why coding should be anymore special than basic reading/writing skills.
Code is a way to express solution to the problem which a computer can execute.
If you can learn any language, you can learn coding too.
Sure, not everyone can understand intricacies of the algorithm design and data structure gotchas but some of that can come as experience and curiousity.
Question worth asking is that, does everyone need this special knowledge? And the answer is even many today working in the field know lot less than you would like them to know.
Many websites have vunerabilities which can easily be solved by following some good practise. But still they are getting paid for that kind of work, which means there is a market for less knowledgeable developers who get the stuff done what's assigned to them even if they do not know how memory and processor works on the basic level.
Today, it's lot easier to code with stackoverflow and GitHub at your disposal than ever.
It’s the problem-solving, not the language part, that requires special aptitude. You might speak a dozen languages but it doesn’t help if you don’t know what to say.
Besides, have you tried to learn a new natural language in adulthood? A bootcamp won’t get you far. And natural languages are really forgiving in comparison because you’re communicating with a human-level intelligence that’s used to inferring meaning from low-bandwidth ambiguous datastream.
Coding is like math. You have a problem, and need to reach the solution. Often there are specific and concrete steps you need to take to reach the solution.
Despite this, a lot of people just don't get math. Being able to go from an abstract problem to a concrete solution isn't just "write code until it works".
Not every human who can speak a language is a great speaker, storyteller or writer.
Writing a program is like a very detailed story that has to hang together. There can't be any loose ends in the plot or surprising twists that make no logical sense.
More than requiring language, programming requires thought.
If you have a certain drive and curiosity for coding the price of a used low-end laptop is unlikely to be a significant barrier, when adequate new ones are available from Walmart for $159. I just found a 3 year old Chromebook on ebay for $57, or around 10 hours work at the federal minimum wage after taxes. And there's a salutary pride of ownership in earning it. I earned my first computer by working the grill at Burger King. Dreaming of what I'd buy with my wages made finally getting it particularly sweet.
Exactly. After years of getting highest-end company-supplied desktops, one of my holy missions is to reduce the cost of home computing. Typing on my eBay Chromebook, desktop box is a $35 i5 Optiplex running Qubes. There's better things to spend your money on.
A wonderful world we live in. The best I could come up with as a kid was a used Xbox running Linux and a homemade VGA cable for something like $150. A then-modern machine for $50, I sure couldn't find one. (Of course adult-me is better at bargain-hunting)
To introduce people to the very most basic concepts of programming (if-then, loops, etc, and making hello-world, fizz-buzz, etc...), I've been using the javascript console in the Chrome (or Firefox) developer tools. In casual conversations with non developer friends (30-40 y/o), I'll say "here, pass me your laptop... " and I'll do fizz-buzz real quick. I haven't tried with any one, but I would think that teaching someone how to wrap their head around those concepts could be done with a cheap net-book and built-in browser development tools. In the beginning, get all of the dependencies out of the way - no need for a compiler, source control, package manager, etc....
I disagree. I think with the right levels of exposure at the early stages of education “coding” can become a proficiency just as common as reading, writing, and arithmetic. Of course, just like those skills, people will pursue programming to varying depths, some will determine to study advanced topics while others will remain “coders at the 6th grade level”.
Not everyone will go into CS and develop new data structures, algorithms, or programming paradigms—but most people can and should be able to code solutions to well understood problems—just like mathematics this doesn’t mean everyone will know how to apply it in novel business situations, but just as most people can perform easy calculations they should be able to write straightforward programs.
It’s all a matter of the appropriate cultural and educational scaffolding. Programming is still in its infancy and hasn’t permeated through the education system deeply enough yet to enshrine it as a core proficiency, but we can and should head in this directon.
In America anyways, coding "could" become a proficiency in the same way that business analysis "could" theoretically become a proficiency, but that is so thoroughly at odds with the American education system that I don't think it would happen unless there was a fundamental structural reformation of the entire system from the top down -- culturally, legally and probably generationally.
As someone else in the thread said "
Anyone can learn to cook. This shouldn't be equated to everyone being equipped to become a chef de cuisine." The fact that anyone can learn to cook only magnifies the detectable skill differential between a professional and an amateur, and I see no reason to see anything but the same pattern emerge with software construction.
"I disagree. I think with the right levels of exposure at the early stages of education..."
Right, but that doesn't help today's adults trying to switch careers, as they're past that stage.
"just as most people can perform easy calculations"
That's true by definition, i.e. you would only count a calculation as 'easy' if most people can perform it.
But, based on the results of surveys like the 2015 FINRA financial capability survey, I guess that if you're talking about calculations that >50% of US adults can perform, you're excluding things that most readers of this site would consider 'easy', e.g.:
"What happens if you start with 950, and it grows by 20% each year for 2 years?"
You do realize that every time you enter a line of code in an editor, you are developing new data structures and algorithms, right?
Edit: No, really, I'm serious! There is literally nothing different between gluing APIs together, or whatever you think you are doing, and building the snazziest large-scale distributed statistical model of whatevers. Literally.
I think your last line goes to far in the other direction. You do not need to able to self-teach from zero to become a useful programmer, teaching can be very useful (but, as you rightly say, is no guarantee of success. Especially if done incredibly badly like the article suggests)
I've found the hardest part about coding to be accepting that there isn't enough time in a single lifetime to learn it all. I may be close to learning that learning it all is not possible with infinite time, but I am not there yet :)
Because if you define "to code" as knowing the correct syntax for a given language, just about anyone can "learn to code." That does not mean they can write a program that solves a problem. That's a different skill set. It requires you to think and not simply look at a quick-reference card.
This right here. "Everyone can learn to do x" is a thing but when applied to coding the marketing is strong (compared to say mathematics or writing or dancing or construction).
Yes, everyone can do it. No, not everyone can do it.
These statements are funnily enough not mutually exclusive, they just apply different meanings to the words "can" (potential vs actual aptitude) and "do" (future vs presence).
The idea came about when media pitched it as a solution to blue-collar jobs disappearing. This was particularly the case when some asked what would happen to coal miners when environmental regulations were enacted: they were told to learn to code. It was supposed to be a panacea for job loss.
This feels like revisionist history to me. There have been more job losses in the print and publishing industry and there are more workers in the solar installation industry - the only reason why the coal miners get extra sympathy is because it’s politically expedient.
- Most of them have engineering background: electrical engineering, civil engineering, petroleum engineering.
- Since they lack formal education in IT, they have to train twice as hard, which our company encourages (2 months of probation = 2 months of training, it's almost impossible to find developer with Scala experience around here anyway).
- We work with the Bootcamp to improve their program: giving reference to 'hard', 'theoretical' books such as Algorithms & Datastructure or Database Design and cutting down some unnecessary parts.
- Most importantly, we strongly prefer people who switched to IT because they actually love programming, not just looking for higher wage.*
* It may sound weird but actually many people here didn't picked their university by themselves but by the guidance of their parent, so they might study something else than their favourite.
That's great, but what about the people who come from a non-engineering background? I feel like people with a technical background will be able to pick up coding a lot quicker than people who don't have a lot of engineering aptitude.
>We work with the Bootcamp to improve their program: giving reference to 'hard', 'theoretical' books such as Algorithms & Datastructure or Database Design and cutting down some unnecessary parts.
That's great that you guys do this. I'm a real big proponent of this private/public model since it benefits both businesses (they get people who are trained in key business areas) and colleges/bootcamps (they can brag about knowledgeable grads whose job placement boosts their numbers).
You're almost certainly correct. It's perhaps possible that the bootcamp model, which can work well for people with solid technical backgrounds, might not work equally well for others.
That's fine. Not every tool is a fit for every job. A hammer is very useful, but it makes a poor saw.
Hello! This was me. Studied music because it’s what my parents wanted me to do, and kept finding ways to shoehorn “computer stuff” into any music I was doing: making digital synths, making music analysis programs, and coding up generative music machines.
That path worked well enough, so it took me awhile to realize I ought to give up the pretense of music and just do the thing I was interested in full-time. The pay difference was indeed the incentive to re-tool, however.
I used a boot camp, where I learned the current faddish tools of frontend, to get connected into the industry, and have since happily transitioned to backend work. I’m not sure the boot camp itself was necessary, and 20 years ago I probably would have found an enthusiast group at a city library or something, but it was a short term functional community that worked for me.
I feel you.
I think there is no pool more shallow than the one of C programmers that can work on embedded in my area.
Regardless of what your background is, I’ve already had to commit to 6 months of training for anyone I hire.
Google broadly believes it takes 6-12 months for a new hire to become completely productive, so I doubt that particular aspect of your experience is due to shallowness of the embedded (straight) C (not C++) talent pool in your area.
Maybe if Embedded gigs wouldn't be paid a fraction of what a web dev kiddie would make, the pool would be larger.
I am currently working for a big corporate in the UK, who have been showing off their "pioneering" and "visionary" strategy to focus recruitment from code boot-camps.
All I can say is that as a senior developer, it has made my life misery. I've gone from writing code and producing features, to a full-time mentor and babysitter. Half of the boot-camp graduates I believe have become coders for the wrong reasons like:
* developers have an easy life, getting into work whenever they choose
* they get to wear t-shirts and baggy jeans
* they get all the latest toys to play around with and shiny MacBooks
* I hated my last job, looking at developers on TV in these Silicon valley places looks like the dream life
* I am a single mother who was given the course for free
The others, have aptitude but are so inexperienced from their 3 month session that it will take them atleast two years before they can be fully independant engineers.
These codecamps are licenses to print money it seems, they charge the students a hefty fee for the course and companies then pay a recruitment fee at the end.
Needless to say, I will be leaving my company very soon to go to a place where there is a coding test and filtering to prevent most of these bootcampers from getting in.
Yes its snobby, but I didn't study and spend my student loan on my passion just so I can train up a bunch of people looking for the "easy life".
Most of the bootcampers did three months of "frontend" work and are oblivious to what goes underneath in the murky world of business logic and services.
Until they have been able to demonstrate they are confident in:
* Presenting data to a user
* Validating inputs
* Making correct requests and understanding the interactions of an API (whether its REST, RPC, programmatic, internal)
* Processing requests
* Persistance and access of data
* Basic security
* Be able to document and explain all areas to a basic level.
* Debug and provide a root cause analysis.
Then they will remain a junior developer and I think that will be many of these bootcampers fate, as they are either unwilling or incapable of doing work outside their comfort zone.
There's also a massive disconnect from the reality of just how complicated modern software needs (not) to be.
That said I agree that some 3-month bootcamp probably isn't enough time to really internalize the basics of programming (unless you're really smart or have prior exposure), let alone learn to design and write nontrivial programs.
I went to a coding camp. I sat in a group working with my classmates on our group project and I noted that what we were learning was "just enough so that we can learn reasonably well on our own.... so that maybe later we will be good at this".
They looked horrified...
Most boot camp students really do not know at all the level of complexity involved, how much you need to just go figure out yourself / learn about ... learning, and etc.
Yes I’m aware of the differences in capability and no I’m not complaining. I’m just saying it was easier back then.
I might be biased since I have an engineering degree, but no CS degree. Self-taught myself a bunch of stuff, made the switch to software, and have now worked for 2 of the FAANGs. My very first software employer certainly had to mentor me quite a bit for the first 4 months, but I certainly justified the investment over the following year.
Like you, I learned a lot of beat practices on the job. SCM? Was SourceSafe (Yeah. I know, cringe, but also 2000). But also practices about how to release, when, notification of releases, post mortem of incidents, none of that was mentioned in school. All on the job.
I landed in finance, and any single fuck up can land you on the wrong side of the door. But if you accept you screwed up, most people I've worked with will give you a second chance as long as you don't repeat your mistake.
The problem with these camps is they help those who don't need it.
Bootcamps are the opposite. Quick compressed learning certified by a brand. Good for experienced developers learning a new language but lacking for the type who haven't used a computer before.
Things like how file systems work, what system calls do -- how write() works -- does it write data or not? How do blocking / non-blocking calls differ? What concurrency models are there in programming? How does parallel execution really work? How do you (properly) handle I/O, networking, and other events? How do you evaluate and compare the efficiency of algorithms? What kinds of security threats lie in different types of code? Practically, how do you prevent them? How do databases work? How do you design applications to avoid corruption? What are the different isolation levels in a database? What parts of the database are 'locked' for a given query, what 'order' are transactions executed in? How does the OS allows multiple programs to run?
Cryptography. Sessions, encryption, hashing, salting, peppers, verifiable delay functions, public keys, symmetric vs asymmetric crypto. Signatures. Mutual authentication. Message integrity. I guarantee you most developers have screwed up their handling of I/O, security, db use, or concurrent code at at least once in their career. These are deep concepts that can be "learned" in 10 minutes from a tutorial, but have tons of weird, undefined behavior that only shows up if you don't completely understand what you're doing.
IMO, what seems to have changed recently is there's now more ways to shoot yourself in the foot. I.e- more open source libraries that are usable right off the bat as black-box-plugabble, square-peg-in-circular-hole type deals. Kind of like how people trick themselves into feeling like experts from reading wikipedia -- a little knowledge can be just as dangerous as no knowledge at all.
If the future is software, then there will be places for PhDs & bachelors, but also for associates and even bootcamps/certs. Even people who are not deeply passionate about software can make a useful contribution. Putting men on the moon took a lot more than just rocket scientists.
Other engineering industries have to take rigorous exams to achieve any forward momentum in their job (civil engineering had the PE, for example). This is something I think I could get behind for our industry .
> I am currently working for a big corporate in the UK, who have been showing off their "pioneering" and "visionary" strategy to focus recruitment from code boot-camps.
Your employer is trying out a new HR strategy to cut costs and boost productivity. Is that strategy working for them? It doesn't sound like it's working for them if they're hiring bad coders and driving away experienced staff. Do they think it's working? Is your management aware of your concerns?
Because honestly, this sounds a lot like "my management team is doing something dumb, and it's all the fault of the new junior devs we hired". That sounds unlikely.
Also:
> I didn't study and spend my student loan on my passion just so I can train up a bunch of people
Mentoring is a key part of the job. If your HR department is hiring poor candidates for that, that's an issue, but if you don't want to mentor people at all, is this really your passion?
I make things at home now. I don't want to go back to the stress of rapid fire "three parallel orthogonal lines for Miss Business" development. The baby-devs are a cudgel of tender emotions with which to push back against the exploitative wiles of business.
I fondly imagine I'll actually have the time to strike out on my own any day now, but the reality is that my life is already better.
About half my coding camp class was unemployable by my estimation. At one interview I'm fairly sure they had interviewed a classmate or two before me and the questions they asked were painfully simple to start.... if they felt they had to ask that, I can't imagine they'd ever want to hire someone at that level. Obviously I showed them otherwise and the interview went well, but I felt like their perception was so poor to start, there was no chance.
At least I'm working now so it's not just "coding camp" on my resume as far as coding goes (I had another technical career previous to this one). I"m hesitant to mention the coding camp when I meet other people who are in the same industry. I really enjoyed my coding camp experience (going back to school was a surprisingly wonderful experience as I was a poor student earlier in life) and yet I'm inclined to say "self taught" and that isn't exactly true although much of what I know now would fall into that category.
This seems to be the huge differentiator.
I've had really good experiences with boot camp grads who had a previous technical career or came from a STEM phd. Camps are great for getting already well-educated people up to speed on how to hack together a website, which is an enormous value add to an existing skill set.
I went to a bootcamp, and the first hour of every day was spent learning to solve the types of coding tests that companies use in interviews. So, when companies look at the graduates of these bootcamps, it's really hard to differentiate between people who perform really well on the interview but will require significant investment before they're useful (this was me) and people who have been programming and working with computers for years and simply lacked a little bit of polish & training (like some other people in my program).
All that's to say -- traditional coding tests & filtering doesn't necessarily work that well when you have people training for the test (rather than training for the ability to do the work that the test is supposed to be a proxy for).
Dead Comment
OTOH, you’re right about boot camp grads not being ready to operate independently, but that’s your employer’s fault for hiring too many of them. You’re totally free to leave and go somewhere that doesn’t hire boot camp grads if you don’t like it.
Don't get me wrong, I've enjoyed mentoring but done kids graduate with no clue and the wrong expectations.
I've mentioned to management these kids don't graduate with the proper foundation... And I'm told it's my job to give it to them....sure, I'd love to if they give me their college tuition!
This really only applies for CS, but I wouldn't hire people with "IT" degrees for programming jobs no matter where they went (not based on their degree anyway).
GSU is much larger than either GaTech or UGA, and it just received an award for being the 2nd best teaching institution in the US. Kennesaw is about the same size now that they merged with Southern Poly, and their CS program is also ABET accredited.
I've taken CS classes at both GSU and Tech, depending on the classes the person takes at GSU, there isn't a big teaching disparity. The type of person who makes it into Tech changes things, but if you look at their transcripts when hiring you can quickly see who took the easy classes and scraped by with Cs and who really took it seriously
What do you think is an acceptable ratio?
The only logical reasons I’ve seen are an inability to hire otherwise, and staff moonlighting at the boot camps. Both are bad reasons.
* The local management are non-technical and have a rudimentary equation that 1 developer = 1 productivity unit
* The bootcamp has some really great salespeople
* Hiring is generally difficult for great dev talent, so their logic is just to hire anyone for the numbers, otherwise their budget gets constrained by kafkaesque finance practice from the companies HQ.
* Local political and PR reasons, the company is "hiring local talent", "equal opportunities" etc.
Deleted Comment
That's why I am interested in someone's portfolio, if they don't have a portfolio, then why?
My degree put very little focus on memorization. Individual and group projects certainly had nothing to do with memorization. My experience hiring and working people from other schools indicates that their degrees were similar. I'm not sure where this degree == memorization thing comes from.
I truly believe that almost anyone could spend 6 months studying interview questions and go from zero coding experience to getting a job at Google.
Is this person going to be a good engineer? Almost certainly not. But by God's will they be good at programming tests and Google interview questions.
Why exactly is that the wrong reason?
Don't get me wrong, I'm the biggest fan of getting in at 10:00 or 11:00, but I also try very hard to get things done. If you come out of your boot camp without understanding that you still have a shit-ton to learn and you aren't willing to put in the effort to learn it and do the actual work (which isn't easy), and, yes, put in the time required, then you are a liability.
It's also problematic in a world wherein people have to work together, which is why most jobs don't allow one to 'work when one chooses' although that is obviously the case in some scenarios.
I just finished my first final project using React/Redux/PostgreSQL/Rails/S3 -> http://www.orangemusic.xyz I don't think I could have learned what I've learned in that amount of time with self-study alone.
tech people have been automating jobs away and insisting the future is code for a long time now. Now all of a sudden we get "coding is hard" and the non-traditional bootcamp education they pitched only really works for highly motivated self-starters, often with preexisting engineering or science backgrounds.
So what do they do? What exactly are they going to train into?
We're commenting on an article about a coding camp founded by a professional TED talker who's now in law school.
The "they" pitching bootcamps and the "they" automating jobs away are two different "theys".
People who have been doing software for the last 20 years have always been saying "coding is hard" and "a few months in a coding bootcamp isn't sufficient preparation for a career in tech, especially when the winds of the market shift".
But no one wants to hear "high-paying jobs require spending years getting good at doing hard things".
Seems like the kind of company which would be relying on interns and juniors (that need training too) instead of hiring seniors engineers, they just found a way to make it look good.
In my career, I've taught myself how to make complex CLIs. Then CGI-based web apps. Then Java desktop apps. Then MVC frameworks. Then JS frameworks. Etc. Ditto for changes in development and deployment processes. Ditto for changes in DB technology. etc.
My employer rightfully expected that, for a six figure salary, I should be a professional who is able to keep up with best practices. That's why they pay me well. They let me attend conferences and I negotiate for some "experimentation" time whenever there's a big shift in the tech landscape, but it's not like I'm disappearing for months at a time every 5 years. That'd be insane.
I'm not very old.
Hell, I don't even work in web development.
It's just one of those skills I need to keep fresh because it comes in handy every once in a while.
The changes in my actual domain of expertise have been even larger and much more difficult to keep up with.
Coding bootcamps are expensive -- they often cost on the order of a single year of college. If you're going to need to go through a few of them in your career just to keep up with a single skill set -- building UIs -- that's more of a baseline competence than a real specialty, why not front-load and just get a good-quality degree that prepares you to teach yourself the easy stuff? Double major while you're at it.
Deleted Comment
But the MSc in CS course for this uni... it really is less than a proper B.S. in CS course - it was nothing but the very basics. Aka a fairly expensive bootcamp, albeit with a "dissertation" at the end. The uni is making serious ££££ churning out "MSc graduates" and now I know where the trope of people with MSc who can't program comes from. My MSc course was a real course, from a much better school, but that was 15 years ago...
Not all the MSc in CS students were bad, mind you - the ones who could have been engineers did well. But they still only got the very basics of what you need to know coming into industry now (or what a BSc student would get) and if I was in charge, I'd re-label the degree to something other than a MSc. But degree inflation is here to stay...
Maybe that's your problem right there? I'm in SV and know someone who successfully did a bootcamp, but they certainly didn't get a special route through job interviews. They had to compete with graduates and pass regular technical interviews with algorithm questions (and they could do fairly hard ones that certainly many college graduates fail). BTW the bootcamp only charged on successful job placement, so it's hard to see how they could stay in business if it was just a scam.
> and filtering to prevent bootcampers from getting in
> its snobby, but I didn't study and spend my student loan on my passion just so I can train up a bunch of people
Why should the interview be for anything other than to determine technical competence and organizational fit? I'm sorry if you've had difficulty with your student loans but I don't see why it is relevant here.
There's plenty of mediocre programmers that managed to pass a CS program somewhere. Maybe their course material covered a broad range of topics but certainly not everyone retains it or can even answer basic questions. Assuming two people with no experience, I would strongly prefer to work with whoever performs better on coding challenges and computer architecture questions even if they went to a bootcamp. Probably especially if they went to a bootcamp. If someone has 4x as much time to study and still does worse, that's hardly encouraging is it?
To me it sounds like the hiring process at your company is what is at fault, and it would be better to fix that than to rely on expensive credentials (that can only set a low minimum bar anyway) as some sort of proxy. Maybe if you are overwhelmed with applicants you could filter by individual school, bootcamp, github portfolio, etc. But this seems to be painting with an overly broad brush.
The Chinese word for disaster is opportunity.
That's a well-known false trope. See:
https://languagelog.ldc.upenn.edu/nll/?p=1212
and links therein.
Sadly, I fear that will be like “going to a place that doesn’t require unpaid overtime” or “going to a place that doesn’t have a noisy airplane hangar ‘open office’” - once it catches on, it will spread everywhere.
Which are the tenets of big corporate, which is why I am getting the hell outta there to a smaller, more "organic" company.
Dead Comment
Dead Comment
Dead Comment
* Your job is no longer easy
* ----
* You have to help people, no longer get to play with your toys all day
* You hate your current job
* ----
I'm seeing a pattern of 3/5 but only because I'm assuming you aren't a mother. If I was wrong, Happy Mother's Day!
Have you ever been in a company where senior people were responsible for helping new people? Or, are you searching for that company where everyone comes in magically perfect and at exactly the same level of competence? I've never been at that company, when you find it, please share it here so we can all go work there.
Deleted Comment
Instructors with little tech experience, high rate of firing and stuff turnover, students being told to "google it", operating without licenses, all while the founder has fancy offices in Chicago with rapacious and alcoholic parties.
Amanda Laucher, the founder, essentially stole funds from governments and made false promises and is now going to Law School in Chicago. Meanwhile, these people quit their jobs on false hope and now are unemployed or have to rejoin at the bottom of the rung.
Assuming the article is fair, this is a sad situation and Laucher should be prosecuted.
Deleted Comment
Dead Comment
The same applies to programming.
Meanwhile the hard stuff is out there, but increasingly being done by a few companies that sell it to the rest of the world.
So programming is becoming more bimodal and if you’re not on the hard curve it is going to become a lot less lucrative and a lot more competitive.
It works both ways too; When bootcamps first popped up, I was dismissive of them until I realized that there was (to be fair, relatively new) high demand for people who could even do the bare minimum of stringing together CRUD apps, forming a labor market that had nothing to do with me, despite nominally being an "engineer". I think a lot of the pathologies of eng hiring stem from the broadness of the role "engineer", which just ends up causing credentialism and the metaphorical ghetto-ization wrt talent of parts of the stack, like frontend.
Also the latter is clearly bidirectional. I haven't heard of the urban calling the rural "not real Americans" for one.
By all means subsidize a laptop and point them at some great online (free) resources, but beyond that if they won't/can't help themselves...
I think it's obvious that not every single person in the world has the external characteristics to be a great software developer. But those with passion and curiosity will be able to make a great career for themselves.
Could the school have instead focused on more boring general job skills with a special focus on using software effectively? I think so. I think it would have been more successful than teaching "the LAMP stack" or whatever it was they did. Not that software development is rocket science, but it's true that it's not for everybody, and neither is accounting, nursing, engineering, teaching or plumbing.
A better question, perhaps, is why this is assumed to equate to coding-based jobs.
Anyone can learn to cook. This shouldn't be equated to everyone being equipped to become a chef de cuisine.
In the same way most chefs don't work at Michelin star restaurants, most developers don't work at FAANG companies like Google. They work at other types of companies, whether those are large company in house development teams, small agencies, outsourcing companies, government agencies or as freelancers.
And in those locations, you don't really need to be some super smart genius to get the job done. Coding themes and plugins for systems like WordPress doesn't require a computer science background or an analytical mindset. Building a percectly usable site or app for a local business doesn't require that either. Enterprise or government work often doesn't require it either.
So there are plenty of jobs available for people who know only a bit of code, or who struggle with the theory side of things. They're just not jobs making hundreds of thousands of dollars a year in Silicon Valley.
The theme in this comment thread seems to be something like, "Only rockstars should learn to code, it's pointless for normal people".
Code is a way to express solution to the problem which a computer can execute.
If you can learn any language, you can learn coding too.
Sure, not everyone can understand intricacies of the algorithm design and data structure gotchas but some of that can come as experience and curiousity.
Question worth asking is that, does everyone need this special knowledge? And the answer is even many today working in the field know lot less than you would like them to know.
Many websites have vunerabilities which can easily be solved by following some good practise. But still they are getting paid for that kind of work, which means there is a market for less knowledgeable developers who get the stuff done what's assigned to them even if they do not know how memory and processor works on the basic level.
Today, it's lot easier to code with stackoverflow and GitHub at your disposal than ever.
Besides, have you tried to learn a new natural language in adulthood? A bootcamp won’t get you far. And natural languages are really forgiving in comparison because you’re communicating with a human-level intelligence that’s used to inferring meaning from low-bandwidth ambiguous datastream.
Ok - maybe 'learning to write a few lines of code' - i.e. basic algorithms, should be 'no harder than reading or writing' ... or using Excel ...
But writing software, on the whole is a fairly intellectual exercise. It requires legit curiosity, intelligence, conscientiousness, etc..
"Code is a way to express solution to the problem which a computer can execute."
No, only in it's rudimentary form.
If every program was only 20 lines of code, I would agree fully, but since that's not the case, I don't agree at all.
Despite this, a lot of people just don't get math. Being able to go from an abstract problem to a concrete solution isn't just "write code until it works".
Writing a program is like a very detailed story that has to hang together. There can't be any loose ends in the plot or surprising twists that make no logical sense.
More than requiring language, programming requires thought.
The faculty of language doesn't confirm thought.
Deleted Comment
> By all means subsidize a laptop
If you have a certain drive and curiosity for coding the price of a used low-end laptop is unlikely to be a significant barrier, when adequate new ones are available from Walmart for $159. I just found a 3 year old Chromebook on ebay for $57, or around 10 hours work at the federal minimum wage after taxes. And there's a salutary pride of ownership in earning it. I earned my first computer by working the grill at Burger King. Dreaming of what I'd buy with my wages made finally getting it particularly sweet.
Not everyone will go into CS and develop new data structures, algorithms, or programming paradigms—but most people can and should be able to code solutions to well understood problems—just like mathematics this doesn’t mean everyone will know how to apply it in novel business situations, but just as most people can perform easy calculations they should be able to write straightforward programs.
It’s all a matter of the appropriate cultural and educational scaffolding. Programming is still in its infancy and hasn’t permeated through the education system deeply enough yet to enshrine it as a core proficiency, but we can and should head in this directon.
As someone else in the thread said " Anyone can learn to cook. This shouldn't be equated to everyone being equipped to become a chef de cuisine." The fact that anyone can learn to cook only magnifies the detectable skill differential between a professional and an amateur, and I see no reason to see anything but the same pattern emerge with software construction.
Right, but that doesn't help today's adults trying to switch careers, as they're past that stage.
"just as most people can perform easy calculations"
That's true by definition, i.e. you would only count a calculation as 'easy' if most people can perform it.
But, based on the results of surveys like the 2015 FINRA financial capability survey, I guess that if you're talking about calculations that >50% of US adults can perform, you're excluding things that most readers of this site would consider 'easy', e.g.:
"What happens if you start with 950, and it grows by 20% each year for 2 years?"
Edit: No, really, I'm serious! There is literally nothing different between gluing APIs together, or whatever you think you are doing, and building the snazziest large-scale distributed statistical model of whatevers. Literally.
From VC and business owner "thought leaders" who have an economic incentive to flood the market with programmers and drive down salaries.
(Oops, I forgot we're not supposed to say that out loud...)
Yes, everyone can do it. No, not everyone can do it.
These statements are funnily enough not mutually exclusive, they just apply different meanings to the words "can" (potential vs actual aptitude) and "do" (future vs presence).
As a wild guess, it may partially be inspired by the idea that coding is done in languages, and, hey, people from all walks of life use language.
Deleted Comment
Dead Comment
Dead Comment