Job Description
IT Intern
I'm graduating this year, so I am applying for jobs. It isn't very fun and it’s certainly not something I look forward to doing but I still get on with it. Usually, there's an experience section where I must put in what I did. In this section I talk about the jobs I have had and the most recent one I put is IT Intern at Lavner Education. Now, IT is something that scares people when they hear about it. They think of "phone in a bag of rice" or complex lines of code, but I can tell you that IT is not complex lines of code. Any IT position can be boiled down to three main sub-jobs:
• The Detective
• The Sculptor
• The Magician
The Detective
Most of the time if a person sits down to write code, they are bound to make a mistake. After all, it’s only human to make a mistake. Now if you try to run your code you will get an error. This error is generated by something called a compiler. You can think of a compiler like a translator between the code that you type and binary. Now you may be wondering what Binary is. Binary is just a sequence of 0s and 1s. These 0s and 1s are how your computer knows what to do when you type in your password, surf the web, watch a YouTube video, or do any task that you would normally do with your computer.
In all the code that I have written for projects and school assignments, there has never been a moment where it worked on the first try. The compiler has always yelled at me, telling me that there are errors in these places in your code and I usually must go find them. It gives me the code line number where the error is and I’m on my own from there. Think of this as the first clue. You come to a crime scene, and you look for or get a clue. Maybe it’s a specific kind of lipstick left at the crime scene, maybe it’s a cartridge of a bullet that was fired, maybe it’s fingerprints. The compiler telling me to go to a certain line number is it giving me a clue after which I must do my detective work to find the bug or the thing that is not making my code work the way it is supposed to. Hunting down the bug almost ends up feeling like I’m trying to track down the most wanted man alive. Combing through documentation of how the coding language works to catch the culprit that is stopping my code from working. There are only a few things better than putting the criminal behind bars, or in my case, finding the bug and fixing it.
The Sculptor
It’s always nice to write code that works but writing concise, beautiful code that works is an entirely separate challenge. It’s almost an art. Knowing what lines can be combined to make the length of your overall program shorter is almost as hard as getting the code to work in the first place.
Writing concise code begins when you think to optimize your code and make it easy to read. Programmers end up creating a giant mess when writing code in the pursuit of making it work. And when the code works, the painful debugging they did in the process of making it work is something no programmer ever wants to go clean up. Those who do choose to do it either end up making their code not work or after hours of more work, create a program so elegant to look at it puts the Mona Lisa to shame.
Much like how a sculptor chooses in what way to hit and chip away the marble in front of him, a programmer must choose just the right way to write a line of code so that it works in that one instance and then is applicable everywhere else. When I sit down to write a program, it’s not enough that I just get it to work, I end up wanting to make it look more beautiful. Each line that I remove feels like the blunt force exerted onto a chisel to chip away pieces of marble and create a magnificent sculptor. One wrong line deleted, and the program doesn’t work. One wrong hammer and chisel strike and the entire sculptor is reduced to a chunk of rock. Precision and patience are needed to sculpt and to write elegant, working code.
The Magician
If you were to go back in time and hand someone from the Salem Witch Trials an iPhone, the chances of you ending up on the next stake burning would be well above 100%. It would be witchcraft to someone who has no idea what an iPhone is, what a phone is, and how communication works without needing a pen or paper. Writing code isn’t about writing some arbitrary program that does nothing. It’s about making your life easier using computers. Computers are good at doing one thing over and over again. Think about a repetitive task in your life. Setting an alarm to wake up for class can be done through the iPhone clock application and you can program to go off on certain dates at exactly a specific time. Brushing your teeth can also be automated by adding a mechanical arm in your bathroom that does the brushing movements for you. It’s a little bit complex, sure, but it can be done. To someone who doesn’t understand how robots or computers work, say a child or a really old person, it almost ends up being magic. Someone who came from a day and age where they had to get into their car and turn the key to start the car would be blown away by the idea of remote starts. It would be magic.
Programmers take on the role of magicians when they set out to automate tasks that are too mundane and boring to do. Once the working code is in place, it’s only a matter of flicking a switch or saying a phrase and your task is executed by itself. I did a little bit of magic myself by creating a program within my phone that updates my to-do list for me. If this isn’t magic, then I don’t know what is.
Readability Statistics
Flesch Reading Ease: 74.6
Flesch-Kincaid Grade Level: 7.8
Passive Sentences: 19.2%
Hey Ramneek! It was interesting to read about your experience in IT. My sister used to work in IT and she also talked about how upset people and kids would get when the wifi stoped working!
ReplyDeleteHi! I am not very well-versed in the IT world, but it seems you learnt a lot during your time as an intern, both good and bad things. It is interesting to read about your experience and feelings towards working as an IT intern.
ReplyDeleteHey Ramneek! This was my first time learning the specifics on an IT job, so this was a great read! Although the debugging seems stressful, which is so understandable, it seems like you learned a bunch through this internship!
ReplyDeleteHey Ramneek. Loved the analogies that you used to describe your job in IT. I particularly enjoyed the detective and how the compiler gives clues to aid the detective. It sounds like you were able to gain a lot of experience at Lavner.
ReplyDeleteHey Ramneek! I am currently studying computer science and completely agree with you that it feels like detective work when you have an error. It is so satisfying when I am able to troubleshoot the problem independently after thinking about it for a little while.
ReplyDeleteRamneek! I love how you describe the role of a programmer as that of a magician. In many ways, I think you are spot on, as non-programmers often wonder how people in your profession can do what they do.
ReplyDeleteThis is a great explanation of what a programmer does daily. I thought that the comparison to a magician from the perspective of old people or someone who doesn't understand technology is spot on when thinking about someone's parent who still doesn't know how to change the settings on their phones.
ReplyDeleteHey Ramneek. I love how you broke down an IT job into the 3 subjobs. I have very little programming experience, so it was very interesting to read about what an IT job entails in more simple terms.
ReplyDeleteHi Ramneek! I enjoyed reading about the knowledge and experience you gained during the internship. Always interesting to learn more about IT
ReplyDeleteHey Rameek! I really loved the analogies you used throughout your description I think they did a great job of painting a picture for the reader!
ReplyDelete