Bootcamps are a red flag for you? What? Do you have any rationale for that? Makes zero sense to me. If someone has done a bootcamp, that's a big plus. Online college is neutral.
The rest I agree with.
If this person says that they've been coding for years, then that puts them at a way higher level than a recent bootcamp grad.
Instead of doing a bootcamp, spend a week or two building simple apps in whatever category you want to work in. If you want to be a web dev, a little node.js backend with a react frontend perhaps, or similar with Django or Rails.
Plonk it on your github, make sure you put on your resume that you're a junior that's been coding for years but never put anything in production, and you'll definitely be ahead of the bootcamp grads in my book.
Not everyone goes there to get technical skills, there are people going there for soft skills (practicing working on assignments, especially group assignments, etc.) and networking (at least some bootcamps advertise they have some relationship with recruiting agencies).
If an "amateur" (or whatever) programmer can contribute to OSS... That means so much! You list the implications very well, so thank you.
I try to hire based on ability, not qualifications (welcome to Arbitrary Definitions 101?).
Boils down to: if you work at a gas station, and get a PR merged into the Linux Kernel... Yeahhhh... We can talk about that senior dev position ;) Is five weeks vacation okay with you?
Particularly those in late twenties/early thirties who were coming from an entirely different field - we had tons of applications from former architects and biologists for some reason - tend to outshine younger software engineers fresh out of school in just a few months.
I could understand this opinion to be controversial, but considering bootcamps a red flag vs just a hobbyist programmer with no education? Sounds ridiculous to me.
We have only one boot camp graduate, who came from a completely different career. He's been productive from day 1, has carefully listened to all advice he's got since and is always working on figuring out better ways to do things, and he's just very good after two years.
- Information security
- Anything lower level than Python/Ruby
- Unix (streams, files, processes and threads, syscalls, etc)
- Debugging. (Except incedentally)
Not knowing these things can be fine in a feature factory workplace. But having an engineer on your team who has no idea about infosec is an active danger. “I make a sql query from this string builder” / “we save the passwords in this database table” / “the AWS credential is here in the javascript code in the repository” / etc.
Stronger point even: it is beneficial to have a person capable of messing up that way so you can check that your quality control is working.
Most companies simply trust their employees most of the time. Hardening a process against programmers you don't trust has a massive cost.
In the past three jobs I have had, over 13 years, all changes were code reviewed before merge. I don't know the industry's general stance on this, but I wanted to describe my experience here which is very different from yours.
That's true, but issues getting into production isn't the things that might be problem. Junior devs requiring hours of review time for relatively simple tasks can also cause a lot of problems for an organisation, bringing productivity to a halt in extreme cases.
The things I learned in college which were actually applicable to a software engineering job was:
* A basic ability to program
* Maybe some low level concepts about operating systems. But this is a big maybe, because my operating systems class was pretty early on and was long forgotten 3 years later when I went to apply for a real job.
I learned nothing about version control, the typical client-server model, html/css/javascript, REST, servers, databases, doing a pull request, teamwork, etc. I think those classes may have been available, but I never took them and graduated just fine.
I am not convinced this 4 year CS degree was any more useful than a bootcamp, which teaches you the actual useful things you need to be a junior dev.
I think the difference between CS and a bootcamp is more of intent and followthrough. People often pick bootcamps because of promises of easy money, versus someone who does a 4 year CS degree is possibly more committed and won't give up as easily. But in terms of their actual preparation, I doubt one is better than the other.
Nothing prevents bootcamps from having those classes though.
> can be fine in a feature factory workplace. But having an engineer on your team who has no idea about infosec is an active danger. “I make a sql query from this string builder” / “we save the passwords in this database table” / “the AWS credential is here in the javascript code in the repository” / etc.
Time.
They don't have time for things like that. If they took the time to teach low level programming, data structures and algorithms, security, operating systems, networking and so on, they'd need to teach students for 3 years instead of 3 months. And then you may as well get a degree.
The sales pitch for bootcamps is that they can teach you enough to get started in a career in CS in 12 weeks. Then you can get a job and learn the rest while working. This breaks down when you don't learn things that you'll need. And it breaks down around areas you'll probably never pick up on the job, like (for me) learning how page fault handlers work in the kernel by implementing my own. Or how you can use gdb to reverse engineer C programs.
There's only so much you can learn in 12 weeks. And there's only so much your job will take the time to teach you.
Actually 10 years later I’m a senior engineer at a FAANG (mobile specialty) and I still don’t know most of the things you listed. Except for debugging - I got that down!
Right, but a self-taught developer might well have years of non-commercial experience and be good in two months or even from the get-go.
1) The inability to consider diverse perspectives
2) The inability to differentiate writing instructions from building something larger
For example many developers cannot imagine the career requirements associated with other careers. That could be due to lack of experience diversity, poor empathy, or weak imagination.
Likewise, many developers cannot write original software. The very idea is frequently both horrifying and disgusting. The alternative is just a little help from a tool or framework, because they write instructions not applications. The interesting part of that is how people respond when confronted about it.
Their deliverables require supervision because they don't have the technical depth to identify common non-technical requirements.
Occasionally, troubleshooting the technologies you use is necessary, but this scenario is also beyond bootcamp training.
But if you work in a startup that's making a functional prototype for some web application, where things don't really have to truly work or scale, you can waive the supervision and they may even be "the best performant".
I've worked with bootcamp graduates and I've seen scenarios where they are unqualified to contribute.
But to do them some justice, some universities are worse than bootcamps. And, these days, there's an abundance of material you can learn from... but it takes time, initiative and sometimes, mentoring to know what to prioritize.
It ended up working pretty much exactly as planned. Made some lifelong friends, one of whom seems to people in every city in the country. She got me an interview and I'm now making more than many people I know who went through a full 4-year CS degree at my very expensive university
Coding challenges are very important, leetcode questions come up a lot in interviewing loops at most big companies and I think their use is expanding. As much as I hate LC, it’s still a good skill to have if wanting to become a software engineer.
I’ve never once looked at a candidates GitHub. There is no proof they wrote anything there. Plus I’ve usually worked in domains that always required tools and knowledge you most likely wouldn’t have anyways, no point in testing, so I hire based on if your a good person with the propensity to learn, grow, and do good things.
When people put their GH handle on their resume, I definitely checked it out. Sometimes I would even see if I could get it running on the first try. This has been an indicator of some of practices they have.
But it’s only ever a small piece of the picture. Some people push their code to github when they are very junior, and it doesn’t represent where their skills are currently at.
There is the issue of forgery, but I lump it in the same category as lying on a resume- the deception is equally as serious.
I was wrong when I said that bootcamps were red flags.
When I stated "Don't do bootcamps. It's a red flag for me"... I should have said "Don't have bootcamps be nearly your only source of experience." Like, if a person rolls up with either a super-expensive boot camp, or a side project that they've kept up with for two years... It's no contest. I certainly won't be mad at you taking the bootcamp. The criticism in the replies is valid.
Again, sorry. I'll continue to work on that whole "maybe you should type what you mean." thing.
As an aside: I forgot to mention how much I care about attitude. I'll take someone with two years of experience and a genuine hunger to learn over a guy with four years' experience who has an attitude. /shrug.
Why would anyone expect you to be mad? Weird.
See also: "I wouldn't kick her out of bed for eating crackers."
A Stack Overflow profile is another wonderful thing on a resume. It demonstrates you're curious and/or helpful (among other things, I suppose).
A note on your Stack Overflow profile... I don't care if you don't have a lot (or any) points from answering questions. Points for asking is just as good (to me).
Tips on actually building up rep on the site (hope they're mildly useful; I had a hard time TBH):
* If you're legitimately stuck on a problem, and have actually tried finding the answer elsewhere, take 30 minutes (or whatever you can spare) to write up an intelligible question. You [usually] won't be downvoted for asking a question that is well put together and hasn't been asked before. Most of my rep comes from asking esoteric questions about Git or Visual Studio, rather than answering them.
* Don't be afraid to answer old questions with new answers. Just make sure it's actually useful, and not a copy/paste (or rewording) of what someone has already said.
* Don't feel bad if a reply is blindingly obvious in hindsight (most of mine have been). You're asking an extraordinarily large number of nerds for help.
Cheers.
I'm curious about this part. Do such students tend to underperform at interview?
I’ve interviewed more than a few folks who got their start with boot camps but couldn’t answer some basic questions about web development.
Not knocking those who are motivated to go through a boot camp, just saying you can’t stop there. The content covered in a boot camp is just a single slice of a much larger pizza.
No brownie points help as you still have to pass the technical interview, 99% of the time. Places with technical interviews have recruiters. Recruiters are not technical and will not actually be gauging you on any of this, they just need to be able to find you. They look for githubs and linkedin profiles.
This person is someone avoiding coding challenges and has just as arbitrary metrics as a replacement.
(grain of salt, just my opinion, etc...)
* Don't do bootcamps. It's a red flag for me. This can be said for any 100% online college. (again, I'm just being honest). Community colleges are fine.
* You having a Github that you've committed stuff to often-ish will most interest me. I don't give a crud if you contribute to open source. But just the fact that you're coding is what I care about. Yes, I will snoop around and see how good it is. No, I won't care if your code sucks. (side note: if your code is actually good, than that's better than a four-year degree at a college I've heard of imo)
* Don't get discouraged. I remember I searched for a programming job for two years before I got hired. The 70-ish times I was told "no" didn't matter after the one "yes".
* Be honest about where you are at (not programming professionally). I've always been open to hiring people outside the industry for entry-level programming jobs.
* Coding challenges are beyond useless to me. I will concede that they are valuable to some.
Hope that helped some. 80% of the advice given here is helpful as well.
Good luck. Please don't get discouraged <3.