News for hackers. Stuff that matters.
Re:They Were Promised Coding Jobs in Appalachia by hatchnyc on Sunday May 12, 2019 @10:57AM (#19892271)
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.
Re:They Were Promised Coding Jobs in Appalachia by mothsonasloth on Sunday May 12, 2019 @11:05AM (#19892320)
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.

Re:They Were Promised Coding Jobs in Appalachia by jen20 on Sunday May 12, 2019 @12:14PM (#19892742)
> 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.

Re:They Were Promised Coding Jobs in Appalachia by Kalium on Sunday May 12, 2019 @05:18PM (#19894642)
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.

Re:They Were Promised Coding Jobs in Appalachia by lowercased on Monday May 13, 2019 @07:30AM (#19898156)
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!)

Re:They Were Promised Coding Jobs in Appalachia by MattyRad on Sunday May 12, 2019 @03:18PM (#19893857)
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.
Re:They Were Promised Coding Jobs in Appalachia by phillipcarter on Sunday May 12, 2019 @07:42PM (#19895349)
> 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.

Re:They Were Promised Coding Jobs in Appalachia by hermitdev on Sunday May 12, 2019 @08:19PM (#19895510)
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.

Re:They Were Promised Coding Jobs in Appalachia by throw-away-2346 on Monday May 13, 2019 @09:20AM (#19898952)
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...

Re:They Were Promised Coding Jobs in Appalachia by wyclif on Sunday May 12, 2019 @09:36PM (#19895825)
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.
Re:They Were Promised Coding Jobs in Appalachia by deanCommie on Sunday May 12, 2019 @08:21PM (#19895517)
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.

Re:They Were Promised Coding Jobs in Appalachia by paultopia on Sunday May 12, 2019 @09:11PM (#19895726)
Hello culture of age discrimination in tech. Didn't expect to see you here.
Re:They Were Promised Coding Jobs in Appalachia by krageon on Monday May 13, 2019 @08:28AM (#19898571)
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.
Re:They Were Promised Coding Jobs in Appalachia by megaremote on Sunday May 12, 2019 @07:04PM (#19895160)
Why? If someone can just do FE development, that is not a problem, and they can get a job as a junior.
Re:They Were Promised Coding Jobs in Appalachia by swoongoonz on Monday May 13, 2019 @10:30AM (#19899576)
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.
Re:They Were Promised Coding Jobs in Appalachia by clarry on Sunday May 12, 2019 @11:23AM (#19892449)
> 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.

Re:They Were Promised Coding Jobs in Appalachia by TeMPOraL on Sunday May 12, 2019 @04:31PM (#19894369)
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.

Re:They Were Promised Coding Jobs in Appalachia by Kalium on Sunday May 12, 2019 @05:44PM (#19894770)
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.

Re:They Were Promised Coding Jobs in Appalachia by TeMPOraL on Sunday May 12, 2019 @06:35PM (#19895033)
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.

Re:They Were Promised Coding Jobs in Appalachia by jfarmer on Sunday May 12, 2019 @07:59PM (#19895425)
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!

Re:They Were Promised Coding Jobs in Appalachia by TeMPOraL on Monday May 13, 2019 @05:23AM (#19897413)
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".

Re:They Were Promised Coding Jobs in Appalachia by jfarmer on Monday May 13, 2019 @11:39AM (#19900361)
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!"

Re:They Were Promised Coding Jobs in Appalachia by skybrian on Monday May 13, 2019 @12:04AM (#19896348)
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.

Re:They Were Promised Coding Jobs in Appalachia by Kalium on Monday May 13, 2019 @03:02AM (#19896893)
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.

Re:They Were Promised Coding Jobs in Appalachia by TeMPOraL on Monday May 13, 2019 @05:32AM (#19897479)
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/

Re:They Were Promised Coding Jobs in Appalachia by megaremote on Sunday May 12, 2019 @07:05PM (#19895166)
> 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.

Re:They Were Promised Coding Jobs in Appalachia by TeMPOraL on Monday May 13, 2019 @05:33AM (#19897490)
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.
Re:They Were Promised Coding Jobs in Appalachia by duxup on Sunday May 12, 2019 @03:54PM (#19894124)
> 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.

Re:They Were Promised Coding Jobs in Appalachia by ryanmarsh on Sunday May 12, 2019 @08:09PM (#19895459)
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.

Re:They Were Promised Coding Jobs in Appalachia by boilerupnc on Monday May 13, 2019 @12:59AM (#19896527)
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...