The Importance of Rebuilding

One of my nerdier interests is Runescape. Every since Old School Runescape has been re-released, I’ve loved watching twitch streams featuring the game. It’s amazing to watch thousands of people gather around and watch a game I spent so many hours on when I was younger.  Don’t worry, this is relevant…

Every now and again, even the most popular streamers get “cleaned” meaning they have lost all their entire bank and are now starting over. They generally proudly exclaim to the chat “It’s time to rebuild, boys!”

Well, dealing with anxiety and depression, sometimes I have to spend a ton of energy doing normal day-to-day activities and there’s not much left to keep pushing on studying, networking, etc. I spent a couple months in a bit of a lull, and lost some of my drive to write this blog and continue to study… but:

It’s time to rebuild, boys!

For the last couple weeks, I’ve adjusted some medication and come out feeling better than ever. I started a project of relaunching a YouTube channel that me and a buddy used to run…  TheCreepypastaDuo. It’s a simple narration channel for Creepypasta stories posted online. We used it in the past to develop some skills in voice/instrument/sound effect recording, music composition, and marketing. It’s even more recently led to a paid voice over gig!

After restarting the YouTube channel, I wanted to rebuild it’s companion site, CreepypastaChamber. Riding the energy and excitement of rejoining the Creepypasta community, I decided this was the perfect outlet to really start putting some of my new development knowledge to the test.

I set out with the following goals in mind:

  • Setup a couple linode boxes from scratch (simple LAMP servers)
  • Use a headless WordPress instance as the backend
  • Create a React frontend that consumes the WordPress REST API

As things usually go, the scope and goals quickly expanded to:

  • Migrate everything to AWS
    • Serve the WordPress API from an EC2 instance
      • Make sure this is very secure:
    • Serve the static React build from S3/CloudFront
    • Utilize Route 53 for all DNS configurations
    • Utilize the free SSL service provided by AWS Certificate Manager
  • Figure out how to use Google Analytics within the SPA
  • Make sure the entire site works as a PWA (progressive web app)
  • Create dynamic page titles
  • Create custom post types for stories and narrations, allowing them to be linked together
  • And a huge backlog of other items

I’ve had some serious success burning through these items… even though not all of them had the best tutorials available. Because of this, I’ve decided that I’m going to document the entire process, and create tutorials related to each of these items in a full series about how to create a similar site and launch it to AWS including security configurations, SSL setup, steps to create a PWA even when using runtime caching to store external resources such as api calls and google fonts.

Tonight I hit a milestone of getting 100% in the lighthouse PWA audit and officially being able to download my first PWA to my phone!


Balance and Burnout

I’ve been making some really great progress on my React side project lately! I’ve spent a ridiculous amount in the last week hacking away at things that were way over my head… having both breakdowns and breakthroughs along the way, haha. It definitely came with moments of very strong imposter syndrome.  The stress of failing over and over (which is just part of development) before a success can be exhausting. There’s definitely only so long that I can go 100% before I really start to feel burnout.

But how do I combat burnout?

I’m glad you asked! DO SOMETHING ELSE! Seriously, that’s it. You need to do something different. You need to do something active. You need to step away from the thing that’s causing the burnout and decompress. The same is true with music for me: I have a tendency to listen to songs I love over and over until I hate them.  If you really want to get somewhere long term in your career, you need to find the right balance for you and your goals.

The real key word here is balance. Too little work? You’ll fall behind in your career or never really get started. Too much? You’ll go far quickly and then hate it so much that you’ll swap careers; which would make it all a waste of time.

So what else should I do?

For me, I like to activate my other learning styles. This helps create enough of separation in my brain that it forces me to turn off the others for a bit, allowing me to recharge. So make sure that I balance the very visual or auditory learning, which I use when learning new development techniques, with some heavy kinesthetic activities.

For me, the kinesthetic list tends to be:

  1. Swing Dancing
  2. Hiking
  3. Rock Climbing
  4. Grappling

Obviously you need to find what works for you… but there are zero negatives from getting and staying in shape, so I recommend something that helps you get into a meditative space by being physically exhausting.

Hopefully this helps you get rid of your own burnout. Good luck!


Imposter Syndrome

I have always felt it’s good to try and analyze a situation; to understand cause and effect. So when I recently hit a wall and finally figured out a way over the hump, I spent some time really picking it apart.

So what created this passion in me that has caused me to pursue a deeper understanding of JS? What sparked the drive for me to begin reaching out and start the process building a network? How did I finally connect with these ridiculously intelligent, and successful, UI engineers that can help guide me through this process? 8 years later, I’m finally taking these steps and what can I thank? Imposter syndrome.

For those who are unfamiliar, imposter syndrome describes the feeling that you don’t know enough; that you’re not good enough. That you don’t deserve to be in your current position; that you don’t deserve the promotion. It’s a self doubt that is largely driven by the fact that there is simply too much to learn. There’s some truth there; but the fact is, your goalposts are moving.

When I needed to begin looking for a job, because the startup I was involved with was not going to be able to consistently pay me, I had a bit of a shock. I had grown extremely confident and comfortable in my development abilities… but I was passed up for several developer positions. Why? What was wrong? I’ve learned new technologies; taken on new responsibilities. I’ve spent countless hours hacking away, pushing through frustration in my free time. I couldn’t understand why I wasn’t more sought after.

What is simply the algorithm questions during the interviews? Was I not specialized enough? Who knows… cue imposter syndrome. The difference, this time, was my ability to use this horrible feeling to create a fire within myself. A fire and drive to get the job I’ve always wanted. A desire to finally be the developer I know I can, and should, be.

Those who know me personally know that I’ve struggled with anxiety and depression throughout most of my adult life. It took many years to really find a solution that helps me cope and feel in control of my own emotions. Aside from diet and exercise, the thing that has had the largest impact for me is cognitive behavioral therapy (CBT). It’s truly amazing how this technique has helped me pick apart, dig into, and really understand my own imposter syndrome.

I highly recommend that anyone struggling with imposter syndrome, look into CBT as a potential solution. Not only will this help your emotional intelligence and ability to calmly and efficiently deal with imposter syndrome, but also your every day thoughts and interactions.

I did manage to land a job in technical project management… but more to come on that later!


Hello World!

Tonight while sitting in a coffee shop and stressing about my career (a common past-time of mine recently), I read a suggestion to start a blog and catalog my journey as a developer.

This is the suggestion I received:

…In the process create a simple blog and write a few articles about stuff that you learned during whole process…

The mystery man behind this comment, which spawned this blog, and much more detail about the journey I’ve taken to get to this point will be revealed in later posts.

For now, I’d like to document what I’ve done this evening as a first step:

  1. Purchased a new domain for my personal blog/resume/portfolio site.
  2. Added a server to my linode account (Yay $7.00 more per month).
  3. Installed LAMP and updated permissions as needed.
  4. Configured a vhost for this site so I can host multiple projects from this server.
  5. Setup the DNS.
  6. Installed WordPress.
  7. Created this post (so meta).

Almost as quickly as I said hello, I will now say:

Goodnight world!