How to get ahead in the software development business

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
ahead.

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
things.

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
    work with.

  • 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
    “.

10 thoughts on “How to get ahead in the software development business

  1. Seun Osewa

    Hey,
    <br>
    <br>This post should be titled &quot;How to get ahead _as _an _employee in the software development business. The &quot;high and exalted boss&quot; you want programmers to worship (:P) is in the software business too!
    <br>
    <br>Another possible title for this post: 101 gnissiK ssA (read backwards!)

  2. Rob Garrett

    I think you misunderstood my post, I’m not about brown nosing the boss, just giving them what they want (within reason). In fact I believe that my boss does read this blog.
    <br>
    <br>Lots of software developers make the mistake of challenging their boss only to become frustrated and then they leave the company.
    <br>
    <br>Your boss is in the position he or she is in because of experience and expertise (and occasionally because he or she has more money than God). So it’s important to realize that they have authority over you and they control the bread-line. So, why put that in jeopardy by fighting with their decisions.
    <br>
    <br>Of course, there are many circumstances where your boss will ask the impossible of you. In situations such as this never promise what you cannot deliver and politely explain that they are asking too much of you, which in turn will affect your performance on the project. If they constantly ignore you, then it’s probably a job not worth keeping.
    <br>
    <br>BTW, all of the content of in my post is based on past experience. I’ve been in the industry about 12 years and have been both employee and boss in that time.
    <br>
    <br>Just to reiterate my point – the boss is not a &quot;high exalted&quot; individual, he or she is another person earning a crust the same as you and me, and in most cases they have a boss that they report to too. It’s all about making life easier for everyone involved.

  3. Seun Osewa

    I guess one of the reasons I felt so somfortable after reading your post is that you were linked by the MicroISV blog, which is meant to be to be &quot;a community for -independent- software developers&quot;. I won’t deny that the contents of this post be useful for the average programmer/employee.
    <br>
    <br>Since you have some experience as a boss, perhaps you could balance this post it by writing a guide for the bosses, too?
    <br>
    <br>&quot;How to Get Along in the Software Business, for Bosses.&quot;
    <br>
    <br>However, judging from the content of this post, you can’t fault me for thinking that one of the points would be &quot;hey Boss, you’re always right!!&quot;

  4. http://

    Very accurate info presented. If you don’t think this is accurate you obviously need to start doing the above topics and see how far you get in your career vs just saying it is brown nosing.
    <br>

  5. Rob Garrett

    I’ve been reading about Microsoft Visual Team System 2005. It’s supposed to help with managing process (2nd point on my list). I intend to review the CTP and put up a post about it.

  6. http://

    Well,
    <br> Your suggestions were quite right. People working as developers imagine that they are very creative and have a right to do the way they do it, having the slightest respect for someone who gave them the oppurtunity to work. They become irritated when a suggestion(orrection) is given. They forget that the suggestions are mostly to help them be focussed. With due respects to creativity, it is very essential that programmers and developers listen to their bosses and always remember that they are doing a job.

  7. michaelwhytesgravatar

    Whilst I take your point. I hope whoever said “He suggested that I save
    the wild creativity to efforts outside of work.” to you was one of the dissimilar characters that you had the misfortune of working with?

    Without creativity where do you think we all as developers would be doing with ourselves? My guess is licking envelopes somewhere in the back of a bank.

Comments are closed.