I started out my adventure nearly 10 months ago with no technical experience and just landed my first job offer as a software developer!
How’d I do it and what is my advice to others?
Here are some of the pitfalls I would caution others to avoid and some tips I would encourage you to try.
Rejuvenate != Relax
Since I had worked so hard during the bootcamp, consistently studying 12–15 hours each workday, I convinced myself that I was entitled to some down time after I graduated. This “vacation” wasn’t a productive one and simply consisted of a poor sleep schedule and extra media consumption.
The reason this impacted me so harshly was due to the dulling of my newly acquired programming skills. When I finally made my way back in front of a computer I spent my remaining time applying to jobs and speaking with recruiters. This did not leave me with much time or energy to practice software development and as a result my skills suffered greatly.
While I would definitely encourage bootcamp graduates to reward themselves for their heroic efforts by doing something nice and fun, that reward needs to have a specific and definite start and end date. Ideally, this reward should be constructive and rejuvenate your mind, body, and soul. A skiing or hiking trip are excellent ideas, as is visiting a tropical beach for a week. Sleeping in, eating pizza, and watching the Office are less ideal.
Remember, the point of this reward is not to become a sloth and you aren’t rewarding yourself because you “deserve it”. Reward yourself carefully and judiciously in a manner that will rejuvenate and invigorate you so that you can tackle the next step in your career with joie de vivre.
Obviously, that was ridiculous. That amount of work, especially for a relative newcomer (I only had 4 months of total software experience at that point!) was impossible. Add that to the fact that my working day was about 4 hours long due to my horribly mangled sleep schedule as a result of my “deserving a break”, and you get a perfect recipe for disaster.
The result of all my scatterbrained approach was predictable. I didn’t manage to pick up any of the new skills I had hoped to and I forgot much of what I had most recently learned (C#/.Net stack). After a month or two of this backwards and destructive state I had effectively reverted my skills and abilities to a very primitive level where, although I still understood much of the programming concepts that I had learned and could read other people’s code, I could barely write a new line of code.
The answer to this problem is to focus! This is perhaps the most important lesson I learned and the most common piece of advice that I give. When you graduate, do not try to learn everything! Pick ONE tech stack and split your time between applying to jobs and working in that stack. Do not neglect any of the pieces in that stack for too long lest you forget them.
Remember, focus on ONLY ONE stack and study it in-depth. Do not hop around from technology to technology.
Be reasonable in your job search expectations
There are several elements I will address here.
Which positions should I apply to?
If you are applying to jobs, or have recruiters calling you with potential job leads that deal with tech you had decided not to focus on you will be tempted to apply to them regardless (“maybe I’ll get this job!”). The problem then becomes when you start doing interview prep or coding challenges in these unrelated areas since it totally distracts you from your focused stack.
My recommendation is not to apply to those jobs at all, or if you want to, apply and let them know in the interview that you aren’t focusing on those areas but can pick them up again very quickly while showing off your abilities in the area that you are focusing on. I have several friends who went off and got jobs in Java or other languages by demonstrating their skills in C#. A good company wants you for your ability to think and learn quickly, not for how many methods you have memorized.
Think of a laser, if you diffuse the light over a wide area it won’t penetrate anything, however, if you concentrate it over a small area it will penetrate well. That’s my perspective on which jobs to apply for and how to study.
How long will it take me to find a job?
I honestly thought that I would land a job a within a week of graduating, two weeks at the most. Obviously, that was an insane projection (I’m starting to see a pattern here…). To that end, I turned down the opportunity to apply for the open TA position at the Coding Dojo, which was an enormous mistake in hindsight. My friends who became TAs out of the gate maintained their schedule and vastly increased their knowledge and experience, in addition to earning a paycheck as part-time employees.
It took me a little more than six months for me to land this job offer. However, my experience may not best reflect yours since I also had a long period where I was barely applying, due to my perfectionism (“if I’m not the best developer in the history of the world then there is no point in even applying….”) as well as spending several of months relearning C#.
All told, I recommend budgeting a minimum of three months, both financially and emotionally, for you to find your first job.
Do more than simply “business as usual”.
Something that I think helped me land my new job (although this is simply based on my musings and has not been verified by my new employer) was my willingness to learn more than the standard curriculum. Instead of simply studying the same basic algorithms again and again (reverseArray()…) I like to also learn more theoretical and higher level concepts. I spent time reading some Git documentation, learning the SOLID principles, and spent two days designing a messaging system using a technical diagram for a job interview.
In the scope of your job search, however, you can bring up this more in-depth knowledge that you have gained and differentiate yourself in a positive manner. This indicates that you are interested in learning concepts comprehensively and this may pique an interviewer’s interest in you.
Be careful not to fall too deep down this rabbit hole, however. Make sure you work on your actual coding while also learning more theoretical concepts which will be invaluable during your software development career.
Have a schedule
It took me six months after I graduated to find a job. Six months! That’s a long time! Some of my friends who also struggled to gain employment as a developer resorted to other tech related positions or simply gave up and switched their industries. I won’t fault anyone for their choices, after all, everyone has their own personal situation which may or may not be conducive to long term job seeking with a narrow focus. However, if you want to sit there for months, bashing your head against the wall of job seeking you need a schedule and place to carry that out.
The Coding Dojo has a six month access agreement with alumni and I took full advantage of that. Every morning I woke up and came to the Dojo where I sat,studied, worked, and applied. The Dojo staff was extremely accommodating, and allowed me to use their space as long as I didn’t bother or disturb the current students. I was even granted permission to retake the C# stack, with provisions that prevented me from interfering with the students who were learning it for the first time.
The ability to be in an environment where I was surrounded by people studying technology and where there was a schedule really helped me persevere.
Some of my friends who didn’t feel they needed to come back to the Dojo after graduation eventually lost their passion and spent lots of time playing video games. Since I know that I’m not strong enough to work out of my home without losing focus I knew that having a place to go to work, one where I was required to wear adult clothing, was indispensable to my long-term success.
I kept a normal schedule, as if I was working a normal job. I woke up on-time (5:30 AM!), learned, prayed, and went off to “work”. At 5–7PM I would either go to a networking event, the gym, or head home. Creating and maintaining this structure was essential in helping me prevent burnout while I studied and searched for a job.
Here’s a synopsis of what you should and should not do after you graduate from a bootcamp.
- Give yourself a time-constrained reward for getting through your program.
- Determine what tech stack you want to focus on and what jobs you want to apply to.
- Create a maintainable schedule.
- Spend some of your time learning high level concepts.
- Find somewhere to go everyday where you can work (not at home).
- Expect the job search to take you a minimum of 3 months.
- Keep on working!
Remember, if you’re feeling discouraged, inadequate, or like an imposter, don’t! You have come far and your skills are likely far greater than you appreciate. Do not expect perfection from yourself since literally nobody is perfect. Work as hard as you are able to and you are sure to succeed!