In early September, I began a coding challenge called the #100DaysOfCode Challenge. Basically, it challenges you to commit to coding for 1 hour a day for 100 days, and sharing your progress, questions, and thoughts on Twitter with the hashtag, #100DaysOfCode.
I had no idea if I would finish 100 days (it’s a lot of days), or if my interest/patience would stick around long enough, but I figured I love doing challenges, I wanted to get motivated to code, and whatever I got out of it, it’s better than not having started at all.
I am happy to report that while it took me 4 months to finish,
I completed Round 1 of #100DaysOfCode Challenge on Jan 17th.
Why Code?
As most of you know, I work in IT in NYC. My day-to-day as a Technical Services Engineer does not require coding. But knowing how to write code, run batch scripts, and manipulate the command prompt can definitely help efficiency of your work. Given that education wise, my degrees are in Special Education, I have no formal background in computer science, IT, engineering, or anything STEM related.
The only coding experience I have come from years of learning to code online and making websites in my tweens and teens, which was a hobby I gave up once I began college.
For the longest time, because I was away from the “website making” world for so long, I had assumed that everything I knew from “back in the days” (ie: HTML, CSS, jQuery, PHP) were now obsolete, and something else had taken over to become the new modern web development language. In late August, I realized that in fact, HTML5/CSS3 are still what most modern websites are made on, and they aren’t obsolete at all! That realization jump started my interest in looking into Web Development.
D1 vs D99….
What I Learned
Of course, I learned quite a lot of code. I poked around in HTML, CSS, Javascript, Python, Bootstrap, WordPress, and a few other frameworks and languages. I created websites, met a lot of people online, took many different courses (and never finished most of them).
My Twitter follower count went from 150 to 920 in 4 months. I applied for and received a Google Developer Scholarship at Udacity.
I went to many coding meet ups. I began a health challenge. I set a new financial goal. I am officially a Contributor at The Mighty. I bought a standing desk.
A lot of these things seem unrelated to code, but they are all related to beginning, and ultimately completing, a 100 day challenge to code.
Here are some things I learned by pledging to code for 100 days…
There are a lot of Free Resources.
Something I realized quite early on is that there are A LOT of resources available… and for free! In learning to code, “The More You Pay, The Better” is definitely not a guarantee in the coding newbie world.
I’ve seen people struggling to find a job after their onsite Bootcamp, and I’ve seen coders who self-taught via online courses land a fabulous job while having a full-time job.
Sure, you’ll probably get a much more structured, comprehensive experience from a Coding Bootcamp (for $10k+), but you could just as “easily” be extremely self-disciplined and complete freeCodeCamp Front End Development certificate, which is a 500 hour course that will take you from a complete beginner to advanced frontend developer.
There is definitely something to be said about having structure, pressure, and the overhead of $10k+ to make you more motivated to complete that 2-6 month full-time Bootcamp onsite at a location though.
At many points in my challenge, I found that I lacked direction and motivation, and couldn’t really get the “juice” flowing to do my learning/producing.
Some of the other resources available for free are CodeCademy (great for intro HTML, CSS, Javascript, along with many backend languages) and General Assembly Dash (comprehensive learning of HTML, CSS, and Javascript). There are learning platforms that help you with finding a job too, like HackerRank.
In general, the more you look, the more free resources there are, and at times, it seems almost a little too overwhelming to have so many options, because you don’t know which ones to start first, and which ones are the best for the goal you have.
People are Very Nice and Generous With Their Time and Resources
When I first started out, I basically had no idea what I was doing. Ok, I still don’t, but I at least know which way is up (I think?). I joined some Slack channels, and Tweeted at #CodeNewbie and #100DaysOfCode.
People were extremely helpful and resourceful from the beginning, and continued to be so throughout the whole challenge. Every time I hit a roadblock, they helped me figure out the problem, pointing me to new resources and relevant pages, giving me hints to prod me along.
The amount of time these strangers spent helping people (for free, of course!) was amazing to see, and I hope to be able to pay it forward soon by helping other newbies with problems I have already solved.
They do say that the best way to learn is to teach 😉
Take Myself Out There: It’s Not That Scary
Finding a community is one of the key components of a successful long-term habit. I found some for myself in forms of a Twitter community (#100DaysOfCode), Facebook groups, Local coding meetups, and Hackathons.
Without starting this challenge, I would never have met hundreds of people I had the pleasure of having conversations with over the past few months. And I wouldn’t have attended NYC PyLadies, CocoaPods NYC (weekly coding meetup), my very first Hackathon, EmpathyJam (UX Hackathon), or any of the other various tech events. I wouldn’t have joined TechLadies or applied to the Google Developer Scholarship.
Despite having worked in IT for the past 3 years, I never really considered myself Woman in Tech, or working in Tech. Starting the challenge, ironically, changed that perception.
Even though my work itself wasn’t getting any more “Techy” (to be fair, it’s already… tech… given I work in the IT department), I began to identify myself as a “Woman In Tech.”
A lot of Women in Tech are plagued with the Imposter Syndrome. I’m no exception, especially because I don’t have a background in tech. So it took a lot of courage to attend tech events, and I am very glad I did, because it wasn’t at all scary like I had expected, and no one could sniff me out and growl, “…. You don’t belong here…! You poser!”
Try Things. Even Scary Things.
Since starting my challenge, I’ve started applying to coding scholarships, making pitches for blog pieces, and submitting articles to publications.
Just in January, an article was published on The Mighty (you can read it here).
I have been wanting to break out into “writing,” and getting published on a site like The Mighty or The Huffington Post was a goal of mine for 2018. I was able to achieve the goal within the first 2 weeks. Since then, I have been pitching ideas and brainstorming more topics to write about.
Writing a blog is a lot easier, because no matter the content, if I decide to publish it, it will get published. When it’s a guest post, paid or not, there is someone who is a gate keeper, and they must deem your writing worthy. That is fairly scary for me, as I am always very self conscious about my writing.
To me, my writing is a window into my soul, and for someone I know to be reading my writing (even this blog!) means that they get a glimpse into a deeper part of me that I’m not ready to disclose so openly.
Two weeks ago, I received an e-mail, which told me that I was awarded a Google Developer Scholarship for Udacity. I had forgotten that I had even applied. It was one of those things I did when I started the challenge, figuring the worst they can say is “no.” I began to develop that mentality since starting the challenge. Might as well try. The worst that can happen is that they don’t accept me, or don’t like my submissions. Then I can just try again.
Rejection is a scary thing for most people, and I am definitely very sensitive to it. However, to get anything, I’ve come to realize that I have to try, fail, and try again. And maybe, after a few cycles of that, I’ll get something that I wanted.
This year, I want to try more, and fail more, even though I’ve already had one round of that (a promotion request that got denied), and became fairy fatalistic for a few days. As long as I bounce back after a while and try again, I think getting a little whiny is ok 😉
And in the end, far, far better than not trying at all, and forever wonder, but what if I had…?
It’s Ok to Take a Break
I have a tendency to have a Black or White… All or Nothing mentality to a lot of things (I’ve been trying to break this tendency, but it’s a personality trait, and not so easily decomposed).
So in the beginning, I tried very hard to not miss a single day, because I knew I was going to get discouraged when I had to face that gray box in my Github repo. However, I decided to take the advice from the official #100DaysOfCode Challenge to heart:
Q: I’ve missed a day, does it mean I’ve failed the challenge?
A: Absolutely not. You are allowed to miss one day (then make it up by adding one more day to the end of the 100), but never miss two days in a row. This is a great piece of advice on habit formation that I got from Leo Babauta at zen habits.
Whenever possible, even if I missed a day, I tried to come back the next day and put a day in. By doing so, the “damage” remained minimal, and I was able to continue.
Based on Gretchen Rubin’s Four Tendencies, I decided before my 2 week vacation to Orlando that I will take that 2 weeks off, and then come back, because she wrote that you are more likely to be able to bounce right back into a habit even after a vacation if you made the decision beforehand.
However, as you can see from the screenshot of my GitHub contribution graph, because I didn’t have a “project” left to work on when I came back from vacation, I found it very difficult to get back into the groove. I had finished off my Portfolio Website, which I had spent most of the first few months developing, and because I was now project-less, it was harder to get back into learning and creating.
As a matter of fact, that “funk” half way through dragged on for the next half. Only towards the end, when I received the Google Developer Scholarship and started a course, did the “motivation” improve, because I finally had something to work on again.
However, just pushing myself to do work when I didn’t want to or didn’t feel motivated would just backfire, as it would become a chore, and not an excitement, to continue my journey.
My conclusion? It’s Ok to take breaks, but make sure it’s not too long, and to leave exciting projects to come back to and dive right into once you come back.
One Habit Makes More Habits Easier
I have come to find that, once you start a daily routine, adding more daily routines to it gets a lot easier.
Since the beginning of the year, I’ve also added a Daily Crunches Challenge, Daily Abs Challenge (from Darebee), Gym Challenge (2~4 times a week of working out), and a 100 day Saving Challenge.
I’ve been taking my folic acid and pain killers consistently, and since starting my Bullet Journal in end of October, have been consistently using it for 3 months. This is probably the longest I’ve stuck with a planner, despite my love for planners.
It seems as though once you start a daily routine, your brain gets primed to the idea, and when you add other routines, it’s not as forced as when you are first trying to set up a habit.
I’ve talked a lot about habits in this blog post, but it really is true; make it harder to NOT do the habit you want, and you’ll end up doing it because it’s less work to not have to think and go with the routine.
So, What did You Do in 100 Days?
I created a few websites, and gave few things overhauls.
- Hiroko.io: Brand new Portfolio/Online Resume; I spent majority of the first half of the challenge working on this; now that I have more experience, I might go back and ‘fix’ the code up
- HirokoNishimura.com: (Old Portfolio) Created into an Online Business Card for contacting me
- BurgundyForLife.org: New layout, updated content; went through 2 rounds of revisions… first I recreated it in Bootstrap, and then switched it over to WordPress
- Hope.BurgundyForLife.org: A “Quote Rotation” website for supporting rare disease survivors
- And various other small projects
I taught myself HTML5, CSS3, Bootstrap, CSS Grid, a bit of Javascript, a bit of Python, and myriad of other things that come with the realm of coding and development, as well as read various books on freelancing.
One book that I recently read was How to Become a Web Developer: The Career Changer’s Guide by a bank-employee-turned-developer. While I am not looking to change my career (at this point), it was still nice to read firsthand accounts of how it is possible, even with no prior background.
I began looking into starting a freelancing business creating WordPress Websites or working as a G Suite Administrator, and have found that there are things I can do on the side even with the skills I have (upgraded a little, of course).
The opportunities are almost endless in how I can manipulate my skillsets to earn some extra income, which makes me feel a little better about my ability to survive even if I were to have the misfortune of losing my job, or some other medical condition forces me to take a break from corporate life.
Here are some blog posts I wrote about my #100DaysOfCode Challenge:
- JavaScript Statements and Syntax: JavaScript Newbies
- 2018: The Year of Unexpected Beginnings
- Month In Review: January 2018
- What I Learned From R1 of #100DaysOfCode
- Baby’s First Ever #Hackathon!
- My Summer Reflections: Decluttering, #100DaysOfCode, Arthritis, and Chemo
- #100DaysOfCode Challenge
Who’s the Sexy Unicorn?
Who’s the Sexy Unicorn on the cover image?
He’s Meetup HQ’s mascot that I met when I attended the first NYC PyLadies Meetup few weeks back.
(The best part was that the guy sitting in reception was wearing a Tumblr hat.)
R(ound) 2
Now that R1 finished, I dived right into R2. For R2, I am going to be focusing on my Udacity course for the Google Developer Scholarship (Frontend Development Track), and Python (my manager wants me to begin creating scripts to run to streamline more processes).
For R1, I wanted to re-learn HTML5 and CSS3, and to test out the waters on what else out there. Now, I’m still pretty mediocre at those, but I can use them to the extent that I feel I can focus on other languages, like Javascript (learning with the Udacity course right now), and Python (which is very similar at the beginner level with Javascript). Moreover, since I won’t be switching over to Frontend Development as my career, but staying in IT, I do want to focus more on things that will directly help me at my job, which are things like learning Python, and API.
Also, finally, after 3 years of living on hodge-podge furniture I received from random people, I finally bought a standing desk and dresser from IKEA (along with some shelving to put in the living room). Finally, after half a year of working-from-home in on the dining table in the living room, I now have a work station set up!
I have to say, it is quite an improvement! I feel like I’m ready to be hired by Apple now that everything in my bedroom is some shade of off-white…
How is Your Challenge Going?
I know a few of my readers began the challenge after I wrote about it, while others found this blog because we are Twitter friends because of the challenge. How are your challenges going?
What is your end goal? What exciting projects are you working on now?
I fell out of the #100DaysOfCode challenge because, once again, life happened. And then, distractions happen. Then all of a sudden I end up flip-flopping from Python to Javascript to refreshing HTML5/CSS/Sass and then it goes round and round again. It’s bad to let distractions get in the way and I’m losing myself to temptations.
I just joined another challenge also sponsored by CodeNewbie called #CNC2018 with the #StartCoding challenge. I wanted to do #CodeMore or #BlogMore, but I want to take the safer way for the time being. Maybe this will really get me back on my feet again and catch up to the #100DaysOfCode challenge again.
I have to admit that I’m doing more #BlogMore than #StartCoding, I thought of changing the challenge, but I think today (1/26) is the last day of changing, so I might as well stick to it.
Still, congrats on your major progress. Winning that scholarship was very sweet. I plan on applying for it the next time they open up again. I’ve tried the Udacity free courses before, and I started freeCodeCamp years ago, but again, I fell off of them and flip-flopped. I need to get my focus back lol.
Wow you’ve done a lot in those 100 days. I love your point about taking breaks, and having something to look forward to working on after the break. Also it’s a good point that once you succeed in forming a habit, it’s not that hard to add on others, especially if some of them are similar, such as health and fitness related. Congrats on all you’ve done, learned, the Google certificate, and the community of developers you’ve become a part of. Thanks also for helping me stay motivated to keep going as well. It was you that lead me to use Twitter more, mostly for the 100 day coding challenge, and also joining the challenge!
I haven’t done much with my Github repository, but I never really used Github much. Most of what I work on, I don’t keep on public repos. But I also have a slight advantage in this challenge since I’m a web developer by profession. So it’s my job to write code everyday at work. I also do freelancing on the side, and volunteer work relating to web dev.
One of my bigger challenges is finding time to learn more in terms of design strategies. So during the 100 days challenge, I’ve been reading and watching YouTube videos about design strategies for writing code that is set up for easy changeability, maintainability, and easy for another developer to take over a project. I want to work towards becoming a more professional developer who starts with a plan, instead of just diving into coding, which is my tendency for most projects. I find especially with bigger projects, it gets harder to maintain the code, especially when receiving several tickets for that one project, and each one should be pushed to test and production at different stages. It’s a challenge when it’s all one website, and it’s constantly being updated due to our new culture of always releasing constant updates of version 11.1, 11.2, 11.3 etc. so breaking up the CSS and JavaScript resources etc into more files, and grouping related code together helps. I often find myself looking at code I wrote, and wanting to rewrite it. So here’s to learning about strategies that work, and applying them.
Rather inspiring! You’ve done a lovely job! Congrats on the scholarship!
Wow, you accomplished so much! That is so awesome. I will have to go check out those articles you wrote. Thanks for the info and the free resources. I havn’t been as in to learning a lot more on web design these days but sometimes I feel like I need to start learning more again. I hope to someday go back to school and do more on the programming side of things. We shall see…
The overhauls on your sites look great!
Good luck with the writing goals. I think you can do it for sure. Your blog entries are always really interesting and well put together. ♥
Congratulations on finishing the challenge! 😀
Well done! You did so great. It’s fantastic you tried it and it looks like it really changed your life.
You should be so proud for achieving so much.
I’m literally so proud of you! I felt super sad falling out of it because of other commitments that I do in the tech space that I felt like I couldn’t catch up. This post has inspired me to try it again!! It’s incredible how much you got out of it beyond just coding, but networking and going to events. SO SO SO PROUD. Thanks for sharing Hiro! You keep sharpening those skills, you’re going to be amazing. <3