Recently while browsing the internet I’ve stumbled across a few articles about what people have learned in their 1–10 year(s) of coding and I thought I could share my experience.
1. Asking questions is a (mostly) great thing
Regardless of how far along you are in your career or what your skill level as a programmer is, you will be asking questions. First you’ll be asking google and stack overflow constantly. Less skilled developers will be asking more skilled developers questions so that they can learn and develop their skill. Remember, everyone had to learn at some point, and the best way to learn sometimes is to ask a really good question.
That said, you should be asking better questions. Read documentation instead of reaching for stack overflow. If you have asked a question about something before, remember it even if that means keeping notes. Senior developers want to help you learn to be a better developer, they don’t want to do the work for you. So when you ask, be ready to absorb and learn.
2. Build a thing to do a thing
When you come across a problem that you think you may have to solve again, build a thing to do a thing! Write helper functions, helper classes, etc. Better yet, reach out to the open source community and see if there are helper tools available already. Automate the boring stuff, and get back to problem solving the fun problems.
3. It does make sense, just maybe not to you
Early on in your learning it is easy to come across new ideas that don’t seem to make any sense. But here’s the thing. If there is a community behind it, it has to make sense to someone. Don’t get discouraged if you don’t understand something. Learn the vocabulary first, because that is the quickest way to accelerate your learning.
5. Learning as a lifestyle
By now I’ve touched on this verb a few times but it is vitally important. Make learning a lifestyle! This goes for things beyond just coding. If you want to know something, go ahead and learn it! If something is too complicated, break it down into smaller steps. I’ve found in the programming world, the fastest way I learn is by building something from scratch without a tutorial. I learn the vocabulary first, then look at a quick start guide of some kind, then I just start building. I’ll google questions as they come up, but I try to fail fast and learn from my failures.
Honestly, anything in life can be learned if you break it down into manageable chunks, learn the vocabulary, set measurable goals, and set a realistic timeline. I like to remind myself, “the first step to being good at something is to be kinda okay at something”.
6. A skilled developer is a skilled developer
Regardless of language or stack. To me, if someone is a skilled developer that means they are efficient at solving problems. This requires understanding the basics behind programming, and being able to learn/adapt on the fly to get things done. If you are skilled in one or two languages/frameworks, I promise you that you can learn and be skilled in as many as you would like to.
There is more to being skilled than just knowing the language the best. It’s understanding the business logic/requirements, using best practices, working promptly, and effective communication that set skilled developers above the rest. I could continue to ramble on this subject, but that’s a post for another day.
7. Speak Human
Communication is key. What you just built is no good if no one understands what it is or how you use it. Write clear documentation. Articulate what you are doing to those you are working with or for.
8. This is a great career to build a lifestyle around
If you are or become a skilled developer, you are in high demand! This gives you leverage to get what you want out of your work. Work from home? Unlimited time off? Equity? All of that is possible and more if you provide enough value for the company. Aside from working for a company, you can also build things of value to generate income or sell to the highest bidder. Either way you can use your skill to create a lifestyle you enjoy.
9. What you build can change the world
A little sappy, but it’s true. The first time you launch a product, be it a website, an app, or a piece of software, you have added to the landscape of technology. The things you build are used by people. If you can make someones life better with something that you built, that’s something to be proud of.