Ask HN: Advice for applying to Junior Software Engineering roles?
Hi HN. Do you have any advice for applying to Junior Software Engineering roles? How to get through the automated resume screening, does having projects on GitHub help, etc?
I hear the job market is "hot," but is that true of entry positions too?
I'm a self-taught programmer who recently decided to finish my bachelor's degree in Computer Science. I'll be finishing in a month or so, and I'm trying to do some planning in advance.
I guess what I'm asking is: If you were fresh out of college, how would *you* go about getting a job?
If anyone is curious about the weird graduation time, I go to wgu.edu, and they let you accelerate through the classes as fast as you can go. I recommend it.
60 comments
[ 15.7 ms ] story [ 139 ms ] threadFor the other points: Firstly, I would say personalizing your application for the role you are applying for really helps. Sometimes students fresh out of college mention a ton of skills on their resumes that they only have an idea about. That wouldn't really help unless you can really contribute. Write only those skills that you're confident about and have some projects to back your claims.
Secondly, connect with people within the company that you're applying for - they needn't be the direct hiring manager but anyone who can give you some reference, some insights would really help you get an edge over the other candidates. You can find folks on LinkedIn, Twitter or other public platforms to connect.
Hope this helps and good luck for your search!
I'd be really concerned the decision maker would not consider this proactive but rather creepy
Edit:
https://hackerx.org/ for hiring events and networking
If I was you I would apply to internships right now to a lot of companies as a college student. It might be too late if you're about to graduate.
Internships are the easiest way into a company as a junior. You intern somewhere for a summer between junior and senior year, if they like you, you might get an offer when senior year ends. You seem past that, but can apply any how.
One thing, if you're considering getting an MSCS, is say you want an internship between the BS and MS. Even if you wind up not doing the MSCS, you'll have some experience under your belt. If you decide to not do an MSCS while interning, you can apply to other companies while interning, and if you get an offer tell the company you're interning with that you will postpone or not get your MSCS and that you got an offer and will not being going back to school right after the internship - you might wind up getting two offers (the company you applied to while interning, and the company you're interning at). You can be candid during the internship application right off the bat that you're applying for an internship between a BSCS and MSCS, but also have in the back of your mind that you might jump into a career after the BSCS and there is the possibility you might postpone the MSCS.
You can apply as a junior as well alongside this. The main thing is getting some offers and getting your foot in the door.
make it easy for companies to hire you by making connections with people. im now in a position where i'm interviewing people for open positions here, and it is not a fun task (especially for entry level jobs). if someone can show up, demonstrate some level of competence, and an enthusiasm for learning, it is such an advantage over the faceless resume-senders.
some technical advice would be to demonstrate your understanding of the underlying tech of whatever popular framework, library, etc. the company you're applying to is looking for now - its important, and Sr. devs will appreciate it more than you think (especially if you're self-taught).
I’m a self taught dev currently working in IT for a federal agency and going to school at the same time. I got this far in IT as self taught and I’ve really enjoyed the experience of learning through challenges. I’m trying to get in Software the same way to grow from within. I am very resourceful and I am used to learning on my own, so I am convinced that I will take off with just a bit of mentoring.
Load your CV with the targeted keywords and phrases that fit the job posting and your skill set.
Your next challenge will be interviewing well.
I think our civilization being so debt-centric has enabled forms of businesses that otherwise would crumble from systemic dysfunction, thus these businesses are desperate for workers who actually provide value yet some of these workers are figuring out that these positions aren't worth the psychological agony.
Look at research institutes/universities in the area, for me that was; UCSC, UCB, Lawrence Berkeley Labs, Stanford...
2. show code on github, sure, but if you can demo the work deployed somewhere it goes much further. everyone has a crypto tracking or twitter sentiment project somewhere, but i need more. if you can deploy the work somewhere in a smart way, great. if you can communicate well, great. a project with a 2-5 minute video tells me a lot more than code alone (which anyone can do with a tutorial).
3. demonstrate that you are easy to work with and that you are willing to learn. if a candidate has enough code or work on their resume, that is great, but a good cultural fit goes a long way.
yes.
My advice ( valid in the pre-covid era )
- Check the local tech meetups ( https://www.meetup.com )
- Give a presentation.
- In the last side .. add some indirect info about your job search.
- go with an after party - and make a personal connections.. ( and ask advice )
Things that github projects tell me:
You are interested in the industry You have have to work with other people You know how to code (or not, depending on the code!) You have already learned various things about the industry that you mostly don't learn in college.
Don't do stuff for the sake of it, like fake projects or whatever but find something interesting and get stuck in. Someone who blogs or attends the local events etc. are all things that say that you are interesting.
Next, you should generally come across well in the interview and this can be hard because it will depend on the industry/company as to what they are looking for so be confident but don't be fake. Don't think we are not interested because you are a new graduate, if we cared about that, we wouldn't be talking. Think about what you are interested in, what has gone well, what hasn't. Why do you want to work here? What are your unique selling points over the possibly hundreds of other applicants?
If you can network the old fashioned way, then you have a really powerful tool in your arsenal that can potentially blow away all the hours you'd spend finding jobs the online/millennial way.
What it's all about is social proof. Merely showing up to some sort of technical meetup gives you more social proof than otherwise because it means you are at least interested in the work beyond the money making level. Give a presentation, no matter how shitty, and you are even more passionate than average. Talk to people and bring up "war stories", and you are relatable and you may even come off as smarter than you really are. If you can hang out with attendees afterwards at an after party or at a bar, people can know you're cool to be around at a personal level.
Right now this will still hard to pull off properly because of the disease and all the mask wearing, but I foresee this strategy making a big comeback in the near future. It's not that you can't do it now, but I think there will be a hunger for this kind of interaction, and that's going to lead to the judgment of people in charge of hiring being compromised (in a good way). The "metaverse" and Zoom calls don't cut it in the face of the sort of one-on-one interactions you get with real networking.
* As some have said getting an internship is the easiest way to get an entry level job.
* If you are having trouble getting interviews, try to get referrals. Rely on your network, or don't hesitate to cold message people asking for help. Most people will be happy to help after a cursory check.
* Most people hate leetcode style interviews, but with no experience you can make it work in your advantage. Learn to "play the game" to stack the odds in your favour.
There are lots of jobs out there, and lots of people will tell you that you need to join a FAANG as a junior on $150k to be successful. That isn't true unless working for a FAANG on $150k is your definition of success. Figure out your criteria (where do you want to live, what hours do you want to work, how much is your ideal baseline salary and how much will you sacrifice for equity lottery tokens or bonuses, what kind of work do you want to do, etc) and don't compromise on them too much.
You're about to go into an in-demand industry with a skill that people want. You are in control. You don't need to settle for the first role that's offered if you don't like it, but you're probably not some sort of genius 100x dev who can demand whatever they want either. Stay grounded, but be ambitious. You're starting out on a pretty exciting journey. Good luck.
Not in my experience, based on talking to quite a few newer devs. There are a ton of folks out there.
My advice is:
How can you determine which companies to target? I don't know you so can't give direct advice, but generally, find companies that are: Then, research these companies and learn about them. Play with their product. Read about the sector and competitors. If you can, build something that is using their product. Yes, this is a lot more work than just firing off a resume, but it will have a higher ROI too.Then use this to stand out. Here's an incomplete list of ways to stand out:
When you apply at the company, make sure you tune your cover letter and resume to outline how you stand out.Of course, the pre-requisite is that you can code. Make sure you can do that first.
To do this, you've got to be willing to take some risks, too. My additions to the above would be:
Show enthusiasm for the specific role and even industry that you're applying for. Don't just say that your goal is to be a successful software engineer, say that you're aiming to be able to develop UIs for large-scale ecommerce systems (or whatever, as the case may be). As a hiring manager, I want to know that you'll be interested and not just using us as a brief temporary stopover to fortify your resume.
When you're doing an interview, particularly the tech part, there will probably be many questions you can't answer. Don't just say "sorry, I don't know". I mean, do tell them that. But then go on to think out loud, trying to work out for yourself what the answer might be. That's going to demonstrate to me that (a) you're up for pursuing a problem rather than just giving up, and (b) it'll show me that even if you have a specific gap in your knowledge, you've got a sound foundation to build on.
Anyways, I always felt that what helped me get jobs was my personal projects and extracurricular activities. Anyone can sit through a few classes and pass some tests (OK, maybe not everyone), but not everyone can prove that they can actually, y'know, DO stuff. I feel it shows a certain level of interest and knowledge that can set you apart from other recent grads.
If it feels like you’ve copied and pasted some mess of tech buzzwords and addressed it to “dear hiring manager” (I get this a lot), then it’s going straight in the bin. Ideally, I’d like to see:
Hi <my actual first name>,
I’m a junior developer trying to break into the industry. I studied x at y, and I’m super interested in <some specific technical thing>. I’m hard-working and I love to learn. Are you available for a chat about this?
Regards,
<your name>
I'm asking this to showcase a problem I'm having right now while job searching (not at the junior level).
Basically I'm trying to get in touch with companies directly, in the UK, and not through external recruiters, but I just can't seem to find an email of someone that does hiring.
I go to LikedIn and search for the company, there is no contact email there, I browse through the people list, everybody there has InMail disabled so I can't message them (unless I pay for a recruiter account). Then I visit their website, they have only a generic contact@ or hello@ email there, if any. With that I message them and they disregard what I wrote and tell me to apply for the already open positions through their 3rd party apps (lever, greenhouse etc).
Basically if I wanted to ask a few questions before formally applying I'd have no way of doing it. From the 40+ companies I tried to approach this way I have found only 3 people on LikedIn with InMail disabled that replied back, two "careers@" emails that even bothered to reply and exactly 0 emails of a person (hiring manager or equivalent) anywhere...
This comes from someone at the senior level, who's not affraid of "cold emailing" around and insisting until I get a human on the other side of the chat.
My point is, if you want peole to mesaage you please make sure they have a way to do it, and actually reply.
hunter.io
GitHub commit histories (although I think this might be against the TOS)
It's also worth teaching out to folks in your network to ask for intros to specific companies. An intro to a non-hiring-manager at a company can be more fruitful than a cold email to a hiring manager.
Given that my name is in the email address, it's that much more egregious when I'm not addressed by name in an introductory email.
I recognise that hiring works differently for everyone, and unfortunately the process is painful in many (probably most) instances. That's not something I can change, but I can at least try to make it work sensibly for my own company.
[0]: https://news.ycombinator.com/item?id=28722397
> How to get through the automated resume screening, does having projects on GitHub help, etc?
It definitely does, though I would recommend not putting school projects on your resume, at least projects where everyone in the class was doing the same thing. I can't tell you how many people I interviewed who put the same Handwriting Recognition project on their resume, only for me to hear that they basically just followed what the teacher told them.
However, if you can really geek out about a personal project, talking about technical details and what you had to figure out to make it work, that goes a long way, degree or not.
P.S. I recently finished the WGU Bachelors in CS as well...congrats on making it this far, and if you're planning this far ahead for a career I am confident you'll make it in the job market. If you need any help in the future feel free to email me, address in HN profile.
Some will find it sleazy and there is going to be at least one person who replies to this with some version of "I hate this behaviour", but plenty will happily throw you into the HR system as we get a reward for referring you to the company. At my past company, every single person who asked for a referral from me got one.
Don't target senior people with this. Go for those who are mid level. People who have opinions that count, but are not pressed for time and are not being overwhelmed by other people trying the same strategy. SDE IIs.
A referral, at least everywhere I have worked, has guaranteed human review and often lets you make a short case for why the person should be interviewed.
A referral can't guarantee anything else, but it can usually guarantee a set of human eyes. After that, it is up to you.
Contact my schools career services, and make sure I was available for all interviews during career fairs.
For concrete advice, drill those idiotic interview questions. People use them because who knows.. being able to solve everything is impressive. For take homes do a good job on the cleanliness aspect, write tests..
Pick one language and get decent at it. Be it python, js or C++. Be able to solve basic stuff on the HackerRank etc using that language.
Once companies reach a certain size (30 people?) someone will have HR in their title, find that person on LinkedIn and add them and then just tell them you’re looking for an in-person junior role once they accept. Below that size find the CTO or CEO and do the same.
Good companies will have a take home coding challenge that models real work. When you get one try and return it within 3 business days.
If you’re in Chicago or open to moving, I’m hiring juniors, details are in my profile.
The summary of my advice is:
* Don't "spray and pray" your application, but look for companies that fit your tech preferences and specifically hire for junior devs.
* Prepare for the interview process. That can be as easy as asking the recruiter what questions you can expect in the interview (often they spill the beans without thinking)
* Build, build, build. The best way to show them you can in fact deliver is by having at least one up-and-running side project, the code on Github, etc. Give them something to look at even if you think it's not terribly impressive.
[0] https://andreschweighofer.com/career/how-to-get-the-right-jo...
When I've reviewed applicants for junior roles, some demonstration that they can code in a relevant domain made a big difference.
Too many people can talk themselves up and/or repeat nice-sounding things from their classes better than they can do basic coding.
Leetcode and hackerrank all the problems now that university is fresh in your mind. Do some programming competitions.
Get a job at Google, Microsoft, Amazon, etc. Work there 2 years. See this as your "real world" M.Sc. degree.
Then move on to whatever interests you. A M.Sc. or PhD or some other job.
In my opinion you should try to apply to as many jobs as possible every day and by as many as possible I mean 15-20. Dont bother with a cover letter I never got a interview for any of the applications where I wrote a cover letter and demonstrated “interest and value” like you’ll read online.
I also recommend that even though it sounds like you’re in your last year you should also apply to internships at the big tech companies. I applied to around 140 companies in my senior year and got rejected by all the full time positions but got accepted into a FANG internship after I graduated its the best way to get into a FANG (if thats your goal).
The other thing I recommend is focusing on leetcode as much as possible.
Also for new grad positions they are mostly looking for keywords relating to the languages they mention in the job posting to be explicitly in your resume. I recommend taking some time to use some standard resume format and make sure your resume is written with bullets that are in the “i accomplished x as measured by Y by doing Z” format. Make sure whatever you say in Z matches the keywords in the job postings you are applying to. Also a small tip is that if you apply in the morning it does seem more likely that a human will read your resume.
Also one other thing I will add, referrals really do make a difference. My friend was a low level IT contractor at a FANG and he gave me a referral and out of 10 applications only the one he referred me for ended up getting an interview for me.
As for interviewing, beyond the basics of showing that you have some relevant skill/experience, there are two key things to convey:
1. Your enthusiasm for the company itself (its product/service/industry, etc).
2. Your enthusiasm for the role itself (specific application/service/technologies, teammates, etc).
You want to convey that you are excited, motivated, and "coachable" in areas where you're lacking. The best "hack" here is to look for companies and roles that you are genuinely excited about.
Be as blunt as you have to in conveying these points. Don't expect interviewers to be good at reading your signals. If you have to, just flatly state that you are excited, motivated, eager to learn, etc. to every person you talk to.
Don't overdo it but make sure this is successfully conveyed.
People are much more likely to hire someone if they seem like they'll add energy to the team. Even in cases where their skills/experience alone don't necessarily justify the hire.
People would much rather work with someone mediocre who is pleasant than someone very talented but who brings everyone down, this is especially true for junior positions where you're expected to not be very good... so as unfair as it is make sure you come off as charismatic in your interview