As the one-year mark approaches for my time in the programming industry as a junior developer, I would like to take the time to jot down four pieces of advice I would tell my younger self.
1. No one really knows what they are doing (most of the time)
Coming out of my 4 year computer engineering degree and transitioning into my first junior developer position was an exciting moment because all those dreadful days of all nighters were done and I could finally start doing things that I wanted to do. As I started planting my seeds in my first developer role, I got assigned my very first mentor who would show me the tricks of the trade. Even though he has been in the industry for about 5 years longer than me, I noticed he still gets stuck needs to use google and Stack Overflow to help him get out of those moments. To some, this is probably an obvious thing but not to my high school self, who thought the great programmers of today knew how to solve everything without seeking consultation online.
2. Read and write code
The only way to write better code is to read better code. At my job I found myself doing a lot of reading of the codebase to get a better understanding of the system I was working with and also following some of the rules they followed such as modularizing code, making it readable, how to comment. All these great skills build up over time and can be aided by reading other people's code and how they work.
3. Build and build and keep on building
When I was younger and researching about what programmers do, I would often come across a few languages like Java, C++, Ruby, or Objective-c. I would try to check out a book from the local library and try to read the novel from cover to cover hoping I would be an expert by the time I get to the end. Spoiler alert: never finished any of those books I started
The only way to get better at a language or framework or tool is to actually build something with it. It doesn't even have to be original either, you could find a basic project on the internet and try recreating it on your own without cheating. No matter how many books you read or blog posts you read you will never achieve that "expert" level without actually building projects and actually applying those techniques which you read about.
4. Failure is Γ°ΕΈβΒ
There are a very low chance that your first project will be built successfully or make you a superstar in the computer industry. Everyone fails at one point in there life. The way I look at it is what learning opportunities did those failures bring to the light. Every time you build a project and run into an issue, you can ask your best friend Google, who will show you tons of possible solutions which help you jump to the next hurdle. The only way to claim your success is to face failure and learn from it.
Top comments (13)
After about 12 years in the profession, I still search Google every now and then.. And although it occurs less and less, it's not likely to stop, since the most important thing in this industry, is not to invent the wheel.
Although counter-intuitive, a completely new from scratch solution is usually inferior to a tried-and-tested framework/tool/package/etc. that you use to construct a tailored solution to the problem at hand.
As a result, you must always be on top of things, and be aware to the progression of the industry, so you can find said frameworks/tools/packages/etc., and some creative ways to use them.
And the best thing is, that as you progress you can start publishing blogs or answering questions regarding your new knowledge.
Awesome insights and thank you for passing some advice down to me.
Love this one "No one really knows what they are doing" :)
Number 3 really hit home for me. As a voracious reader, my instinct when learning anything is to check out a bunch of books from the library and read them cover to cover. Coding has been such a shift because just like learning a foreign language, you can only learn it by actually using it. Now this is one of the first pieces of advice I give fellow nerds interested in development. (Of course, the other topics are spot on as well.)
Great insights!
Number one caught my eye. Mentorship is very important. I had one at my first employment. He should me great tricks even though he would Google. Right now, no mentor. Mentors really help people along career paths
These are great points you have mentioned. And as a self-taught Android Developer, I think the 2nd point is really important you know. To write better code, you have to read good code so most of the time I'm going through open source projects and see how expert programmers and the fellow devs achieve something and it really opens my eyes that there are so many better ways to achieve a single thing.
Keep up the good work and Good Luck :)
Great, pragmatic advice and complements very nicely the idea of being a learner, not being afraid to fail and cherishing community and teamwork. I, for one, am never too long in the tooth to 'refresh' principles that served me well my entire career. Thanks for sharing!
this is excellent - should put this on a sticker/poster: "The only way to claim your success is to face failure and learn from it."
You last paragraph is my favourite. There are no failures in life, just lessons.
Great article. Point 3 is bang on. Practice makes perfect.
These are some Golden words for any developer.