You Got the Programmer Job, Now What?
You made it. You went to school or got the training by other means. You interviewed, and maybe got turned down a few times. If you were lucky, you got some rejection letters along the way. But now you finally made it, you finally got the job. That's great and all, but you really need to boost your career and the faster the better.
As you know by now, there is a big difference in pay from junior developer to senior developer. Entry level positions can start from as low as $35k/year compared to senior developers making $100k+/year . If you want to get there from here, there are some things you will have to do in order to get there. Time is your friend in this process, but time alone will not guarantee that you get there. You must take the time to invest in acquiring the knowledge and skills that will get you there.
Here are a few things you can do help you get to the senior position first.
Learning Starts Here
Software development is a profession. Like any profession the learning never stops. You might have gone to college and learned all the fundamentals of software development, but you are still a long ways of being nominally productive in your new environment. Chances are that in your new environment, your team is using tools and frameworks that are totally foreign to you. School can't possibly teach everything you need for you job. There are simply too many tools and frameworks, so the best they can give you is the fundamental concepts. That is why you must roll up your sleeves and take your learning to the next level.
Invest in your Learning
If you thought you could graduate from school and now just focus on a 8-5 without anymore learning you couldn't be more wrong. There are many online resources that you can turn to for learning on a small budget. You should invest in your own learning. When you are investing in your learning you are investing in your career. Your are making your self a stronger programmer. Don't make the mistake of waiting on your employer to invest in your learning. In the end, becoming more knowledgeable is going to reward you just as much as it does the employer. Here are some online resources that you can sign up for:
Here is my recommendation for the five books you should read your first year of programming.
Join A User Group
Depending on where you live you may have an opportunity to attend user groups live. I live north of Austin TX so I have opportunities to attend many different user groups. If you live in a small town in Montana you may not have as many options. However you do have access to blogs and user groups online. Linked in is a great resource for user groups. There are many user groups that you can join there.
Learn the Domain
Wherever you got hired, you will be working with software that provides a solution to the end user. There are simply too many domains for school to target any one of them. You could be in insurance, payroll systems, hospital systems, billing systems, point of sale systems, the list goes on and on.
You will have to learn whatever business domain you are working in. Chances are that you have some manuals, online training or even training. If you are lucky you might be able to interview the users. It is important that you learn the domain so that you can get the big picture of whatever domain you are working in.
Learning a domain can be a painful process. Many programmers think that they don't need to learn the domain but it is extremely important that you do, if you want to add value to your organization.
A good resource for for general knowledge about domains is Domain Driven Design.
Design Patterns
Possibly you were lucky enough to be introduced to design patterns in school. If you are like most students, you probably are not familiar with them. You should learn the Gang of Four patterns. You should learn the purpose behind them and understand their basic structure and functionality. They will come in handy if you ever come across of some of the recurring problems.
Clean Code
So you got all your programs in school to run and produce the correct output. Producing the correct output is the main goal but it is not the only goal. Your code should be clean and elegant. Your code should be maintainable. Chances are that your code will outlive your job at that organization. Someone else is going to have to come behind you and read it. The better state that code is in the more maintainable it will be when a change is necessary. Just remember that while you may not have to deal with that code, you will have to deal with someone else's code at your next job.
Add Value to Your Team
You are the new person on the team. This means that you will need coaching and guidance. You will need more guidance than the other team members. This is however no excuse to use that as a crutch. Make google your friend. It's OK to use google at work to research issues that you don't understand. You shouldn't turn over to your team members for answers that you can find relatively easy for your self. If you are given a task, stay on top of it, walk the code research google if you need to understand a general concept.
Keep in mind that your team mates have their own work to do. If you become completely blocked by an issue make sure to inform your team leader. You can do this through your daily stand ups. However, keep in mind that one of the main skills as a programmer is problem solving so don't throw your hands up too quickly on a task.
As you get better acquainted with you job, you can become more productive. Get more done. If you are done with the task let your lead know and ask for more work.
Where is My Pay Raise
So by the time you do all these things, chances are your employer will recognize you by giving you a substantial pay raise in your annual review. A substantial pay raise to your employer will likely not be a substantial pay raise to you. If you employer is like most employers you will likely get a a 10 percent pay raise, if you are lucky. The best thing you can do at this point is put in a couple of years and go out and search for your next job where you will get a more adequate pay to your skills. It is a sad reality that you must go to a new organizaton to get the pay raise you deserve, but it is just how the system works in most places.
I wish you the best of luck in your journey. If you would like to continue to receive my latest blog posts sign up below or follow me on twitter @fernandozamoraj. You can also sign up by email (down below) to my blog feed.
As you know by now, there is a big difference in pay from junior developer to senior developer. Entry level positions can start from as low as $35k/year compared to senior developers making $100k+/year . If you want to get there from here, there are some things you will have to do in order to get there. Time is your friend in this process, but time alone will not guarantee that you get there. You must take the time to invest in acquiring the knowledge and skills that will get you there.
Here are a few things you can do help you get to the senior position first.
Learning Starts Here
Software development is a profession. Like any profession the learning never stops. You might have gone to college and learned all the fundamentals of software development, but you are still a long ways of being nominally productive in your new environment. Chances are that in your new environment, your team is using tools and frameworks that are totally foreign to you. School can't possibly teach everything you need for you job. There are simply too many tools and frameworks, so the best they can give you is the fundamental concepts. That is why you must roll up your sleeves and take your learning to the next level.
Invest in your Learning
If you thought you could graduate from school and now just focus on a 8-5 without anymore learning you couldn't be more wrong. There are many online resources that you can turn to for learning on a small budget. You should invest in your own learning. When you are investing in your learning you are investing in your career. Your are making your self a stronger programmer. Don't make the mistake of waiting on your employer to invest in your learning. In the end, becoming more knowledgeable is going to reward you just as much as it does the employer. Here are some online resources that you can sign up for:
Here is my recommendation for the five books you should read your first year of programming.
Join A User Group
Depending on where you live you may have an opportunity to attend user groups live. I live north of Austin TX so I have opportunities to attend many different user groups. If you live in a small town in Montana you may not have as many options. However you do have access to blogs and user groups online. Linked in is a great resource for user groups. There are many user groups that you can join there.
Learn the Domain
Wherever you got hired, you will be working with software that provides a solution to the end user. There are simply too many domains for school to target any one of them. You could be in insurance, payroll systems, hospital systems, billing systems, point of sale systems, the list goes on and on.
You will have to learn whatever business domain you are working in. Chances are that you have some manuals, online training or even training. If you are lucky you might be able to interview the users. It is important that you learn the domain so that you can get the big picture of whatever domain you are working in.
Learning a domain can be a painful process. Many programmers think that they don't need to learn the domain but it is extremely important that you do, if you want to add value to your organization.
A good resource for for general knowledge about domains is Domain Driven Design.
Design Patterns
Possibly you were lucky enough to be introduced to design patterns in school. If you are like most students, you probably are not familiar with them. You should learn the Gang of Four patterns. You should learn the purpose behind them and understand their basic structure and functionality. They will come in handy if you ever come across of some of the recurring problems.
Clean Code
So you got all your programs in school to run and produce the correct output. Producing the correct output is the main goal but it is not the only goal. Your code should be clean and elegant. Your code should be maintainable. Chances are that your code will outlive your job at that organization. Someone else is going to have to come behind you and read it. The better state that code is in the more maintainable it will be when a change is necessary. Just remember that while you may not have to deal with that code, you will have to deal with someone else's code at your next job.
Add Value to Your Team
You are the new person on the team. This means that you will need coaching and guidance. You will need more guidance than the other team members. This is however no excuse to use that as a crutch. Make google your friend. It's OK to use google at work to research issues that you don't understand. You shouldn't turn over to your team members for answers that you can find relatively easy for your self. If you are given a task, stay on top of it, walk the code research google if you need to understand a general concept.
Keep in mind that your team mates have their own work to do. If you become completely blocked by an issue make sure to inform your team leader. You can do this through your daily stand ups. However, keep in mind that one of the main skills as a programmer is problem solving so don't throw your hands up too quickly on a task.
As you get better acquainted with you job, you can become more productive. Get more done. If you are done with the task let your lead know and ask for more work.
Where is My Pay Raise
So by the time you do all these things, chances are your employer will recognize you by giving you a substantial pay raise in your annual review. A substantial pay raise to your employer will likely not be a substantial pay raise to you. If you employer is like most employers you will likely get a a 10 percent pay raise, if you are lucky. The best thing you can do at this point is put in a couple of years and go out and search for your next job where you will get a more adequate pay to your skills. It is a sad reality that you must go to a new organizaton to get the pay raise you deserve, but it is just how the system works in most places.
I wish you the best of luck in your journey. If you would like to continue to receive my latest blog posts sign up below or follow me on twitter @fernandozamoraj. You can also sign up by email (down below) to my blog feed.
Comments
www.simplilearn.com
www.tutorialspoint.com
Do have a look.