Photo by Timothy Hoang

After 365 Days of Code — Pearls from a Self-Taught Web Developer (Part 2 of 3)

By: Timothy Hoang

June 22, 2018

Tags: #100DaysOfCode, 365 Days of Code, Coding Everyday, Developer Pearls

Here’s what I learned from coding for the past year. These are observations I’ve made and think would benefit you. None of this is theoretical, I had experiences with these topics andI’m always open to hear about other people’s thoughts too.

Part 1 was a brief review of tasks I’ve accomplished since 200 days of code (~January 20th) and part 3 goes into my exciting plans for the rest of 2018.

If you would like to see what I did, you are welcome to check out my other medium articles about 100 days of code, 200 days of code, or jump to my twitter.

Pearl: Job hunting

I had a couple of job interviews but none of them followed through. I kept a spreadsheet of all the jobs I have applied to as to not repeat the same application. I went through the traditional channels like LinkedIn, Glassdoor, Hired, Indeed, ZipRecruiter, etc. I went to meetups, events, and a hackathon. I connected with people, grabbed business cards, and met them in person outside of the event. I even went to an event with a panel of hiring speakers to tweak my resume and learn job hunting tips.

My job application spreadsheet.

When applying online, I looked at the qualifications and felt discouraged to see the experiences required for the position. Sometimes, I would apply anyways. Inevitably, I had to take a break as it felt like I was fighting an uphill battle. Everyone keeps telling me that it is a numbers game but it seemed unproductive at times and yielded little results. It took 1–3 hours out of my day to look for job vacancies and apply to them with cover letters and resumes which I felt could have been better spent learning. I think the only thing I have not tried was contributing to open source.

I’m sharing this pearl with you because your situation might be different. I would still push you not to give up and exhaust all your options. You should apply when you are ready and you will know that depending on what core skills you feel are needed for the job position you are looking for. I made a decision when I came back from Medellin that I want to get a web developer job in the next couple of months. Things were not working out as I expected so I’m shifting my strategy: become so good that they can’t ignore you. More on this in part 3.

Pearl: Internships/Apprenticeships

As part of the job hunting process, I applied to a couple of different programs. If you search for apprenticeships/internships online, there are going to be a couple that pop up. I applied to Gaslight, Detroit Labs, Base Two, Revature, Intrepid Pursuits, Techtonic Group, Moove-It, Nuttersons, Clutch.co, HashRocket, Apprenti, and a couple others. There are probably more in your area too if you do a search. I think these are really good opportunities for new Computer Science or bootcamp grads. Even though some promoted that they will accept students with zero experience, I think just the sheer amount of applications and options might be biased against self-taught devs who might not have that foundational CS core. Taking a fresh CS grad to mold and conform to their systems might be more of what they were looking for. I don’t know and there’s no point in dwelling on it.

The closest apprenticeship step I got in the process was a question posing if I was willing to move out to the state where the apprenticeship was held. I replied a couple days later only to find that the person was going to be out of the office for the whole week. So I waited and didn’t heard nothing 1 week later. I sent an email anyways asking about what the status of my application was and they said they would consider me for the next cohort. Thanks for letting me know by the way. 😅 This wasn’t the first time either as they said they would let me know about my application status on April 20th, can you guess if that email came through too? You’re right and so I moved on.

This apprenticeship company failed to deliver twice.

One of my twitter friends sent me a message and talked about how one apprenticeship abuses their apprenticeship relationship into overworking students too. This mention mixed with my experiences just soured it for me. Having a big name and strapping suits on their students don’t make it a good program internally, as I see it. That’s something you only find by talking to the students already on the inside.

Relationships are two way streets and I’m interviewing you just as much as you are interviewing me. It’s the same mindset I walked into Pharmacy School with and I wasn’t going to switch it up now. There’s a point where your self-worth is not worth sacrificing for the sake of it all. If I’m going to do something, I want to do it my way and it has to be of mutual benefit. So what should you do? If no one believes in you, believe in yourself.

Friendly warning from a Twitter friend.

Pearl: Accelerators

I came across two accelerators during my journey. One was tagged as an accelerator for software engineers. It would take you through the last steps of resume building, profile optimization, and interview skills including algorithms/structures. I tried it out but I didn’t feel that it was right for me. I failed the entrance test which required completing as many algorithms in an hour as possible. Honestly, I didn’t do well since I haven’t learned much about Big O Notation yet. This might be a good program for those who have a CS background already and simply want to hone their skills.

The second accelerator was from a gentleman who was willing to guide me through building projects. He advertises that he is one of the highly rated stack overflow user and have been programming since early childhood and son of a super-senior developer. I had little money during this time and didn’t feel that the juice was worth the squeeze. Not only would it force me half of my savings but might also force me to go work another part-time job. Nothing wrong with that but I didn’t want to get further away from coding so I declined and continued on my path.

Pearl: Other skills

Don’t forget to work on your other skills such as technical and soft skills. Even though it feels like you might be taking time away from learning, these skills will optimize your build processes and prepare you for future interviews. Sometimes, I would branch off and learn a new skill after completing a big app. At first, work on the necessities like Git/Github, command line, dev tools, Chrome console, and keyboard shortcuts. These really helped me increased my productivity and picked them up by watching other coders.

One of my most favorite courses for learning Git/Github.

Later, you can think about things like using Google Drive sync to back up your code (don’t forget to delete node_modules folder). For API keys and files, I also save it on google drive to quickly run an app since I usually delete the whole project off my Mac anyways due to videography demands and limited HD space (500GB). To work with api keys, learn to work with dotenv and environmental variables since it’s a great way to hide api keys from public view. Get into different softwares to speed up your computer handle skills like with Spectacle or Alfred.

A coding group I hung out with.

For soft skills, I highly recommend going to meetups! Most people area already interested in what you’re doing if you’re going to a technology meetup anyways. This helps you work on your pitch when you go to interview and to make new friends. Years ago, I started out going to every meetups that interested me. I’m a much more sociable person because of it and get comments all the time about my “people skills”. Feeling confident? Go to meetups that you might NOT have gone to in the first place. In the past, I went to some unique meetups like Reiki, Toastmasters, rock climbing, kayaking, Salsa, and a few other esoteric ones. Are you gushing with confidence? Become an organizer for a meetup. I did this for a 20 & 30’s social group and a Free Code Camp group. As a dev, you’re probably spending a lot of screen-time anyways so we, as developers, need to balance it out with people time as well. I have never heard of a dev job opportunity landing at your front door but I have heard of people getting them from getting out there to events.

Pearl: Code and Coffee Meetup

Time-lapse videos from September 23, 2017 to May 27, 2018.

One thing I glad I did was running a local Free Code Camp meetup in my area. I met so many cool people that came through including a mid-level dev, junior devs, bootcamp grads, self-taught Free Code campers, and other friends. Sometimes, nobody came at all but I still went anyways and worked on my projects. Some of these people, I ended up being good friends with. I just hung out with 2 of these guys yesterday even if they lived an 1 hour away. It’s nice to have to have someone talk development with in person. Chat rooms and forums are nice but doesn’t hit the right buttons at the end of the day. Humans are social creatures and I’m old-fashioned. Want to work on your dev skills? Why not make a website for your code and coffee meetup? I even tried making an RSVP system for my coding meetup as to break out from Facebook. I promise you will make at least one developer friend. I know I did and my area is very suburban.

Pearl: Don’t underestimate physical and mental health

Your code and mental clarity is key in being a great dev. Don’t neglect your physical health because it’s too cold outside or you’d rather spend more time on code. Coming from a medical background, I urge you to try working standing up, taking frequent walks and breaks, and eat green. You might not see if now but when you’re a mid-level dev, you might thank me. Invest in a Roost stand or prop up your table with some stools. Work outside on your deck or patio.

If you want to see my setup: you can visit traveldev.net

Want to perform at an even higher level? Most high level practitioners have some kind of mindfulness ritual whether it’s meditation, yoga, swimming, working out, etc. I do a combination of nightly meditations before bed and 1 hour walks in the morning. They are really good times to clear your mind and decompress. If you’d like, I recommend podcast-walking. Syntax.fm or Language Transfer are quick ways to catch up on tech news and learn Spanish. Extra credits if you recognize these flags. 🇨🇴🇲🇽

My friend Joe also runs a sort of meditation group if you’re into that. Hit him up on Twitter @jjprevite!

Pearl: Think outside the box, your job & life happiness depends on it

This will be a foreshadow of part 3 but I want you to start thinking about optimizing your life too. Thinking like Tim Ferris? Great, that’s where I’m headed. Unlike any other jobs I’ve worked for, technology gigs are in a prime position to offer you many lifestyle design options. The process for learning, applying to jobs, and working with development offers you many unique opportunities that others might not have in other industries like medical or retail.

The usual story, most students have to attend university for 2 or 4 years on location to learn their craft and sometimes it’s just working with theories. Besides the obvious apply and interview, tech is cool because it offers opportunities if you might contribute to an open source project. Or accept an apprenticeship position, paying you minimal wage to support your accommodations, while you learn and build. After 3 months, you gain a job offer or end work with one of their partners. Don’t have a doctorate in the field? No problem! This is the area that I semi-regret. It took 8 years out of my life and taught me how to learn but if I had to go back and do it again? Probably not. I can just take 6 months-18 months to gain real skills to get into the workforce earning $60–80k a year? That’s a smart life choice.

Let’s repeat that: $60–80k a year for less than 2 years of learning versus $100K for 8 years of learning. Less theory, more practical knowledge.

Get creative in all aspects of your life and see what doors open up for you. Take advantage of your situation!

Where’s part 1 and 3?

If you enjoyed my thoughts, you’re welcome to follow my:

About

My personal website to share my journey in travel and web development. I love meeting new people, learning about tech advances of the future, and sharing outdoor adventures.

Social