As an unemployed software engineer, my days are far from ordinary. Contrary to popular belief, being unemployed doesn't mean I'm lounging around waiting for opportunities to come knocking on my door. Instead, I embark on a relentless journey to stay competitive in an industry that demands continuous growth and adaptation. In this blog post, I'll take you through a typical day in my life, shedding light on the challenges I face and the steps I take to overcome them, all while striving to navigate a job market that often sets daunting requirements for entry-level positions.
8:30am: Morning Warmup
When I sit down at my desk each morning, I prefer to have a little time to "warm up", so to speak. I check my emails and social media accounts, catch up on industry news, and browse developer-related subreddits on Reddit. Sometimes, if I have time, I'll partake in a quick round of Fortnite, as it's the best way to boost my mood and start the day off positively.
9:00am: Job Searching Activites Pt. 1
After my warmup, I get right into activities related to job searching. This includes finding job listings that are a good fit for me, improving my resume, writing custom cover letters, and anything else related to job searching.
I have daily goals I try to hit in regards to submitting applications; specifically, I aim to submit 15 "quick applications" and 10 "quality applications" every single day.
- Quick applications are low effort (think LinkedIn's "easy apply" button).
- Quality applications, on the other hand, are for listings I fit well, and I make sure to take time to put my best foot forward in terms of my cover letter and the application in general.
11:00am: Short Break
It's important to have breaks throughout the day to prevent burnout. This 15-minute break is typically spent taking a walk, which I need to do throughout the day to a) try and reach my '10,000 steps a day' goal, and b) prevent my legs from swelling, as sitting at a desk all day is prone to do.
11:15am: Interchangeable Block
Because there's not nearly enough time to do everything every single day, this hour is interchangeable between studying data structures and algorithms, or working on my projects.
Data Structures and Algorithms
An unfortunate truth of the software engineering interview process is that a lot of companies try to judge a developer's worth by whether or not they can solve Leetcode-style problems. The problem with this is that this can be a poor way to judge an applicant's worth, as it may have little to do with the job. However, I love to learn and study, and I'll never be against doing what it takes to be a better developer. The first hour is dedicated to learning the material, and I spend the second hour practicing what I learned.
Project Work
The software engineering job market is extremely tough at the moment, especially for those without official professional experience like myself. What might be my only hope is to impress someone by showing them what I can do through a project. For me, this is Ribbit, a pixel-perfect, fullstack Reddit clone that I've put my heart and intelligence into over the last several months.
1:15pm: Lunch
I take an hour for lunch, during which I'll allow my brain to reset by stepping away from my computer and having a bite to eat before spending time with my fiance, taking a walk, or relaxing in front of the TV.
2:15pm: Technology Studies
An important aspect of being developer is keeping up with the constantly-evolving industry. This requires one to be constantly learning, whether that be improving on known technologies or studying new ones. At the time of writing this, I'm currently learning GraphQL, something that has intrigued me for some time but is totally foreign to me.
As with the previous 2-hour block, I spend the first hour learning and follow that up with an hour of practice.
4:15pm: Short Break
My second 15-minute break period is identical to the first, consisting of a brief walk to get my blood circulating and reach my '10,000 steps a day' goal.
4:30pm: Job Searching Activities Pt. 2
Yes, that heading is correct - I dedicate two whole 2-hour blocks to job searching every day. There's just so much to do that one block didn't seem to be enough, so I decided to commit to two. For part 2, I typically complete and submit the applications for all of the listings I found during part 1. I also try to make sure that I spend time networking, as that could be the very thing that actually gets me a job.
6:30pm: Evening "Cooldown"
I spend the final half hour of my work day exactly as I did the first half hour, with checking my emails, social media accounts, industry news, and developer-related subreddits on Reddit. This is to make sure that I don't miss anything important before logging off for the day.
8:30am - 9:00am: Morning Routine
Each morning, I wake up a little early so that I have enough time to warm up to the day. After splashing water on my face and eating breakfast, I spend about a half hour at the computer checking my emails and social media accounts, as well as staying up-to-date on the latest industry news by browsing developer blogs. Sometimes, I'll finish off this half-hour period with a quick spout of gaming, which is my favorite way to start the day off on a fun and positive note.9:00am - 10:00am: Job Searching Activities Pt. 1
Immediately following my morning warm-up is an hour of job searching activities. This includes researching companies to potentially apply for, writing cover letters, completing applications, networking, and outreach. Sometimes, I'll spend the entire hour just filling out applications, as I believe someone is bound to recognize my potential; I just have to find the right opportunity.10:00am - 12:00pm: Data Structures & Algorithms Studies/Practice
The next two hours are allocated to studying and practicing Data Structures and Algorithms – typically one hour for studies and one hour for practice. I utilize various resources like textbooks, online platforms, and coding challenges such as Leetcode and HackerRank. This helps me take notes, clarify any confusion, and solve problems that might appear in technical interviews. Not only does this preparation sharpen my skills, but it also allows me to grow as an engineer. Given my love for learning, spending hours on this never exhausts me.12:00pm - 2:00pm: Language/Technology Studies & Practice
After a short break, I dedicate an hour to studying a specific programming language or technology. Currently, I'm focused on learning TypeScript, particularly its application with React. As with Data Structures and Algorithms, I spend an hour studying and taking notes, followed by an hour of hands-on practice. There's no better way to learn a new language or technology than by actively using it.2:00pm - 3:00pm: Lunch break
After completing my language/technology studies, I take an hour for myself to have lunch and indulge in some video games. Despite my passion for software engineering and love for learning, even I need a mental break amidst the day's activities.3:00pm - 5:00pm: Project Work
Following lunch, my favorite time of the day arrives – project work. I spend around two hours either enhancing existing projects or starting new ones. My Reddit clone, Ribbit, is an ongoing project that always captures my interest, but I also explore other exciting ideas that come to mind.5:00pm - 6:00pm: Job Searching Activities, Pt. 2
After a final 15-minute break, I allocate another hour to job searching activities. I find it more efficient to split the time into two sessions rather than doing it consecutively. This way, I can accomplish more without feeling overwhelmed.6:00pm - 6:30pm: Evening Cooldown
Finally, I end my day just as I started it, with what I call the "evening cooldown." I check my email and job board accounts once more, ensuring I haven't missed any important updates. Additionally, I stay updated with any new developments in the software engineering realm. Recently, I've made it a point to officially "clock off" during this time to prioritize my family, friends, and other hobbies. As much as I enjoy software engineering, maintaining a healthy work-life balance is crucial.Conclusion
As an unemployed software engineer, my days are packed with activities aimed at growth and staying competitive. From morning warm-ups to job searching, studying data structures and algorithms, learning new languages and technologies, indulging in project work, and finally, winding down in the evening, I strive to make the most of my circumstances. While unemployment poses challenges, I remain determined to forge ahead, knowing that my efforts will eventually lead to fulfilling opportunities in this dynamic industry.