Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
They Were Promised Coding Jobs in Appalachia (nytimes.com)
301 points by pfortuny on May 12, 2019 | hide | past | favorite | 321 comments


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.


I've worked with biology and philosophy majors who came from boot camps and they seem to be just as competent as any other junior developers.


Reminds me of one Computer Science professor I had whose degree was in Philosophy - of course he predated computer science degrees. He is part of the older branch of "self-taught" as opposed to degree trained in programming - it is now rarer for someone new to get into the field at a higher level without formal training.


A CS professor at my school graduated after 2000 with a bachelor's in creative writing. She did do her graduate studies in CS, however. So it's still possible to be a professor without studying the field at an undergraduate level.

However, she certainly had formal training in CS, just not at the undergrad level.


I'd say that simply suggests boot camps for people without STEM backround should likely take longer.

(Best, they should take as long as they need to until the student demonstrates competence, but that would break the "pay up-front, train a fixed amount of time, get a nice job" business model / marketing strategy.)


I think the basic business model is akin to any other kind of school. The issue at hand is that they're dropping the things that make other schools work: admissions and structured instruction.

Unfortunately, those things aren't fripperies to be tossed away lightly.


That is true but the cohort that have that background is relatively small - in the example mentioned ex miners there will have been a small proportion of such people but a lot will have retrained and gone to work in gas oil or fracking which pays a lot more.


> 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.


Interesting its normally parents wanting kids to do one of the big 3 law, medicine and engineering.


Religion alters incentives in often surprising ways.


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.


Everybody I went to college with “learned programming” when they were 12 years old (or younger). They _also_ got college degrees on top of that.


> They _also_ got college degrees on top of that.

I honestly don't know how people can sit through so many classes that are nearly a complete waste of time. Potentially wasting up to four years of life. I tried, was really motivated in the beginning despite it, then slowly burnt out on classes I absolutely didn't need. I left for a job even though I only need a handful more classes.

Also, because I know it coming, not wanting to waste four years of life absolutely does not imply that anyone lacks "grit." I could refer to a dozen current and former coworkers who I am certain will say I don't lack it. Give me an interesting and hard problem to solve and I'll be on it until it is solved. If you don't have one then I don't want to work for you anyway.


My friends who also learned programing at young age, and later got a engineer degree, say they didn't become better at programming, but it sure helped to get a job.


>almost impossible to find developer with Scala experience around here anyway)

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.


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.


I agree with this 100%, even as an experienced engineer I want to continue to give and receive ongoing training. Yet I've actually been told in some settings not to even mention the "T" word because it would be seen as offensive. Instead as an industry we have ridiculous expectations in hiring and an inefficient, informal training process in the form of production failures.


I bet the job post reads "Searching for self-starter that can hit the ground running!"


> There's no such thing as someone you're not going to have to train.

Not for employees but for contractors or consultants they better be able to hit the ground running. That’s why they get paid 3x and up what employees get. If you need someone right now you can pay the premium for it and get it.


my experience is that you have to babysit the senior hires a little bit more because they bring their own baggage and habits into the team even if it doesn't support the existing workflow or even goes against.

they are also more resistant to change than a fresh hire, or may be a bit more convincing when they want things to move their way (to the team's detriment).

if you want to incorporate new cultural elements into your team, especially if your team has already strong, well-developed culture, you have to be aware of what is good and what is bad within your existing team, what to keep and what to give up, and be quick to nip any unintended side effects of a cultural/workflow change in the bud.


> 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.


Google did a lot of pioneering work and created a proprietary stack. This used to be a big competitive advantage, but the industry largely caught up and now the incompatibility is mostly just tech debt that everyone has to ramp up on.


A lot of what's required in onboarding is domain knowledge. Say a fintech engineer gets a job in industrial controls or vice versa; there will be considerable time spent learning about the industry itself, regulatory environment, etc.


Are you speaking as a Googler/Xoogler? They come out with impressive projects like Kube and their build system, I would be surprised if their in house stack can really be described entirely as "tech debt".


Xoogler from a few years ago. I'm not saying they have nothing cutting edge, just that the rest of the industry eventually reached parity with a lot of their everyday platforms. If you come in knowing HDFS and Cassandra and Spark and k8s, moving to CFS and BigTable and Flume and Borg involves learning a whole lot of minor differences that don't make you much more capable but screw up code reuse.

I was pleased to see Cloud Spanner hit the market, and trying to nudge the industry towards hermetic builds with Bazel.


What's CFS? Cloud Filestore?


Details are fuzzy but I think CFS is a name for part of Colossus, a rewrite of GoogleFS.

https://cloud.google.com/files/storage_architecture_and_chal...


> I think there is no pool more shallow than the one of C programmers that can work on embedded in my area.

Maybe if Embedded gigs wouldn't be paid a fraction of what a web dev kiddie would make, the pool would be larger.


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.


[Warning Exremely Controversial Post Ahead]

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.


> Then they will remain a junior developer and I think that will be many of these bootcampers fate

This is a fair assessment - not just of boot camp developers but of all developers. I don't think I agree that it is a problem that some people working as a junior developer today will never become a Technical Fellow, however.

I've personally found (especially in the "enterprise") that many senior developers do not actually have fifteen years of experience - but one year of experience fifteen times, and are functionally junior developers with the wrong title. Educational background does not tend to be an indicator of this.


I think it's worth bearing in mind that people who sign up for bootcamps generally expect to have a normal career trajectory. They do not expect to spend their careers as effectively junior developers. They genuinely believe they will become Technical Fellows, and expect that a bootcamp will get them started.

Few bootcamps seem to do a good job of teaching students what to expect in a career path or what they'll need to do to advance in it.

I think our industry is headed for a collective reckoning, though I would not begin to speculate on a timeline. We're going to have to square seniority as a measure of skill with seniority as a measure of time, and no matter how it happens a number of people are going to be unpleasantly surprised.


I'm reading job posts for "sr foo engineer" and requirements are typically "4 years of foo", and no other experience level mentioned.

Yes, we all know someone who's done something for 2 years and is amazing, a true genius/savant who redefines what's possible. They're the exceptions.

I've been in professional software around 25 years, and was recently talking with a colleague (roughly same years of experience). He's just started a new job, and is working with people coming out of a bootcamp, and is frustrated because they're both currently being put on the same tasks - some basic FE JS work - and the bootcampers are actually slightly more productive than him. It's because that's literally all they know - they happen to know the same versions of everything the company is using, because it's what the bootcamp used. They can't do anything else, but both parties are being judged by this one ability right now, and he's questioning his own value now. It's giving the junior folks sort of a weird view of what 'old people' are capable of (which, as an old person, bothers me some!)


I think frontend has such a low barrier to entry and such a high degree of fault tolerance that it makes sense that people misjudge their capability.


> Then they will remain a junior developer

Isn't the point that they _are_ junior developers after completing a bootcamp? Juniors can be some of the best people in your organization if your org is willing to take them on and teach them things.


I'm not disagreeing, but I think the implication is that the bootcamps tend to leave their students without the fundamental knowledge to progress further in their career.

Not saying you need a full 4 year program and a CS degree. I don't have a CS degree, but 2 degrees in electrical engineering and computer engineering. That gave me a very solid and low level concept of computing that most CS grads dont get. Programming languages are a dime a dozen. Some are better suited for certain tasks than others.

Someone going to a Ruby on Rails or Node/JS boot camp isn't going to get that exposure to multuple languages. They're not going to know that, say Python is a better language/ecosystem than JavaScript for scientific analysis. They're not going to be exposed to C, C++, C#, Java, Rust or Go. Personally, I wouldnt even interview someone that's taken a boot camp in C or C++. The languages are too nuanced and complex to even get a foothold in 3 months.

Sorry this ended up very rantish, and I didn't mean for it to be so. I'm trying to make the point that while, yes, boot camps serve a purpose and may be useful to some folks, they will not and are not designed to give you enough knowledge to truly excel in the industry with the knowledge gleaned from the boot camp alone. It will take an extremely passionate and aggressive self learner to be more than a junior after a boot camp.


You have an engineering degree, so.... The joke was, when I was an undergrad, that CS students were the last people you'd ever hire because they couldn't design a system at all (or program properly). The first you'd hire were the computer engineers, aka you and me (of course). Engineers are born, for the most part, not made.

Over the past 20 years, this general principle has been validated, at least in my experience - a good boss I had once said only the top 10-15% of people in IT know what they're doing. The next 20-30% have some idea, but they're sort of useless. The bottom half, you do not hire if you can help it...


I also don't have a CS degree, but I tend to agree with you that something quite serious in terms of scale and scope is missing in most bootcamps. For instance, it doesn't make sense to expose people who have never written a program before to RoR or Node if they haven't yet learned how to do basic tasks like command line functionality, learning the *NIX file system, text and data manipulation, etc, let alone if/then statements.


Juniors are great when their inexperience is correlated with youth, fresh outlook on the world, a burning passion for the subject, lack of fear with new ideas that seem controversial to the old guard, and frankly fewer family commitments such that succeeding at their job and learning and growing is their number one priority.

Very little of this applies to people on their second career doing bootcamps for a leg up.


Hello culture of age discrimination in tech. Didn't expect to see you here.


I genuinely expected you to pivot to something interesting or novel halfway through your post and was very disappointed when I got to the end. This comment eloquently depicts everything that is wrong with corporate culture in general, occasionally magnified in IT.


Why? If someone can just do FE development, that is not a problem, and they can get a job as a junior.


It annoys me that front-end is sold as "easier". Getting started is "easy", building front-end applications at scale is a completely different ballgame.


> 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.


Well, if the bootcamp is going to spend 3 months teaching you how to make a website using the industry-standard tools and frameworks, you're going to know absolutely shit at the end.

Consider a typical front-end developer setup - with IDE/smart editor, linters, transpilers, packers, package managers, project generators. These are all useful tools, but to be even a marginally competent developers, you have to know what they do and why. Otherwise, you'll be completely lost when some default changes. You'll be flabbergasted when you discover that the project structure you're used to isn't "how the web is made", but just an opinionated pattern that was sort-of fashionable at the time you were learning.

I've seen this problem happen with code camps teaching people RoR some years ago; I believe it now happens with Node/React.


I encountered a particularly egregious example of this recently.

I was running a group of recent(-ish) hires through a training course recently. Part of it is penetrating-testing a dockerized application on their machines. One of the things the application is vulnerable to is various forms of form tampering attacks.

One of my students just stared helplessly at this. They were absolutely stuck. I had no idea why. I came to find out that one of my students had managed to make it through a bootcamp, and an interview process, and be on the job for several months all without learning a Chrome or Firefox developer console could be used to edit a page's HTML. Or that a page could be saved and edited that way.

I hadn't even considered the possibility that a professional engineer in a web development role might be ignorant of how to edit an HTML form by hand. It implies a shocking ignorance of how the whole thing works.


I once observed a "become a web developer quick" RoR-based course, where they made people write their "hello worlds" as full-blown RoR apps with full MVC project scaffolding - meaning dozens of folders, and having to create 3 files (M, V, C) and write a lot of code to put something simple on the screen. I realized then that people finishing this course lack what I consider one of the most fundamental insights in writing client-server web software. I wonder if the person from your story lacked it too.

The insight is this: a browser is a program that reads text that it gets from files or servers, and that text tells it what to put on the screen, how it looks and what can be done with it. When you're learning the basics of a (backend) programming language, you first learn how to put text on screen. The same way, you can put text into a file, or (with some more tricks) into a network connection. So if you write a program that prints HTML to stdout and make browser read from it, you get a client-server web page. Boom, that's pretty much all. Everything else you'll ever learn is just managing complexity. Modules, MVC, database connections, etc. - it's all serving the goal of generating the right text that gets shipped to browser.

I was surprised by the ways people (sometimes junior programmers with little web experience) didn't get that. Some didn't know that browser simply reads text (happens when you're exposed to frameworks instead of raw HTML). Others thought MVC is something fundamental to web apps, instead of just being a way to keep your "print HTML to stdout" code from very quickly getting out of hand. So whenever I teach something the basics of web development, I always start with this - raw HTML as text, the connection to "your program can print text to stdout, so it can print HTML to stdout too", and we build up from there.


I can’t vouch for other programs, but I co-founded Dev Bootcamp (the first programming bootcamp) and the sequence you outlined is almost verbatim how we brought students into Rails.

We’d explain it the way you described. We’d have them start with Sinatra apps after 3 weeks of modeling problems in CLI apps.

After their 10th hand-written form with error handling, they’d see the value of Rails form helpers immediately once they hit the last few weeks.

Similarly, they’d write lots of SQL queries by hand in their CLI apps. We’d push them to separate it behind method boundaries then class boundaries then build a mini-ORM.

When ActiveRecord came along it was no problem because they had a model of the problems it was invented to solve.

A bit of the flavor: http://bit.ly/dbc_activerecord

It’s always sad to hear that the bootcamps that followed us didn’t try to give students the right mental models, but I believe you!


It's also good to hear that there are bootcamps who seem to do this right (and, importantly, want to do this right)! So thank you for doing it like this, and thank you for taking time to share it in a reply.

I read the whole excerpt you linked, and holy cows if you did not just significantly improve my base opinion about boot camps. The way you introduced AR is exactly the way I would do it, with the same digressions to hammer down things like "AR is ultimately just writing SQL for you", and "AR is ORM, there are many ORMs with different approaches", and "where does a concept live?", and "map is not the territory".


I can't vouch for other bootcamps! DBC was sold in 2015 to Kaplan and they shut it down in 2017. :(

Here's a thread I posted the other day, though, that might be interesting to you: https://twitter.com/jfarmer/status/1127324440469970944

BTW, the evolution of your feelings is pretty normal and it brings back memories. Haha. People would always be like, "Uh, yeah, ok, so you're churning out code monkeys, right?"

Then we'd bring them in, show them what we were teaching and how we were teaching it, and they'd go "Oh man, I wish I had been taught like this!"


Having been in the situation, all I can say is that sometimes you have to expect "shocking" gaps when working with inexperienced people at not let it throw you. It's part of being a teacher. You have to remain positive. If they're quick to learn it when you teach it to them, it's fine. This is learning on the job and it's expected.

That happened to me at Google for someone who didn't come in as a software engineer. I didn't handle it well and it's one of the things I most regret.


Good advice.

In this particular case, my student was hired directly into a software engineering role from outside the company within the past few months. This, to my mind, suggests a whole sequence of failures starting with the contents of the bootcamp.


That's an important thing, I agree. Seen a few shocking gaps in my co-workers at previous jobs, and whenever time and energy allowed, I always tried to carefully (to not bruise egos) and positively[0] patch it with a quick mental model update. I don't fault people for being inexperienced, or for not growing up as a computer nerd like I did. I only start having issues if someone wasn't given knowledge they're supposed to by organized learning (hence my scepticism about bootcamps, but see jfarmer's comment in parrallel), or when they claim knowledge and competence they visibly lack.

Programming is a profession. As you say, learning on the job is normal and expected.

--

[0] - https://www.xkcd.com/1053/


> you have to know what they do and why

Ah, bullshit. No you don't. Most people only understand a small subset of what they use. They are junior devs.


It's not about understanding everything thoroughly. It's about understanding, for most things they use, what does the thing do in general, what's the scope of it, and why that job needs to be done in the first place.


> just how complicated modern software is

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.


Agreed. I'd go a step further and say that "easier" coupled with in-your-face accessibility/visibility (e.g. ubiquity of Macros in Microsoft Tools) made for a powerful combo and provided tangible illustrations to programmers and non-programmers alike of the power of software - especially with simple tactical solutions. This exposure can be inspirational to all involved. At least for me, it was enough to switch careers entirely [1]. My first practical creation of any code in a working context was in response to the inability (lack of skills) of my employer to fix a problematic software data input form - resulting in inefficiency and degradation in my co-workers quality of (work) life.

Many of the comments here have focused around the skills and personality traits of coders. I agree with most: problem solving, some level of aptitude and curiosity are all important parts of the basic mix for success. Most of the discussion around motivation either has circled around economic benefits or some self-driven desire to learn.

Again, while not invalid motivators - I think a BIG one that's not been discussed is the general allure to the raw transformational power enabled by software (automation). With only a few lines of code, disruption can be created to make things easier, make things faster, make things safer, make things better - with immediacy and impact. In my case, I used it to disrupt inefficiencies and accelerate solving problems. As a factory process engineer, that kinda power was way too intoxicating to look away from. But manufacturing wasn't quite ready to embrace software quite yet - so I made the career jump. For me, I wish coding camps or other channels would have been accessible in small remote towns in the Midwestern part of the U.S. back then, it would have accelerated my confidence and given me a channel to seek a career. Instead the luck of the dotcom boom opened doors in job fairs where I had plenty to offer in the technical realm but little to show in terms of code at the time. Nevertheless, 15+ years and going in software has been a great ride thus far and one that I couldn't have predicted.

[1] https://medium.com/@boilerupnc/ten-lines-9a8403984bbf?source...


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.


>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.

That's not my experience at all. I've on-boarded many bootcamp graduates and I've never seen one that was doing anything that I would call "productive" a week out of bootcamp.

I could see that maybe if they had a good bit of experience before bootcamp.


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.


You're right, it would be pretty difficult to make a test that actually gauges competency. That shouldn't necessarily be a reason not to try though.

Honestly, it might be easier to adjust the hiring process. If the hiring process were able to easily select driven individuals who retain "software engineer" as part of their identity, and people that take pride in their work, seek constructive criticism and want to learn, then that would be good enough.

I should also clarify that being self taught isn't necessarily a bad thing (one of the best coworkers I had was self taught), lacking any of the above traits is.


>That shouldn't necessarily be a reason not to try though.

I'd argue that if a test could select good SEs then companies would be giving tests (or outsourcing such tests) as part of their interview process. It's not like a lot of thought, effort and experimentation hasn't gone into figuring out how to hire software engineers.

>Honestly, it might be easier to adjust the hiring process. If the hiring process were able to easily select driven individuals who retain "software engineer" as part of their identity, and people that take pride in their work, seek constructive criticism and want to learn, then that would be good enough.

I'd like to note that a test would not select for any of those things except the ability to study hard.


Self taught programmer here, criticism is something I think is harder for self taught people. I think it stems from never having an authority over you when you initially learned, and that sort of becomes enshrined as part of your identity. If your not reviewing someones code formally, just ask questions that could lead them to what your trying to suggest. Pretty commonly used method but just having them logically work it out sort of quails the knee jerk reaction to criticism.

Also maybe a lot of people are self conscious about no formal education as well? That wasn't an issue for me but I imagine it is for some.

TL;DR: The transition from learning the hard way always, to allowing someone to try to prevent it is tough.


You don't even need a test. Just drill down on one particular area and see how much they know.

For example, get them to explain a model they would use to represent user login. Then get them to explain how that would link to their use info. Then how they would display that on a login screen. Then how they would save that into the database. Anything to watch out for? Any security concerns?


Everything is so web based on HN. Give them a device protocol and ask them to code up the state machine for it.


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.


Absolutely, familiarity with troubleshooting, how layers of technology interact, dealing with new tech regularly, working with technical teams is a big leg up.


> 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).


After attending that bootcamp do you thing you could design tests to stump people who only knew how to do tests.


Coding tests -- I don't think so. Within three months of practice, folks were generally proficient at the "Cracking the Coding Interview" style of problems. When you have a curriculum that's partially designed for that purpose, any question you have that would stump bootcamp graduates is also going to flummox some amazing engineers with years of experience.

I'd instead try to pair with people on solving a problem that translates well to the problem domain that you're trying to hire for. Anybody who's new to the industry is going to need a decent amount of support & mentorship starting out before they're able to contribute meaningfully to a team and working with someone for a day is a good way to figure out how much support they're going to need and what it's going to be like to mentor them. Bootcamp graduates would likely be open to a day of paid pairing to figure out if a job would be a good fit.

If you did want to go with the more traditional coding test route, I'd try and do something relatively concrete:

- download a set of log files & group them based on a search

- hit an API route & use that to render and update a list of items

- connect to a database, figure out what schema migrations are necessary to support a new feature, and then talk through how to do the migration

- figure out why a test is occasionally failing on a CI server

- add metrics, logs, tests, and alerts to a service with two routes (/healthcheck and /doSomethingImportant)

Like all interviews, the closer the interview maps to the day-to-day of what your needs actually are, the better it will be. There's something beguiling about questions about dynamic programming or red-black trees, but being good at answering those questions has almost no relationship to day-to-day work. (Unless you're at a place where deeper knowledge of data-structures and computer science really matters... and in that case, you're not going to have much with recent bootcamp graduates anyways)


I have some luck with a question that needs you to use a standard “interview” data structure in a slightly nonstandard way. People who can bring up the data structure and tell me all about it, but not see how to actually solve the problem with it, are easy to reject. People who can derive it on the spot, or at least figure out how to use it after I give it to them, tend to be impressive hires.


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


If you don't mind me asking, what is the ratio of mentors : grads where you work?

What do you think is an acceptable ratio?


I don't really have a good answer but I'll give it a shot.

I can only speak for my team. In big corp, your work experience is based on your team. We have 4 senior dev, 7 college hires who have been with us between 0-4 years. The experience/aptitude varies. i.e. there are some who have been with us for 2 years that is not as good as the one hired. We've had some come on our team and move onto other teams. I have one who's been with us for 4 years, and at 3 years I felt is like a competent senior dev. He's moved to another team and runs laps around his new teammates.

Because I have the most patience in the group...I end up being the person most of them come to for help. I'm technically the architect on the team (manager gave me the title recently, too modest to accept it...) and the senior devs even come to me with questions...but of course I don't truely mentor them. But to give continuing education to the team, I've implemented a "Tech talk Friday" where I book a 1.5 hour of our time on Friday and watch and discuss various conference talks on YouTube that I feel are applicable for us. It's a nice way to end a Friday, too :)

There's no defined ratio. A grad who has a good foundation, is a go-getter and can learn on their own only needs to be guided. While others need to be handheld. Mentors' should not be bogged down to the point they are not able to do their real work - otherwise they'd get burned out and would just dismiss mentees.


Depends how much mentoring is expected and what the productivity expectations for the mentors is, IMO.


Why did your company fall for this?

The only logical reasons I’ve seen are an inability to hire otherwise, and staff moonlighting at the boot camps. Both are bad reasons.


I believe the main reasons were:

* 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.


Sounds like four political reasons. Better strap in for the long haul cause it doesn’t sound like things are gonna change quickly. Unless you happen to find that person who can understand and motivate developers while navigating the political power structure toward real solutions. Unfortunately, those people are even more rare than the 10x developer.


3 is not political. It’s hard to maintain hiring standards in this crazy market when you’re under business pressure to scale and it’s only natural management gets desperate after some time. I’ve seen this firsthand several times.


On point 1, perhaps it’s time to whip out the Mythical Man Month?


Yeah good luck with that. Most managers I talk to still think adding more people to late project = faster delivery.


Probably not going to do any good, based on the rest of the description of the situation.


Its a UK company so they have the British Disease = "don't want to pay for training"


Should we call it "British Disease" if it's already universally infecting companies world-wide?


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.


Coding tests are effectively a benchmark, and as Goodhart's law says about metrics. They cease to become a useful measure.

That's why I am interested in someone's portfolio, if they don't have a portfolio, then why?


Coding tests are often meant as a fizzbuzz type filter - if it is meant only for a very basic level of competence.


>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 don’t really know either. Obviously a degree isn’t a necessary or sufficient condition for competence, but I don’t know why a lot of people seem to pretend it’s borderline useless, a scam, etc.


Coding tests are the easy part.

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.


> developers have an easy life, getting into work whenever they choose

Why exactly is that the wrong reason?


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.


Why? Nothing about that reason has any bearing on whether you will be any good at it. Passion provides motivation to gain skill but it's not the only thing that can provide motivation. It's not even the only reliable motivator. Having a better career or pay can also be pretty reliable motivator.


Dismissing someone as “not serious” because of their reasons for following a particular career path says a lot more about the person doing the dismissing than those being dismissed.

By the parent’s criteria, I am “not serious”. My record on OSS and early work at companies which were acquired or have outsized valuations suggests the parent is 100% wrong, however.


Fair enough but what you have said shows to me that you are most likely a 10x'er, therefore I would say you're in a different league altogether.

Tell me, when you typed your first line of "Hello world" in C, Python etc. Was your motivation to have an easy life?


You can’t imagine that there are people who are smart enough to code, but wouldn’t otherwise be doing so if the salaries weren’t so good? The pay is really good right now. Lots of people I know who did boot camps were doing things like research in other STEM fields. They are definitely coding now because coding offers them a more comfortable life, not because writing enterprise software is more rewarding than say, researching climate change.


I definitely would be doing it if salaries were substantially lower. In fact, I’ve told people before that the main reason I’m a developer now is because it’s the only thing I know how to do that I know I can pay my student loans with.


/s/would/would not/


Lots of people don’t have the opportunity to get into programming for fun or because they think it’s interesting. A person could reasonably go into programming when choosing a major in college never having written a line of code, and end up doing great.

Our perceptions of programmers are shaped by the PC revolution of the 1980s. A lot of people got exposed to programming because there was a PC in the house. Kids and teens so exposed tended to be the ones who went into programming as a career, just because they had a head start and because they were more familiar with it. The result is that many of the best programmers in the profession in the 90s and 00s were the ones who started as kids. But many of the mediocre and bad ones were too!

Passion and early starts are overrated. As long as a person is smart in the right way and reasonably enjoys the stuff, they can be a great programmer. (And I say this as someone who started programming at the age of 6 and did it for free for many years.)


No - I was 5 or so when I started programming - however when I chose a degree leading to a math-based degree vs studying music (which I would have done otherwise), job prospects for an easy life were very much top of mind.


There we go, it was curiosity then. I was a late bloomer and didn't program till I was 12 and that was modding Command and Conquer.

If you don't have intellectual curiosity, then I think your career prospects in software engineering will be limited.

Perhaps I should have articulated it better above.

What I meant is that many of these bootcampers don't have that curiosity or drive to have touched code before their course. Even after getting a job, I've asked them about coding outside of work etc. they're not interested.


> If you don't have intellectual curiosity, then I think your career prospects in software engineering will be limited.

This part I fully agree with.

Do not equate "boot camp" and "would rather sit at a computer than mine coal" for a lack of intellectual curiousity though. I have personally met grads _from the boot camp in question in this article_ who clearly do have it - while spending their work days writing Ruby for web apps, they were spending evenings learning C, assembler and the operating system fundamentals that their particular route into the industry meant they missed out on.


You think there aren't tons of people who do CS degrees that lack curiosity? I've helped students with their CS homework who, when I asked why they were majoring in CS when they obviously did not like it, literally said their parents picked their major. So, I'm sorry, when people on here say that getting a bachelors in CS is some indicator of "natural curiosity" aka "geekiness" I would say it is the complete opposite.

I should add I don't have a CS degree, yet I'm doing the homework for the "dedicated" "curious" "high aptitude" etc. CS grads you'll be hiring later. Ha.


I can pretend for an interview

I’ve blended in pretty well all through upper management


Two thumbs up! If you can move fast and talk loud, no one need notice you have never produced a deliverable.


well I'm actually pretty good at my job and work with integrity

but arbitrary screening questions for interviews and silly coding exercises have no bearing on that


Why are you asking people why they became a developer? That has nothing to do with their ability to do the job. You're in a professional environment, so ask the relevant question: do they have a learning mindset? That's really the only thing that matters.


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.


So here's the thing. What do those people do?

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?


> tech people... they

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.


Company training used to be very common, but now they just want to whine about how people don't step out of school as senior developers.


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.


Maybe at some point you will notice that once you have more responsibility in one area it will use up all our time and energy and you simply don't have time to learn other stuff on the side. I am in that situation right now and I think an 8 week bootcamp to focus on Machine Learning would be a good starting point. I could learn it myself but I would need some dedicated time to focus on it and not have to worry about my regular job.


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.


Given how little UK pays developers in general, is there any reason good devs shouldn't move away from there anyway?


At will employment in UK pays compareable to US.


Err no compare what Google pays in London with what Google pays in SV


Is there any location that comes close to SV?


Anecdata: apparently Google Zurich pays more than Mountain View


But you just said the pay was comparable between the UK and USA ???


Indeed. Not much difference between, say London and NYC. SV is an outlier, even with in US.


Not compared to Seattle, as far as I can tell. Things have changed rapidly in the last few years.


Our visa options can be fairly limited if we don't have 4-year degrees.


UK still pays devs way more than EU though.


Family? Friends?


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.

The Chinese word for disaster is opportunity.


> 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.


> 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.


> Your post reflects narrow mindedness and a lack of empathy.

Which are the tenets of big corporate, which is why I am getting the hell outta there to a smaller, more "organic" company.


When at work you should be ready and interested to learn about how to improved your work. It's as simple as that


I agree. That's not what the parent post was talking about. The post disparaged people based on who they are not what they do.


[flagged]


I've been in OP's boat, mentoring people (normal hires, not from boot camps) who couldn't be bothered to put in the effort. It was a colossal time and energy sink.

My attitude today is that you have to put in the initial effort to demonstrate that whatever I invest in training you will be paid off by your future work using that training over and over again. Otherwise it's a wasted investment.

And that attitude is basically that of the old kung fu master: First prove that you are a worthy student, then I will spend time to teach you. Yet in a modern software dev environment, it somehow becomes snobby and elitist?

Edit: I've gotten the same criticism from elsewhere, so the the parent comment (which has since been flagged) is not unique.


Part of life is getting to choose how we behave and what actions we model.

In a situation like this, we have a choice. We can be snobby towards junior developers. Or, we can be kind to juniors and push back at the management structures which brought in less than qualified talent.

When we follow the snobby path, we model that that type of toxicity is acceptable for senior developers. We also teach smart juniors that the best way to avoid our considerable wrath is to fly under the radar and avoid asking questions. How does that help anyone? I can point out several situations over my career where less experienced people have asked questions that exposed a gap in my thought processes. And I can point out more situations where relatively basic questions have turned into major teaching opportunities.

Or, we can follow a different path and ‘gripe up’. We can keep open minds about juniors and model kindness and approachability. And, we can tell management about our concerns and seek actual change.

I would rather model leadership than elitism.


.


Outraged social justice responses like this is the reason why the OP gave you a trigger warning. But I guess you chose not to heed the warning.


If they had received a CS education they would be in a different class.


To sum up:

* 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.


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.


Won't happen. Unless some WV politician makes a crusade out of it nobody is going to get prosecuted for ripping off poor people.


yup, and since Sen. Manchin took credit for bringing them in and giving them tons of public money, doubtful he'll be up for that crusade


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.

The same applies to programming.


They're not the same thing at all. Being a lawyer involves cramming in an enormous volume of rote information over many years and passing an exhaustive exam; programming is just a combination of problem solving, being able to deal with abstract concepts and how computers work, and learning a relatively small amount of syntax and general concepts. You can easily get a grip on all that in a few months if it's your thing.


I disagree that it takes just a few months.

I'd say there are tons of hidden dependencies you have to learn in writing programs. Stuff that the tutorials and books often leave out. And that most developers take a few years to learn these dependencies, because there currently is no widely-known easy way to learn all this "tribal knowledge".

And when universities try to systematize ways to learn this tribal knowledge, they come up with a curriculum that takes most people 4 years to get through. (Yes there are many smart developers who could learn the curriculum faster.)


> learning a relatively small amount of syntax and general concepts

In what programming job?! Junior frontend dev churning out React components? Even there you're dealing with a dizzying array of HTML, CSS, and ever-changing JavaScript/Babel/Webpack/etc. insanity. In a few months you can barely produce some simple, low-quality code. It takes a lot longer for the concepts of good quality code to sink in.


junior PHP dev. basically on the job training.

it's always very costly, because it requires a very involved supervisor.


Law is similar to programming in that you can learn a lot of the principles in a few months, and you can also learn how to do a lot of the day-to-day work in a specialty area.

Learning large volumes of case law is analogous to learning the details of low level programming; both fields require years to master. But those details are not required for a lot of work in either field.


There was a time when it was possible to sit for the bar exam without having to pay rent to a law school, but naturally the law schools lobbied to change this.


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.


The best Pixar movie IMHO.


Which one is it?


Ratatouille


Are you sure? Seems to me that less skilled and less dynamic engineers are the first people to have their jobs automated away.


Why does everybody need to be “great”?


Not everyone really needs to be great. The person who learns coding to scratch an itch like creating a small website for their family business just needs to know how to put their ideas on a screen.

But these initiatives that try to promise high paying jobs to everyone who applies, it's just not going to work out for everyone who goes through the mill. And yeah, I think to have a long career as a software developer, you need a little more than "meets expectations." You need the drive to improve and grow after you leave the program and even once you land your job. So, I think when you get a newbie who has passion, is personable, and who submits themselves to iterative improvement, I really do think that makes a great developer.


Linguini, is that you?


> where did this idea that "anyone can learn to code" come from?

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.


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.


You're right.

The disconnect here, I suspect, is that bootcamps tend to promise that their grads will become the rockstars making hundreds of thousands of dollars a year in Silicon Valley. Not that they'll be able to set up WordPress or do reporting with SQL queries. Some make this very, very explicit - I've seen ads that literally read "GET A SIX FIGURE JOB".

I've worked as a freelancer. I've worked at big-name tech. I've worked on in-house development teams and outsourcing companies. In every one of those scenarios, I had to understand the fundamentals of how computers work and apply analytical abilities to be effective. So I could deliver features on time, on budget, and as specified. I'm not going to claim to be some super smart genius, but I often found myself dealing with shrapnel from colleagues who possessed wonderful opportunities to improve their grasp of fundamentals.

It's not that there aren't jobs for line cooks or people turning out cookie-cutter blog sites. But when you run a training program promising everyone who signs up that they'll be a chef de cuisine while knowing that you're just training line cooks...


At the same time, just because not everyone is chef de cuisine material, doesn't mean there's no point in their learning to cook.

The theme in this comment thread seems to be something like, "Only rockstars should learn to code, it's pointless for normal people".


> The theme in this comment thread seems to be something like, "Only rockstars should learn to code, it's pointless for normal people".

Perhaps it could be read slightly more charitably? Anyone can learn to code. At the same time, most people should not assume this will automatically lead them into a lucrative career in software engineering.

As you say, it's by no means pointless for normal people to learn. A great many people derive much value and satisfaction from homecooked meals and Excel macros. However, just as basic competency in a home kitchen does not automatically qualify one for a career as a chef, neither does basic competency with a programming language automatically qualify one for a career as a highly compensated software engineer.


I don't think the "chefs" at Mcdonalds, burger king, subway and the like need to know how to be a career chef. That's the point of these coding bootcamps; Management wants coding to be as cheap, easy, and replaceable as any other production line job.


Yeah. but you should be honest about your skills and not bullcrap your way into being the chef in charge of preparing the pufferfish main course. That is a very deadly disaster.

By all means learn to code and make programs for yourself. No issue in occasionally helping other projects or programs or doing some small scale work. But don't try to directly jump into big things before getting trained correctly.


>At the same time, just because not everyone is chef de cuisine material, doesn't mean there's no point in their learning to cook.

Cooking and coding aren't amalgamous. Cooking is necessary life skill, unless your only sources of sustenance are prepackaged foods or food from restaurants (which would include fast food).

The same cannot be said for coding. You needn't know or even understand technology or software to use a cell phone or browse the internet or what-have-you.

A more apt comparison would've probably been driving but even that is limited in scope, dependent on the public services available (which is, in and of itself, a byproduct of urban life versus rural life - at least in the states).

Also, I think Hanlon's Razor applies here.

The idea that everyone can make a stellar income from being a developer is oft touted as one of the points of these boot-camps. In other words, the argument is that those people can do it, it's just that they've never been afforded the opportunity.

Whilst this might be true for a small percentage of the group, as a whole, it isn't - implicitly - true that all of them will find jobs being programmers the day after they graduate these camps.

So, it isn't pointless for them to learn it, by far (and I'm only speaking for me, here), but it shouldn't be touted as the get-rich-quick-scheme that it's being pushed as because, then, yes, it's pointless for people to think it's possible to become a rockstar overnight; which I would like to point out is precisely what this business has capitalised on...

To continue with the analogy of music, even rockstars had to play gigs and sell records/tapes as up & comers (negating the pop genre) before they became big. People only hear the songs on the radio, they don't want to hear about the years it took before those stars were even given spins on the radio (see: Jewel living out of her van).


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.


So much this. There is a trend with these "techie" youtubers giving advice on which programming languages to learn first or which language is the easiest, etc... They are all missing the point of programming.


Which is the exact reason why when people ask for a language suggestion to start with/learn, I tell them all the same thing: "Oh sure, go through the CS50 manual on MIPS!" Personally I can't think of a period of study that affected my ability to problem-solve/reason about problems more than my time studying MIPS.


Are problem solving skills something you are born with? To me the mismatch is that a traditional CS student spends more time practicing problem solving via homework and exam/exam prep.


> Are problem solving skills something you are born with?

Yes, most definitely.


Would it be reasonable to assume people's innate problem solving skills, to the extent they are innate, combined with how their problem solving skills have been guided pedagogically, fit a bell curve?

Is it reasonable to assume some people will land on the far lefthand side of certain bell-curve-fitting measurables, or unmeasurables, that lends them to being not particularly well suited for certain kinds of activities?


I don't know whether it forms a particular curve or what kind. But the fact is only a small proportion of the population has the innate talent for software development.

As long as people can practically attract a mate while lacking this sort of abstract reasoning ability, the majority of the population won't have it.


That's an interesting perspective: there's no genetic selection pressure for software development.

I've read that people tend to be intimately attracted to people of roughly the same intelligence and socioeconomic background, for whatever definition of intelligence was used.

Having said that, some people do turn out to become engineers fabricators artists and build amazing things. You're probably right though, the majority of the population probably don't have it.


How many times you come across a unique problem? Even when I come across a solution on my own, many times I find on stackoverflow or GitHub better designed solutions which address the corner cases which I didn't even think of.


"I've no idea why coding should be anymore special than basic reading/writing skills."

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.


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".


And like math, most people are "bad" at coding. By bad I mostly mean they get frustrated and don't see the point or don't get the rewarding feelings of solving something. They could get better, even great at it but they need to work very hard for a long time.


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.

The faculty of language doesn't confirm thought.


> 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.

Those lose ends are called bugs and they often appear in the code. Coding a collaborative task in most companies, even if you've obvious holes in your plot, someone will see and fix them if they are not obvious to you.


> Coding requires a certain drive and curiosity

> 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.


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)


> where did this idea that "anyone can learn to code" come from?

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...)


I don't get it either. A lot of people also would find coding as very tedious and boring. You have to be cut out for it.


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 :)


This is largely true in any field.


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.


> but where did this idea that "anyone can learn to code" come from?

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.


[flagged]


I think I got a more wide interpretation to the GPs comment.

It's certainly true that many people simply don't have the gumption for insert-any-particular-activity-here. For whatever reason. People try all sorts of activities only to realise they'd prefer doing other things.

I'm fascinated by reading HN and the linked articles. I often read things I don't understand, but over time via resources available online, I've managed to maintain an evolving understanding of software development and the requisite technology.

To put all of this knowledge in to the actual practice of writing software, would not only take many many hours > months > years to achieve basic competency, I'm genuinely not interested in doing that as a job, and think if I did force myself to learn programming I'd never make a particularly good one.

Presumably there is room for mediocre developers, there definitely seems to be room for below-average-skilled people in every industry.

I do agree that the last line probably takes it a bit too far. A not insignificant portion of people who could become okay a software development could do with a lot more help than laptop + search engine.

Maybe a great schooling experience, accessible to all ages, to learn software development would go a long way. If it was a required subject at school I suspect there would be some people would do very poorly in that class, even if they had an amazing teacher.


I’m not shocked by HN’s attitude towards bootcamp grads, but I am very surprised that so many here are blaming the grads and not the bootcamps themselves.

Bootcamps use absolutely disgusting marketing techniques to appeal to people with little ability outside of being able to pay tuition. Their grads are closer to victims.


They absolutely are the victims but it's also a students responsibility to do due diligence on the bootcamps just like you would (should?) research an employer before signing the job offer.


Let me pull out a quote from the article.

“But Tori and her mother, Stephanie, 45, stayed. Every weekday morning, Tori would wake up early, her mother would feed the chickens and together they would head down the serpentine mountain road to Beckley. Nights and weekends they spent in the glow of their laptops — bought from a website on credit — learning the rudiments of Ruby, the programming language.”

To steal a shitty term from mainstream media, let’s unpack this. Tori [Frame] used to be an assistant manager in a Family Dollar location. She decided to take a bootcamp with her mom so she quit her job. And, the family bought laptops on credit from a website. I’m pretty sure we can all guess what kind of website that is.

With all due respect to the Frames, I don’t buy that either of them were qualified to assess whether the bootcamp was any good. Instead, they sound a lot like desperate people caught up by predatory marketing.


how would they do that?

if they are the kind of people described in the article, then they have no means with which to evaluate the school.

as a programmer, i can judge if a potential employer is doing proper software development, and if i am already in the field, i can judge whether the next class/school will teach me something that relates to what i am doing, but as a student completely new to the field i don't even know yet what and how i can best learn.

so i can't necessarily judge the quality of the school. i can look at statistics for past students, but those can be faked, so short of actually talking to a number of past students, evaluation of a school is hard.


Any ideas on how we (HN) could help these people that dealt with Mined Minds?

Perhaps some free remote tutoring?

Some interview coaching?

Resume review?

A whole lot of bagging on coding boot camps, the founders of Mined Minds & people looking for an easier life. I’m game to help myself!

If anyone knows those folks & they want some help - I’m happy to connect & spend time doing any of the above!


It might be worth considering that the underlying question - does this model even work at the scale it was sold as? - goes unanswered.

With that in mind, it sounds like what might be needed is the education they were looking for in the first place. Resume review, remote tutoring, and coaching are great ideas, born of a genuine blossoming of kindness and compassion. It may be possible that these well-meant ideas could be of perhaps slightly limited value for people who, based on the contents of the article, seem to have roughly as much marketable knowledge of Ruby as they did before they started the program.


The students in the article were taken advantage of. It sounds like nobody even got the chance to find out whether they would like or succeed at coding.

So many responses in this thread are written from a middle/upper-middle class context. Folks who had reasonably good schools, access to computers at a young age, a stable home environment in which to work with them, a culture (parents and/or peers) that supported them, an expectation and pathway to higher education at a young age. Maybe not all of those boxes are ticked for every successful software engineer but I bet a good number of them are.

The people in this article didn’t have as many of these factors. Maybe they had none of them. That doesn’t mean that they’re dumb, untrainable or not cut out to be coders. I think what it means is that an appropriate approach to training needs to be taken.

That approach is probably something akin to a gateway aptitude test to demonstrate ability and commitment followed by a significant period of apprenticeship combined with some formal classes at the community college level.

This is the way that people enter the skilled trades, and also seems similar to military occupational training. I don’t see why it couldn’t produce competent entry-level folks who are capable of working on 95% of business systems/websites/etc at the end of their training.


For anyone here, that went through one of these CodeSchools/Bootcamps/training.jargon[2] courses, I have a question:

At any point in these camps was there a section on interviewing and job seeking?

I'm asking as both a hiring manager who has seen a very fair share of...sorry, BAD resumes coming from people who finished a local code school, who struggled through the interview (only one made it to a technical assessment, he struggled on the syntax but seemed to grok the concepts. He ultimately did not get hired)and as a friend of someone who went through a code school and has absolutely zero interview skills,.

Their resume-upon reading-would have you wondering if they've applied for a "Junior React Developer" by mistake (restaurants, service industry jobs, stints at hotels, and at the very bottom: "React Bootcamp, Chicago - 2017-2018"). The generic cover letter this friend had me read jumped from topic to topic and was at least 5 paragraphs and two pages long, their only portfolio item was a single page "Hi I'm Bob" they made in the class.

It just makes me wonder what else these schools are doing to help their students actually succeed.


I went to a bootcamp. I won't say which one. It was in a major city, and it was a residential program (anybody who was in the bootcamp but not local lived together in apartments included in the cost of the program). The program was structured beginning with a quick review of language basics (you were expected to know JavaScript, HTML, and CSS to a reasonable degree before the course began) and layouts, then moved on to Angular (this was a few years ago during MEAN stack hyper) and its associated patterns and best practices, then Node.js APIs and Mongo (the program has since shifted to PostgreSQL instead). Along the way, students were given assignments to augment these areas, such as reimplementing popular javascript libraries (like Underscore) against a test suite. The mid-point of the course culminated with presenting a solo project to the class, which was a good indicator of who was and who wasn't excelling. By this point, several students had dropped out and returned home or just stopped attending. After this, students were funneled into groups, with the higher performing students clustering together. The groups were given suggestions for projects to work on, typical web applications built on a combination of your own backend and third-party APIs. My group's project, for example, was a hybrid mobile budgeting application using Plaid and APN/GCM for push notifications. We had an exploratory phase where we tested the limits of the Plaid API (response times, features, webhooks, etc.) and determined user stories and requirements, then had stand-up meetings every morning and worked off of wireframes and ERD diagrams that we had designed. We were required to use git versioning so that we would inevitably experience merge conflicts and integration issues. There was about a week towards the end of the program that was focused on practice interviews (though these were admittedly somewhat half-assed) and resumes, in addition to the daily toy problems. At the end of the program, recruiters and local businesses were invited to see group and individual projects at a showcase day and this led to interviews for most of the students.

A "Hi I'm Bob" page seems like it would not be the product of an actual full-time bootcamp, but maybe a short part-time bootcamp? Even the relatively lower achievers were capable of hooking up some sort of front end for a public API by the mid-point of the course, putting it on github and getting it up on Heroku.

That said, many of the people I attended with had higher education or experience. My group was a former QA engineer, a bioengineering bachelor, an MBA, another biologist, and myself (Masters in Information Systems). By the end, we were relying more on the members of our group for disbursing useful information than on the instructional infrastructure of the bootcamp. I think subsequent jobs came mostly through networking between the groups of whoever was left by the end rather than the bootcamp itself.


>you were expected to know JavaScript, HTML, and CSS to a reasonable degree before the course began

As a clarification, it seems you did not go to a "Coding" bootcamp, but some sort of engineering one. They seem to be the exception, rather than the rule


It was actually billed as a "Web Development" bootcamp.


The “anyone can code” and “just learn to code” phenomena needs to die in a fire. This reminds me of many other scams in our education system, it’s disgusting how much money is being leeched out of people on private “schools”.

This “anyone can code” idea is actually an easy thing to test if we were serious and honest about it. But we are not. And I believe boot camps give a false sense that more people are successful at it than aren’t. It really seems boot camps are in reality is a very expensive filtering system to separate those with some ability to teach themselves coding from those who can’t.


As a counter-point, I would like to point out India's IT industry.

When the IT outsourcing industry was booming and there was a serious programmer shortage, outsourcing firms such as Infosys, Cognizant, Tata would hire college graduates en-masse regardless of major (like, entire batch of 20XX would get a job offer). They would then spend 6 months actually training them and weeding out poor performers. The ones who get through would be placed on actual projects for their clients. I do not know if this still happens today due to the sheer number IT majors on offer in India.

Now you can rightly argue with regards to the overall quality of products they created and the culture they proliferated but for their clients it appeared to suffice to achieve their business objectives. Sure most of them won't be FAANG grade but might be totally adequate for making some CRUD app or maintaining some system.

IMO, I don't think one needs a four year degree to code, two years at the max would suffice (obviously not for cutting edge work) . In fact, I would go as far to say beginners can be trained on a good declarative low-code (not low code) guardrails-type DSL incorporating best practices to create simple CRUD or reporting web apps. There have been many attempts but I don't know if this is solved yet.


That's not a counterpoint. That essentially corroborates their statement. As you say, they weeded out the poor performers, and still the worst coders I've ever met have all been from Indian outsourcing agencies. Granted, I've met great coders from the same agencies, too, but the fact remains that even when you weed out the worst offenders, you still get people who should never be anywhere near production code.


It doesn’t sound strictly like a counter-point? More like we agree. As you say they weeded out those who had the capability from those who didn’t. Which in my experience is what bootcamps do, very expensively.

Watching someone go through one of the more “legit” bootcamps: they first filter for candidates that can largely grok it and self teach by putting through a few hours of basic tutorial and quizzes. But a fair amount of ground is covered quickly in this which when you look at the people going through it (in chat rooms etc) means it’s very much a lot of googling and self teaching to understand what they’re saying in the videos. So after this point you selected people who can get basic programming and teach themselves. And the rest don’t go into the course and so don’t pollute their success rate statistics.


That’s not really a counterpoint. As I understand it, the Infosys folks in India are a much more select portion of the population than “displaced former miners in Appalachia.” Well under 10% of Indians even have a college degree, and 80% of those are unemployed at graduation. The folks getting job offers from Infosys, etc., are in a fairly elite set to begin with.


Graduates from a decent college is already a huge filter. “Weeding out poor performers” is another one.

So no, this isn’t evidence that “anyone can code”. It’s evidence that “most smart people can code”, a completely different statement.


> They would then spend 6 months actually training them and weeding out poor performers.

The critical aspect there is "weeding out the poor performers". Many "coding boot-camps" seem to be presented with an almost pyramid scheme level /sell/ of "come here equals 100% guaranteed success".


Yeah, this is not a bad thing though.

Taking good students, with good educations and putting them through 6 months applied training ... and getting rid of the fluff ...

My gosh man this would result in better developers than we get out of 'good schools' today! (As I think there's a gap between academia and the applied world of software).


> It really seems boot camps are in reality is a very expensive filtering system to separate those with some ability to teach themselves coding from those who can’t.

One could say the same about college in general.


This article seems (at best) poorly researched and one-sided - and it does not chime even slightly with my experience of this group.

I have personally met several people who have been through Mined Minds training with no prior coding experience - and those people were the first who convinced me that development “boot camps” were not a completely lost cause.


Ms. Laucher on Twitter responding to a critique from the article:

"Retraining won't fix it. Give them UBI. Free training programs should only have viable candidates when it isnt for quick $"

Is the last sentence a little ironic given the article?

Source (perhaps will be deleted): https://twitter.com/pandamonial/status/1127627288676270081

Edit: To be fair, in other comments she claims many of the statements in the article are false and refused to comment for the article based on legal advice. I assume there are two sides to this story and the NY Times article does seem pretty one sided.


Not terribly surprising that 16 weeks of training doesn't make you ready for a coding job. The only way I see that working is a pretty aggressive pre-test that washes out most of the candidates. You'd need some related experience and programming aptitude for 16 weeks to make you employable.


I totally agree about the 16 weeks = 4 months being insufficient:

I think we can all agree that most of the coal miners went to school in a different era, and so probably never had much of a high school education, and even if they did we can all agree that half a career in the coal mines (combined with the prospect of working there until retirement) would pretty much obliterate the motivation to keep up your high school knowledge.

So essentially (without pointing fingers) if the goal is to end up with a programming job, we can say that at entering this course they are pretty much at the level of midway highschool.

The problem is not re-educating these people to become programmers (which I believe could work). The problem is the claim it can be done in 4 months without proof or trials. It's unethical to trial and thus social experiment this on people who may be giving up their current status and jobs believing it is already proven.

If the technology was available today to achieve such a feat in 4 months, why are people going to colleges and universities? Why isn't this already being done in high schools, so that they can always become a programmer as a backup job? Because the feat has not been achieved yet.

4 months seems very short, but I do believe such a feat is certainly possible in a few years. Perhaps even within a year if it's really intensive and education technology would become so advanced that software recognizes your mistakes in thinking, can answer why questions, etc...

But that is not today.

This was just a fig leaf proposal to abdicate social responsibility...


I think people need to realize that these boot camps are a start, not an end. They give you the minimal viable education to do the job. After that, you need to keep educating yourself.


I somewhat agree for legitimate boot camps, but breaking promises (of payed learning, of job guarantees, ...) while syphoning off subsidies doesn't sound very legitimate.

By the description of the course (google everything yourself), it sounds like it would have been cheaper to study at home...


> They give you the minimal viable education to do the job

I think they given you the minimum viable education to be employed as a junior dev at some companies - which is a far cry from how bootcamps advertise themselves.


That’s disappointing. I remember I was very supportive of coding as trade education when I first heard of it but it hasn’t really panned out. I can’t quite decide if it’s because we’re bad at teaching (the example in the article seems like an execution failure) or if it’s fundamentally infeasible (programming is hard and unintuitive for most people).


I think there's a few things going on. I think it's reasonable to assume that not all people who want to be able to program at a sufficient level to derive a living salary on will be able to. I don't know what the percentage is, but something exists, and we need to be aware of that. (I personally assume that 75% of people with a GED or equivalent can be eventually coached into some sort of useful position. I have no evidence for this, but that's just how I view the world. My office-mates like to call me an optimist).

The other is that ya, coaching and training is hard. There's a post somewhere else in thread about some guy hating his job cause he needs to coach up new bootcamp hires for like a year or something to get fully up to speed.

Let's not lie to ourselves about how long "eventually" (in eventually get good) is. I just took a quick look at my province's college of trades, and they quote 6000 hours (5280 hours on work and 720 hours in school) of apprenticeship/training before being considered "competent" at welding. If you go look at a bunch of the more technical "blue collar" jobs or trades (like mechanical draftsman, HVAC technician, etc), you all see numbers around that mark. Now, there's surely some fudgery going on. Very likely by the last year of their apprenticeships, you'll have many apprentices that are infact ready to just be done and are just logging hours for the book... but still, I think its a relevant guide. Even at half the length, you're talking roughly a year to a year and a half (which matches up well with other poster's experience coincidentally...) to train up.

Seems like the bootcamps might be a good subsitute for the "in class" portion of these apprenticeship programs, but nothing more.


16 weeks is just unrealistic though. Credible auto mechanic trade schools are a year or so. And once you graduate, there's plenty of low end work for you to earn your keep while you continue to skill up.


This is correct. Actual trade approach to coding basically doesn't exist because people are sold on learning to code in a couple of months versus year or two, which I think would easily land people some jobs in web or junior devs.


It’s weird. No one says anyone can be a basketball pro, here’s a play basketball boot camp to get you into the NBA.

But clearly there is demand for a lot more programmers than NBA players. The kind of people who make good programmers are competing with people going into law and finance. More programmers means less lawyers and less business people. Which I guess is fine, but it is weird to just assume anyone can do it.


The NBA is a bad analogy. That would be closer to saying that anyone can get a job at Google. Most programming jobs are not Google, and more akin to rec league basketball. With desire and practice many people can be effective rec league players.


Google is not analogous to the NBA.

It's the IBM of the 2010's.


Bootcamps aren't really a full "trade education", are they? You'd be looking more at an apprenticeship model, which is quite rare for coding (I know some examples here in Germany), or something else practical to follow up on the basics from the bootcamp.


Do these bootcamps ever give programming aptitude tests to people before accepting them into programs? Or is it all about money grab from grants for “learn to code” (which it sounds like it is based on this article)


A lot of them do. This one seems like an outright scam, but for example well known boot camps like Lamba School put you through some tutorials and tests before hand. When you look at these tutorials it really seems to be a filter for “can you teach yourself coding”. IMO making the bootcamps fairly useless given the huge amount of online courseware and free tutorials available now.


I guess if lamda school has a consistent track record in the industry & companies are hiring from them, i could see that being of value to someone switching careers. (Employers seem to be inept in interviewing for programming positions - and otherwise - On their own)


Yes, I tell people thinking about a boot camp to first try really damn hard to teach themselves first, then if they still want to, to just use something like Lambda School as interview preparation and to “credential” yourself.


It’s no different than hiring a personal trainer. Sure everyone can go to the gym but having a set schedule, paying money, and being accountable to someone is a life hack that uses human social nature to one’s advantage.


It's a little different because you know from the start that hiring a personal trainer is not going to magically make you prosperous.

There is a widespread idea that working in tech is easy and will make you rich, and all you have to do is get your toe in the door, and many "entrepreneurs" use that misunderstanding to set up programs that waste students time and extract money from donors and government programs that are unable to meaningfully evaluate what they're donating to.


I went from a different technical career through a coding camp. I loved the experience.

Having said that I'd say at least half my class was unemployable by the end. The camp did not filter candidates nearly enough and really hurt the class and I fear their own financal well being.

I think coding camps could be done right, I just don't know if anyone is really doing it right...


The problem is there's no incentive to fail out a paying customer. And this isn't isolated to bootcamps -- I've noticed many universities babying CS majors by dumbing down CS101 and offering enough soft-skill electives that you can basically get a degree without knowing how to code.


Agreed, the incentives are all wrong for camps.

A classmate said "it's a boot camp... people should be kicked out / quit".

But presumably that might mean a partial refund and the camps do not want to do that.... so they sit in class weeks behind not doing well and dragging the whole class down with them.

At least in universities you MIGHT fail a class. Not so much in coding camps. But yeah I've ran into and worked with some CS folks I wondered about... like dude you should know a lot more than me... you're having trouble logically doing anything here...


quelle surprise!

Most of these programs are a joke. I remember when Tech Square Labs in Atlanta did a program to "help" inner city black kids. I went down to talk to them and get more information. For one year of this program they were charging the sponsors $57K. That is more than the tuition at many private schools. But it gets better. They had The Iron Yard (which is now closed) doing the course material so I had a chat with the people teaching the courses etc.. It was very apparent they had no idea what they were doing. The supposedly "disadvantaged" founders of this did not even understand the kinds of things they kids in the program actually were going through, such as having a lack of financial literacy or even a bank account at times. I'm white but live in a disadvantaged neighborhood and knew this because I don't live in the rich bubble that these "disadvantaged" founders did.

When the political climate was right they were bilking the tax payers for this program with funding from the city of Atlanta, the feds etc., but after 2016 the funding went away, as did the founders profits. There have been many programs like this one in Atlanta and the one for the people in Appalachia.

I'm all for bringing people who do have the aptitude to the industry. That said, not everybody has the aptitude to be a developer, in the same way that not everybody has the aptitude to be a prize winning author, language guru, doctor, top athlete etc.. We all have our strengths and weaknesses. The coding bootcamp industrial complex appears to be a movement of grifters from a non tech background trying to make a quick buck and flood the market with cheap labor. In the end most of the students were poorer than they would have been in an accredited program, without training that would actually get them a job and as an industry we've had to deal with the fallout from it.

I'm saying all of this as someone who actively supports one of these, but the one I support is run by computer science majors, who grew up poor, have made enormous personal sacrifices to run the program and targets people who truly have no option to go to the university and do it for far less than what the grifter orgs were doing it for.

Truth be told, "learn to code" is not the way to economic prosperity. Paying livable wages for things is, irregardless of the country etc..


Looks like the allegations of fraud were in the air in 2017 before WV started.

https://pittsburgh.cbslocal.com/2017/12/21/miners-sue-mined-...


The issues with these bootcamps are

1) Developers tend to sneer at this model, because they learnt themselves online (and dont think sitting in an intensive bootcamp would help) or went to a university for multiple years. This means these bootcamps are often run by people on the fringes of tech, recruiters or in this case "consultants"

2) There is no reason for a developer to teach these bootcamps, they pay less than an equivalent job and most firms would look at experience teaching at one of these bootcamps as a red flag (because most of the teachers are students who couldn't get jobs). University is different here, as your research can be viewed valuably by tech companies, even if while at the university you earn less money, and there are other quality of life benefits

3) Once they get in most students get the impression (even subconsciously) that they've been scammed. Thats mostly for above reasons (founders and teachers who don't have tech experience), combined with a hard sell getting them into it. This gives graduates intense imposter syndrome. Even worse they follow the lead of people who run the boot camp and "fake it till they make it", mainly because these bootcamps offer them TA jobs to juice their stats and incentivizing them to say nice things about the bootcamp.

The combination of these factors means you get graduates who have been taught by people without experience, with a bunch of baggage that makes them worse developers, afraid to ask questions for fear of being seen as an imposter, exaggerating any real projects/experience they've worked on, resistant to learning anything new because they've only been taught specific frameworks with no theory.


> When word spread of a trip by the Mined Minds leadership to a tech conference in Lithuania in November, she saw an opportunity.

I am partly of Lithuanian descent. With respect, I don't understand why someone in the US would think to attend a tech conference in Lithuania, when there is a much larger tech industry closer to home.


Have you looked at the line ups of Build Stuff in Vilnius? It has many of the same speakers as QCon, historically at a fraction of the price, and attendees from across Western Europe and the US.

I have priced it out several years running, and with flights from major US cities or (especially) Europe, a hotel and expenses it is substantially cheaper than attending a US conference in the same tier.

Disclaimer: I have worked on the CFP for that conference several times over there last few years, but have no financial interest in the conference.


Also since this came up out-of-band (ugh) and apparently is not the norm for US conferences: Build Stuff pays full travel expenses for all speakers, whether they come from Kaunas or San Francisco.


Interesting, thanks.

I could certainly see it as less of a stretch for people elsewhere in Europe especially.


Apparently the co-founders met while in Lithuania: https://money.cnn.com/2016/04/22/news/economy/coal-workers-c.... Given the overall tone of this article I’m guessing it was a vacation dressed up as a business trip.


I understand that building a startup is hard. I've often heard founders being advised to "overpromise" and operate in a "reality distortion field" in order to get the ball rolling. That all works out great when things eventually go well. But sometimes, there's a lot more at stake than simply investor money.

This article does a great job of showing the human carnage that happens when founders overpromise jobs and riches that fail to materialize. Please keep that in mind the next time you are pitching your startup's mission to change the world.


In the mid 20th century coding was seen as a trade school skill. Perhaps boot camps are another version of this.

When I attended MIT in the 1970s there was no pure computer science major even though competitor schools had such. The faculty said it was a skill most of the students picked up in high school. In 1980 MIT made computer science a co-major with electrical engineering. And finally last year an independent school.


My highest level of education is trade school (electronics). Trade school doesn't take 4 months, it's usually 2-3 years with multiple internships and apprenticeships.


Don't they have community colleges with programming courses in Appalachia? I remember years ago I took a single 3-month long summer class at a local community college that taught C, basic data structures, and basic algorithms. Based on what I learned in that class I was able to actually pass tech white boarding interviews and get a summer internship at a local tech company.


They just hint at it, but the solution to the problem is already there for such people. Keep your job, go to a community college, and if you have the aptitude and build up the credits, transfer to WVU (or whatever) for the completion. Even failing that last part, an associates degree is still better than a phony cert.


The HTML on minedminds.org is pretty sad for being a coding bootcamp site. Ignoring the basic badness of it looking like the output of Google+Stack Exchange copy-paste, it's not even valid (multiple head tags, div sitting outside of body/html tags, etc).


Programming is not for everyone. Teaching programming is no easy task either. In the end, one of them, even if only one, got a real software job. This is enough to say this program is not a failure.


Hey, it served it's purpose -- as a shiny prop for whatever political candidate championed it to come and spout some pretty words and get a nice photo op.


I still see myself as a junior dev since I am still self-teaching a lot of stuff. While running my own business, working on projects with my customer.

I’m not a good dev. But I am good at working with others and getting stuff done. So, there’s that going for me I guess.

I probably wouldn’t be employable if I had to go through coding tests. But I can fix problems since I study and research a lot.


> She doesn’t know the motives of the people at Mined Minds, she said, whether they had bad intentions or were just “incredibly sloppy” with good ones.

Is there a term for this kind of hustle? Raising money from unsavvy investors for a technically-complicated effort, then "failing" in a way that isn't obviously fraudulent.


A "start-up". :-)


What we need is a relatively standardized degree that is like a Bachelor's minus the Associates. That is, we don't need the two years of useless filler classes. Taking two years (4% of career time, more of lifetime earnings) for that gunk is a huge opportunity cost.

I'm still waiting for my employer to ask me to do a Marxist literary criticism of a poem. When that day comes, I'm prepared!

These coding boot camps could have been what we need, but they are far too short and not at all standardized. I doubt the students ever write a boot loader, compiler, or kernel. I doubt the students do much analysis of algorithms or even know what a Turing machine is.

The same applies to non-coding careers that involve college degrees. We don't want surgeons with only a 14-week surgery boot camp, but cutting two years off of the lengthy education would increase the supply of doctors and reduce the cost (including opportunity cost) of their education. It's better than adding two years to every career.


I find it very important to analyze cases like these when CEOs sound off about how you shouldn't need a degree to work in the industry. These code camps have no credibility.


But... You really don't need a degree for most programming work I've seen at my day job?

It's basically just creating various APIs in order to wrap them into some service you can sell. You can do most of that with maybe 1 year of coding at home. Though code review should be done at least in the beginning to make sure the produced code is maintainable


There's some truth to that. There definitely is plenty drudge work that can be done by supervised noivices.

But I think we tend to overestimate how much of our jobs that work entails, and what exactly can be done independently.

A master carpenter can have an apprentice do most of the physical work, but the apprentice is still very much working under the master and relying on them to guide their work.

Good bootcamps can prepare someone to be an apprentice, but we shouldn't pretend 12 weeks is enough to produce a useful employee. And it's not a wholesale replacement for a degree. Good graduates are going to have at least as much practical experience as good bootcamp graduates from internships, hackathons, personal projects, group projects etc... Plus they are going to have significantly more theoretical knowledge.

Even more "professional" jobs like lawyer and capital E Engineer can be learned throughout apprenticeship, so there is value there. But we should stop acting like our profession is just hooking up wires. Other professions aren't nearly as self effacing as we are, it's like we've all internalized the disdain that upper management feels for us because of the power that we hold.


well, our chief architect at my day job (with a degree) "designed" a system with several points of failure, each of which would kill the whole platform if even one of them failed.

honestly, a degree really doesn't show competence -- nor does experience from what i've seen. Its clearly hard to create a fault tolerant system, but its just as hard to quantify what makes people able to do just that


Yes, incompetent credentialed, experienced Engineers, surgeons, plumbers, programmers etc... exist.

>honestly, a degree really doesn't show competence -- nor does experience from what i've seen. Its clearly hard to create a fault tolerant system, but its just as hard to quantify what makes people able to do just that

Of course, but in experience hiring programmers, computer science grads from reputable programs (either programs I'm aware of, or programs where I thought their curriculum looked decent) are much more likely to be able to create fault tolerant systems than non graduates--assuming approximately equal work experience and age. This levels out at some point, e.g., I don't think the degree is the primary differentiator between 2 talented programmers with 10 years experience.

And there is definitely a very strong correlation between years of experience and the ability to create fault tolerant systems.


Would it have made a difference if your architect had to take personal, professional, and financial liability for the system?


Sometimes

    x = x + 1;
is meaningless drudge work and sometimes it's going to cost tens of millions of dollars, a company's reputation, the private data of thousands of innocent bystanders, and sometimes lives.

Unfortunately, it's also not immediately obvious which case is which.


I’ve seen many super-talented self-taught programmers who never received any formal education, and I’ve seen college graduates who can’t get FizzBuzz working. Of course the code camps are scams, but a degree isn’t much better for many people who have very little internal motivation to learn.


People regularly say this. But there is no way you made it through my program without literally paying someone else to do your entire degree without being able to code FizzBuzz. And I went to a no-name state school.

I don't doubt that you've seen it, but my guess as that it either was someone from a very poor program, their degree was long time ago and they haven't been doing actual programming since then, or they just get nervous in interviews.

Degrees aren't equal and you should definitely at least look through the curriculum if you aren't familiar with the program when evaluating a candidate.

I've noticed several times that a candidate will have a degree from a department of Computer Science and Computer Information Systems. And everyone will assume their degree is CS, but if you look through their transcript it's clear they concentrated in IT/sysadmin stuff.

Also, in general, their is a huge difference between someone who took the easiest classes and barely passed and someone who has a 3.0+ with challenging coursework. Look at transcripts.


I know a few current students who are about to graduate from a top 25 CS school, who struggle writing simple standalone methods (of analogous complexity to FizzBuzz). I personally just think these students "just don't get it"(https://www.joelonsoftware.com/2005/12/29/the-perils-of-java...). The ones I am talking about in particular are barely squeaking by, but still passing and graduating (without job offers) along classmates who are receiving $150k+ offers from FAANG

If you get enough easy teachers that give partial credit, or that have enough memorization based questions on their tests, and do well in the courses that don't really require deep understanding, it appears that you CAN squeak through and get a degree without really understanding programming.

Albeit, I know plenty of people who "just didn't get it" who did fail out of the CS program at this university, but some of these people do squeeze through.

And then because the 10-20% of graduates from top 25 CS schools who can't really program send in 90%+ of the job applications, you'll get a lot of interviewers saying "So many people with seemingly-good degrees can't even code".


I can see that explanation. Particularly with respect to those candidate's overrepresentation. I think that looking through their transcripts would generally reveal those people pretty easily though.

Also at some top tier schools it's actually relatively harder to completely flunk out, so that might have something to do with it.


Ok. Yes, you’re right. There are proficient programmers who never went to college and complete idiots who did go. However. Most decent programmers do have a four-year degree, mostly in computer science (or something similar like math or physics) and most people who couldn’t hack it in college also can’t hack it solving coding problems 8-10 hours a day, all day, for decades. Stop acting like college degree _means_ moron.


It's like you've internalized bad logic or something. Just because X is a subset of Y, where X are bad programmers, and Y are people with degrees, does not come close to implying that X = Y.


That certainly happens, but is it the norm?


No, but it happens often enough that I think that requiring a degree doesn’t significantly improve the quality of the average candidate you receive.


Speaking as a programmer without a degree .. yes.

never had access, so taught self from references. I'm working as a firmware developer now and pretty much do "full stack" so I think it worked out in the end. I have blind spots I know, but working on them as I can.


Coding jobs in Appalachia...wow I've heard it all.

The people living in these places are still semi-barbaric, they need a long civilizing process before they can cut it in the modern world, 2 months long boot-camps is definitely not going to do this. It's a process that should start from childbirth.





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

Search: