What I learned from spending 3 months applying to jobs after a coding bootcamp
medium.freecodecamp.com
medium.freecodecamp.com
Is this some kind of a joke?
> Otherwise, companies automatically categorize us into junior developer roles or tag us as “not enough experience.”
??? What do you think you are after a TWELVE WEEK coding seminar (no matter how intense it was)? It looks frightening to me that he doesn't even know what "junior developer" really means. How ignorant can someone be to NOT think to be a junior dev right after "graduation". Like: I am taking a first aid course - but you have to call me doctor afterwards - otherwise I am pissed off!
> A study by Triplebyte has found that bootcamp grads are weaker in these areas than computer science grads.
Really? No... This must be a lie!
No personal offence here, but honestly, I just can't imagine how a serious company with a certain degree of professionalism is going to hire people like him for a serious software engineering job (or similiar). But actually, if I think back, at my last job a couple of years ago we had a guy similar to him - it ended up giving him all the shitty work that wasn't too complicated and hadn't to much impact on the success of a project (some HTML & CSS stuff for the frontend) but nobody wanted to do (because it sucked). It took him hours and days to finish stuff someone of the rest of the team would have done in maybe half an hour.
I am also wondering about the reactions in the comments - also here on HN - interesting to see what kind if audience is hanging around here.
Anyway. Coding camps seems to be a good way to make money - for the organizers.
This single sentence terrifies me:
"At Hack Reactor, we’re trained to mask our inexperience. In our personal narratives, we purposely omit our bootcamp education."
$120k+ offer for 12 weeks experience - ridiculous, I hope he lasts 2 weeks
I on the other hand got taught to be able humble and make compromises especially when still being a junior. Looking back at my early days, when I wanted a position that I knew would change my career, I purposely asked for a lower salary in the beginning to compensate for my junior level or other skills (language for example when I moved into a country where I wasn't fluent yet), with a clause to bump it up to the level of other people when I can prove that I am on par with them and my lacking skills aren't a problem. It also showed the company that I was serious about wanting to work with them.
But man, 120k for 12 weeks of experience is insane. Sign me up for whatever bootcamp that was
It wasn't the bootcamp -- it was the self-study, and more to the point, his ability to reverse-engineer the interview process which got him that offer.
Which probably says a lot more about the current gold standard, "let's see how many hoops you can jump through" interview process than about the merits of bootcamps, per se.
It's a hack to get around HR auto-filters. The hiring people can then make further assessment.
What world do you live in where you'd not have more than one filter on hiring?
The alarms here are astounding given the other hoops that are likely to exist passed the first marker.
Pretty shocking the response to some advice that is really only "step 1" to getting the job anyway
The reality, I find, is that (if properly motivated, and possessed of sufficient native intellect) once you get your foot in the door, you can learn the ins and outs of any programming role pretty darn quickly. OK, maybe you won't be able to design a compiler or anything like that. But for most of the standard web development $foobar stuff... you can pretty much pick it up as you go.
The people to be wary for (and weed out) are the outright imposters (those who blatantly lie about their capabilities), or the chronic attitude cases (which includes a great many experienced and ostensibly highly qualified people).
Not the inexperienced.
Now what about CS grads? We've interviewed plenty of people with master's degrees in CS who don't know how to code a binary tree because "you know, I wasn't that into the data structures course..." Or if they have lots of experience they demand more money than the manager makes because, apparently, every company has to compete with Google salaries.
I remember my classmates and I staying after class because there was a guest speaker coming in to talk about quad-trees and b-trees and we were SO EXCITED to learn about these things. We've taken more candidates from Hack Reactor than not because they show this passion for their work that I have personally rarely seen in CS majors. They generally require a few months of ramp-up time, but I think it's worth it, and since they are usually coming over from a different field they bring a lot to the table from their other experiences.
On the other hand, I do advise the bootcamp graduates I know to drop it from their resume after their first dev job. Programmer with 1 dev job is a much better profile than bootcamp graduate with 1 dev job.
Well. Gotta do that when people comes with a degree from the MIT, a degree from their local university and at the same time an internship at Facebook. All in the same year, from the 3 different cities.
That all said, if your goal is to get the highest paying job possible, this seems like useful advice.
Yup. Which is exactly the mindset that the current interview culture most strongly rewards.
I'm not saying that I was stronger on the data structures and algorithm side than top students who spent four years staying up coding during their nights and weekends but I was definitely ahead of most fresh grads I encountered. I don't know how that is, given what a typical CS curriculum (at least what I saw later on Open Courseware) but my guess is that a lot of CS grads don't actually practice what they're learning enough so that it sticks.
One thing it appears a lot of people on this thread are missing is that it's not a school for complete beginners. There are prep courses for people looking to enter the school. I had been programming simple things for my blog for years before I went. About 1/3 of my class already had CS degrees before entering.
The other factor is that intensity really does matter. The reason focusing on duration of 12 (well actually 13 weeks) is wrong isn't because nearly 1000 hours of instruction and work are packed into those 12 weeks. It's even more wrong because working at double the intensity leads to more than double the progress. I saw the same phenomenon with language learners when I was living in Taiwan. It's very common for someone who did a full four year degree in Chinese to speak poorly compared to someone else who did a much shorter, more intensive study at a top immersion program like ICLP.
Anyway, the degree of animosity here is a little surprising, even considering the cognitive biases that might come from having spent a fortune on a university credential. Large numbers of my peers from Hack Reactor went on to do well at YC companies and/or large companies like Google. One I remember well did both (was an early engineering hire at a YC company that got acquired by Google). I still consider the tuition I paid to HR one of the better investments I've ever made (and one that I easily recouped within the year.
Thank you Marcus and thank you, Shawn. You guys were fantastic instructors and project mentors!
Having been to school and coded for most of my life, there is no possible way you know as much after bootcamp as someone from a decent 4 year school. It was probably over 1000 hours of just studying alone. Code camps are comparable to an associate's degree or certificate.
First of all, your characterization of Taiwan is both laughable and offensive. It's a developed democracy of 23 million, a stronger economy than many EU countries and a better transit/medical/internet infrastructure than I've seen in any western country. In terms of educational attainment, Taiwan is world-class.
Secondly, it looks like you misread my comment. I wasn't even comparing a boot camp to "random schools in developing countries". I was comparing one of the very best programming immersion schools, Hack Reactor, with one of the very best language immersion schools for Mandarin, ICLP (which was started by Stanford FWIW).
>"Code camps are comparable to an associate's degree or certificate."
No. It's not about credentialing. It's about what you can do. I got no credential whatsoever and I wouldn't have respected it if I had. Nobody had ever graduated when I started and when I finished, my prospective employers had never heard of the school. It's about the education, not some stamp of approval.
At least in my own opinion, there is no evidence whatsoever that our centuries-old model of higher education (or our k-12 educational system based on Prussia's model) are the pinnacle of efficiency. There are many ways to learn more quickly, ranging from working through OCW on one's own to getting help from experts while studying in an immersive school.
He needs an entry-level position.
By that, I mean that I make a distinction between a Junior dev (who may have a degree and professional experiences through a work and/or internships) and an entry-level/breaking-into-programming dev who's got nothing (no theory, no practise, zero real world experience).
If we did make the distinction, the place of these bootcamps would be much clearer. They train technicians. Specifically software technicians. Their graduates can build things and fix problems using current technology, but they don't have the deep theory and sophisticated understanding of the field that lets them solve really hard problems (at least until they considerably augment their skills.)
The job that most closely fits those is usually called Software Engineer, as distinguished from Senior Software Engineer or Staff Software Engineer. Did the writer really land a job at the Senior level on the strength of ten weeks of instruction and three months of personal study? Sounds weird.
The only situation where I'd hire someone like that into such a position is if they brought a LOT more to the table, meaning probably domain experience. If someone spent ten years as a petroleum engineer and I am hiring a software developer to work on software for the oil industry, then yes, I might be willing to hire them at Senior despite a dodgy background in software.
By the way: Mark Zuckerberg was a huge geek in is earliest years already and in no way he had "0 work experience". Have a read through the "Early Years" in his Wikipedia article and you may find http://www.letsintern.com/blog/4-thing-mark-zuckerberg/ interesting. He didn't start Facebook with 0 experience right after taking a 12 weeks seminar because he wanted to "change career".
> ...cannot stand this whole world of bootcamp-grads making six-figures after a 3-months training.
Hmm... Why not just get rid of all these annoying CS courses at University? I mean - who needs them anyway if you could just spend 3 months to reach such a badass salary?
The article is about hacking the system for networking purposes. He's not saying HR is "wrong" to apply those labels. Just that code camp graduates should watch out for that.
Given that this site has used up many cycles discussing how HR filtering sucks, these hacks are interesting to consider.
As for your specific concerns, calm down. You're giving off a superior tone. There is a lot of shit software out there. A lot of it coming from big companies. This notion that it's only for experts of a given status is elitist.
By your admission you're a smart coder so you have little to be upset about. Everyone works with people that aren't as good. My managers an idiot. Yadda yadda.
I'd work on my propensity for flying off the handle at trivial snippets taken out of context from larger stories. I'd rather work to help bring up a green coder with promise than alongside an elitist asshole
> work that wasn't too complicated
"complicated" is subjective. There are many talents and somebody could be better in for example JavaScript (and not HTML/CSS).
There is "some kind of joke" going on, but it isn't that guy. Its the rest of the industry that turns out script-mungers and form-fillers and calls them 'software engineers'.
In London, probably the biggest/richest market outside of USA, that sort of salary is beyond what most experienced developers get, even some very good ones.
I must be missing something here (some sort of bubble?) because I can't see how businesses can be profitable paying those sort of salaries to people who know almost nothing about professional programming. Either that or businesses in America are just waaaay ahead of Europe at turning code into cash.
My wife is from the UK and has worked in London and NYC and she makes quite a bit more money in NYC. She has told me there's no way she'd make her salary in London and it would probably be quite a bit less. She doesn't work in software either; she works in finance.
I think part of it is it simply costs a whole lot more to employ someone in the UK. All those social benefits have a cost and companies have to pay them. It's also much harder to fire someone in the UK than the USA where you can be fired on the spot for no reason at all. The benefits the company has to pay out are technically none except for some unemployment insurance for a few months which is quite small all things considered.
We've talked about moving to the UK but our lifestyle would change for the negative we believe due to the low salaries and the very high cost of living anywhere near London. Especially with the beating the Pound has taken recently when we convert our dollars to Pounds there's no way we'd get close to our current income.
To be honest I'm not sure how you folks do it. The UK is expensive and people simply do with less in general. That's not such a bad thing either.
It's possible to see a smaller paycheck and in fact receive a larger value transfer.
One of the main aspects of this that is very relevant to Americans is how easy or difficult it is to be fired and what programs are available for those who lose their job. Even if you are never fired, simply the threat of it can cause anxiety and stress that simply wouldn't exist in places where it is harder to be fired and which have better programs for people who are fired.
If Europe can build a few companies that churn out revenue at the scale of Google / Intel/ MSFT, European developer salaries will skyrocket. US companies with offices in Europe have helped salary increases, but really the continent needs a few Googles to really skyrocket salaries.
Let's take a case study here. Rackspace, a company that was just taken private, and Google.
They have almost identical P/E ratios, and the market cap for Google is 125 times that of Rackspace.
From what I can search around for, Rackspace has 6200 employees. Google has 53,600. Google makes roughly 15 times per employee in profit (not revenue) than Rackspace does. If Google's headcount to profits were the same as Rackspace's, the market cap of Google would be about 35 billion.
That being the case, heck yeah Google will kick down an extra 40k a year to an engineer. Makes perfect sense for them.
At its best, it often means "technical, business experienced, just transitioned into intensive software study", which is an enticing candidate. At its worst, it means something like "paid $50k to learn basic Javascript". Lumping those two together makes it really hard to draw any conclusions about experience.
* Other players in the space will likely make the industry look bad
* If you graduate the wrong people they can paint your company in a negative light
By and large, companies that get a bad university applicant who can't build a web app don't let it paint their experience of universities as a whole. But if the same applicant was from a bootcamp suddenly all bootcamps are terrible sources of any serious talent and they'll never be considered if they're in the applicant pool.
This exact thing happened in the late 1990s with Visual Basic/HTML schools. A bunch of unaccredited for-profit courses issuing certificates and promising jobs sprang up during the dot-com boom and were fairly popular. Everyone I had heard about that attended these things left the industry during the crash. I do not see any difference in the way the "bootcamps" are run or what they promise (the word "bootcamp" is new, though), and I think the outcome will be the same.
It looks like Square starts at about 100k for a new grad (uni degree). Seems high but it's more credible than $120k for a bootcamp grad.
Remember that median rent for a 1 bedroom in a non-trendy area is around $2900/month [2,3] and taxes should take about 39% of salary at that level of income. It is far more expensive to live in San Francisco than most of Europe.
1. http://h1bdata.info/index.php?em=&job=software&city=SAN+FRAN...
2. https://www.trulia.com/real_estate/San_Francisco-California/...
3. http://sf.curbed.com/2016/9/23/13034910/san-francisco-rent-a...
For instance, places around me in SoMa have 2BRs listed above $4,500.
Is that 39% as in marginal tax bracket, or 39% of the absolute total?
In my experience $120k is in line with a developer with a 4-year CS degree and 1-2 years of work experience and maybe some OSS work.
I hear back upwards of 60% when I send resumes to positions I am a good match for on job boards.
If it matters, I was hired through a Who's Hiring post with no personal connections.
The biggest justification for it is probably the idea that you hire people based on their ability to learn rather than their current knowledge. This sort of makes sense if you consider how fast tech tends to change and believe that you'll be able to hold on to an engineer long enough for them to grow into competence. Of course, it also leaves you with the huge problem of trying to evaluate "ability to learn" through a few hours of interviews.
The other thing to consider is that hiring is necessarily an ecosystem. An entry level job at Facebook can net you something like 120k + reliable stock compensation + signing bonus, and a startup that doesn't at least try to compete with that is going to lose out big on engineering talent.
It all ends up having very little to do with "justifying" a 6-digit salary, and a lot more with scarce supply.
This is also why we've seen bootcamps and and online vocational learning (Udacity, Bloc, etc) gain a lot of traction. Paying $18k for 3 months at Hack Reactor might seem insane, but if it lands you a $100k job it very quickly becomes worth it.
I can't speak to a lot of programs, but HR is roughly 800 hours of cultivating people with "enough experience to write higher order functions" into - specifically - web developers. These students implemented a binary tree in their first week, wrote relatively secure chat apps in their third, know React and Angular by the sixth, and have 4 side-projects (one of which over a full month) by the end. Meanwhile, CS grads have been taught that JavaScript is a toy language that can't solve a problem of any reasonable complexity and are instead competing for enterprise Java positions amongst themselves.
Is there a bubble? Probably. But there's also a market for individuals with a set of skills that isn't being met by our university system.
If you want to adjust it with some extra notes: winner of worldwide NASA competition; degree in Industrial Engineering in Spain with final year project on Neural Networks in Tokyo University; organizer of one of the biggest Maker community in Spain (Makers UPV); 2 years work experience (besides non-profit)
1. Programmers have lower status in the UK relative to the US - UK is more status/class conscious in general whereas US is more about money/productivity/impact.
2. Due to a bigger entrepreneurship culture in the US the opportunity cost for programmers is higher and that drives salaries higher across the board.
I do wonder about the positions that are at or below my salary that have higher status. Like the non-profit public policy lawyer I know, or medical students / doctoral residents, or the business-side people who get to _make decisions_ while I'm kind of just implementing their business decisions.
Last winter I dated a writer who has some local celebrity (definitely has some status), and she was getting down on herself about how little she's paid, and how she works a part-time job to make ends meet. I was also kind of depressed that winter, but more for reasons that I never make super impactful decisions where I'm at. I'm not steering the company's decisions much; the best I can do is be involved in architecture and be a faster/better coder. And the code I write is read by, at best, 6 other people. My PRs are usually just read by 1-2 other people. Whereas, what my ex was writing would be read by thousands of people easily.
I don't mind the idea of emptying out my own biases to try to absorb the craft as much as possible. But I do feel like, because engineers are in such high demand, it's not efficient for businesses to let engineers think about product/business decisions, even though engineers would have good intuition for those areas. Being at the end of a waterfall kinda sucks.
Can you give an example of what this means? I'm a programmer and I have friends that are mechanics, lawyers, teachers, doctors, accountants, electricians, radio engineers, server-cpu designers, etc. Some of us live in McMansions while others of us live in 1 bedroom apartments or anything in between.
Would our jobs determine what status/class we belong to in the UK? Or is this based more on your family background (aristocracy)? In the UK would we not be as likely to be friends if we belong to different status/classes?
This was years ago and I don't know if the bar has slipped as coding bootcamps have gotten more popular, but the bar to entrance for my program seems pretty high in retrospect. None of the folks I knew and learned with there would I expect to go on into the corporate world and be one of those computer engineers who gets by in their career by doing hardly anything or being a net negative. They were to a man and woman very smart and voracious in their learning about programming best practices and languages. If you've got a person like that then does it really matter that they haven't been part of a real corporate project before? They will learn very quickly and likely be one of the most useful people on the team within a year. I'm not saying they should be made team lead without any experience but as a rank and file programmer, the salary is justified in that case, I believe.
As a developer in Philly, even that seems too high for someone with only bootcamp experience
On top of the quoted figure, there is an equivalent of employer's FICA contributions. The rate is around 12.5%. Anyway, this is treated separately and you don't generally hear about it; employers factor it into their calculations before deciding on a salary range.
Exception: it's somewhat common for public sector employees to have the employer's contribution quoted on their payslips, perhaps to make them feel like they're paying into the system.
In my company we pay about 25% on top for social security, worker's benefits, health insurance, etc. This is without any company-provided benefits such as trainings, conference allowances, holidays, etc.
50%~ overhead sounds about right.
Obviously it all depends on the major and other factors, but I'd say simply getting into and graduating from UC Berkeley does mean something.
Of course lots of smart, hard working students simply go to local community colleges to save $ etc. But when a recruiter sees UC Berkeley on resume and they want someone with a degree, it give a good impression.
And let's not forget on HN survey, about half of the working programmers are self-taught.
And who knows, maybe he had side project(s) or examples of code to show.
The sad thing is devs who are out of school for 1-2 years think they have arrived at 6 figures, when they have many years of problem solving and result delivering to give to fully return the value of what they're being paid to their employers.
While those young devs may think they have hit pay dirt, quite often a higher starting salary is meant to keep them as lifers longer, while those who are willing to grind and hustle are adding more meaningful, sustainable, and measurable value.
It's also important to remember when times get tough the first group that are often let go are the overpaid people who add the least value.
In that spirit, I hope students continue to learn how to add value instead of just worrying about what value they receive. In a world where everyone's special, no one's special, except those who can add value.
Very true. As a new pilot, you have to pay/fight for flight time to build experience before moving up. As doctor/surgeon, you have to be in a certain situation with close supervision to practice your craft and gain experience, which is expensive.
In almost all tech, this is not a requirement, which is what I love about tech.
I was once offered a role of Scala software engineer with £45000 starting salary. I assumed it was a joke, but it wasn't.
That's what I though as well until we offered £100k to 3 different guys in London.
They all refused saying it was a substantial drop. One actually standed up and left the room :D
The transit system is exploding, living in the commuter belt these days is a special kind of hell for a lot of people.
And don't think you're getting seats on the underground either.
I can totally get why if little/no-exp devs are expecting six figure salaries.
Because the National Health Service is generally considered to offer a decent-enough level of care, there's normally no private health insurance in most tech jobs -- so no extra costs there.
Taxable wage 55K Taxpaid 15.6k Tax Free 11k NI 5.1K Take home 45.26 Pension 24k Tax relief on pension 9.6K
And rember you also have CGT allowance of 11K and an Annual ISA allowance of 14.2k (20k next year) and property taxes are much much lower
The rule of thumb I heard for the cost of a FTE was 3x salary.
And you're really just talking about the bay area where competition is STIFF for talent. The hardest thing is finding people who can actually do the job - degree, experience or side project aside.
I think the salary gap between US and UK programmers in the last decade has definitely increased.
One reason is exchange rate, only a few years ago GBP/USD is 1.5x, now it's 1.2x.
Another reason is that tech sector boomed in the US, big companies like google and Facebook are doing really well, there are also more successful small companies, fuelled by VC money. together they drive programmer salary up.
However, the UK economy is totally dominated by finance. And the banks are not doing particularly good after 2007.
I mean fair play to the guy for landing a salary like that with basically zero experience but it wont end well for him or the company if he is put into a position of responsibility where he has to make strategic decisions.
Or maybe there is too much supply and not enough demand in London. Maybe it's cultural. But I've noticed that salaries in London are pretty terrible. It's even worse than New Zealand, which doesn't (didn't?) have a lot tech jobs.
I agree that 6 months living expenses is on the high side, but make sure to get at least >1 month of savings in ... make this a priority! I would argue to even do this before paying off your student loans. Why? Because this is such a 'small' sum of money which can really save your ass in the long run when something DOES go wrong. And if every month has a certain probability p of going down the shitters and you approach it like a geometric distribution then its a simple probabilistic (near) certainty.
Remember this: emergencies come unannounced (else they wouldn't be emergencies).
Get your emergency fund up and running !!
Example with made-up numbers: Suppose you spend $2000/mo, you have an unused line of credit of $10000 @ 10%, your student loans are at 5%, and you are taking home $4000/mo. If you have an emergency that costs $2000 that hits your line of credit, that ends up roughly being an extra month servicing $2000 of debt at 10% instead of 5%. If you keep $2000 in cash instead of paying down student loan debt, that ends up meaning you service $2000 of debt at 5% instead of paying it down. These are roughly the same thing, so you wind up ahead if the LoC is sitting empty ~50% of the time.
Granted, these are much more favorable numbers than typical use of credit card debt, but the point remains - if you have access to credit on good terms, and you won't need it often, and you have good illiquid returns on excess cash, you ought to take a look at using credit to handle emergencies instead of cash.
Make sure your emergency fund remains accessible if you get into an emergency.
The low yield on the emergency cash laying in a checking account is to compensate for its liquidity.
For the first 2 years, live on 50% of your income. Eat Ramen, coupons, live like a begger, and save up 1 year of income.
Then divide that by 12 and use that as a salary for a year while collecting another year. Repeat. Steady income, always a year behind.
Of course this was back when I was trying to go into film. A bit more unstable than software development.
It's unsexy, but one doesn't have to live in the hottest part of town, or go to the newest restaurants every weekend.
But the problem is that people are to led to believe that programming == tech money == big living, when it's really decent middle-class living which means one should still budget, which may mean not keeping up with the Joneses.
That being said, 50% is really a stretch these days. 25% would be more realistic for most yuppies in America, and 33% for those more financial prudent.
Not at all. Whatever causes the emergency is likely to come with unexpected costs of its own, so 6 months salary is more of a minimum in my opinion.
People seem so comfortable carrying a massive amount of debt.
I'm currently on the best paying job I've ever had, and although the financial planners around would say that I'm holding too much liquid assets (I'm not sure what to invest in), it certainly makes me sleep well at night knowing that I could survive frugally but comfortably for probably 2 or more years without a job.
I've done it twice, and there's nothing like having that fund (and also being unsecured debt-free) backing you up. Each time I made my choice to leave my employer, I had a new job lined up within a couple of months - and I had negotiated a higher salary to boot.
The best way to go about getting such a savings set up is to first plan a realistic budget. Then, pay down any unsecured debt, starting with the smallest debt owed first. Roll that payment, once the debt is paid back, into the next debt, until you have all your debt paid off.
At that point, you should be left with no unsecured debt; a mortgage can be considered OK (as it is secured by your equity) - but if you can pay that off too, so much the better. Usually, though, it's better to keep it for tax deduction purposes.
Don't have a car payment - if you aren't paying cash for a used (but reliable) car, and paying for it in full - you are likely wasting your money.
There's more tips out there than just the above, but them's the basics - basically. Once you become "debt free" in this manner - a great burden will be lifted from your shoulders. I'm serious.
And once you get your FU savings set up (bank for at least 6 months to a year - but ultimately, just keep building the savings as you have available cash - you may never know when you'll need it) - you'll be free to do as you please with your career and goals.
Edit: easier to do
Maybe that's just me being too old for that kinda' crap.
I quickly found out that nobody looks at your GitHub, maybe 10% max. didn't matter that I had code from two weeks ago that did complex segmented locking on a concurrent hashtable. still got asked "what is threading" level questions at every place.
After botching my first spate of interviews to stupid trivia I gave in and and read through a bunch of CSCI 100 course notes and "beginners guide to language x". My performance improved significantly.
Ironically the most useful tutorials were the most basic "write a string to a file", as I had forgotten the classes for opening raw files in my three languages of choice (since nobody in their right mind has any business using those classes in a well designed WebApp). Doesn't matter that I could look it up in 5 minutes, they want it on the whiteboard with no googling.
It's really easy to game such interviews as they require very little domain specific knowledge. If you say you know Cassandra or MVC, they'll just take your word for it... as long as you remember the classes for opening a raw file in r+w mode
I'm usually giving the holistic system design question which the interviewee can take any direction they like they just have to go all the way down in one area.
Jr devs on my team give the algorithms question much of the time and I make sure they're looking for the right things. Problem solving not memorization... Comfort in a language not trivial knowledge or formatting issues... Etc. They get sent to the interview class if they ask anything that is a named algorithm... Like three sum, tortoise and hare, etc and expect a candidate to derive it in a 30 minute coding section of an interview. T&H for example took 10 years for industry to derive.
On a side note don't use a language you're not familiar with in an interview because you heard the company likes it. Use what you are solid in. Python and ruby and the like make most interview questions trivial. I cringe on the inside when people jump for c/cpp in an interview esp college hires as it seems to take longer to get fluent in these languages.
"What is threading" actually doesn't bother me, because it's shockingly easy to find experienced backend devs who have no idea - even when they've used MapReduce!
The file I/O one is far more obnoxious, because low-level file interactions are so rarely a good idea in most languages. In general, the right way to handle that remains "scripting" right up until it becomes "framework". And if someone expects that file I/O as part of a larger problem, they should probably accept anything sensible-looking or offer you a couple of method names like "getTextLine" to avoid the whole issue.
The whole process is broken, certainly, but its broken on both ends.
Because of the startling amount of people unable to explain the code in their repositories, I've found code quality / problem complexity / stack similarity alone to be a worthless metric. On the other hand, I've found it to be invaluable to get candidates to explain their code and why they made the decision that they did. It's exactly how a practice assignment works, except candidates are much more passionate about the choices and have invested more time in the project overall.
This guy claims to have worked ~6 days a week for 3 months not to become a great full stack dev, but to become a great interviewee. Seems kinda backwards to me.
This comment appears in every single interview/hiring thread for past decade. Only change I've seen is actually the opposite now there are 5-10 "rounds" of these quizzes even in a no name enterprise companies.
People ask the 'quiz' stuff, successfully throw out some bad candidates who talked a good game on experience/theory, and assume its a good way to go.
The ideal middle ground is probably to offer ultra-basic code problems, ideally before an onsite. It's awkward, but it really is necessary to filter the non-programming applicants. And by not trying to be clever, you don't create an incentive to memorize Rabin-Karp and generally acquire useless interview-only skills.
Even for those still doing testing interviews, that's a good rule of thumb: if it was a paper-worthy insight originally, it's a ridiculous thing to make someone derive in an interview.
So I studied a bunch of stuff. Anything and everything but fizzbuzz (not that I needed to study that). Then I decided to go for the test - which was timed - and...
...fizzbuzz.
I'm sitting there a bit dumbfounded - seriously? So I coded it up from memory; I could have easily pulled a solution down off the net, but I figured "what the hell - let's go old-school" on it. Also - if I just cut-n-pasted something in, and they saw "it took the candidate one minute to code it" - they might suspect something, then google search the plagiarized code. No good.
So - I coded it up; it was in PHP, but the job was supposed to be for javascript/node (???) - so I wrote it as a class, then I spent the remainder of the time optimizing it - making it the fastest FizzBuzz solver I could, complete with tests and demonstration code. I took up the entire available time, and submitted that. I made sure to add proper PHPdoc comments to everything.
...and I got an "in-person" interview as a result. At the end of that was an another "live coding" session - this one using javascript for a "single page" app. They left me to it, and I got everything coded up inside of 15 minutes or so (there was a paper document laying out what the challenges were in the example code). They were watching my progress via screen sharing.
Apparently I completed the task quicker than other applicants. I later learned that some applicants just sat there unable to do anything (not even google around for help!), or they would take convoluted paths to implementing the changes; not necessarily wrong answers, just not efficient ones - and would be sitting there doing this for a couple of hours (at which point the interview would be brought to a close).
At the end, I got the offer.
Ultimately - those are the kind of challenges I like - give me a real coding assignment, something close to what you are really working on. In this case, it was also in two different languages - so I could also help to "bridge gaps" between a PHP team and a javascript team as needed (added value for the employer).
I really dislike whiteboard coding - completely unrealistic, and while I gather why it is a widely used tool, I think there are better ways to gauge a developer's competence for the position - and actual coding challenges to solve problems seems like one of the best ways to do so (though I also understand that it is very time consuming - so an up-front online timed challenge might be a good pre-filter for on-site or further interviewing).
Really?! Who'da thunk?
> At Hack Reactor, we’re trained to mask our inexperience. In our personal narratives, we purposely omit our bootcamp education.
Hm...
> Why? Otherwise, companies automatically categorize us into junior developer roles or tag us as “not enough experience.”
And you think that after a few weeks of bootcamp "education" you're anything but?
As I have had 7 different jobs for 12 different employers (due to mergers/acquisitions, by the most generous count), and have needed to run the entire interview gauntlet all 7 times, my primary career goal is no longer to earn more money. It is to never have to do another effing software-industry interview, ever again.
But damn. For $120k/year, in the region where I now live, I might just put Expo2 to whiteboard one more time.
I get tired of justifying my own existence to people who are only pretending to care that I am not actually a human-form automaton to crank out code. In short, the software-industry interview has always been stupid, but it has also become increasingly arrogant and rude. Is it really worth it to put up with the crap-on-you parade for a few more measly dollars in the paycheck?
I feel exactly the same way, even though the existence of those interviews is probably the main reason I was able to get into kinds of companies I did.
Assuming most people who do bootcamps are changing careers, how do you explain suddenly becoming a developer after years of another career?
> companies automatically categorize us into junior developer roles
in other words, correctly categorized
Just because you were able to fool the company into hiring you doesn't mean you "passed the final" and everything will be fine from now on. If you had experience, you'd know that.
I do realize I'm making an assumption that there was no prior CS experience before the bootcamp, but isn't that the crowd they're targeting?
But the thought of spending thousands to attend a school and you're encouraged to hide said school from your resume looks really bad.
At first I thought I was screwed, but after 3 months I'd completed 3 vastly different projects and it showed in my interviews. I could speak intelligently about 5 or 6 different programming languages and a multitude of database technologies, libraries and had my college-years algo/OO knowledge in the background. I had done everything from front-end design to Machine Learning, low-level algorithms engineering to full scale apps. And then I got an awesome job. I doubled my yearly earnings. People may scoff at bootcamps, but it helped in my case - if nothing else I got half a year to mess around with computers instead of doing that after work like I had been for the last couple of years.
As far as interviewing goes: I got rejected a lot. I rejected a lot of companies, especially those who tried to sell themselves to me. I was picky about not working in a megapolis hell. I didn't bug people if they didn't get back to me. I turned down second interviews if the person who interviewed me was an asshole or was non-technical. And it all worked out.
Unsurprisingly, I landed at a company with a lot of views similar to mine. We all mock Silicon Valley. We don't work around the clock, we like having lives outside of work. Few of us are traditional tech people. All in all, a very life-affirming experience.
function getDevJob(studying, hardWork, luck){
return studying && hardWork && luck;
}
I know that it might not make the code readable to novice javaScripters, but it bothers me anyway..It's a rhetorical device. And some could argue that code is also a rhetorical device.
But the only argument an if else block that returns true or false based on a boolean makes is "I'm not very good at this"
On a similar note, another thing novice programmers do often is rewrite min and max using if-else.
Like others, I'm surprised offers north of 110 are possible given his experience, and can't help but bristle a bit at him being a self described "full stack" developer when it appears he's a front end developer (does rails really count as being a backend engineer?).
But he worked exceptionally hard at the process (guessing having applied to 10x the places a typical engineering grad does?), and also has a strong background in business from a reputable university. For some jobs, especially at startups, knowing how to understand the business problem and deliver results can be really important. The challenge isn't the tech, it's combining just enough tech [1] with essentially being a product manager too.
[1] learning that "just enough tech" is not easy, and it's clear he worked hard to master a lot of material. It's just that many of us have been working that hard for many years and likely have more expertise / ability to learn new tech fast than can be gained by anyone in the course of a few months or a year; hence the initial surprise
To me full stack means you are into the systems a bit too and would be capable of setting up the stack itself (and perhaps enhancing it, or setting up custom batch systems), not just working effectively within a larger space provided by the application frameworks.
But perhaps I just have the terminology wrong? Full stack developer = someone who works across the application stack, and I'm thinking more of "systems" or "backend" engineer?
When you are full stack there's usually an assumption that you are "better" on one side of the stack and won't be strong at everything. So a back-end focused full stack developer would be better at the things you are talking about while a front-end focused full stack developer would be much stronger in Javascript / CSS. The main thing is that you understand how an app works end to end and can contribute / fix bugs across the stack.
I do think it would be nice if the term carried more meaning, but given most companies are running their systems on top IaaS/PaaS offerings from Amazon/Google/Microsoft/etc and tend not to care about things beneath the application layer until they're making more money than sin it's fine as-is for the time being.
I do agree that when people use the term though they just mean "I can code in a backend and a frontend language".
Of course, all bets are off if it's a small shop.
And part of me thinks that a full stack dev should be able to use a soldering iron.
function getDevJob(studying, hardwork, luck){
return study && hardwork && luck;
}
But more seriously - I actually really like point #2. I firmly believe that job interviews have a strong bias towards people with experience doing job interviews. Your "offer-ladder" seems to confirm that for me.It reminds me of that freakonomics article about how real estate agents get more for their houses because they wait longer for a higher offer. By getting the practise and being better at job interviews and NOT jumping at the first offer, you get a better overall rate.
Most big companies I applied at had about half of the grilling and the rest of the interview was "culture fit"
This is going to be a black mark on my OCD coder's soul for the rest of time. A code typo immortalised next to my name.
/sigh.
There's a lesson for me... Never. Ever. Attempt to be clever on hackernews.
Thanks for pointing it out.
... I wonder if HN mods would be willing to spare me this suffering. Undoubtedly a waste of their time.
> For most small companies or C-level executives, the email format is usually firstName@dreamCompany.com. For larger companies, it may be firstName.lastName@dreamCompany.com.
This advice is horribly annoying, and I really wish people would stop recommending this awful email guesswork garbage.
I'm an engineer, and I once had a [firstname]@[company].com email address at a company. Later on, the company hired a recruiter with same first name, followed by a head of marketing with same first name.
Naturally I started getting tons of unsolicited mail, several times per day, from people who simply assumed my email address corresponds to one of the other people with the same first name. This included a lot of resumes from people who graduated from coding bootcamp.
Often the same person would email repeatedly, a few days apart. It definitely did not help their chance of getting hired.
There's no fool-proof filter for this. I can't safely filter out all email containing certain keywords, even from external email domains. I would get legitimate email containing those words from external domains -- legit candidates, people I met at conferences, etc.
I don't argue that it's good to contact a real person when trying to get a job. But at least take the effort to ensure you're actually emailing the person you intend, not some other person who happens to have the same first name!
Given that the OP applied to nearly three hundred companies, I can absolutely guarantee he just sent these out blindly based on guessing the first name. And seeing as he only got phone screens out of 11% of these companies, one would assume most recipients of these emails view them the same way I do: garbage.
These filters make mistakes and can hide something that you actually want to notice. It's a low probability mistake, but the price is too high to risk it.
How much time would that take?
Figure 15 minutes per company - 4,365 minutes, or 72 hours. And that's time just spent finding the company, changing around a cover letter, and then emailing it and responding etc.
32 phone screens? Let's say 30 minutes each, that's 960 minutes, or 16 hours of phone screens. Forget accounting for prep time, etc
16 technical screens, an hour or two, let's go 90 minutes. Again, not accounting for prep or anything else - 1440 minutes, or another 24 hours.
13 coding challenges. From experience companies want you spending no more than 1 day or 8 hours on a coding challenge, so 104 hours here.
11 on-sites. At least 2 hours each, 22 hours, not accounting for travel or anything like that.
Also, I would have targeted applications to a lot less than 291 companies. I guess if I was trying to get my first job I'd be a lot less picky, but the 'ideal' company to work at can be few and far between.
I haven't really applied for jobs since getting my first - just keeping communication open with recruiters generates more than I can keep up with all the time.
Finding the company: approximate amount of time spent here is 5 seconds. You have a spreadsheet, just go to the next one on the list.
Changing the cover letter: template it with variables. Should end up being a single bash command, most of the time is locating and properly formatting company name, person of contact, and filling out a couple sentences about why you're interested. 90 seconds when you're in the flow of things, tops.
Replying to emails and the like properly counts as part of the organization for the phone and technical screens.
There's time costs for when the application process includes forms that take a bunch of time to fill out. Not because you finish ~20 minute applications, though, but a certain percentage of the ones you look at you wind up having to abort due to those barriers, so you amortize the cost in there.
If you can handle really boring repetitive work, and you're not doing much else that day, you can wind up sending out a hundred applications in a day without too much fuss. For scheduling phone screens, set up a Google Calendar and/or a youcanbook.me and let the other party pick a time that works for them. Prep for phone and technical screening has little marginal cost - mostly it'll be spending a few minutes grabbing notes on business models and tech stacks so you can look good, along with jotting down notes afterwards about follow-up and ideas to improve on.
On-site basically counts as a full day.
>Also, I would have targeted applications to a lot less than 291 companies. I guess if I was trying to get my first job I'd be a lot less picky, but the 'ideal' company to work at can be few and far between.
It's a numbers game. You want to look at as many as possible, so you can pick after you have information about them. Basically, it's probably easier to filter out companies based off of actually talking to people there, rather than going down the rabbit hole of figuring out your desiderata and researching how companies fit it.
tl;dr - the actual application process looks like it could've been done over 5 weeks, given prep work was complete. One week sending out a giant pile of applications, one week doing phone screens, technical screens, coding challenges, then just over two weeks of doing on-site interviews.
Applications can be more than just sending out resumes. The worst is when you have to deal with some crappy web site, upload your resume, then fill out a bunch of web forms with your job history, take silly tests, fill out other pages of personal information...
Regardless, I'm glad to see that developers who go to bootcamp can get phenomenal salaries. I have a few friends going through them now.
Second: Wow, programming is becoming a commodity. This is literally 1) Learn the latest trendy framework and nothing else, 2) Study to the test, 3) Interview well. Either the market will be flooded and salaries for generic JS devs will crash, or strong programmers need to find a way to differentiate themselves that cannot be copied by anyone in 2 months.
That being said, we're currently in a time where most of the "development talent" that we have actively employed are working on little more than glorified CRUD applications. The few that are working on more specialized tasks tend to be safer from such commoditization.
they are already doing that with machine learning.
Ironically his lack of experience shows itself even in the first fancy function he writes on the blog post. Would not this unnecessary if block be a red flag in a coding interview?
I am sorry to see this type of people in the industry and I am sure I would do the best to not to let such people getting hired in my teams.
This sort of hard-won experience is how you get the high salaries, you know...
It's trivial to add the if statement if it's truly necessary in the future (like if you need to evaluate the variable beyond simply whether to return true or false).
I fail to see how they prepared this student for a career in software development. Sounds like they get a Masters in technobabble.
Kind of makes me think that the market is selecting people who have someone else supporting them so they can do all this interview research. Seems backward in my opinion.
I keep hearing "interviewing is a skill too." Sure it is, but should it be? I mean, why are hiring managers looking for people who are good at pretending to know things rather than people who demonstrate real aptitude through getting things done?
I take it you've never heard of Dunning-Kruger effect.
https://en.wikipedia.org/wiki/Dunning–Kruger_effect
Or its opposite, Imposter Syndrome:
First noticed that I filtered based on salary. Most companies don't divulge salary ranges but recruiters know that up front.
Out of the 17: 2 - positions already filled before I started the process
1 - after further investigation, the technology stack didn't meet my requirements
1 - had qualification I didn't meet
10 - companies that wanted phone screens
8 - phone screens
3 - in person interviews
3 - offers
All of this in only 2-3 weeks. There is some overlap and no company out of the 17 stopped the process (submitted -> phone screen -> in person -> offer). I either stopped the process after accepting an offer, the job req was put on hold, or the position was filled when the recruiter submitted it.
Two points. First, none of the submitted resumes disappeared into a black hole because I was using a recruiter. I knew my status for each job. The second point is that I'm no one special, I know plenty of developers that had the same experience.
Someone else asked how do you keep up with all of the applications - a spreadsheet.
As for the company side, I have directly heard from many a company that they don't like dealing with recruiters because of the cost involved. But then, it seems it has become necessary to many job seekers because experience suggests that if you want a response from a company about a position you must go through a recruiter.
I've found a few recruiting "companies" that just put up a WordPress blog and the footer even says "powered by WordPress". I don't respond to those at all.
I have 26 local recruiters all from different companies in my contacts. My shortest time from starting the process to having an offer is 4 days - from a Fortune 10 company. My longest is three weeks when I was being very picky about what technology I wanted to use.
I think the most phone screens a single recruiter ever got me is two in a single week....maaaaybe three. And only one in-person interview at a time. It took a lot longer than 2-3 weeks to find the next job through them.
Also, they had many companies that were just plain old slow to schedule interviews. One in particular took two months to get around to scheduling an in-person, and I had found another job in the meantime.
Getting interviews is as much politics as it is being qualified. At the place I worked, recruiters owned their job listings and their applicants. You get paid more if you fill your jobs with your own applicants, for what I think are obvious reasons. Recruiters would only ask around for applicants if they didn't have anyone qualified for the role. So if the recruiter who interviewed you doesn't have a lot of job openings, and you are a pretty average candidate, you might not get sent out to a lot of companies, even if you are more qualified than other applicants.
On the other hand, if you have a candidate who has a great resume, you probably want to keep them for one of your own jobs as well. The candidates who got the most offers were generally candidates who had an uncommon background (and therefore would be difficult to place yourself) or who were liable to get hired before you could match them with one of your own openings. In that case you'd send an email to the other recruiters with a brief overview of the candidate (background, salary expectation, etc) and ask them if they had any openings for them.
In my experience, recruiters engaged in illegal hiring practices as well. For instance, if a company did/didn't want older individuals, you'd talk about whether they were interested in "seasoned" individuals (seasoned ostensibly being a reference to their experience) or set the experience required since college at [x] number of years, where [x] + 22 = the age of individual you were looking for. It was also well known which hiring managers wouldn't look at the resumes of women, or of individuals with "urban" names, etc.
Companies that were terrible places to work were always looking for "plodders" -- people who spent a lot of time between switching roles (4 or more years). The expectation being that they would be less likely to quit. Other companies really want people who are "climbers" -- people who tend to switch jobs or get a promotion every 18-36 months.
The candidates who got the most interviews were white males who went to a prestigious university, did internships, worked in a big-4 consulting firm for a few years, and then spent 1.5 - 3.5 years at each job after that point. They were referred to as "extremely presentable," in the sense that they almost always would interview well. Their recruiters would often send to interviews where the the hiring manager was asking for an amount below what the person was looking for though as a way of making the applicants available at a given salary look terrible in comparison. This would allow them to drive up the amount they were willing to spend and get some of the higher priced "average" candidates hired.
If you want a job, the best advice I have is to call/send emails to hiring managers at places you'd want to work, and ask them if they would be interested in a person with your background, or if they had any advice for you. Even good recruiters are mostly useful for negotiating salary (since the more money you make, the more they make), trimming the irrelevant parts out of your resume, and coaching you on how to do an interview. If you need help with the second and third points, you are probably better off paying for a career counselor, since they will have your best interests at heart. I suppose a recruiter might be a good choice if you have specific salary/benefits requirements and you aren't great at negotiating, though I've never really thought about that point since negotiation is probably my strongest skill.
[1] Recruiting accountants was the worst job I ever had. I knew nothing about accounting going in to it. Turns out I hate accounting, and talking to accountants all day was hell for me.
When you're juggling 17 job opportunities knowing that you have a good shot at a least 10 offers, you really don't have to negotiate. Between the salary offers and the recruiters willingness to throw in a signing bonus, you can let the system work for you.
No matter how good you are negotiating, if the company has a budget of $90,000 and you are looking for $130,000, you can't square that circle and you won't know a lot of the time until after you've wasted time going through the process.
Also over the past 9 years I've had four jobs. I made a mistake and contacted a recruiter from the same company where I was already working with another recruiter and she told me that I was already working with one of her coworkers. Another recruiter mentioned their "morning meetings" where they all get together to share candidates and jobs. It's in the recruiters best interest to find a candidate a job even if they aren't the account manager for a specific company, knowing that a good developer can find a job in less than two weeks.
That being said, I've always been good at writing tech resumes and I am a good interviewer.
I say as much when people try to pull that stuff on me now. There's a copy of TAOCP on the shelf for a reason, if I need to know a good algorithm, Mr. Knuth's are certainly better than mine.
I find it very unlikely the person interviewing you would "see the errors in his ways" and go "ok you are right, dumb question".
It is a human flaw that when we interview, we project. If we are really good at X, we want to deep dive on that topic. Perhaps it is important for the job. Perhaps we are just trying to show off to a candidate. Who knows.
I know I am a fullstack guy, but light on React. If the interview before me was a webdev and asked you a bunch of React questions, I could not add anything of value there. So I would poke around algos and linux and testing and CD and all of the other things I know about, to see where you fall. Not really to show off how leet my algos knowledge is... but I personally would rather hire a guy who knows big O, all things else equal.
I do doubt most jobs are so specialized you only need 1-2 frameworks, and nothing else. Knowing what memory is isn't a terrible thing to understand for any programming job...
I'd rather have this vs. the 'where did you go school' bias that finance strongly has.
If I were being interviewed I would have no problem taking advantage of any standard APIs I would expect to have available to me, which includes browser APIs if it were a front-end role. Why waste valuable interview time writing a sorting algorithm instead of just using .sort()?
"Most important"? Have fun with that. Life is too short to spend time memorizing the answers to over-the-top tech questions for some chance to work for a company no one has heard of (and isn't producing tech near the scale of interview knowledge they require).
The only part that I hesitated with was the part about getting through to real people.
After reading a post like this, not sure how hiring managers (or their team) are going to feel about getting inundated with emails from candidates. After all, that exact use case is why we have recruiting departments to begin with.
I would tweak it and say use your network to get in touch with real people. The effects of getting a million emails from candidates might be blunted a bit if they are coming from someone you actually know.
[0]: http://www.askamanager.org/2013/06/a-job-applicant-stopped-b...
If anything, assuming most companies have an 'employee referral' program, emailing a random non-recruiter may have the additional advantage that, for no cost to you, someone at that company becomes incentivized for several thousand dollars to lobby for you.
We're all "kind of" in it for the money. I have to support a full-time teacher salary for three months, administrative overhead, software/hardware licensing, curriculum development, and have enough left over to make it worthwhile to continue teaching these classes in the future. But we're all driven to fill a need that we see in the market (not enough engineers/devs available) and most of us perceive the shortcomings of traditional formal education and think we have an approach that can improve things.
As an example, I've been the lead engineer / director of engineering for the past five years and have realized that all of the junior engineers that we hire out of college generally take 2-4 months to get spun up on regular software development practices. We've got to teach them version control, team work habits, peer reviews, requirement solicitation, design document writing, etc. And all of those skills are on top of our industry-specific requirements.
I'd much rather hire someone that was passionate enough to pay for a bootcamp, wants to be an engineer, and has learned enough to start contributing fairly quickly.
And while we're going to be coaching our students on how to kick ass in interviews, we're certainly not going to advocate lying. We're going to focus on confidence, proper responses for things they don't already know about, and even get in to the "submitting your resume" process.
Don't be so cynical. Computers have only been an integral part of everyone's lives for the past 15 years or so. The entire world is trying to figure out how to train people how to be productive members of a post-labor society.
(That's a slight exaggeration to make a cynical point, but not far from the truth.)
"A less-talked about part of the bootcamper’s journey is what happens after you graduate — when you’re searching for that six-figure developer position."
"As I got more experience, I effectively “leveled up.” I became capable of completing interviews at companies with higher hiring bars. This is illustrated below as a linear correlation between the number of weeks I was into the process and the base salary I was offered."
At the same time, if I imagine the author as a (highly organized) co-worker, seeking a better salary, I have a bit more respect for the legwork he has put in (although it is highly unlikely anyone with a full time gig would have the time for it).
It remains unclear whether salary was the author's only reason to become a developer; there is only the absence of counterevidence. I would definitely feel uncomfortable hiring or working with a junior employee who attempts to "mask (their) inexperience", even during the hiring process.
I like some of your points like get through to real people. That's an incredibly important part of landing a job. However I do have an issue with the graphic at the beginning. I think it's misleading, because you shouldn't really be applying to 200+ companies. When you take that kind of approach its like you're selling yourself short (not putting your best foot forward). Its like saying "I'll take anything, just please give me a job". It's also more difficult to actually show interest in whatever company you're talking to, which is a key part of performing well and ultimately obtaining an offer. So you end up showing 8 offers from 291 applications, but I would argue that by making so many applications, you are decreasing the rate at which the applications turn into offers. I can offer a contrasting viewpoint to this job search thing. When I was in school for Physics I taught myself how to program and started focusing on Web Dev. I ended up dropping out of school and decided to become a programmer. In that initial job search I applied to three companies in SF. (Companies that I was familiar with and legitimately interested in) and got offers from all three. That was two years ago and I've since applied to two other companies in Mountain View (I'm trying to move to an ML engineer position) and received offers from both as well. And like I said I think the difference between what our bar graphs would look like is due to the fact that my applications were much more targeted and my interest and motivation in the companies was much more apparent.
The fallacy that "programming" is just learning tools and syntax and processes has unsurprisingly led to an expectation that, in continuing fashion, one can just run through a defined routine and get a solution.
In short, the whole thing is misunderstood, and thus the approach is all wrong.
Whether in IT or business (or life in general), opportunity is more easily gained through human interaction - networking (but substantive, not superficial).
Go to meetups on a particular language or stack or tool. Become involved in open source projects or communities that are centered around some shared interest. Get to know people, and let them see who you are. Then the jobs will come to you.
Do you just walk in and say "Yeah, I don't think this is going to work but I came here just for the hell and experience of it." This feels like a shitty thing to do, it feels even more shitty to walk in like you really want the job when you're mostly there for the practice.
More seriously, most people are scared of changing jobs and hate the application process, to their own peril. If you could really own this whole process you'd win on every level.
It's been a while since I looked at it, but I've recommended it to people as one of the better sources of actually free content, and not just upsells, and would like to know if that's not the case anymore.
I'd be dealing with business acquisition people instead of a role-mailbox in HR that's piped to /dev/null anyway.
I don't really want to move to CA and certainly can't afford it without a huge hit in the standard of living. However... if someone bought goofy-idea-by-vlm.com for two or three million bucks and an aquihire job in CA, then I still don't want to move there, but at least I could afford it if I absolutely had to.
Err.. Ultimately you need to be able to DO the job...
:|
I don't care if you're from a dev bootcamp or an Ivy League school. I care if you care about your craft.
Experience is really hard to quantify, hence the programming tests. They are a crude way to standardized the measurements.
But care for your craft comes through right away. I'd ask them about the stuff they are interested in within their domain, then dig a little deeper to see if they have a strong grasp of what they are talking about. Sometimes I'd debate with them.
I also find that the best engineers I've ever met came from a variety of countries. They turned out to be amazing team members to work with as well. Once you're no longer just looking at US schools and US dev bootcamps, you get amazing selection.
Speaking from an applicant's perspective:
Heck yea, study up no matter how trivial you think it is or how it belittles your years of experience. Remember that this crude method is not an accurate measure of the hiring company's potential or yours. It's just a filtering mechanism for both sides to start a dialog.
1) free healthcare
2) free education for you and your children
3) better work/life balance*
4) better overall life quality*
Sum that up and you shouldn't feel that bad after all.
*unless you live in London or other overcrowded city, but you've mentioned you live in your own house, so that's probably not the case.
Making scads of money in SF is (or can be) kind of like getting constant blood transfusions so you don't bleed out. It doesn't necessarily translate to a great quality of life.
I hate being used for interview practice. Don't apply to work for me unless you're intending to accept an offer.
Managing the process wasn't too hard. I simply kept a spreadsheet updated with contacts as rows, and columns with dates for every step of the process including first contact, second contact, phone interview (s), coding challenges, on-site interviews.
However, you're right when you say "once you hit the 20 applications mark, it's impossible to know to which companies you applied for." Early on in my application process, I wasn't applying to nearly enough places, because I wanted to hear back from someone before moving on to the next. A good friend of mine gave me the advice "You should be reaching out to so many people, that when you get a response, you'll need to go back to research who it was from." It's a weird mode to operate in, but once you realize that as a new-ish dev the process of getting a job is very much a funnel like the one in this post, it's a strategy that makes a lot of sense.
I would highly recommend anyone looking for a job to follow the advice in this article, it matches very closely with my experience. Especially resonant were the points about making contact with real humans, and also to push tons of companies into the pipeline.
No seriously, that's what they were using at HR when I graduated.
To your point, any small typing mistake or mouse movements shouldn't be judged. Interviewers know you will be nervous during the interview. If they are discrediting candidates over that, they shouldn't be interviewing.
I was rejected with almost no feedback from a company this month. I feel I solved their live coding thing correctly using a recursive approach. However, I was told they didn't like my coding style, so they didn't move me forward. They also said I moved the mouse too much.
That being said, tech interviewing in almost all current forms sucks and we need a better method. As has been said for years now.
Mark Baum: I don't get it. Why are they confessing? Danny Moses: They're not confessing. Porter Collins: They're bragging.