Header Ads

What Every Programmers Should Learn In Their Twenties




Lots of professionals float along the river of their career, never giving more than an idle thought to where the river leads, or how quickly it flows.

In the first ten years of your career, you should:
Form explicit career goals. Work toward them, and evaluate your direction and your job’s fit for that direction at least once a year.
    Management? Do you want to be a manager? Make an explicit decision whether or not you want to try managing. If you do, start working towards it now.
      Role. Do you want to be a subject matter expert? Have a quiet career where you just get stuff done (cog)? Do you prefer to go deep, or perhaps go broad?
 
      End-game. Do you have an ultimate career goal? For example, to create a new product, to own a top-tier account, to create a new type of software or have a hundred patents, be a VP, be a distinguished engineer.
 
      Own your career. Your manager works for the company, and their job is to get you to be productive with the minimum pay and risk. Not maliciously, that’s just the way it is. Some managers will look out for their employees, others don’t. Regardless, you should:
 
      Be the squeaky wheel. Have career growth goals, and share them with your manager. When you’re expecting to be promoted, let them know. When you are unhappy with what you’re paid and want more, let them know. When you want more opportunities, let them know.
 
      Do what’s best for you. Do right by the company, but when you’re wrapping up a project or get promoted, check out other opportunities. These are ideal times to move, because it has the least negative impact on your career growth.
 
      Give your manager ammunition. Your manager’s job is to represent you up the chain, among other things. Make sure they know what you are accomplishing, and are aware of the praise others have for you. Then they can effectively represent you when it’s time to justify promotions and rewards.
What, you wanted programming advice? Well here’s some of that.
Keep growing: Make sure you’re doing new things every six months. It may be on the same version of the same assignment, but if you’re not learning new things, make time for a side project where you will. Your ‘new thing’ should usually be in a new technology silo.

 Broaden your knowledge. Learn about other parts of the system your company is building. Find out what’s different from what you work on. Read the code, and read the occasional check-in to understand related code. Volunteer to help fix bugs / write features in other areas when there’s a need.
Make a name for yourself. Pick at least one thing you’ll be ‘the person who does THAT’ for. For example, the one who knows all the crypto libraries, the one who understands all the different file systems, whatever. Become an anointed expert, and maintain that expertise. If you feel like it, write blogs / articles about that area, participate in stackOverflow / reddit / Quora. Do open source if it makes sense and you have time and permission.
Don’t be pedantic: Don’t learn Scala because it’s the new hotness, learn it when you need it. Don’t read 15 different books on design patterns, find relevant design patterns when you need them for work. And use all the time you save for better things






Want to receive our next updates? Enter your email address:

Delivered by Ideasbeams


No comments

We appreciate your comment a lot. You can join our facebook group to stay up-to-date with us.
Have any inquiries, feel free to use the contact page. Thank you.

FOR BLOGGERS
Click To Parse Your Adsense HTML Code
Powered by Blogger.