Hi dev community - I have not yet posted a #discuss type question here, so apologies in advance if this is too common of a question/too long. I know the market is saturated with coding bootcamp grads, and the 'blog market' is saturated with posts about bootcamp grads. I know it's very hard to get one of the most coveted, competitive, and high-paying jobs after taking only a 3 month course. And of course I know this is an unprecedented and horrible global pandemic economy.
All of that being said - I'm really struggling, and these problems have been around for bootcamps grads for years now. I've read a lot of blogs. I've done a ton of networking. Gotten good advice. And I generally feel like I just have to do something else major now - like get some kind of further online degree/certificate? I'm not sure, but it seems like employers see '3 month bootcamp' grad and throw the resume in the trash before it even gets to their inbox. I'm not trying to be lazy and say I'm owed anything after an objectively short time - I just don't know what else to do to show that I'm serious and that I love coding and I want to learn as much as possible. And it seems like everything I could do now to try and get more experience/demonstrate my skills - personal projects, hackathons, contributing to open source, freelancing, unpaid internships - might just be further exhausting myself with nothing tangible to show for it.
Again I am really not trying to hustle or cheat my way into something I am not qualified for. I am willing to put in the work. I also am interested in doing something like an online master's degree in computer science, truly genuinely for my own personal interest, but it seems like a risky further move into debt that may or may not even help me get a real job.
A lot of the advice for struggling junior dev job seekers right now is 'just keep pushing along!' i.e. applying, networking, etc. I am not knocking that advice - and I will certainly keep applying, working on my personal projects, doing whatever self-taught learning that I can. But I am starting to wonder if I can/should do something that is more of a major change. Thank you!
Top comments (34)
This is a very difficult, and very typical situation— I think especially because companies are likely not hiring in an entirely normal way during the pandemic— even if experienced developers are probably doing fine. And traditional networking is really throttled.
If I were you I'd think this way: Don't think it's one more qualification you're looking for. Consider maybe reframing some of your experience, maybe seek out any kind of paid work to plop on your resumé and call it "freelance web development" but all the while just keep pounding the rock on the job front and eventually the rock will crack. Don't treat rejection as anything more than random circumstance. Not even random, but somewhat a game of chance either way.
I wrote a post a little while ago expanding on my thoughts on this subject.
Embrace How Random the Programming Interview Is
Ben Halpern ・ Mar 4 '17 ・ 2 min read
Thank you so much for this :) I enjoyed this article too. It definitely helps to keep in mind how random it all is. Makes it less personal. People who had interviews they thought went perfectly not getting the job, people who thought they bombed getting the offer. My biggest surprise has been struggling to even get the interviews. So I think I will focus on something like adding more freelance to my resume... something to get my resume past the ATS :/
Treat the process as mechanically as possible. Spreadsheets, strategies, tactics, etc.
At this point anything is better than nothing. If you find an opportunity you're not sure about, consider saying yes and be open to leaving for something else in the near future after that.
Being on the other side of the hump is important. The ongoing need to keep learning never stops, but the opportunities will increase with experience (both resumé experience and just the experience itself which will help put things in perspective for the next time you're looking.)
Consider reaching out far and wide even to places that are not actively looking. Convince them you are the passionate technologist they knew they wanted but haven't gotten around to putting up a listing for.
And here are some thoughts about your "positioning" as a candidate and first impressions, which I would hope would absolutely not be a thing, but as a candidate you probably find every way to "play the game" even if the game is stupid.
Your Linkedin bio starts with...
And in some way I feel like it makes you come off as a little more "beginner" than you need to. (It should be fine to present this way, but to get your foot in the door sometimes it helps to re-position yourself).
What about something along the lines of...
When I read your paragraph, LSAT definitely stood out as a pseudo-qualification into complex logic work, and I don't know if you give yourself enough credit. So did "Investment Management Summer Analyst at Goldman Sachs". My "Investment Analyst/Pre-law" phrase might not be accurate, but whatever the accurate statement to get the point across that you have a background in some of this stuff will help a lot.
And one last thought:
I think "speaker"-looking profile pics tend to make for good impressions in this craft. I googled "software engineer speaker" and pulled this picture...
Without any extra context, that person just sort of seems hireable.
Within our org we go to great lengths to keep evaluations fairly blind and to limit the discussions evaluators have with one another to avoid falling into just looking at LinkedIn profiles and getting a quick first impressions, but I don't have a lot of faith that the industry does this in general.
Anyway, just concrete thoughts. Things will ultimately work out if you persevere, but there are some things that could speed things up. Some candidates are really good at "playing the game" and get jobs they are not qualified for. You as a thoughtful programmer who already has a bunch of accomplishments including top 7 on DEV, could stand to position yourself to get every advantage you can.
Ben, thank you SO much for your comments. I am constantly amazed by the dev community overall and especially the personal involvement that the creators have. It is truly unique, reassuring, motivating.
These are all clear and actionable pieces of advice - which is surprisingly rare these days and I really appreciate it. I.e. a lot of people say "work on your bio" but don't take the time to look at it or offer anything specific.
I definitely struggle most with "playing the game" - from imposter syndrome and never wanting to feel dishonest - but I think I'm getting better with it, and obviously always challenging my beliefs about honesty and positive framing being exclusive.
Just a side note, but having successful posts on here/top 7 are still some of my favorite accomplishments and most reassuring, tangible things I can look back on when I'm feeling down about myself and qualifications. I definitely owe that to my bootcamp - blog posts are a requirement and my instructor recommended we use dev. I remember thinking I would hate writing blog posts. I thought I'd have no idea how to fill a page with my own thoughts about tech lol. But dev has showed me how easy/fun it can be to write about something you're truly passionate about, and how reassuring it is to have complete strangers from all over the world respond positively.
Anyway, thank you for the existence of DEV and of course for these specific comments :)
Keep at it, you got this! 💪
Can you use your coding experience to get a "fancier" version of your previous job?
I "came up from the mailroom" being in a series of not-officially-a-programmer roles pertaining to data entry and clicking buttons configuring departmental systems for even-less-technical peers. Don't knock "typing fast" as a way to get into tech while getting paid. Look for the word "database" but not "SQL." Usually that's data entry and system configuration.
Also, some people manage to do this through help desk and call center roles. Folks with A/V experience like recording church music often do on-prem tech support.
Like...cloud companies along the lines of Squarespace often need people who can "web" to be stationed at the chat. I have a friend who works for an alarm company and has picked up tech skills.
And universities need in-person help and a lot of help doing "course building" putting syllabi online for professors right now.
Writing to say refresh -- I edited and added a few ideas.
Sylvia -- you're probably familiar with Tori's story, I presume, because you both came out of Flatiron. She has a post on here about taking 444 days to land her offer at a seemingly amazing company.
I read a lot of these stories both here and on Reddit. That said, it's really easy to be hard on oneself -- I'm one of those people. I am constantly battling imposter syndrome, despite being a "senior software engineer" whose peers always think actually studied computer science -- I did not (at least not in school).
Reading stories help, even if it only eases one's mind in the moment, until you're right back into the thick of the hunt. But I'll share something that maybe you haven't yet come across -- both junior, new CS grads, and experienced devs are in the same boat. I mentor a lot (inner city kids) and have helped other bootcamp friends land offers in the past. I currently work with two friends doing interview prep -- one is a recent Hack Reactor grad and another who (also a Hack Reactor grad), but has a masters in electrical-engineering and computer science from UPenn with a strong math background, and former manager at Lockheed Martin. Both are facing hurdles, albeit, slightly different ones. The former (recent grad) is with pipeline, but we managed to get her to an Amazon on-site (didn't pass). The latter, non-pipeline issues, but more on the communication front while interviewing for both managerial and individual contributor roles.
It's also hard not to think about it in the context of signals -- the brand-name school and prior experience. This is a trap, especially in software engineering. I know this, because, I, too, come from a top university. I do recognize that signaling matters -- only to the extent that we get far more looks, but that's it. Beyond that, a display of technical ability is required (controlling for other inherent biases). I speak from the perspective of a person that's been an interviewee, interviewer, and having worked on an applicant tracking system (ATS) in recruiting software and seeing candid feedback from recruiters (it's not nice).
For those that have spent time in school, we always think that more school helps. It's a heavy investment that likely isn't worth the while when keeping the immediate goal in mind. I know people that have done a masters in CS after a bootcamp, as well as others that have not. If the goal is to land a software gig, my quick opinion is that it doesn't help. I have friends at all the Big N companies (Facebook, Amazon, Apple, Netflix, Google, AirBnB) with non-traditional and non-elite school backgrounds. The masters, from the few that I've spoke with, helped propel them into research in CS (one friend currently finishing up a PhD), or getting into machine learning/AI, where the degree signaling seems to still matter, despite not really needing it in practice. I care a lot about education as well, so I see graduate educations as a way to really do a deep dive into a particular subject/topic has the conviction to explore and less as a tool to signal, "hire me, I'm good enough!"
Lastly, for fear of this being too long. I don't want to suggest any advice that you're already familiar with without asking where you feel the issues are -- is it the pipeline (getting enough calls w/ recruiters), getting past the technical phone screen, or getting past the (virtual) on-sites? I have ideas for each of them that you may or may not have heard being so close to the ground. My current company (where I've been since April) is about to open up new positions (mostly senior), and I notice that you're in SF (where I am), but I can at least disclose somewhat how my interview went when I landed the role. You're doing a lot of the right things already. I've look at your GitHub -- one of the few people that do for a few signals that I care about as demonstrations of things people typically only claim.
Feel free to message me directly
One of my problems is timed algorithm test, such as by hackerrank. You have to pass it to be considered for next step for some company, of course... it's cheap. They don't need to spend a single minute on you, but you need to spend at least 2 hours. In the projects I do, I really don't see those used much... I don't mind studying some CS stuff as they can help general logical problem solving thinking, but I tend to forget them if I don't use them, such as practice I wrote here ... I also bought that huge green brick Cracking the Code Interview which I still haven't finished...I often feel the projects I built said enough about me but surprisingly not many really check that. Do I need to continue DS and ALGO until I can ace those tests?
Appreciate your response, Annie -- when I was searching for work for the first time. I used to waste endless energy thinking about the same things that you did, rationalizing them even, and selectively finding people that were "successful" to reinforce them.
I was lucky enough to land two of my first roles barely knowing data structures and algorithms. I was a "front-end" developer with a strong HTML and CSS and decent JavaScript background. You're not wrong -- what you describe gets you in the door, but doing the same thing for year after year if relegated to client-side JS where things change fast and flame wars over frameworks are a staple, it gets old really really fast (at least for me it did). I ended up having to peel back the covers of several libraries, patch the issue, push it upstream to the original maintainers. This gave me a taste of what seemed "cool" and I recall how nice reading code from a well-maintained library on GitHub was compared to the code written at most companies internally and said, "Wow! I wanna do this!"
I began just poking around into other source code available on GitHub for libraries I've used and it made me realize how apparent my lack of fundamentals was. It wasn't enough to push me to study some CS like you did, though. I finally swallowed the pill when I was trying to switch roles -- I was targeting big tech companies (prestige, pay, and hopefully talented people). I read up a lot on how to prepare for them and had to come face to face with what you're feeling now with regard to HackerRank and phone screens. I ended up taking a highly recommended algorithms course (the one by Sedgewick and Wayne) on Coursera -- eye opening experience. I remember seeing words that I've seen before and going, "Oh! Oh! Oh!". I took many other courses and watched countless YouTube videos when I was practicing problems on LeetCode (~150 problems). It was downright grueling and difficult. It wasn't all bad though, because some of the problems were very realistic and they absolutely challenged the hell out of me...
Have I ever used them in everyday work? No. I can't say that I have. I have used recursion many times and here are a few examples: parsing JSON from an API and navigating its nested structure to convert them back into "domain objects" (i.e. JSON representing a person) back into an actual person object with methods and all. Instead of writing custom parsing code for every type of entity or resource that could be returned from the API, I wrote a general recursive parser, and all it needed to be fed were a list/array of fields/nested fields that needed to be parsed. Secondly, I wasn't aware while studying data structures and algorithms how useful they actually were -- more than people know. A side-effect is: I cannot NOT think about performance implications of even the smallest bit of code that I write or that anyone else writes. It is immediately obvious to me when people do repeated work and what its algorithmic complexity is in big-O notation. It is immediately obvious to me when I see nested for loops and the performance implications this could have if the data set each of those loops is going through is too large -- I experienced this first hand when a coworker had three loops across three different data sets requesting over hundreds of thousands of records in each across three different tables (M x N x K). It exceeded the storage (memory capacity) of the machine and took it down in production. Knowing advanced algorithms shouldn't be necessary. For that I'll defer to one of the best pieces that I've seen written: Data Structures & Algorithms I Actually Used Working at Tech Companies. The author worked as a principal engineer and led a team at Uber. I thought the author was going to continue pushing why they matter, but it was a refreshing piece to read and I think you'll find that it is, too.
People can certainly build a career or even design shop from avoiding anything that touches computer science related topics, but it's nearly impossible not to encounter them as a full-stack developer and most certainly as a back-end developer and most certainly beyond the web-stack (where most of my interest currently is).
CTCI is a great book. I only use it for the first four chapters as those are invaluable, especially the part covering algorithmic complexity in big-O notation and its exercises. The reason I can do big-O analysis is because of that book and its exercises. The book that I use, with some harder problems, but is not necessary, but matched more closely with problems that I've seen in the current climate is Elements of Programming Interviews.
If you're convinced now that you should study them, I do recommend a full algorithms course -- maybe not what I did, because it's much longer, but ones I really like are:
Lastly, I'll leave you with something that stuck with me when I first read it:
The above comes from a site called, "Teach Yourself CS" here. The creators of the site are people I know personally.
I know I've made this an essay, but feel free to message me if you've other questions
Wow thank you so much David! Maybe you should write this into a full post called should you learn computer science as a self-taught developer? For me, I am not against it as you can see... I've read Grokking the Algorithm book, took a crash coding interview course + did some practice exercises, bought CTCI (haven't finished), and got Colt Steele's udemy course you mentioned (to-do list)... I'm also planning to do Standford's algorithm specialization on Coursera. It's just all those take a lot of time... while CS grads have 4 years to slowly digest those before they specialize, we self-taught ones don't have that luxury. We pick a few tech stack we like and whip out projects without asking too much so we could land a job.... yes, I believe you, eventually questions will surface and we will need to dive deeper. So for me it's a matter of.... what should I prioritize? I only have limited of time to dedicate, and there are tons of stuff to learn (esp in front-end or web dev in general), some are fun and useful, which I enjoy such as Svelte, some are not so such as algorithm. Personally I like creative stuff I saw on Awwwards, when websites are ugly, even they're fast and functional, or they're beautifully written inside, I don't enjoy working on them. Maybe that's the dilemma, I am not a pure software engineer, I want too much, and need two brains or three to do all. When did you realize that you want to dive deeper in the CS? I started that after 1 year of coding, when I realize they actually tested you those for the job.... >.< But I haven't felt it helped me in my "job" yet.
Perhaps -- because this comes up a lot and I feel like not enough from self-taught engineers. I re-started my blog about two months ago, and I think I'll copy what I shared with you over in a more extensive piece that's sectioned so I can point friends and people that I'm working with and myself for future reference to it :)
Grokking Algorithms is neat! I've only done a cursory look at its contents.
Super question! I forgot to mention that resource overload was a thing. I know about almost all the books, courses, and resources for interviewing. I remember trying to find the "best one" based off others opinions rather than my own. It was a poor use of time. All the resources are helpful, but they speak to different people differently. I encourage people to not do what I did, but stick to one book and one practice site (for me it's been EPI and LeetCode), but I do reference The Algorithm Design Manual from time to time.
But for what you're optimizing for -- interviews and passing HackerRank tests, you have to put it into practice. A lot of the problems are just "tricks" like "sliding window technique" with two pointers that aren't covered in enough detail (if at all) in algo courses. A single quick run through of any algorithms course should be enough even if the ideas don't stick. Once you do problems and read discussions on LeetCode (if you're using this resource), you can come back to your original resource and revisit how the algorithm or data structure is used and then make attempts to transfer it to your problem. One thing that is also worth mentioning is rather than trying to understand the code that someone else is explaining, first and continuously ask, "How? What led this person to think of this?" It makes your mind think differently about problems and think of them in terms of tools/ideas/concepts to throw at problems rather than the specific details about how to solve ONE very specific problem -- as that becomes an issue in real interviews when you recognize that you've seen a problem and then try to remember the steps to solve it instead of, "Oh! I see this pattern! Can I try X" (e.g. I need top 5 items -- can I use a heap here?)
You're right -- we don't have the luxury of focusing on just school, but you'd be surprised to learn that most CS and software engineering students are literally subjected to only a single algorithms course and don't realize until they attempt to transfer their learning into an internship or full-time offer that they, too, are subjected to what you and I are. TripleByte has a blog post on how bootcamp grads perform versus CS grads -- slightly stronger overall in data structures and algorithms, but it's not a large of a gap as you think. Both need to revisit and do problems just to get in! CS grads just get more eyeballs and recruiters reaching out to them early on.
When I study for interviews, I struggle with focus, too until I've created a regimen and stick with it, because it's far more fun digging into other technical topics or learning new programming languages than it is for me to do practice problems again, but once I'm in the swing of things, it's not too bad, and once you've really learned them through sheer effort powering through many problems, believe me, you won't forget them -- maybe how to do them, but you'll recognize the problem and have an idea about what you can throw at it even if you can't do it. It'll stick with you forever :)
But do trust that this climate is probably worse if not more worse than the '07/'08 financial crisis. Every company is starving for senior engineers and that's where most of the budgets are allocated. Without a senior around, a newcomer doesn't know what they don't know and some of it can have dire consequences and can be extremely costly for the company (if it's a small shop or start-up). Only the big companies can really afford to hire juniors at this time and they're getting slammed!!! The best way to get into companies right now is to find open positions, find people (engineers/designers), message them personally, and ask for a referral. A lot of people I know don't want to do this, instead churning through 1000s of applications with barely a callback -- it is demoralizing. But this only also works if the person's demonstrably hire-able -- public works are presentable, somehow displays a desire to learn among other things...
Yeah you should definitely write some blog posts about all those things we talked. :) I often feel there are a lot of sources and don't know where to begin... >.< For instance I choose the standford one for algorithm over princeton one is because I heard that one is more on theory rather than a specific programming language. Some people curate a list of 250 podcasts to listen to, 100 programming books you should read etc.... it's just overwhelming.
Hi Sylvia,
Finding your first job is always a drag, but I am sure 5 years later with 5 years of experience under your belt, you will look back on this time and laugh about it. I got into the industry about 6 years ago, without even a bootcamp on my resume, if I did it, you can do it too.
The biggest challenge for you now, is that your resume probably doesn't look like that of a developer because you are lacking experience. To counter this, I suggest picking 1-3 technologies that you often see mentioned in the job listings (spend a couple of evenings doing some research) and start learning them today. Even better, as you are learning them, build small pet apps and post them on GitHub (which should be linked on your resume).
Why this advice? I see many, many boot camp, comp-sci graduates that have cookie-cutter resumes. Python, Java, etc...Yeah, yeah, you learned all that in school, good job. But, what have you learned on your own? How can you display, to me, the employer, that you are capable of learning new things by yourself?
Conclusion: Learn things that are not taught in schools from Udemy, Pluralsight, or even just online examples. Random ideas that pop into my head: Vue.js, TypeScript, ASP.Net Core, Golang...
Good luck. Keep at it and you will make it, I am sure of it.
I believe one of the most valuable things you could do as a post-grad is to get more direct experience in building things. Have you considered trying to pair up on a side project with a senior developer weekly (or even daily)? Even if it is for an hour or 2, you will gain insight and quickly level up on things that you may not have had exposure to through Flatiron.
There is an insanely large amount of things to learn and it is truly hard, so don't be hard on yourself and definitely don't give up!
When I first started out I didn't have any bootcamp experience or a 4-year college degree, I self-taught myself Java and PHP and I only had a hand full of freelance work under my belt. But by the grace of God lol I was able to land a state job as a Junior Java Developer, it didn't pay much but I knew this was my foot in the door. Lucky for me it worked out, there was only one other Java Developer on the team, so I was able to learn a lot and get some good experience. After over a year of working at the State, I was able to land another job as a Full Stack Developer just based off my experience. The pay was better but still not where I really wanted it to be. After this, I was able to land a few more gigs but at companies that sucked.
From my experience when going after a good job that's is also offering great benefits and great pay they are going to want to see a degree no question. I have been turned down so many times and every time it was because of my education. I knew I had to change this, so I eventually went back to school to finish my 4-year degree. After 10 years, I feel great where I am now. I have my own team and a ton of responsibilities.
My advice is to start small, dont expect companies to roll out the red carpet for you. But keep applying someone will eventually bite. Never say Never, apply to jobs that you would not usually think about applying to. Get some experience in learning about application servers and server-side languages like C# or Java, these arent the COOL languages but these are languages that are mostly still in demand.
I am sorry this was kinda long but keep your spirits up I wish you good luck.
This is a very silly* advice, but try to tag along fellow developers, reach to communities, like DEV here but more. Maybe a local developers Slack, Discord, and the like.
The fact is, most people tend to go for the people they know when they know for a job opening in their company or from someone they know.
Also, knowing people might lead to make bigger projects together wether this is a in a freelance work, or as a practice.
Collaborative works wonders in help you learn and achieve work goals.
(*) silly as in, this is not a real "coding" advice.
I definitely second the advice of trying to network with people and build those soft skills. If you can make actual friendships with people who are already working as developers, it will help open a lot of doors naturally. Good luck with your job hunt, and don't let the imposter syndrome get you, you can absolutely do this if you are passionate about it!
I wrote a post about this that may be of help. It wasn't written specifically with bootcamp graduates in mind but software developers in general (whether they were fresh grads, or still studying or in the first few months of their first job).
dev.to/samkhan27/advice-to-junior-...
It's unfortunate that you are having to job hunt in this pandemic economy. However things might not be as bad as you think, it is possible that a lot of developers who have a stable job right now wont be willing to jump ship and as a result the industry will look to graduates more. Right now it's still too early to tell how things are going to turn out.
My overall advice (outside of what I talk about in that article) is that be patient and continue to focus on your learning, without exhausting yourself of course. Things take time to build. that applies to software, your career and your expertise.
You will start getting called for interviews once things settle down a little and if you have spent that time learning coding topics focusing in depth rather than breadth, you will do just fine in those interviews. Good luck!
As a fellow coding bootcamp grad searching for my first developer job for over 3 years now with no luck, I feel your pain.
If I had words of encouragement or advice to give, I would give it. I've pretty much lost all hope at this point.
Good luck, though. I sure as hell hope your search lasts nowhere near as long as mine has.
If you have the ability to invest money, I highly recommend hiring a good career coach. I think that at this point, the hiring process is so complicated that the best way we even have an edge is by having that inside HR perspective. They can help pump up your resume, find people to connect with, start that conversation, and get out of the cycle of submitting resumes they never look at.
Another thing you can do: for those in roles that you want to be in, ask them for an informational interview, but do not ask them for a job. The important thing is having that face-to-face and establish that connection. In these situations, they may ask to help out without you asking for anything.