I am a 30-year-old developer finishing my first year as a software engineer. I didn’t get where I am by any traditional means, but I’ve learned some things along the way that might encourage someone to follow their interest in finding a place in the world of software development. Here’s my story:

I understand that not everybody had the same childhood or grew up in the same era that I did, but my coming of age involved a lot of interest in technology without a lot of exposure to it.

Seeing an Apple II running Oregon Trail for the first time in the 4th grade sparked my imagination and curiosity of these wonderful machines. However, I grew up in a rural school with minimal access to computer resources and few chances to surround myself with computer-literate people. My only opportunities involved walking across town to the library to use a computer outside of my classroom or to even watch others use them.

Despite that, I took all three computer-themed classes my high school offered: Computer Applications 1 & 2 and Programming in HTML. I then started my collegiate academics as a Computer Engineering major, but quickly realized that learning to write code in a classroom setting wasn’t for me.

Without being hands on with a product, it was hard for me to see the development process from start to finish when listening to a lecture. My mind would often wander during class and before I knew it I would be lost! Learning the history and concepts of software development without my hands on a keyboard proved to be too much of a struggle. After some soul searching and shopping around, I changed my degree to Science Education. Graduating and landing a job as a middle school science teacher put my interests in programming on the back burner.

During my first three years of teaching, I focused on becoming a better teacher and developing my curriculum, but that didn’t stop me from noticing how teachers could benefit from specialized software. I took this opportunity to rekindle my software development education by enrolling in a technology-focused master’s program that would advance my career as an educator, but also allow me to give programming another shot.

I found myself curious about the newest technologies and wanting to figure out how I could apply them by creating something my colleagues and I could use in the classroom. Having previously struggled with learning to write software in a classroom environment, I decided my only option would be to teach myself.

As part of my master’s program, I had the opportunity to enroll in one credit hour of independent study each semester. With the blessing of my advisor, I set a goal of learning one new technology or language each semester. The plan was to find one book and a set of online examples relating to what I hoped to learn and teach myself. This approach allowed me to work hands on with each technology at my own pace until I developed enough of an understanding to apply it. Over several semesters, I found my way around JavaScript and J-Query, SQL, and PHP. With this new knowledge and what I had learned in the past, I began work on a product for my school.

Amongst the grading, planning, coaching, and completing other school obligations that filled most of my free time, I set to work creating a record-keeping software suite to alleviate a portion of the tedious pencil-and-paper record keeping the staff and administration were subject to. Over a period of several months of long nights and busy weekends, I gathered information from teachers and roughed out a product that I could begin showing the staff of my school. Starting with a small team of teachers, we started using the product in our classrooms and after school programs and quickly found the software to be quite useful.

Needless to say, this increase in the quality of life quickly took hold of the school and was a hit. With the encouragement of my colleagues, I began iterating on my designs and improving my product with their feedback. We held demos, had learning sessions, and rolled out new features of the software based on teachers’ needs and experiences. Suddenly, I felt like a developer.

With cautious optimism, I started reaching out to some developers and friends of developers to inquire about the possibility of finding more work beyond writing software for the classroom. This was a big step for me as I hadn’t shown my work to anyone who writes code for a living. It was a very nerve racking experience but I found that they were all very open to someone learning the trade and trying to build something new and exciting. I kept meeting new people and telling my story, making sure to keep an open mind to feedback and criticism.

This is when I caught the eye of a developer who recommended I apply for a summer internship with Don’t Panic.

What happened next? Stay tuned for my next post.

Lessons Learned

  • Don’t be afraid to teach yourself new things. It’s amazing what you can accomplish on your own just by following along with examples in most software books.
  • Always be mindful of places where technology can assist you and your colleagues in your career.
  • Get out of your comfort zone. If you don’t, you’ll never find new paths.
  • Get out there and learn something! It’s never too late to develop new skills.

Looking For More?

Sign up to receive useful software development tips and news from the Don't Panic Labs team.

You have successfully subscribed!

Share This