The following post is from a written interview with Jonah Grimm as highlights his story, in his own words, about how he launched his career to be come a developer.
It’s hard to top an intro that doesn’t involve “Hello, world,” but here it goes! My name is Jonah Grimm, and I’m currently a front-end web developer and game developer. I’m a Praxis alum, and I’m in the process of building my first commercial game with a few friends under an LLC.
Part of me wants to say, “My whole life,” because that’s certainly what it feels like. I’ve been programming in C# for around five years now. I started getting more serious about coding in high school.
These days, I’m working at BriteBee as a front-end web developer, and I’m working with my friends on a commercial game on the side. In addition, I’m drawing five days a week. Because I work from home, I have all my work in one place. It makes things very easy to switch back and forth. The downside is it’s difficult to draw the lines between work and free time.
To be perfectly honest, I’ve always wanted to be a programmer/game developer.
I love creating things. It’s a strong passion I’ve held since birth, and programming is just another tool for creating.
When I was a child, I loved making toys and games for myself. I found the act of creating to be equally as entertaining as picking a game off the shelf to play. I built these “inventions” (as I preferred to call them) from the moment I could use scissors and tape. Then, as I grew older, I gravitated to computer programming and game development.
While I’ve tossed around the idea of pursuing different fields, the idea of being a programmer/game developer has always been my ultimate goal. Even before I knew how to code, I wanted to learn how to code so I could make games on the computer. Video games mesmerized me as a child, and I just had to know how the developers did it.
At the end of the day, my reasoning for choosing to be a developer was this: it’s fun. That’s it! That’s my whole reasoning. Programming and game development are just too much fun for me to not pursue full time. I experimented with them enough to know I truly loved the process, and I wanted to make a career out of it.
It may sound silly that my logic is so simple, but I think it’s important to wake up every day and do something you love. I don’t want to go to a nine-to-five, make good money, but be miserable because I hate the work. I’d rather be poor but doing something that I love.
The game I’m working on right now is by far my favorite project that I’m working on, but I don’t have too much I can show off about it yet.
In the meantime, my favorite project before that was probably the game-jam game I made in 48 hours with a friend of mine. Bunbun Saves The World is a comedic beat ‘em up game where the main character can’t fight. Instead, you have to drop random objects from the sky to beat up the enemies. You can download the short game for free here.
I learned from scratch. Well, Scratch, to be more precise.
Scratch is a free online visual programming tool. It has grown and changed a lot since I last used it, so it’s hard for me to say how the tool is doing now. At the time, it was the perfect playground for getting familiar with the concepts of programming.
I primarily was using Scratch during middle school, and then I took a couple of high school/homeschool classes for HTML and Java. Those got my feet wet for C#, which I started learning during my sophomore year along with Unity.
Learning how to code through a visual editor is a great place to start.
I previously worked at Chick-fil-A, and I did a couple of tutoring positions. They were nothing fancy, but even still, there was a ton of value in those positions.
Chick-fil-A taught me how to professionally communicate. Tutoring helped reinforce my knowledge base. No matter the job, there is always something unique you can learn from it and appreciate. Everything is interesting and has value if you look for it!
The earliest I thought that was the first week of my first semester at college.
During my first week, I took a step back and reexamined everything I had done to that point. I was no expert at C# or Unity, but I had made a lot of progress for only doing it on the side as a hobby. In fact, I was so pleased with my growth that I challenged the need for college at all.
If I was already able to comfortably write C# code and make mechanics and tools in Unity without any formal education, I knew for a fact I was on track to be ready for the industry in a few years.
I had already proven I could self-educate myself on nearly anything (outside of programming, too), so why spend tens of thousands for college to do that for me?
I think it’s important to wake up every day and do something you love.
In short, I knew I could make a career out of programming because I saw I was able to teach myself anything I needed to know. And if you can teach yourself anything, you’re set.
I think there are two big differences between when I started and where I am now.
The first big difference has to do with syntax. If you’ve never heard that word before, it’s essentially the grammar of coding. For example, in C#, all lines end in a semicolon. You use braces to wrap code blocks, and variable declaration always requires a type to be specified, even if it’s declared implicitly using the keyword variable. When I first started coding, I kept mixing up what type each variable was, and I kept forgetting how you were supposed to write code that doesn’t throw compile errors for being syntactically illegal. That’s not an issue anymore.
The other big difference is that I feel confident I could code anything with time. When I first began coding, I always thought, “Well, how would I do that in code?” Now that I have a pretty solid understanding of how coding works, it’s more a question of, “How quickly can I build that system, and what’s the best way to approach building it?” Oh, but don’t get me wrong, I’m still not a master at my craft. I frequently need to Google how to build certain systems. I can’t know everything, and learning never stops. But over time, the need to Google has become much less common when I’m building standard systems.
Learn to solve your own problems, and never give up. You simply cannot make it as a developer if you aren’t willing to problem-solve. That’s most of the job.
Okay, I’m going to cheat a little bit on this one.
The biggest challenge I’ve overcome was trying to get my computer to stop having blue screen issues. It took me nine months to stop the blue screen errors. Nine months of back-and-forth research trying to figure out what was going on. I read almost everything you could about the specific type of blue screen of death I was having. It was a nightmare to get fixed. But ultimately, updating the BIOS on the motherboard did the trick.
Learn to solve your own problems, and never give up.
While it’s not a coding-specific story and more of a general PC hardware story, it’s definitely the hardest challenge I’ve faced. The lingering threat of my PC crashing at any point combined with the numbing, complex research nearly drove me insane.
Don’t quit. Have grit.
Getting started with coding can be frustrating, but if you’re willing to solve your own problems and be persistent, you’ll do fine. Use Google. Bookmark Stack Overflow. Watch YouTube videos. Make some coding friends, and you have all you need. That’s all it takes.
I’m always open to talking with new people and helping where I can. Here’s where you can contact me: