Becoming a Full-Time Developer: Introduction
My Story of Becoming a Full-Time Developer
Welcome
Hi. I'm Brian and I recently became a developer for ArborXR!
An old friend of mine shared she is looking to get into development herself, which caused me to want to impart all I've learned over the past couple of years.
Maybe it can help you, too.
Have you wondered any of the following...
Do I need a degree to be a developer?
When am I considered a "real" developer?
Am I a "fake" if I use xyz framework?
Why does every job description want a "senior" developer? What is a senior developer, anyway?
Is there a "best" language or framework to learn?
How much money will I make?
Is working remotely "real"?
What do all these buzzwords and acronyms mean—PR, MR, DevOps, e2e, Kubernetes, etc?
Do I need to master Git, unit tests, shell commands, and SQL?
If so, you're not alone.
These are questions I had and had to learn the answers through pure experience. However, you, young padawan, will glean from what I have to share. I will answer these questions and many, many more through this series.
In this introductory post, I'll share my story of becoming a Developer (and not being afraid to believe it).
My Story
Prologue
Let me begin by sharing a snippet of my experience before I ever saw HTML for the first time. I am doing this so you know I am a real, regular human being. I am not a genius. I did not have a huge "head start" on programming.
I began using computers when I was around three-years-old on a Tandy. My step-dad loved computers and electronics and I was hooked from the beginning. I never learned anything about programming, but enjoyed taking computers apart, messing with Windows settings, and defragmenting my hard drive regularly.
By the time I was in high school and college, I got into video / photo editing, motion graphics, and 3D modeling. If I ever considered doing something in the tech field, it was in the creative-design arena.
My focus in college was not computer or math-related at all. I earned a degree in Christian Ministries. I attended Indiana Wesleyan University from 2005 - 2009 and my goal was simply to help people.
I was able to travel to many places and be part of many amazing ministries from about 2002 to 2011. I worked with Native Alaskans in remote villages, reconciliation between people groups affected by The Troubles in Northern Ireland, and Christians in impoverished areas of Costa Rica, to name a few.
After graduating from IWU in 2009, I became a part-time Youth Pastor and Substitute Teacher. So, how did I get from there to here?
Foundations: HTML and WordPress
Well, the church I worked for had a terrible website. I couldn't take it. So, I searched around for different ways of fixing the issue. At first, I tried this new service called Wix, a flash-based website builder. However, I kept coming up with limitations on how to get our sermons online in a way that could be searched and sorted.
This led me to WordPress. I realized I needed a server to install WordPress on and ended up signing up for a cheap server. It took some reading ( we barely had YouTube at this time ), but eventually, I figured out how to install WordPress, buy a theme on ThemeForest.net, and point our domain to this installation! Yay!
Then, something amazing happened. I saw HTML and CSS for the first time.
I had set up an extra desktop computer in my office to mentor students in video and graphic work. One student, Ryan, came in one day and said "Hey Pastor Brian, I started a class at school today on web design. Check this out."
He opened up Notepad on our Windows Vista machine and wrote some HTML
<h1>Hello World</h1>
and then some CSS
body { background-color: red; }
Mind. Blown.
Looking back, I've always been a mix of creative thinking + linear/logical thinking. I think that's what attracted me to After Effects and Blender—The ability to create beautiful things by using organized input. But, for some reason HTML and CSS were different. I didn't need to drag and drop anything. There was meaning to the syntax, as well as styling. There was nesting and relationships. It instantly filled my heart with joy.
This led me to dig into articles and online learning environments. I just checked and, amazingly, it all started almost ten years ago:
CodeAcademy: Joined Oct 3, 2012
GitHub: Joined 2013
At this time I was making simple websites, learning CSS, and a tiny bit of JavaScript / JQuery.
But then, questions and ideas began flooding my mind.
Full-Stack: Ruby on Rails
After getting a good understanding of how basic web pages work, as well as some familiarity with how the web itself works ( requests, servers, responses, databases, etc ), I wondered "What can I do with this?
I felt as if I was an artist at heart, but no talent. At this point in my life, however, I realized I could earn and learn the skills I needed to create whatever my heart desired.
What about a simple app to replace giant group texts asking "Who's in for morning basketball?"
What about a website that connects church benevolence information so we can see how to help people better, and be aware of who is"playing the system"?
I've always wanted something like a "prayer team" where I could post something I'm going through and others could pray for it, then I could update the request as "answered" or keep others updated.
I had to find a way to connect all the pieces together.
That's when I found the book Beginning Rails 4 by Adam Gamble.
This book helped me understand and experience full-stack web development by putting all the pieces together and then offering a framework that combined them seamlessly.
Rails had it all—Frontend, backend, routing, databases, and tons of third-party libraries ( gems ).
Soon, I decided to put some money where my mouth was and spent $149 at onemonth.com where I completed my certificate on Mar 03, 2015—A day after my 28th birthday, and two months after my first child was born.
I built a Pinterest clone. A full CRUD app! I even pushed things to GitHub and deployed to Heroku. It was an amazing experience, and the tight one-month deadline kept me focused. I was out of tutorial hell and into developer heaven.
Okay, maybe not "developer heaven"... I still didn't know what PR meant at this time ( no I am not joking! ). But, I could begin to take what I learned and apply it to my own ideas.
Maybe... I could even make money.
Real Life: Frameworks, Clients, and Processes
At this point I was working as an Assistant Pastor at a larger church and had many responsibilities, not to mention a new baby. However, my wife and I had a concrete goal of paying off all our debt following the Financial Peace University plan. One of the things we knew we needed to do was get some extra income.
So, while my wife started selling stuff on eBay for people, I started Nerd Specs Creative—A general, digital-handyman company.
Okay, I don't know if it was a "company" since it was just me, but I did go to the bank and get a "Doing Business As" ( DBA ) account. So, I did have a real business debit card ( and had to pay taxes on my freelance work ).
My first client was a friend who started her own CPA firm. I created the site using Weebly because they had a sweet white-label interface. And, yes, I realize I just went from Rails to Weebly Well, pick yourself up off the floor and realize that
She didn't need a custom, full-stack web application
Clients need to be able to edit their content ( and I don't have time to build that! )
So, I got everything set, and she really loved it. However, she ended up going with a CPA-focused web service which offered her weekly newsletters to send to her clients automatically. My heart sank. But, then she said she would like to buy the design and give it to the web service and have them implement it on their CMS.
She asked "how much do I owe you?" I had no idea what to say. I loved doing the work. I was just learning. I felt like I didn't do anything to really help her. So, I replied, "Oh, nothing. Don't worry about it. We didn't even get it launched."
Then, she said, "Brian, don't ever charge for anything other than what your service is worth to your client." She explained when she began she was not charging as much as others, but her quality was better. When she raised her prices over time, one of her biggest clients said "Now you're finally charging what you're worth."
Charge what your service is worth to your client.
Wow. That's some great advice.
And, to make it stick, she wrote me a check for $300!
I couldn't believe it. I just made money doing digital work—Something I really enjoyed. I realized at this point, I just got paid to learn!
From there, I did a few more Weebly sites, but quickly came to the end of that CMS' capabilities for customization. I went back to my WordPress roots and found I could charge clients the price of the ThemeForest.net theme and then customize it, and now charge a hosting fee. Email was included for free, because I didn't really know what it was worth to people.
When I started, I was spending about $20/month in hosting fees on SiteGround.com and charging $20/month per website and email. At first, I charged a flat rate of $300 for a website, but eventually switched to a $20/hour rate.
Looking back, I was charging nothing But, again, my goal was to get paid to learn, instead of paying to learn.
My goal was to get paid to learn, instead of paying to learn.
So, I continued to do this.
I wrote a Rails app that could manage church buildings and facilities ( it was called Truseease, a play on church trustees ).
I implemented an entire Magento site for Impact Gel. This was killing me due to the time they wanted from me and the low $20/hour pay.
I wrote DrydenWire with the ProcessWire CMS/F after a co-worker tried to create a large-scale news website with Wix. It was a very frustrating situation where she paid me a little to do it, while she got paid a lot more to do nothing. As this company grew, more was demanded of me, and as the sole developer, with a full-time ministry ( which is way more involved than a job ), a new kid, and a marriage, I was stretched to the limit. Once I got half of a Cordova app written in pure, vanilla JavaScript, and I was spending hours studying how to integrate push notifications, I about lost it.
I was failing at everything, all at once. I had nothing left to give. My wife told me to quit, but I had to battle my people-pleasing issues. Finally, though, thankfully, God gave me the strength to face my inner-turmoil and step out of the situation.
Before I did, I made sure another ProcessWire developer was able to take over. There was a little bad blood, but my family was more stable. At this point, I felt I needed to choose between Ministry and Development. So, I chose Ministry.
I was able to become the Lead Pastor of New Journey Community Church in Wabash, Indiana. We had another baby, grew that church, and I began a Masters in Theological Studies at Portland Seminary.
Of course, I still loved to code. So, I developed our church's website, said "no" to many clients, and tried to launch a couple of smaller things, but didn't have the time to finish ( i.e. wabashhelp.com )
So, how does this lead to me being a full-time developer?
My First Dev Role
Well, once again I took on too much. The church was growing, we had another kid, we had our own home, I was working on my Master's degree, and then my youngest had a significant injury. This final event really took a toll. We were driving 9-10 hours a week to take her to therapy, performing tons of therapy at home, undergoing surgeries, and trying to care for our first daughter.
With the pressures of ministry, combined with the other complexities, I felt I was beginning to slip internally. I didn't want to fail as a Husband, Father, Pastor, or Follower of Christ. So, I made a difficult decision—to step down from the Lead Pastor of our church. The Board offered me a sabbatical, but I felt I had to completely step down for a time of healing and reflection.
At this time, I had no idea what I was going to do. The tape played in my head,
"I love programming and web development, but what do I know? I don't have a degree in this stuff. I don't have many complete projects. Who is going to hire me?"
Now, interviews and hiring is a whole post in itself. It would be much longer than what I will share with you now. But, the quick of it is that I worked really hard on my portfolio website, re-worked my resume to focus on transferable skills from ministry to the tech space, and applied to local areas.
Web developer work is sparse in North-Central Indiana, where I was living. However, I came across a company only thirty minutes away who said they were looking for a Frontend Developer. Boy, did I not think I had a chance.
Well, apparently I did.
The feedback I received from that interview was
You are obviously a good learner
You fit our culture really well
Your references and experience show you have great soft-skills, which are difficult to come by
I did not need some of the crazy things you see on job postings:
"10+ years of C++ / Java / etc experience"
"Kubernetes expertise"
"Be a Git Ninja"
"Produced your own Linux distro"
But, in May 2020, I got my first full-time developer job.
It was a great experience being here, but I'd like to have an entire post dedicated to "What I learned at my first real developer job", so I'll just let you know it went really well. I loved it. I learned a ton. I wrote Vue ( which I had never written any modern MVVM frameworks )
And, then after COVID I went full remote, which led me to explore other opportunities.
My Current Dev Role
As of June 06, 2022 ( four days ago! ) I started at ArborXR as a Frontend Developer II. It was a promotion from where I was and I am writing more Vue and TypeScript—Thankfully all Vue 3!
I look forward to sharing more in-depth lessons I learned through each of these phases in my Developer journey.
So, subscribe and stay tuned!