Some Crossover between IT and Software Development
I got my start in programming by learning to code in order to make a video game. At the exact same time, I was studying to take the CompTIA A+ certification. The A+ study guide and a Java For Dummies books were the only resources I had that introduced me to the world of computers. Before then, I literally knew nothing more than what I had picked up as a high school and community college student in order to write papers and use basic software. The point is that I was so ignorant about "what it took" to get into the software development industry that I thought the A+ certification was the way to go. I actually started my tech career working as a NOC tech at a local datacenter.
From A+, I went on to earn the Network+ cert, study for the Security+, and achieve part one of the CCNA exam. By that point, I had a fairly decent understanding of the general layout of the IT world, from Networking, basic PC hardware, and general support and maintenance. My experience in the datacenter gave me a good hands-on view of what the actual Internet looks like in the real world. However, none of that stuff really mattered when it game to making games, but it did matter in a very important sense.
I.T. mattered because it gave me context in programming
When I first opened the A+ study guide, I loved the material. I had never known what the inside of a computer looked like or what its components were, and I found it fascinating. However, when I opened up the Java For Dummies book, I fell in love. I immediately found the material 10x more interesting than the computer hardware stuff, which I still found very interesting. I knew that programming was going to be the thing for me, but I also knew that I had a general interest in all things computer.
The non-software computer-related material such as general Windows maintenance, hardware, and networking gave me a level of context about programming that benefited me in ways I didn't realize. Even though I didn't need to think about the specific transport layer protocols being used in a network request and how the packets were delivered across an array of cables connecting to a networking device in a datacenter, I still knew what was going on. I knew about the hardware being used, and I always kept a realistic grounding in my programming when I coded. It kept me from dreaming purely about the "code itself", and it kept me from being dragged into the latest dogmatic framework that would lose its popularity in 3 years.
Having a wide view of a subject gives you more tools to work with. It also gives you the understanding of what exactly you're working with you write code. The artificial world of software runs on hardware, and not having any knowledge of the "IT" side of things will have you missing out, and the worst part is that you won't even know what you're missing out on.
Leave a Comment