Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

C++ Salary expectations

Options
  • 08-08-2011 4:23pm
    #1
    Registered Users Posts: 113 ✭✭


    Hi there

    I've been working at a small software company as C++/.Net developer for two and a half years now, and I was recently given a raise which brings my salary up to €33k. I was also promised that I would be included in the next set of company wide raises. The thing is, some people are telling me that I'm being underpaid by a significant amount.

    These are mostly friend of a friend type anecdotes so I'm reluctant to assign too much weight to them, but I am interested in finding out what my market value is roughly. It's information which seems to be hard to come by as I guess people aren't too keen on discussing their salary. Could anybody offer an opinion or a resource to help me find out?

    Cheers!


Comments

  • Registered Users Posts: 7,157 ✭✭✭srsly78


    You are worth whatever you can get. That's how the market works.

    2.5 years isn't very long tho, you will be competing with loads of other recent graduates thus driving the price down.

    Look at job sites to see what's on offer: http://www.theitjobboard.com/index.php?SearchTerms=C%2B%2B+&LocationSearchTerms=DUBLIN&lang=en&Mode=AdvertSearch
    Also look at UK jobs and adjust for currency/location (london bonus etc).

    Oh yeah: the best way to get a pay-rise as a developer is to switch companies tbh. Sad but true, but note employers don't like people that jobhop too frequently :)


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    srsly78 wrote: »
    Oh yeah: the best way to get a pay-rise as a developer is to switch companies tbh. Sad but true, but note employers don't like people that jobhop too frequently :)
    Yes, but only for a given value of "too frequently". It's rather expected that people will bounce around a lot in this career for the first few years. It's only if you *never* stay anywhere for more than two years that warning lights should go off.


  • Registered Users Posts: 6,584 ✭✭✭PCPhoto


    OP ... are you happy with your current job ?

    if so, why bother complaining about money.

    if not, search for another job elsewhere.

    its part of life that people try to get the job done for as cheap as possible therefore taking advantage of less experienced people, you have 2.5yrs experience which may or may not be good enough to secure another job.


  • Registered Users Posts: 859 ✭✭✭OwenM


    If you were singled out for a raise outside of the normal review system, then they are acknowleding you were underpaid, and also that they are happy with your work. The question is now, are you still underpaid? Check the online surveys - most of them break down experience into 0-2 years and 3-5 years and their is a signficant jump between the brackets. You might only get an inflation adjustment in the annual review process and won't have much leverage because you got this increase now.

    If I was you, I would keep an eye on the job boards and the salary surveys, if something interesting comes up then jump, it could mean an increase of 5-8K if you were lucky, would you get this in the next 12 months where you are?


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    PCPhoto wrote: »
    its part of life that people try to get the job done for as cheap as possible therefore taking advantage of less experienced people,
    Definitely keep this in mind. Salary negotiations are an adversarial system in most Irish SMEs unfortunately - they will try to pay you less than you are worth and you should try to be paid more than you are worth to compensate. Which is, I know, a monumentally wasteful and unnecessary system, but it's not even close to being the worst economic practice in this country...


  • Advertisement
  • Registered Users Posts: 113 ✭✭lenovoguy


    PCPhoto wrote: »
    OP ... are you happy with your current job ?

    Yes and no. It's a very relaxed working environment, I get on really well with everyone here, and I get to work on technology that customers use every day, but the problem is that we're using a very outdated set of technologies to build our product. COM/MFC/C++. There's little to no demand for this stuff nowadays, due to the transition being made from desktop to web-based apps, so I have no real experience with the latter. I have very cursory experience with Javascript, MySQL, JSP but would need to brush up on them in a big way. I feel like I'm stuck between a rock and hard place and am risking going up a career cul-de-sac if I stay the course here.


  • Registered Users Posts: 7,157 ✭✭✭srsly78


    Well C++ isn't used much for desktop stuff these days, sounds like you are doing legacy stuff. Higher level languages are a lot more productive for most things.

    C++ still gets used for low-level code, high performance stuff, game development and so on. So try to get into those areas if you really want to keep working with C++. Better for your career tho is to learn some java or c#. I work mainly with c++ for rendering code, and c# for gui. Other languages are pretty much unskilled labour compared to c++ (gentlemen commence flaming!).

    Oh, and languages don't really matter that much. It's more about the frameworks etc that you know (lol mfc). Knowing c# doesn't mean very much, you gotta know wpf and .net frameworks too. Similar with java.

    edit: actually right now im coding some dirty tool up using VBA and sql, I want to die....


  • Registered Users Posts: 113 ✭✭lenovoguy


    Indeed - well this brings me onto another point. The code-base was initially started back in the mid 90's and since then it's been a case of piling on new bits of functionality in a piecemeal, short-termist fashion. We now have nearly a million lines of C++, with scant documentation, comments, processes, anything.
    So "legacy" is a very flattering euphemism for "crusty" :p.

    I know C++ has a reputation as being vexatious and hard to get your head around, so the fact I have done hopefully will stand to me. I do know C#/.Net from implementing file format parsers and small web service clients, and I've done Java, though very little since I left college. I mean is this as a big a problem as I feel it is?


  • Registered Users Posts: 7,157 ✭✭✭srsly78


    No. Employers know that if you can do C++ you can easily do/learn the other stuff. But you gotta know the frameworks like I said. Language without frameworks = not much use.

    You will have big advantage over all those guys out there that can only do java or c#.

    And yes "legacy" is indeed a euphemism :D


  • Registered Users Posts: 981 ✭✭✭fasty


    Well, this isn't aimed at Lenovoguy as such, but knowing C++ is a very subjective thing. If you're working on "legacy" (:D) MFC apps, it doesn't mean you can just jump into C# or Java and have a clue simply because C++ gives you more rope to hang yourself with.

    The OP has complained about his job a good few times and nothing's going to change there. It's a career dead end with **** pay and the only way out is to leave. He may feel he's short on skills, but with a bit of study it's not too hard to blag yourself into another development job now you have a few years experience. The trick is a) doing it and b) not ending up in the same situation you are in.

    If it's any consolation, I've been there, it's not fun AT ALL.


  • Advertisement
  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    Frankly, working with a million-line 20-year-old C++ legacy system and still getting the job done is something that would be a serious asset in quite a few larger companies. If you can add some experience with trying to impose some order on that chaos by bringing in more modern techniques to the party (unit testing, better source code control and ticket tracking systems, etc), you would be adding to that asset quite a bit as well.

    In the startup culture however, where working with the latest tools is thought to be all-important, it mightn't be seen as being all that impressive at all.On the other hand, I'm not much of a fan of the startup culture myself, because I like the idea of having a life outside of work and a management model that isn't well described by the screamed phrase "OH MY GOD ITS ON FIRE WORK ON THAT 110% RIGHT NOW....OH MY GOD THAT OTHER THING IS ON FIRE DROP EVERY THING AND WORK 110% ON THAT RIGHT NOW...." repeated ad nauseum. But that's just me :pac:


  • Registered Users Posts: 113 ✭✭lenovoguy


    Sparks wrote: »
    Frankly, working with a million-line 20-year-old C++ legacy system and still getting the job done is something that would be a serious asset in quite a few larger companies. If you can add some experience with trying to impose some order on that chaos by bringing in more modern techniques to the party (unit testing, better source code control and ticket tracking systems, etc), you would be adding to that asset quite a bit as well.

    Funnily enough, I did two things like that - I suggested, and migrated our SCM from Microsoft visual sourcesafe (Yes I know, WTF) to SVN. I also ported our software over to 64-bit. I'm guessing they will be helpful.


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    Yeah, I'd count those as nontrivial tasks for a 20-year-old legacy codebase of that size...


  • Registered Users Posts: 9,579 ✭✭✭Webmonkey


    lenovoguy wrote: »
    Funnily enough, I did two things like that - I suggested, and migrated our SCM from Microsoft visual sourcesafe (Yes I know, WTF) to SVN. I also ported our software over to 64-bit. I'm guessing they will be helpful.
    Wow didn't even know such a thing existed :confused:


  • Registered Users Posts: 981 ✭✭✭fasty


    But that's the subjective thing. It's easy to just pile things onto the ball of mud in a huge codebase. Lenovoguy's said himself that this is what his colleague do. Would Google be mad to turn them down?

    I've worked with C++ "veterans" who basically sling out the same old code over and over and still don't get fundamental things like passing pointers to immutable strings by value being dumb or how to write multithreaded code that isn't a ticking time bomb.

    That said, Lenovoguy genuinely seems to give a crap about it so I think he will be invaluable to whatever company he ends up in.


  • Registered Users Posts: 113 ✭✭lenovoguy


    Visual SourceSafe? You're not missing out. It's an ancient piece of crap which does the most naive, half-assed job of source code management you can imagine. It doesn't do branching/merging, recursive diffs take several minutes for a codebase of non-trivial size, the database format it uses frequently corrupts, and there are NO safety mechanisms to prevent Write-After-Read hazards the way SVN does. It uses a non-transactional file-based protocol for gets and commits, so any networking problems on a client that occur mid commit threaten to corrupt the entire repository. Avoid.


  • Registered Users Posts: 9,579 ✭✭✭Webmonkey


    lenovoguy wrote: »
    Visual SourceSafe? You're not missing out. It's an ancient piece of crap which does the most naive, half-assed job of source code management you can imagine. It doesn't do branching/merging, recursive diffs take several minutes for a codebase of non-trivial size, the database format it uses frequently corrupts, and there are NO safety mechanisms to prevent Write-After-Read hazards the way SVN does. It uses a non-transactional file-based protocol for gets and commits, so any networking problems on a client that occur mid commit threaten to corrupt the entire repository. Avoid.
    Done a bit of reading there alright myself :) Doesn't look good!

    You should check out Perforce. An amazing piece of software! Sorry to go slightly off topic OP.

    Back to salaries etc.. :)


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    fasty wrote: »
    But that's the subjective thing. It's easy to just pile things onto the ball of mud in a huge codebase. Lenovoguy's said himself that this is what his colleague do. Would Google be mad to turn them down?
    The thing is that if you have a codebase in the million-loc range (and actually, the OP's codebase size is where that range starts - my current role involves working with a codebase much larger than that), you can't just throw it out and write it over again.
    Well, you could, but you'd lose all your customers in the meantime because they don't care if it's a mess inside so long as it works. Waiting five years for the next version which does exactly the same as the current version but has cleaner innards (which they'll never see) is a complete nonrunner, so you have to be able to clean up the innards as you go, and for a codebase of that size, it's a really nontrivial task (imagine introducing unit tests to a codebase of that size for the first time).
    That said, Lenovoguy genuinely seems to give a crap about it so I think he will be invaluable to whatever company he ends up in.
    Yup.
    And that's why his current company is foolish to not pay him enough so that he doesn't think about going somewhere else. Because getting someone in who can do that job is not a trivial task either, and even if you find them, and they agree to the 20-50% pay cut that the OP's salary would represent to them, they'd still need several months to get up to speed on a codebase of that size, complexity and undocumented-ness.


  • Registered Users Posts: 981 ✭✭✭fasty


    Sparks wrote: »
    The thing is that if you have a codebase in the million-loc range (and actually, the OP's codebase size is where that range starts - my current role involves working with a codebase much larger than that), you can't just throw it out and write it over again.
    Well, you could, but you'd lose all your customers in the meantime because they don't care if it's a mess inside so long as it works. Waiting five years for the next version which does exactly the same as the current version but has cleaner innards (which they'll never see) is a complete nonrunner, so you have to be able to clean up the innards as you go, and for a codebase of that size, it's a really nontrivial task (imagine introducing unit tests to a codebase of that size for the first time).

    I'm not for second saying anything about a rewrite. If the code works, then it works.


  • Registered Users Posts: 10,148 ✭✭✭✭Raskolnikov


    lenovoguy wrote: »
    Hi there

    I've been working at a small software company as C++/.Net developer for two and a half years now, and I was recently given a raise which brings my salary up to €33k. I was also promised that I would be included in the next set of company wide raises. The thing is, some people are telling me that I'm being underpaid by a significant amount.

    These are mostly friend of a friend type anecdotes so I'm reluctant to assign too much weight to them, but I am interested in finding out what my market value is roughly. It's information which seems to be hard to come by as I guess people aren't too keen on discussing their salary. Could anybody offer an opinion or a resource to help me find out?

    Cheers!
    If you're good at your job and you're in Dublin, then you're definitely underpaid.


  • Advertisement
  • Registered Users Posts: 1,806 ✭✭✭D1stant


    I have been with my employer for 15 years

    In that time I have more than doubled my salary in real terms

    I did this by either telling them I was going to leave or just whispering my intention in the right ear every few years

    Be prepared though. Line up another job and expect them to call your bluff. The salary thing is a war. Do not let anyone exploit you


  • Registered Users Posts: 7,157 ✭✭✭srsly78


    If you want to earn serious money with c++ go work in finance. This requires more knowledge than programming tho, lots of maths etc. If you want to have fun with c++ go work as a gamedev, but this doesn't exist in Ireland however (no webgames/middleware don't count). Hilariously the skillset for gamedev/quant is basically the same thing!

    OP what would you LIKE to do? Forget about salary whilst answering that question. In my career I just did the stuff I was interested in, and it turned out to be a pretty good decision :P (enjoy my job, not burned out, still going strong etc)


  • Registered Users Posts: 113 ✭✭lenovoguy


    srsly78 wrote: »
    If you want to earn serious money with c++ go work in finance. This requires more knowledge than programming tho, lots of maths etc. If you want to have fun with c++ go work as a gamedev, but this doesn't exist in Ireland however (no webgames/middleware don't count). Hilariously the skillset for gamedev/quant is basically the same thing!

    I think I'd like to get out of the C++/desktop development game as it can be very frustrating, at least on Windows, where half of the time you spend is on debugging the operating system and IDE, and a large part of your time is lost waiting on builds to finish. It also seems like there's very little demand for the skills it requires, so I'd like to move into an area that's more vibrant.

    The problem basically is just that I don't feel I have the knowledge of languages and frameworks required for web development and would like to get up to speed. I could do it by studying in my spare time alright, but I think I'd get more useful experience learning in a commercial setting where I'd be working on real world examples. The problem is finding someone prepared to take on someone with entry-level knowledge of web development.


Advertisement