The First Step
Hello everyone!
Sorry to have so much of the website look and sound the same at present. Unfortunately the hard part about starting a blog is that they never seem to include any content. So until I start getting this thing filled up, you’ll have to bear with me. I don’t think that’ll take too long though. I’ve been consistently studying, developing, and failing forward for nearly a month. You can bet I’ve had several moments where I wish I had a platform to scream out into the void. I want to list some examples of some of the things I’ve got to learn and experience since the first of this year.
Stack Overflow - Ask early and often
If you’ve never written a line of code in your life, you’ve still probably heard of Stack Overflow. This site has given me so many pointers and answers to my questions over the years, I’m amazed it doesn’t charge a fee. Now, that being said I’ve never had to actually ask a question. I’ve always been a leech. Taking the answers I needed and leaving without so much as an upvote.
Well while I was working on my “Angular Playground” application, which just exists for me to play around with, I came across a problem I just COULD NOT find the answer to. Finally I broke down, made an account, and asked my question. You can see my question HERE but I’ll paraphrase.
My question was “Why this no work if I get no error at build time?” and a wonderful person reminded me that web apps can be debugged at runtime using dev tools in chrome. I spent about 3.5 hours trying to work it out myself… but can you blame me? I come from a world where errors show up at build time and any errors you get at run time usually scream at you. I completely forgot that the browser is just another consle and you can bet I’ll never forget that again.
Asking questions on Stack Overflow is more important than upvoting and answering. Oftentimes asking for help is the first step towards success and it’s very much worth the 10 second sign up process.
Fireship - Make learning into entertainment
I’ve been learning various aspects of I.T. for over 7 years, and I’m completely self taught. I’ve tried out so many different ways to learn. Study guides, flash cards, videos, hand written notes, home labs, cloud labs, cloud tutorials, boot camps, and other stuff like that. Each tool plays a part in the learning process, and they all have their pros and cons, but it’s easy to forget that focusing on the tools often obscures the goal you’re trying to achieve.
Enter the fireship youtube channel. Is it high quality learning material? Mostly not. Is it an entertaining and hilarious way to get exposed to new and unfamiliar technologies in a way that isn’t intimidating? Absolutely.
Sometimes you have to take a break from studying to prevent or reduce the burnout that’s GOING to hit you like a truck. When that time comes, and to be clear it absolutely will, try to trick yourself into watching some of his videos. You can tell yourself you’re studying so you don’t feel guilty and it’ll make taking that break you so desperatly need much easier to swallow.
Mr. Fireship, sir, you are amazing! Thank you.
Cloud Code Editors - We live in a post-hardware world
Before I bought my current Chromebook I was working on this hand-me-down Dell Precision M4600 that’s over 10 years old. It’s got plenty of memory, graphics, and a pretty darn good CPU too. I ran a modified version of FreeBSD on it for years and that’s where I cut my teeth on compiled languages like go, rust, and C.
I only held onto it for so long because I was sure that I couldn’t afford to buy the kind of computer that I thought a developer would need if they wanted to be “serious” about being a software engineer.
Well I’ve got good news for you. All of the development I’ve done this year has been on my $400 chromebook. (I got it half off on black friday by the way) There are so many amazing tools available for free that require next to no hardware to use.
Right now I use: Google’s Project IDX, GitHub (of course), Google Cloud, Google Ad Sense, Google Analytics, and Square Space for Domain Management
All of the above runs just fine in the chrome browser!
Now, am I going to have a hard time writing low level system code for an apple silicon mac? Of course! But I can tell you from personal experience that having an actual apple silicon mac sitting in front of you doesn’t really help the process that much, and to be honest that’s not what I’m trying to learn.
Saying that I can tell you that none of this was readily apparent to me. I spent 6 months tracking my laptop usage and 3 months tracking my chromebook usage to see if this was even possible. There isn’t a ton of information out there about how to do full development on just a chromebook. Honestly though, I couldn’t have been happier with the decision to go full chromebook. For what I want to learn it’s perfect, because it forces you to think “cloud native.” How do you use apps? How do you build on a remote system? What the heck is a CI/CD pipeline? All of these questions came up and were answered as I started my journey and I can assure you that it’s a very possible and scalable way to do development.
Keep your barrier to entry as low as possible. Develop as cheaply as possible. Be scrappy and stubborn. You don’t have to do anything perfectly, just do it.
Final Thoughts
I’ve done so much in the last 3 weeks I couldn’t put it all into one blog post, and that really, REALLY excites me. I love this stuff. I’m having so much fun, and I hope you will too.
Just remember. You have to get going before you get good. Find something that excites you, find something to do, talk to people about it, get vulnerable, get used to struggling. Eventually, you’ll find yourself standing a million miles away from where you started, but only after that first step.