In Review: My Fall 2016
I’m done. I. Got. Out. #igotout. Don’t pass Go, don’t collect $200 (of parking tickets). It’s over. Fin.
Roll credits. Queue fireworks. Play theme song.
I did it. I’m a helluva (software) engineer.
Goal: Graduate from Georgia Tech.
After 4.5 years, I’m an official graduate of the Georgia Institute of Technology with a Bachelor’s of Science in Computer Science.
It was a lot of work. Hours staring at computer screen(s). Dawns greeted through library windows. Pallets of Monster. Last minute assignments. Group projects. Prayers to Compiler Deities. Playlists of study music. Init, branch, commit, rebase, push.
But I can finally say that it was all worth it. Throughout my college career, I learned many things that, coming in, I either thought were unimportant or, naively, thought I’d already mastered.
How to study.
How to manage time.
How to prioritize.
How to get the dang thing done.
How to fail and keep going.
These skills, individually, stem from failed tests, late assignments, and overbooked calendars. They weren’t the things I went to Tech to learn, but ended up being invaluable tools in my struggle. In fact, when summed, they prove far more valuable than the degree I was working so hard to earn — though it certainly carries its own weight in white and gold. Together, they form a framework for getting shit done — one of the most powerful tools one can have.
For that, I’ll be forever grateful for the experiences, both good and bad, I had at Georgia Tech. They all taught me something about myself and the greater world around me.
After 4.5 years, with some solemnity but mostly heaps of excitement, I’m ready to leap into my Next Great Adventure.
The Next Great Adventure
Goal: Land a full-time position doing something I believe in with great people that will encourage growth, progress, and impact.
Before we go into my Next Great Adventure, first I’ve gotta tell you how I found it. Otherwise my story wouldn’t be much of a story, now would it?
Starting way back in the fall of 2015 I began planning, in earnest, for my graduation from Tech and optimal exit vector. I front-loaded classes and work experience and extended my stay at Georgia Tech by 2 semesters.
Why’d I do this? Because the job search takes a lot of time. How’d I know this? Because I asked my classmates about their experience job hunting.
But no matter how many people I asked, it always bugged me that everyone knew it took a long time, but no one had any real data to back it up. I found this lack of data frustrating during my planning phases and furiously typed a note to my future self: “log job search”.
I’m telling you this because my quest for data greatly influenced how I went about my own search. Similarly to last spring when I closely tracked my time expenditures, this semester I was curious how one could measure the level of effort output and draw correlations to levels of success. I’m not sure I have a comprehensive answer to that question, but I can tell you how I went about gathering my data.
I’m only including the highlights here in an effort to keep this reflection relatively short, but I’ll try to publish deeper analysis in a standalone post sometime soon.
At the beginning of the semester, I created a Google Sheet (like Excel, but from Google) and began tracking all my job-focused actions. I timed myself at interviews, filling out applications, and during practice sessions. I logged who I applied to and how, when it was submitted, and what the response was. I kept track of what kinds of interviews I was getting, from whom, and how they went.
As part of my search, I also did a fair amount of traveling for on-sites. Although I had planned a light courseload for myself, it was still tough to schedule all my interviews around classes and exams. Here’s a screenshot of my calendar from one of my busier weeks:
I’ll admit that I was pretty aggressive in my search, opting for false positives over false negatives, which probably contributed to my busy schedule. In other words, I wanted to make sure I pursued every opportunity that had promise, even if that meant putting in work for companies that, ultimately, didn’t pan out.
When I found a good fit, it was progress.
When I found a bad fit, it was practice.
Here, have some numbers:
As a general rule, interview processes go from code challenge (if they have one) to X phone screens to X in-person interviews. You’ll notice that at each step of the interview process, the field of contenders narrowed. This weeding out process worked on both sides, them judging me and me judging them. So, by the time I got to in-person interviews, the field that remained was, mostly, those I thought had a real shot.
During the search, I found it useful to log how I was doing with each type of interview. I used this data to help me figure out which areas I should be improving and which areas could hold up without extra attention.
Code Challenges — Typically online tests with code editors you write into and automated compilers that grade how well you did.
Total = 12
Passed = 4
Pass rate = 33%
Note: I opted out of completing 4 of the code challenges I was presented due to lack of interest and/or tests I was unwilling to complete (often multi-day system builds). So, of tests completed, pass rate => 4/8 => 50%
Phone Interviews — Technical phone screens, often with all participants viewing a shared document in which code is written.
Total = 25
Passed = 19
Pass rate = 76%
In-person Interviews — Technical and behavioral interviews. These are often held back-to-back within the company’s offices. Note: Single day on-sites are logged as one interview even though multiple interviews may have occurred during any given on-site mostly because it’s impossible to tell which ones you passed and which you didn’t.
Total = 18
Passed = 11
Pass rate = 61%
Before we get to the time stats (literally right below this I promise), I’ve got to tell you that I did NOT track the amount of time it took for travel. I did this (or didn’t do this) because I figured travel time would be highly variable depending on a whole slew of factors that I’m sure I can’t name with the amount of brain power I’m willing to allocate to it right now. *breath* Therefore, in an attempt to make my data more generalizable and, thus, useful to the average Junter, I limited my tracking to activities where I was actively hunting (not sitting on a plane, in a taxi, or at a hotel).
This is the pie chart you’ve been looking for.
Hopefully you can read that. In case you can’t, I’ve extracted the relevant information below.
Interviews — Time spent at real interviews.
70.5 hours => 44.7% of job search
Job Search — Admittedly awful name, but time spent sending applications, emailing recruiters, or otherwise planning/scheduling my search.
53 hours => 33.7% of job search
Practice — I’m not one to leave things I care about up to chance, so I practiced. This is the time I spent actively studying for my interviews.
34 hours => 21.6% of job search
Total time spent on job search = 157.5 hours
That sure looks like a lot of time but how much time is it really? Well, let’s do some mathematics.
Let’s assume, as I did in my spring calculations, the average semester has approximately 13 regular weeks of classes (an average of 15 weeks from Wikipedia then take one off for finals and perhaps another for random holidays) and a student must take 12 credit hours to be considered “full-time”.
That means the total amount of hours you’d be in class, assuming you went to all of them, would be 156 hours.
13 weeks per semester * 12 hours of lectures per week = 156 hours of lectures per semester
Thus, my job search took about a semester’s worth of lectures to complete. So, the number of hours per week you’d be spending on the job search (assuming it’s anything like mine) is approximately 12 hours.
As for traveling, your mileage will assuredly vary from mine. I was gone a lot and, because of that, missed out on some big events. I was in D.C. during homecoming, Seattle for Halloween, and California instead of a health exam. I’ll also log that I twisted my ankle somewhere in there and had to crutch my way through three different airports (Fun!).
As I closed in on my target positions, I was able to cancel several on-sites I had scheduled. If the search had gone even a tad different, it’s very possible that my log would have an additional 4–5 on-sites which could have easily added an extra 40+ hours to a hypothetical travel timer. Again, I didn’t track that component, but always beware the phantom time expenditure.
Where I traveled:
- Austin, TX
Hartsfield Jackson Atlanta International Airport (ATL) -> Austin Bergstrom International Airport (AUS) = 811.47 miles
- Palo Alto, CA
Hartsfield Jackson Atlanta International Airport (ATL) -> San Francisco International Airport (SFO) = 2134.13 miles
- Seattle, WA
Hartsfield Jackson Atlanta International Airport (ATL) -> Seattle Tacoma International Airport (SEA) = 2177.79 miles
- Washington, D.C. (x4)
Hartsfield Jackson Atlanta International Airport (ATL) -> Ronald Reagan Washington National Airport (DCA) = 546.84 miles
Total Miles = (811.47 miles * 2 flights) + (2134.13 miles * 2 flights) + (2177.79 miles * 2 flights) + (546.84 miles * 2 flights * 4 trips) = 14,621.5 miles
Circumference of the Earth = 24,901 miles
So I guess you could say I flew halfway around the Earth (~58.7%) to find my job.
My Next Great Adventure
I feel very fortunate to be starting my Next Great Adventure at the same time America starts becoming Great, Again. Talk about poetic justice, amirite?
As luck would have it, I’ll be moving to our great nation’s capitol (Washington, DC y’all) come February. Well, I won’t actually be living in DC, but I’ll be a hop, skip, and a jump south west in Arlington, VA. And no, I can’t see the Pentagon from my apartment.
I’m sure you’re asking what I’ll be doing there. Capturing street art? Exploring the city? Building cool stuff? Writing reflections? Being narcissistic? Running around the monuments? Taking selfies with Trump?
The answer is “yes” to all these questions and hopefully to a whole lot more. But they’re not the main reason I’m ditching Hotlanta. The real reason I’m going is because I found myself a real, live job.
Starting February, I’ll be working as a Software Engineer at Applied Predictive Technologies [APT]. For those that haven’t heard of APT, which I’d bet is most of y’all, they essentially build software that helps businesses make better decisions. I’m not going to pretend to be an expert, so, if you want to know more, check out the full, official, (3 minute) story, take a look at who uses them, or see why they’re rated one of the top small/medium companies to work for according to GlassDoor.
Despite these #bragging opportunities, the decision wasn’t easy. The opportunities in the tech industry are vast, to say the least. Anything you can think of you can do, or at least start. This enormous array of options makes it difficult to decide what’s best and even harder to figure out what’s best for you.
At the end of last summer, I foresaw the potential for such an issue to arise and proactively isolated some key traits I wanted to focus on. They were:
- Great people (preferably smarter than me)
- Real && challenging problems
- A drive to improve
- A vision I believe in
For context, a key component of what I want to attain in life is robust, sustainable growth. Growth as a software engineer, an intellectual, and a human. Thus, I picked traits that I believe best instill and continuously fuel motivation for progress, placing myself on a viable path to fulfilling this goal.
In APT, I saw all of these things. I saw a group of people working together in an attempt to accomplish something awesome. Perhaps most importantly, I could see myself working beside them in an effort to achieve it.
I don’t think you can always control the outcomes of your efforts, but I do think you can control the effort itself — the magnitude, the direction, the type, the purpose. So until I become aware of someone who can reliably predict the future, I’ll continue to do the best I can with the cards available to me. If that’s not a good play, I don’t know what is.
Goal: Wield my mighty text editor, slay the Balrog (Build some stuff).
Outside of the job search and finishing school, I did find some time to work on side projects.
I got my site to a state I was comfortable showing to recruiters and was able to do so before the College of Computing career fair. I got all my cards working, added the projects I wanted to showcase, and even formatted my About page so it resembled my resume design. I’m not totally down with my color/design mashup, but I have yet to find something I like more and figured some pseudo school spirit couldn’t hurt.
The biggest thing I did with my site was make it self-hosted. This doesn’t mean I’ve got a server running in my parent’s basement, rather that I’m in control of the underlying server located somewhere in the formal “cloud”. I made this move so I could have more control over my website.
I’m currently buying time on a Digital Ocean box running the newest supported flavor of Ubuntu. I’ve got an NginX webserver running on top of that box which handles port switching based on incoming url. Most traffic is sent directly to my main site which is NodeJS serving a React single-page application.
If an incoming URL is looking for sirhamy.com/blog*, then they are directed to a different port from which I serve my Ghost blog. The blog is in need of some work but I’ve been continually putting it off ‘til after my job search because | priorities |. As for the past month, I’ve just been too lazy to do anything about it.
I’ll be making updates to the design as I come up with improvements and regularly adding cards as I push out new stuff. So stay tuned.
I attended HackGT for my third time this fall, though I’ll admit I probably did more networking with recruiters than actual hacking there.
My idea was to link the digital and physical world, basically allowing you to create internet links out of everyday objects. I did so using rudimentary image encoding and matching algorithms for the demo.
There’s a lot more work to be done before it’s ready to be released into the wild, but I, again, halted work on it this semester to focus on the search. Because | priorities |.
If you want to read more about it, I wrote a debrief after the hackathon.
Interestingly enough, I recently watched an old episode of Shark Tank in which one of the pitches (Scan) was trying to accomplish something very similar. I still really like the idea of connecting the physical and virtual, but, after hearing Cuban’s feedback and investigating their success in the market, I may need to reexamine my approach.
I like to end my semesterly reflections with a list of things I want to accomplish in the coming months. I don’t always accomplish everything, but I like having the ability to compare my goals at the beginning of the semester with my effort throughout and, finally, to my progress by the end.
Because I know I’ll be doing alot of development work at, well, work, I’ve slanted this semester’s goals towards exploring other areas of life. That’s not to say I won’t be working on stuff in my own time, because I will. Rather it’s to etch in stone that it’s important to leave my desk sometimes, too.
- Explore and get to know Arlington/DC. Become a local. This goal comes off my success with a similar one last summer. Geographic change brings a lot of potential to experience new things and gain new perspectives. I like to think of intellectual growth as one with compounding interest. So, the earlier and larger your investment at the outset, the greater the dividends you earn over time. With that in mind, I want to hit the ground running and start enjoying everything DC has to offer as soon as possible. My goal this tertile is to experience a new event/place 3 times each week. If this doesn’t get me comfortable with the city, it will, at least, have gotten me that much closer that much faster.
- Establish and maintain network both in and, especially, out of work. Social networks (not the ones built by companies) are one of the most valuable things a person can have. A new geographic region provides an opportunity for new networks and, due to my northerly migration, I’ll, essentially, be building a new one from scratch. This doesn’t mean I’ll be ditching my old ones. In contrast, I think the connections you maintain are, arguably, more important than ones you’ve just built. But I recognize the importance of proximity in the effectiveness of said networks and will be working to lay the groundwork for some this spring.
- Become familiar with role and best practices at APT. Identify key areas of optimal interest/impact overlap. Though many people like to keep personal and work life separate and, thus, opt to discourage discussions about it, I think it’s important to recognize that work, in current societal paradigms, is a huge part of your life. On average, it takes up 5/7 of your days for the next *insert long time*. I appreciate the need for balance in one’s life but I’m not about to let that stop me from ensuring meaningful growth from 5/7 of my days. I believe the first few months at APT will be about acclimating to the new environment and figuring out how to consistently make a positive impact. But while I’m asking stupid questions, over-examining processes, and otherwise sticking my nose in everything in an attempt to find my sea legs, I want to be sure I’m also thinking about how it fits into the big picture. Right now, this means asking myself where I want to be and what I want to do and then what I can do to bridge the gap between the actual and the ideal. If you don’t know where you’re going, how do you know you’re getting there?
- Channel creative energies with focus on visual and aural experiences. Over the years, I’ve accumulated a huge backlog of things I want to do. Inevitably some things fall out of interest or are no longer possible, but there are always a few things that withstand the flow of changing circumstances. In my first few months as an Adult, I want to spend time entertaining some of these pursuits to better gauge my own interest in them. By doing this “early on”, I hope to be able to shorten my list a bit and devote more energy to channel production as opposed to channel discovery. By the end of the semester, I want to have 3 such pieces published.
A short, non-comprehensive list of interests:
- Street art (particularly how it relates to calligraphy, public expression, society, and business)
- Code art (procedural, interactive, animated [SVGs])
- Music (mixing, production, and theory)
- Learn fundamentals of data science. One of my goals last semester was to learn the fundamentals of data science and artificial intelligence. Alas, I never got around to it, so I’m rolling it over into this semester. Data Science and Artificial Intelligence are two areas of supreme interest to me. DS for the ability to extract insights from seas of data and AI for the ability to, hypothetically, allow a machine to learn and do for itself. Seriously, what could be cooler? I’m starting with DS because I think cursory knowledge of its concepts will aid me in my future AI studies. This semester, I plan to take an online course in DS then prove my understanding through 1 original application of its principles.
TL;DR I graduated from GT and will be working as a Software Engineer in Arlington, VA. Looking forward to exploring DC and building stuff.
Thanks for reading, come back next time. If you’re in/around DC, let me know. I know, like, 5 people.
Live long and prosper,