20 Things Coding Taught Me About Life
I took my first coding class 7 years ago out of necessity. I needed a website for a new business. I encountered all the frustrations of learning a foreign language. At first the mind rebels, then it makes room for its new words and rules and terms.
Learning by Doing
Other than that first class, I’m self taught. I owe a lot to the coders I’ve worked with and for along the way, but after 6 years of freelancing I’ve found that each project’s requirements are where the magic happens. You start from a static design, a flat image of how you want a dynamic website to look and function, and then ask if any or all of it is possible.
“Can you make this work?”
When a client asks the tone can be pleading, curious, or demanding, but the answer should always be, “Yes.” That’s the first item on my list. Even if a design or idea is like nothing you’ve ever seen before, in programming there’s no such thing as impossible. If something in the programming world is impossible, a coder or group of coders get together and make it possible. That’s what has fundamentally changed how I approach all of my decision making now. Below are things I’ve found that are as true in life as they are for any coding project.
- Anything is possible.
- Before you do something, check to see if someone has already done it.
- If someone has already done it, determine if you can improve upon their solution.
- If something you need doesn’t exist, make it yourself.
- Do your best, but know that at some point in the future there will likely be a better way of doing it.
- Always be learning those better ways to do things, even the things you think you got locked down. Never be complacent about your existing knowledge. It’s better to abandon the comfort of what you know than to miss out on a better way of doing something.
- There’s always someone who knows more than you. Learn from them.
- There’s always someone who knows less than you. Help them.
- Be nice.
- Be sympathetic.
- Be respectful.
- Respond in a timely manner.
- Never be critical of an idea until you can offer at least one alternative solution (and remember #9 through #13).
- If you see a way to improve someone else’s work, share the information.
- If someone offers a way to improve your work, take the information (and thank them).
- Stay organized.
- When you inevitably become disorganized, be methodical. Solve one issue at a time.
- Plan ahead for mistakes because you will make them. When trying new things, or doing things you’ve done a million times, have a backup plan.
- Enjoy yourself.
Life is not a bunch of 1’s and 0’s
Everyone is unique, like every project is unique, but there are common fundamentals at the heart of everything. If you start with the common elements and work your way out, you’ll likely find a solution even to your most complex problems.