March 8th, 2016 // Roger Parent
Looking to become an expert developer and finding a bunch of resources that say you can learn development quickly? They’re lies. You can’t. This isn’t Rosetta Stone, coding languages are complicated, and require years of expertise to master.
Look, I’m not saying this to scare you. I’m saying it to give you a dosage of reality. I wish coding wasn’t so hard to learn, but there are many reasons why you should think twice:
Before you can even learn the code itself (syntax), you need to understand the logic. When you meet a new person, you may say “hello” and reach your hand out for a handshake. You already understand the logic that says when you meet someone, you should greet them. The syntax is the actual word (hello) or gesture (handshake).
The logic is very important, because it’s the foundation in which you’re able to learn other coding languages. Logic is the ability to know WHAT you want to say. Syntax is the actual WORD you want to say. It’s easy to look at a website and say “I want to make my website look like that!”, but you need to understand the coding logic in order to even start writing your first line of code.
Great, you’ve learned English. Now you’ve got to learn Spanish, French, and Italian just to make the websites you idolize.
Digital Position was actually 100% hand-coded by myself in a program called Notepad++ (a coder’s version of notepad). It uses 5 coding languages. Learning an entire coding language is similar to learning a speaking language. Sure you can learn the word “hello”. But to get to the point where you can understand what someone else is saying, and be able to speak the language fluently, it takes years. I like to think I’m a good coder, but even I have endless amounts & other languages I’d love to learn and have met others who exceed my knowledge.
The olddddddddddddd semicolon. Yup, quite possibly the worst part of coding is writing an entire script, only for it to completely break your website. I’ve done it, you’re going to do it. Every developer has crashed something at some point of time. That’s why you need to understand fail-safes such as backups, development servers, and so on. Because something as simple as a missed semicolon can cause your website to crash and burn.
From experience, others that don’t understand development tend to think development is just simple. I can’t count the amount of times I’ve heard statements like “all I want is the ability to log in and view the quotes that have come in – should be simple”. Well, what if we have to now set up a database? What about the adjustments to the contact form? What about encryption on this form? How are we going to bolster security with this new database? There are a bunch of questions and work that goes into all the functionality you are used to. This stuff takes time and money to create.
All too often, timelines are set for you despite the person having no idea what actually goes into completing the project. This is the nature of development that you must live with.
I once sent a proposal to a potential client and their feedback was that it was “not specific enough”. Despite the fact that for a simple website it was multiple pages, I knew that the only way to be more specific would be to spew out a bunch of words that they wouldn’t understand. Sometimes, because it’s a very technical process, it’s extremely difficult to explain to anyone what actually goes into creating the functionality they require.
We still struggle with this all the time, but we’re getting better at outlining projects in “layman’s terms”. It's not the client's fault, they simply want to know what they're paying for. Know that once you do become an expert, it can be very hard to explain what goes into each project, which can sometimes result in lost clients who think they can simply install a plugin somewhere to get what they’re looking for, for free. Don’t worry, they’ll be back.
Developing can be fun (for me anyway)! There’s a great feeling of pride knowing you created something that other people are using regularly. When that website comes together, or that tool is complete, there’s a real sense of accomplishment as you try it out and it works for the first time.
I’ve always said that you should find what you enjoy doing. Period. I tell everyone that I don’t “work” anymore, because I enjoy every day in the office. I love what I do, and it’s the best feeling in the world. If learning development is a passion of yours, I whole-heartedly encourage you to go for it. However, that doesn’t mean that I’m not realistic. Take it from someone on the “other side”, this field isn’t for short-cuts and quick-wins. You’ll be learning every time you touch the keyboard.
Roger Parent is the Owner and Founder of Digital Position. He's been a developer, designer, and online marketer for almost 10 years spanning a variety of markets. He's also a very "passionate" (overly competitive) volleyball player.