I’ve been working in the software development industry for a number of years now, so I
decided to post some useful information for others, who maybe new to the scene, and are looking to get
I’ve been a developer on many a software project, been a project
leader and also provided consulting services. During each of these
roles I’ve had the pleasure of working with some talented individuals,
who have taught me a thing or two. I’ve also worked with some
dissimilar individuals who have caused a great deal of frustration in
my career, but never less I have learned from them also – how not to do
I’ve listed some tips for getting ahead below. At first glimpse they
may appear obvious, but it’s surprising how many developers and project
managers do exactly the opposite of what I’ve listed.
- It’s a job not a hobby –
It took me a long time to learn this valuable lesson. Like many other
software developers, I have a passion for writing software. Over the
years, since I started at a young age, my passion has brought me
through college and into a career. I’d effectively hand crafted my
career from a personal interest – bonus! However, I soon found out that
writing software for an employer is radically different to throwing
some code together in my spare time for the hell of it. Namely, my
employer is spending large amounts of cash on my efforts, which means
they have some say in how I write software. It’s quite amazing how
software deadlines, dictation of technology tools, budgets and
unrealistic time lines can really put a crimp on creativity. Before I
knew it I was waking up and not liking the very thing that had kept me
up enthralled to all hours of the night during college. When I
complained of this problem one of my colleagues politely reminded me
that this is “work” and why I’m getting paid. He suggested that I save
the wild creativity to efforts outside of work.
- Process brings about order
– Get used to process. Unless you’re working on a small project with a
handful developers and the software is small-scale, it’s likely that
your employer will want you to adhere to some soft of process. Process
can range from simply documenting software design to a large software
design methodology, such as CMM or RUP.
Either way, you’re employer will most likely expect some sort sort of
design documentation, work breakdown schedule and user manual.
Software development is no longer just about throwing code into the
machine and praying it’ll work – brush up on different methodologies,
learn how to use tools like Microsoft Word and Microsoft Visio and ensure you can
articulate thought well in grammar, not just code.
- The Boss is always right – seems like an obvious
statement, right? This didn’t stop me becoming very frustrated with
the CEO, of one of my employers, because he insisted on micromanaging the
project, imposing unrealistic expectations on results and always
looking for a cheap way around a problem, which usually ended up
costing the company more money in the end. One day I woke up and
decided to go along with all his decisions. I still offered my best
advice in every situation, but no longer battled for my point when my
advice was dismissed. As a result I was respected more, and when the
project failed, as I predicted, the CEO took the wrap for the mistake.
- Do whatever is asked of you by your superiors – There’s a fine line here between getting ahead and brown-nosing.
When the Boss is looking for a volunteer to perform an extra task on
the project do your best to sign up and complete the request. The aim
here is recognition, you want your superior to associate you with
reliability and the ability to get anything done. Once you succeed in
this lesson your boss will start looking for you when he or she needs
someone special they can depend on, this will later help you to gain
promotion. Never go asking for extra duties, this would be classed as
crossing the fine line I spoke of above.
- Always go the extra mile – The employees that are
always remembered are those that stayed late to fix a problem in a time
of crisis. Every job I’ve found myself in has involved at least one
late night, and in some cases a round-the-clock effort. The reason for
the crisis and need to stay late is irrelevant, you employer will soon
forget the problem, once solved, but remember those that stayed to fix
the mess. Even if you cannot assist in providing a solution to the
problem, being around to provide moral support for those who can is a
sure way to secure a position on the list of heroes.
- Never forget your peers – Whilst doing a good job of
securing your position with your Boss be sure not to forget your peers.
Your peers are the people that will stay late with you in a crisis,
help share the burden of work, and be working along side you for every
day in your career. Never climb the ladder of success at the expense of
your peers, this can only lead to animosity and isolation from the
group. Some organizations rate individuals based on recommendations
from peers members of staff, others simply watch to see how well their
employees work in a team. Either way, being a team player is very
important, without a team there is no solution.
- Estimate conservatively – You’ve gone to the trouble of
signing up extra tasks to impress your leader, but you fail to deliver
on every task your assigned – not good. For you to get ahead in this
field successfully you need to be known as an individual that
accomplishes their goals. When asked for an estimate on how long it’ll
take to complete a software task be sure to take into account: margin
for error, testing time, documentation time and deployment time –
writing the code is only half the battle. Always over estimate by at
least 50% – you’ll be liked much more if you meet expectations.
Some project managers will add extra margin to your estimate, others
will assume you’ve over estimated and expect you to come in ahead of
time, try to find out how your project manager leans and set estimates
accordingly. On the rare occasion that your project manager sets
impossible expectations, stick to your estimate and go on record with
your assessment – do you best to meet the demands with what you have to
- Worry about today, not tomorrow – Unless you’re tasked
with future project predictions it is likely that the CEO or another
individual high up in the food chain is responsible for planning where
the project is going next. As a software developer or project manager
your only concern is meeting the project objectives of the time. This
objective might involve writing requirements for the client, or
implementing the software, either way the road ahead has been laid for
you, so there is no need to concern yourself with future endeavors.
My friend and colleague gave me a great analogy for this, it went something like – “we’re
all passengers on an airplane, we should enjoy the flight and not worry
about the destination, the destination is unemployment“.