Are you interested in a career as a programmer? Or, are you about to start your software development career?
If you answered yes to either of those two questions, this article would be of interest to you.
There are four things that I think you should know before you start your career as a programmer. Let's take a look at what they are.
Your Main Language
Most software developers would know quite a few programming languages. They would have learnt the while studying in college or university, picked them up on the job, or maybe just learnt them in their own time.
The more experience that software developers get, the more languages they will probably know. It's quite common to meet more senior developers who know over 10 programming languages.
However, they'll probably say they didn't start out that way. And you shouldn't either.
To start a career as a programmer, you need to be focused. Focused on your language or technology.
You need to be able to promote yourself and sell yourself as being capable in one language or technology. This would be the kind of role you'd start in.
The way to do this is to decide on the primary or main language you want to focus on at the start.
For me, it was Oracle SQL . I knew a range of languages (SQL, PL/SQL, Java, PHP, HTML, CSS) but I decided to focus on one language and use that to start my career. If I had started with a mix of those skills, then it would have been harder to get a job and do well at it.
What is your main language? What technologies are you focused on? What do you think your strongest language is?
If you're a Microsoft-based web developer, this may be .NET. It could be Java if you're in that area. It could be SQL Server if you're a database specialist.
In any case, it's better to pick a main language to start with. You can always learn extra languages and apply them to your job as you gain more experience.
How Far You're Willing To Travel For Work
Another thing that you should know before starting your career is how far you're willing to travel for work.
In many countries, the IT jobs are focused around a CBD, as that's where many offices are located. People often live further out in the suburbs.
However, this is not always the case. You can find jobs in areas outside of the city. You can find jobs in other cities as well. Each of these scenarios will result in different travel times to get to work.
You'll need to ask yourself how far you are willing to travel each day to get to and from work. This can take a lot out of your day.
Of course, it depends on where you live, but it's something to consider. Will an hour commute each day be too long? Is that OK, but is two hours too long? Is an hour still too long?
This will impact the location of jobs you can go for, as you might want to look for jobs that are closer to your home if you don't want to travel far. Reducing the distance to travel will reduce the number of jobs available, so you'll need to find a balance.
How Much Extra Time You Can Put In
Working as a software developer can often mean that you need to put in extra time. This could be because a project needs extra work to meet a deadline, or a defect is causing issues in the company and needs to be fixed.
In any case, you might be required to work overtime. This is something that I would suggest is done every now and then, but don't make a habit of it, as I've mentioned in a recent article on overtime.
Sure, you'll need to work hard and do the work that is required, but you should consider how much extra time you can put in and how often. This can dictate what kind of job you go for.
For example, some industries (such as finance or technology) can mean you need to put in extra hours. Start-ups usually involve working a lot more hours than normal. If you work for a government job, you might find there is less of a need to put in hours.
This is just a generalisation, though. Extra time can be needed for projects no matter what the industry is.
Your Ideal Position - But It's Not Set In Stone
The final point that I think you should know before starting your career is where you want to be. I've written several articles on having a long term career plan, which I think is very helpful as it shows you where you want to be.
Have a think about where you want your career to end up. Do you want to be an experienced programmer, team leader, architect, project manager, CIO?
Your decision here can help your career path.
However, this decision is not final. It's not set in stone. You don't even need to have "just one answer". I had a few ideas when I started, and I've had more since. The thing is, the more experience you get with your career, the better idea you'll have of where you want your career to go. This is because you'll learn what you like and what you don't like.
In university, because I focused on databases, I thought I wanted to be a database administrator for a bank. When I started working, it wasn't for a bank, but my plans changed again. I wanted to be a team leader. From there, I have since focused on moving to business analysis and possible a project manager one day.
So, your career path is not set in stone from when you start, but it's good to have an idea.
Image courtesy of Chaiwat / FreeDigitalPhotos.net