Monday, April 15, 2013

Is It Really Possible To Become A Programmer After One Year of School?

I started on Codecademy a couple of weeks ago and what greeted me is what at this point seems like an urban legend. This woman, aged 55, worked in a manufacturing job all her life making 12 dollars an hour and the company closed. Then she realized she had a knack for programming while taking a SQL class. So she decided to learn all sorts of languages on Codecademy and now she is a programmer. Codecademy was apparently perfect for her because she has ADD and needs to learn small bits at a time. I am sure this story is true, and I am happy for this woman. But the notion that you can just get a few basics and become a programmer is not the reality that I am currently faced with.

The last few weeks have been some of the most stressful weeks of my life. Everything has come to a head. Last August, I quit my career of 17 years to go back to school and become a programmer. I love programming and the job demand in the Milwaukee area is huge. It was the right decision, clearly.

It has been a difficult balance, however. I have a child. That, of course, is my first priority. Children consume a huge amount of time. When they are home, there is no such thing as "study time." They make too much noise. They also get sick, have school functions, and need to be taken care of. There are also the many home and personal responsibilities to juggle on top of that. In addition to that, I am 40. It is not easy going back to living without a steady income. My husband started his own business this year, and is doing well, but it is hard to make "real" money at your own business. So I have tried to supplement our income with substitute teaching. This also has consumed a large amount of time.

Last semester it was easier. I devoted my whole time to my Java course. The other courses I was taking were introductory courses or courses that didn't require a lot of programming. The Java course took almost my whole study time in order to complete the assignments. The book was like most of our other text books. They are written for someone who already knows a programming language. They don't explain things well or even use good coding structure when they model programs. I know it is not just me. This has been a topic of discussion among many programming students.

This semester has been far more of a challenge. I am enrolled in Intermediate C#, Data Structures with C++ (which is an older language and more confusing to understand), Mobile App Development, HTML/CSS/Javascript, and Systems Analysis and Design. Here's what I am finding. It is not possible to become good a programmer when you are spread too thin and you are only being "introduced" or "exposed" to a topic. Time is extremely important in becoming a good programmer. This is not a skill that can be rushed.

I get weekly job postings sent to me via email from Indeed.com and Jobs2Careers which sends me at least 10 programming jobs posted per week. I would say that 5% of those posting would be jobs I could actually apply for based on what I have learned so far. It's not that the teachers aren't doing their jobs. Some of my teachers are great. It's that to be a programmer you have to learn  A LOT, and it takes time for what you are learning to really sync together. There is so much more to learn outside the basics. The languages and their APIs are extensive. The developing environments also take time to get comfortable with and really know how to utilize them. So to really know one language well you need to dedicate a lot of time and play with the language.

So in answer to the question, Is It Really Possible To Become a Programmer After One Year of School?, for me personally, the answer is "No." Does this mean I am going to give up? No. It just means that I need to start being more realistic and dedicate huge chunks of time programming.  Knowing how to code a class, some methods, and write a few if/else statements does not make someone a programmer. Discovering this reality has been a true adventure in programming.


5 comments:

  1. i have had this similar revelation as well. especially attending meetings where everyone is well above my "pay grade" it makes me realize that, while i thought i knew a lot, there's so much more to know. with so many new things we are being taught its hard to find the chunk of time to dedicate to being 'amazing' at what you do. 'Time' is definitely the battle here. we always feel like we need more of it so we can focus harder. i hope you find that balance!

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. I try to remind myself that I felt that way when I started teaching. It was a huge learning curve! So much to know about so many things at so many levels. I never thought I would get to a place where I felt confident. Then I did. From what I read, it takes 10 years plus to really be a good programmer. I wanted something with a huge learning curve again that I wouldn't feel bored with after a year or so. Believe me, I got what I asked for. :)

    ReplyDelete
  4. Programming is an art form.

    First you need to understand the techniques, then you need to code, code, and code some more to develop your skill.

    Programming is also more than just coding as taught in CodeAcademy. There is the analysis and design element which takes more time than the actual coding itself. This takes years to become proficient. Some coders never become good analysts or designers, nor do they want to be.

    Wherever you go to work it takes time to learn the systems in place.

    An artist is forever looking, conceiving how to create what they see, and then applying their skills to bring forth their beauty from within.

    ReplyDelete
  5. First of all, "Wow!"
    Second of all, I couldn't agree more.

    ReplyDelete