To me a decent junior should be able to build a basic Hacker News.
There are a lot out there who have never done so much as make a web page with more than copy/pasted Jquery and expect to get jobs.
On the flip side, self taught coders can do pretty much anything with bad form. Although even at my job I find myself doing things with bad form unless the task requires it to be written well.
I have never really had the opportunity to work with experienced developers for a long period of time (at least not experienced with the work I was doing) so for all I knew I am doing all sorts of things with bad form.
In what time period? With what features? With what non functional requirements? Show me a senior who can!
I have a better test for evaluating anyone's skills:
Write a function that puts Strings in an array. Then write another function that goes searching for a string in an array.
Write a unit test to confirm your code is working. Explain what happens to the performance of our code if we can guarantee our array is sorted.
If they can past this test, you're already better than most candidates in my eyes, and it takes about 10 mins to find out.
If you know enough about a web framework to get it going, use it to complete a specific set of tasks, and get it deployed with a database, it would put you ahead of a heck of a lot of grads that I know.
I wasn't suggesting this as an interview question, but more a self check for juniors. Can you actually bring something end to end? Yours works better in an interview setting, although it seems fairly trivial.
fn put_string(array: &mut Vec<String>, input: String) {
array.push(input)
}
fn find_string(array: &[String], input: &str) -> Option<usize> {
for i in 0..array.len() {
if &array[i] == input {
return Some(i);
}
}
None
// or perhaps more idiomatically:
// array.iter().position(|s| s.as_str() == input)
}
#[test]
fn test_find_string() {
let mut array = vec![];
put_string(&mut array, “foo”.to_string());
put_string(&mut array, “bar”.to_string());
assert_eq!(find_string(&array, “foo”), Some(0));
assert_eq!(find_string(&array, “bar”), Some(1));
assert_eq!(find_string(&array, “quux”), None);
}
If our array is sorted, the performance of the function should improve due to better branch prediction. But we’d be better of rewriting it as binary search in that case.What kind of salary are you offering?
I finished undergrad last May and had multiple offers to choose from well before I even graduated. Maybe covid has slowed hiring since, though.
Also - I'm talking about last year, not now.
But I am recently out of college and have not even passed resume screen by a few companies despite referral, credentials, etc.
Having said that, there’s a contradiction in claiming that college grads can’t find jobs while suggesting that a company offering six figures can’t find people because of comp.
Never said that - but if you had answered $50k, I probably would have!
I'm surprised you are having trouble hiring people - but perhaps if you are in the Bay and hiring new grads, they might be surprised when it is in the low $100ks.
I don’t believe that given how hot the market is right now. If anyone is having real trouble, then they are either being selective (won’t move to a big city, have high demands, etc), OR something is wrong. Maybe their resume is terrible, maybe they are bad at interviews, etc.
But I have to apply to 20-30 companies to get 1 interview, so there is clearly a problem at the resume-screening stage for new grads.
Have to find a way to get past the HR screen until you have experience. Somethings that work: go to meetups. Often times the hiring manager or a tech team member is there and you can meet them directly. Apply at startups that don’t have a recruiting department yet. Email the tech team directly if you can figure out who they are.
I busted ass to get a single job; how is "only" 4 offers not amazing?
I for example didn't graduate for hs and college, and yet, I managed to get to a place in life which my younger self would have classified as "wild ly successful."
However, everyone (including me) always wants more, and massively takes for granted their current situation. So I get it, but keep your head down and keep on climbing!
Not to say that everyone can simply walk in to these jobs (and they shouldn't!), but if a graduating CS major cannot find any decent software job today I'd be more inclined to suspect their skills than the industry itself.
I'm profiting 100k/yr in the Midwest, and it's a junior-ish position.
Could be worse, could be Tesla 90k/yr revenue.
If you can get a mortgage, I imagine it's even better.
I’d argue the $200k compensation in Texas is on par with the $300k compensation in SV after everything is said and done.
Because no one is going to hire a junior developer to work remote. The job market isn't especially hot, it's just temporarily distorted in a way that favors more experienced developers.
I think it’s that if you have zero experience, you are a huge unknown. Anything more and work abounds.
Senior has all but lost its meaning too... It describes how long you've been in the industry, not if you have the skills to be a technical leader, etc.
At larger corps when a senior leaves, you're often given budget to re-hire a senior, so there is no incentive to hire a junior/entry level. A lot of companies don't even have pathways from internships to entry-level positions. They just let them finish their internship and say "good luck"
This is a problem for diversity as well. Look at the makeup of the seniors in the industry. Now look at the junior/entry level folks coming out of master programs, colleges and boot camps.
Most non giant companies don’t have good processes for on boarding engineers so it’s mostly yolo. They want engineers to be productive very quickly. Someone just out of college will likely not have the skills required to drive projects on their own to completion without help/supervision.
Bigger companies have pretty great onboarding tools and processes and dev tools that abstract most complex things away, allowing developers to become productive rapidly. I think of them as factories that can extract the most value out of new grads.
I say this as someone who was a junior not that long ago, but of course my experience is anecdotal so take it with a pinch of salt.
But it's not always that easy. If you're a small company still looking for product-market fit or doing a fair bit of greenfield development, there's just not much work for a junior dev to do. These companies aren't all stupid or lazy or discriminating against new grads for some reason.
It's the same reason estimates are hard - we're building brand new things that we've never built before and a lot of the work is in the design. Junior devs need to be told what to do. The architects/senior devs become a huge bottleneck because they can only design so much stuff at once, so until you can find more of them you can't hire more junior devs because there's not going to be anything for them to do. Until you get to a point where you're doing repeatable work or your design/architecture is solidified enough to keep people on the guard rails, there's just not a ton of work for a junior dev to do.
Finally, you also have the issue that a lot of devs don't want to get into any kind of management but they want to be managed by technical people. You end up with a shortage of decent managers (where "decent" means both someone who's ok at the job of management and is acceptable to the team).
If we had more work to give to junior devs we'd happily hire them - they are so much cheaper!
And one other contributing factor is a lack of unions. Say what you will about seniority-based comp/perks, they do make people stay in one job for longer, which makes it more worthwhile to invest in a junior dev.
This is so crazy to me. IME if you break even on an intern, not including pay, you’re very lucky. In other words if the code or whatever you get out of an intern equals in value the amount of time your regular staff invests in the intern. In most cases it’s negative and you have to pay them on top of that—-plus events and so on.
If you aren’t using internships as a recruiting tool I have no idea why you’d bother.
Engineering was more rewarding than software, but software pays better.
I do engineering in my personal projects now.