A demanding and rewarding career
As for all professions, Software Development requires time and dedication. It’s one of the jobs you can’t do “just because you didn’t find anything else”. A good Developer cares about what he’s doing, he likes to find his own errors and goes through a path of continuous improvement. A typical working day won’t necessarily be 9-to-5, and you’ll often find yourself thinking about new solutions and methods outside the office. That doesn’t mean you will turn into a socially inept, lonely geek, but simply that it’s a profession where curiosity and willing to constantly learn are a must.
Does that mean you’ll always be “on the job”?
That largely depends on you. When I started, I was so eager to learn that I got books about everything related to Development (at that time, “everything” involved much less stuff than today). I spent nights studying, experimenting and banging my head against the wall to understand why something didn’t work as I expected. However, that was because I had an absolute burning passion for it. Even without being such a maniac, you’ll be able to go far by simply keeping yourself up to date.
One important suggestion that I can give you is to always keep in mind that you set your own standards. Once you’ll land in your first Development job, it will be ok to show enthusiasm and passion for it. Companies appreciate efforts and, sometimes, they reward it. Sometimes.
However, don’t expect the rewards to always be proportionate to your efforts, especially when you go the extra mile on a daily basis. If you tell your employer that you can’t believe you’re getting paid to do something you would do for free, 24 hours a day, you are actually offering yourself to be exploited. One day you’ll like to spend time on something else, and your company won’t accept it, as you worked ’round the clock so far.
In short: find your passion, cultivate it, but don’t brag about it with your employer.
A profession where you actually DO things
One of the most important aspects of SD is that it allows, and requires, that you do something. You have to design an application or a library, write code, to test it, interact with your team, prepare analyses, learn new technologies and so on. Perhaps you won’t have to do them all, and, for sure, not at once, but you’ll be busy. Very busy. There’s really a lot to do once you’re in this world, and the best thing is that, once you’ll have found your method, it will get easier. You’ll be surprised of how much you’ll be able to deliver!
Additionally, if you’ll work smart enough (more on this later) the reward will be having your name on some popular application, and the chance to work with equally talented individuals. Note that I didn’t mention the possibility of becoming filthy rich, because that’s not on Developer’s career path. A Developer is a maker, a creator. The greatest reward one should expect is the satisfaction of having done a good job, every day. Counting the money belongs elsewhere.
A profession that can grant you excellent flexibility
Software Development can give you enormous flexibility, if you are able to handle it. It will probably take a while before companies will trust your self-management skills, but, when it will happen, you’ll enjoy a level of freedom that not many people can have.
Freedom in terms of time
Everything you’ll be working on will have a deadline. By that day, you’ll know that some things will have to be in place and working as per specifications. How you will make that happen will be up to you. In my recent employment, I work from home 90% of the time. Of that time, most is spent in the evening, or in the night, as I mind my little daughter during the day. So far, results have been excellent.
Freedom in terms of location
Thanks to the progress in telecommunications, working remotely is easier than ever. As long as you’re be able to communicate with your team, and deliver your work in a timely manner, it doesn’t matter much where you are. This gives you the chance of going on a trip (almost) whenever you like, for as long as you like. Of course, if your company is in Europe and you go to Japan, the time difference may make things more complicated, but that would be an extreme case.
The two freedoms combined
Personally, I always liked short trips, but, with standard annual leave, it’s not possible to take one or two days off every weekend. Being able to manage time and location as I see fit, I can book accommodation for mid-week dates and outside of main holiday periods. This means big discounts, less traffic and less stress. I can work from anywhere, as long as I have an Internet connection and a quiet room (essential, as SD requires focus).
Let’s now go the the the third and last part, titled What Software Development is not, in which I’ll explain what not should not be expected from a career in Development.