When I started as an early Programmer (before I finished high school) I was always worried about knowing every bit of knowledge I could get my hands on. This was the 90’s and Google wasn’t very well-known so searching for answers to programming questions was an all day affair.
I was learning Perl then and came from an immigrant family so $50-$100 books were expensive and seemingly outrageous. So much of what I learned in those early days was by trial and error, then I thought that things would get easier, that I would eventually learn all there is to learn and I could sit back and just write software from there on out.
What I learned over the years has been a completely different experience and adventure, I was so frustrated about trying to understand what I didn’t understand and had no one to teach me what I obviously didn’t know that I didn’t realize I was learning an important life skill that fit into my CS career down the road, the scientific method for Computer Science.
Keep in mind that shortly after graduating high school I didn’t go straight into community college or Stanford and MIT though at the time would have killed for it. It was September 2001 and I joined the Marines instead, at the time it was an easy way to pay for college and I figured I could do some schooling while I was in.
Then 9/11 happened and my career took a different turn, once I finished training I tried some college between 2002 and 2003 but I ended up being really busy in 2003. During the Iraq War I had to use much of what I’d learned in high school from trial and error into real world practice, aside from having fun blowing stuff up (I was with Artillery my first 3 years) I was also amazed at the amount of research and manuals I had to know and understand.
People think that Marines are just trigger pullers, I can tell you that I did more reading and researching about topics I had very little knowledge of (War History, Electrical Engineering, Legacy 1980’s military software etc) than I ever have or would ever do and once I knew the topic I became the expert in my command. Years later I would go back to school and finish my degree but by then I already knew everything I needed to learn and college was just a formality.
My point is to say that what I thought had been a curse during my early high school years with computers had actually become a blessing, I had worked so long and hard to understand topics that even adults hadn’t cared to grasp that the skill I learned was not computers but rather the need to research and understand things that others won’t. Today I have God and that very skill to thank for the kind of work I do today both at my day job and in my free time. Sometimes in Tech we tend to go for the easy answers, sign up for this service or that one, use this operating system because it’s easier than that one, learn this programming language because it’ll be quicker than that one.
I’ve heard people make recommendations to me about everything for the better part of the last two decades, and though I sometimes listen and sometimes don’t, the seemingly endless thread appears just to be find the solution that solves the problem for you the first time and move on. The curious person in me can’t accept that as the only answer, don’t get me wrong it’s not that I want to make more work for myself, but fundamentally understanding things is what makes CS more than just another career. Research and the willingness to get uncomfortable with a technology is what got a lot of you guys to the point you are in tech but yet for many it stops once they reach a certain comfort level.
So in conclusion, CS has gotten a bad rap over the years mostly because you have people with no willingness to research or learn anything new getting a degree in it as a check in the box (or lying about it ala former Yahoo CEO) while they go on to do other things like Project Management or run a company.
Not everybody will fall in love with computers to that extent, some people will always just see it as a job but just like any other area of science, you’ll have those who are never satisfied with the answers given, who feel like they don’t know or understand enough and feel frustrated about not knowing what they don’t know. To those people I say don’t get complacent, don’t give up reading and researching but most importantly fall in love with the researching aspect of it more than the sum of all its parts and you’ll never be bored in this field.