When you learn to program, you don’t just learn to code. A whole new and unique world opens up. Programming isn’t like anything else. It’s a weird hybrid between math and engineering with a singularly creative component. Because programming is a breed all its own, there are certain things that you’ll only understand once you become a programmer.
The age-old Mac vs. PC debate is over. Actually, it was won long before either Mac or Windows was born by Mac’s ancestor, Unix. Programmers know that Unix and its descendants Mac, Linux, and BSD are much better than Windows for pretty much everything, especially development. Integrated Development Environments (IDEs) are powerful tools that programmers use for writing and often compiling software. You can install an IDE on Windows, but as the old programming adage goes, “Unix is an IDE.” Everything about the way Mac, Linux, and BSD are designed makes them the perfect platforms for programmers to develop on. Plus, they have a wide range of tools either built in or easily available for free.
So, do you feel like doing absolutely nothing for a while? Compile some software. It can take a long time, and there aren’t many employers that will try to make you work while your system is fully occupied building software. Sure, web development languages don’t usually have to be compiled, but if you find yourself working with a language like C++ that does, compiling can give you a nice unscheduled break.
When you write code, you’re interacting directly with a computer. You’re speaking its language and giving it directions. Working in the command line is the same. Actually, everything you do in the command line is programming in a shell scripting language, usually Bash. Once you get used to the level of control that programming gives you, pointing and clicking just feels clunky and awkward.
Picture that you’ve just spent all day perfectly crafting a piece of code hundreds of lines long. You painstakingly tuned the logic to ensure that all of the pieces flow together seamlessly. When you’re sure that everything’s just right, you go to run it. Boom! It doesn’t work at all. Now, you’re stuck looking back through everything over and over, trying to figure out why. That’s exactly the kind of nightmare that a missing or misplaced semicolon, parenthesis, or bracket can cause. Programmers have lost countless hours on them.
Programmers understand that it’s impossible to do everything from scratch and that working harder isn’t always a good thing. In the coding world, “Work smarter not harder,” is a necessity. Bill Gates famously echoed this philosophy when he said, “I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it.” Not only will laziness motivate you to design simple code, it will also encourage you to use other people’s code. Open source projects exist for a reason. They allow programmers to use each other’s work and avoid wasting time reinventing the wheel.
Programmers know to appreciate comments. Comments in code let developers leave behind messages explaining how things work or warnings about tricky code. Comments can be a life saver, but anyone who has been programming for a while knows that they can also be a place to get creative. There are some interesting comments out there. A few are below, and you can find plenty more out there, like in this StackOverflow thread.
stop(); // Hammertime! // drunk, fix later // Magic. Do not touch. /* You are not meant to understand this */ // hack for ie browser (assuming that ie is a browser)
The world is held together with duct tape and crazy glue. It’s, unfortunately, common that developers have to solve so many problems with code that works but no one understands why. That’s just a fact of life as a programmer. Programmers write, rewrite, and tweak code repeatedly for years. Bugs arise, get solved, and sometimes, programmers need to rely on trial-and-error to get things working the right way. Any programmer will tell you that trial-and-error can lead to solutions that just magically work.
Making changes and adding features sounds simple, but programmers know differently. Even some of the simplest features are the tip of a much larger and uglier iceberg. Code takes time to craft and test. Once you’ve worked as a programmer, you know how frustrating it can be when you’re asked to “make a quick change.”
Starting out as a programmer is like getting that letter from Hogwarts that you’ve always wished would show up. In the beginning, everything is exciting, fantastic, and a little scary. You’re wielding powers beyond what the average person understands. When you tell people that you’re a programmer, they will be impressed, and they’re going to assume that you can do some pretty awesome things. As you work and build your experience, you will do awesome and impressive things. Not only will you surprise yourself with how the “spells” you write make such interesting things happen, the people that you share your work with will be genuinely blown away. In today’s world, programmers are the wizards that use their magic to build the technological wonders that everyone uses, but so few understand.
Bugs sound small, don’t they? Well, they’re not. Programmers know that bugs can be a big deal. Bugs can lurk mostly unnoticed in your code and cause mysterious problems that pop up at the worst times and in totally unpredictable ways. Bugs are hard to find, especially since they don’t necessarily cause programs to crash. Programmers spend weeks hunting bugs. Some developers even put out bug bounties to get help in finding these nasty code problems.
When you write code, you’re solving a puzzle. Unlike other logic puzzles like Sudoku, programming doesn’t have many rules. You can go in any direction and build virtually anything. The puzzle comes from knowing where you’re starting and knowing what you need to have in the end, then figuring out how to get there. There’s more than one solution and more than one way to put it together. So, it’s both challenging and rewarding. It even lets you be creative. It’s no wonder why programming can be so addictive.
Programmers have their own subculture. Along with that comes programmer humor. Coders tend to incorporate their often dry and sarcastic sense of humor into their work and their conversations with other programmers. If you’re not already familiar, you got a glimpse of that with the comments earlier. There are even popular subreddits dedicated to programmer humor. And, don’t forget the classics like: “There are 10 types of people in the world. People who understand binary, and people who don’t.”
There needed to be an obligatory Matrix reference. Seriously tough, when you’re a programmer, you see through applications to the way things actually work. It’s hard for a programmer, especially an experienced one, to look at a program and not start picking apart how it was built. It makes you feel like you’re in on a secret, but you also can’t stop seeing through the illusion.
As a programmer, you know the insane amount of work that goes into building a large application. Games are some of the biggest programs there are now. Even simple web-based games require a ton of work do develop. Coders usually aren’t going to be complaining that a game took too long to develop unless it comes out a total mess. They have an appreciation for how much time the developers had to spend to get stable and complete enough to release. Games really are impressive. Coders know that absolutely everything that happens in a game had to be written and tested by someone. Even the smallest things are a big deal to write.
There is an unbelievable sense of empowerment that comes with learning to code. Sure, you might feel totally lost when you’re starting out, but as you progress, the ideas start flying. There’s a reason that programmers tend to have loads of side projects on their Github pages. They come up with ideas for programs all the time and know they can actually make them. Sometimes it’s to solve a problem that they’re having. Other times, they just wish something existed. Either way, programmers feel like they can make just about anything, and they usually can.
Follow the steps of more than a thousand career changers and entrepreneurs that launched their careers in the tech industry with Ironhack's bootcamps.