Let’s face it, money is a big attraction in development. If you’ve considered becoming a developer because you think earning a 6 figure income, maybe even working from home, is a great way to be the mom you want to be while contributing in a meaningful way — you are not alone. The salary for a mid-level developer is enviable. It’s the best in the market and it can be an attractive feature for a career in tech. I’ve said this before though, money alone will not be a big enough driver of success to attain and maintain a developer position. So what does it take to be a developer? Are you cut out to be one?
There are three things that really drew me to development initially. I loved the hard problems and the way my mind was challenged to figure out what the solution would be. I also loved the efficiency of programming. Knowing that we as humans could input numbers and make the computer to the un-fun manual calculations was exhilarating to me. I hate minutiae. The third thing that really drew me to programming was that the career was in high demand. I knew I could get a job.
That was super important to me as I was working my way through college waiting tables and I had loans to pay off with zero desire to continue with my serving career. I wanted to be instantly hire-able. It’s an admiral quality in a career — to be hire-able — but it wasn’t the only reason I selected this path. I actually took my first programming class as a way to get out of taking a basic Microsoft Office class. I just loved the content so I continued down that path.
So falling into computer programming meant that I was in courses with other students who knew far more than I did about the subject. They had been doing it for years. It was both disheartening but also helpful because I had a plethora of people who knew more than me and wanted nothing more than to share their knowledge with me. Here is a very important lesson I learned from that experience as I look back on many failed attempts to get the help I needed, but also other successful ones.
The more specific my question, including ways I had tried to make it work and was unsuccessful, the better the help I got.
I know that sounds really simple. Like, okay, check. Ask good questions. But it’s not simple or basic at all. It is fundamental to becoming a great programmer. Here’s the thing. If you aren’t sure how to ask great questions, I know why. You haven’t done the work. I know because there were many times when I hadn’t done the work. I thought I had. I tried real hard, but you know I had a lot going on taking 18 credit hours while working 40 hours waiting tables. That might make me a good candidate for Accenture (it did), but it didn’t make me a better programmer.
What made me better was:
- Doing it again
- Re-reading the material then putting my learning into action
- Running my compiler over and over again as a sea of error messages spit out
- Going back over what didn’t work
- Re-working the pseudo code
Because if you are someone who wants things explained step-by-step, I have news for you and you aren’t going to like it. Being a developer is not about the step-by-step. It’s about figuring it out. The same is true of UX design. I can literally walk you through how to put together a wireframe and tell you where everything goes and why it goes there. But that misses the entire point. The way to get good is to go through the THINKING. The thinking is what makes you good. You have to do it again and again, getting specific feedback along the way.
This is why so many people are not cut out to be a developer. They think that if someone would just tell them straightforwardly how things should be laid out line by line, they would understand.
I’m here to tell you that the sooner you stop thinking that way and start thinking about a specific program that solves a problem that you can’t comprehend the answer to when you begin, the sooner you will become someone who is cut out to be a developer!