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

Is there a future in Windows C++ development

Options
  • 21-05-2018 10:04am
    #1
    Closed Accounts Posts: 167 ✭✭


    Anybody working in the area of desktop development for Windows? I've been doing so for a few years but I'm concerned that I'll end up pigeonholing myself and becoming a "niche" developer. I do have experience working with cloud-based web applications too but I ended up hating it because the development team organisation was completely chaotic.

    Where I'm working now is comfortable, I'm on a good salary with benefits and it's near my home so I don't have very much to be complaining about but I'm just concerned about my future employability. All two cents welcome :p


Comments

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


    Sure there is a future, but the rates keep dropping - not worth it. If you have python+C++ however things look a lot better.


  • Registered Users Posts: 66 ✭✭belfe


    As you said, it may not be the biggest niche, and is not likely to increase because of its dependency on windows.

    Even if potentially there will be applications with C++ for years, I would recommend you to learn something else if you want to move in the future. I'm Java developer, worked a bit with C++ and can tell you that studying a bit of Java can be relatively easy for a person experienced in C++, especially if you don't start with the functional features.

    My advise is: Don't look for a change, but be ready for it. Any chance of proposing new technologies in your company for the new developments? I'd say that, apart of legacy code, there are not big reasons for choosing C++.


  • Registered Users Posts: 768 ✭✭✭14ned


    dubdev wrote: »
    Anybody working in the area of desktop development for Windows? I've been doing so for a few years but I'm concerned that I'll end up pigeonholing myself and becoming a "niche" developer. I do have experience working with cloud-based web applications too but I ended up hating it because the development team organisation was completely chaotic.

    As evidenced by the Dublin C++ user group which is probably in the top five largest worldwide in terms of numbers attending, lots of people working in C++ in Dublin are obviously worried about their futures and upskilling before it is too late, same as you. I get a strong sense of networking going on, trying to find out which employers are genuinely working in new C++ rather than the claims that they are or might be soon, and there is a clear wish by a lot of attendees that they want to move to an employer genuinely working with new tooling and language before they become unemployable. So, same as you really.

    C++ is becoming more specialised and niche in any case. I just sent six papers to WG21 advocating for far more specialisation and nichism, I want the language to go far closer and faster to the bare metal than it currently is progressing. We'll see in June how things go.

    For you, me personally I'd suggest you attend a few of the Dublin C++ user group meetings, and take a temperature reading. If your employer is not proactively rewriting your code for C++ 11 and 17, you might want to consider other options, even with a pay cut. If, that is, you want to stay in C++. Another route out is to go for management, and get out of software development.

    Niall


  • Closed Accounts Posts: 167 ✭✭dubdev


    14ned wrote: »
    As evidenced by the Dublin C++ user group which is probably in the top five largest worldwide in terms of numbers attending, lots of people working in C++ in Dublin are obviously worried about their futures and upskilling before it is too late, same as you. I get a strong sense of networking going on, trying to find out which employers are genuinely working in new C++ rather than the claims that they are or might be soon, and there is a clear wish by a lot of attendees that they want to move to an employer genuinely working with new tooling and language before they become unemployable. So, same as you really.

    C++ is becoming more specialised and niche in any case. I just sent six papers to WG21 advocating for far more specialisation and nichism, I want the language to go far closer and faster to the bare metal than it currently is progressing. We'll see in June how things go.

    For you, me personally I'd suggest you attend a few of the Dublin C++ user group meetings, and take a temperature reading. If your employer is not proactively rewriting your code for C++ 11 and 17, you might want to consider other options, even with a pay cut. If, that is, you want to stay in C++. Another route out is to go for management, and get out of software development.

    Niall

    Thanks for the replies. I assume you're referring to the Meetup Dublin C++ groups? I'll sign on as soon as they send me the "forgot password" email I requested two hours ago..

    I really don't want to appear all moany and negative, it's just that there are some major life events on the horizon and I'd be much happier if I felt that my career path was on a sustainable trajectory. Right now I think if I stay where I am, i'll be trading long term career success for shorter-term career comfort and I don't think that's a sound strategy.

    We're definitely not using any of the newer features or standardsof C++. It's all MFC, STL done using a waterfall-esque process.
    Some of the team (not me) did some initial steps in building a web-based version of our app but that fizzled out and the desktop app has once again taken priority.

    I don't have any great love for C++ to be honest, I think there is a certain respect that comes with being able to write code in it given how big and complex the language is, but everything I've read has indicated that newer languages like Rust and Go are encroaching on C++'s territory in the low-high-level space.

    If there is a personal project I'm thinking about I'll usually go for NodeJS as it's not tied to any one particular platform and I find the ramp up time is way less than C or C++.

    Every job posting I've looked at wants Java, Struts, Spring, all the usual buzzwords whereas my Java experience goes as far as desktop and Android. I've done a little of a lot of things over the years, but would have most of my experience with C,C++ and C# and .NET.

    The software management thing you mentioned is interesting, and it's something I'd be open to, or consulting. I think every developer reaches a point in their career where it all just becomes samey and repetitive.
    There is no prospect of any sort of training, upskilling or CPD being provided by the company where I am now. Technically and managerially they are very conservative.


  • Registered Users Posts: 768 ✭✭✭14ned


    dubdev wrote: »
    Thanks for the replies. I assume you're referring to the Meetup Dublin C++ groups? I'll sign on as soon as they send me the "forgot password" email I requested two hours ago..

    Specifically https://www.meetup.com/cppdug/events/past/

    They're not too bad actually. I don't talk to anyone, just eat pizza, drink beer, work on laptop usually on standards stuff, eavesdrop on what everybody else is talking about.
    I really don't want to appear all moany and negative, it's just that there are some major life events on the horizon and I'd be much happier if I felt that my career path was on a sustainable trajectory. Right now I think if I stay where I am, i'll be trading long term career success for shorter-term career comfort and I don't think that's a sound strategy.

    Baby on the way eh? If so, congrats. And your life as you knew it is shortly over. It's quite unpleasant, you'll grieve.

    But it's also a valid concern. Back before I had kids, we relocated to Canada to get that stable, high paying job before having children. Then BlackBerry collapsed, and we were back in Ireland within 18 months, popped out our first a month after returning. Social welfare hates anybody who ever leaves the country, so spent the next year lurching from hourly paid spec work to the next, always just weeks away from homelessness.

    So yeah, I get your concern. You don't want what we did.
    We're definitely not using any of the newer features or standards of C++. It's all MFC, STL done using a waterfall-esque process.

    MFC has actually been updated with C++ 11 support in recent Visual Studios :)

    VS2017.7 is actually fully C++17 compliant believe it or not. Modulo bugs.

    And I wouldn't worry about waterfall. I haven't worked an "agile" contract yet which wasn't waterfall pretending to be agile. You just need to read "Agile for Dummies", and repeat back some of the key words from agile during standups and other meetings. You'll quickly become recognised as an "agile expert" and the go-to person for agile questions. And no, I am not joking on this one.
    Some of the team (not me) did some initial steps in building a web-based version of our app but that fizzled out and the desktop app has once again taken priority.

    I don't have any great love for C++ to be honest, I think there is a certain respect that comes with being able to write code in it given how big and complex the language is, but everything I've read has indicated that newer languages like Rust and Go are encroaching on C++'s territory in the low-high-level space.

    Go is good for web stuff. Not great for deterministic execution.

    Rust is a strong competitor to C++, but I'll be blunt in saying that it's single best contribution is making C++ up its game due to the threat. The standards committee literally increased speed by about a quarter since the Rust threat came along. The cost is a loss in quality, unfortunately. std::variant<...> has clearly obvious design flaws which were easy to avoid, had a bit more time been allowed for it.
    If there is a personal project I'm thinking about I'll usually go for NodeJS as it's not tied to any one particular platform and I find the ramp up time is way less than C or C++.

    Every job posting I've looked at wants Java, Struts, Spring, all the usual buzzwords whereas my Java experience goes as far as desktop and Android. I've done a little of a lot of things over the years, but would have most of my experience with C,C++ and C# and .NET.

    Others will suggest you retrain into other languages, but be aware that once you have three or four years in C++, employers tend to assume you'll only ever be a C++ programmer.

    I can write competently in half a dozen languages, but I have zero chance getting a role in anything but C++. Employers want exact fit. Anything less than exact means they pass. Twenty years of diverse programming experience be damned.
    The software management thing you mentioned is interesting, and it's something I'd be open to, or consulting. I think every developer reaches a point in their career where it all just becomes samey and repetitive.

    Consulting is literally doing samey and repetitive all day long every day. They call in consultants when they have screwed everything up due to the same old reasons: lack of maintenance, lack of proactive pay down of tech debt, lack of investment in skills, sloppy processes. It's very depressing work, and stressful: they only call you when their application must be delivered next week and it keeps segfaulting. Well paid, though. I've charged a grand a day before.
    There is no prospect of any sort of training, upskilling or CPD being provided by the company where I am now. Technically and managerially they are very conservative.

    Well at least what version of Visual Studio are they planning to upgrade to?

    VS2013 has a usable C++ 11 implementation. VS2015 has a usable C++ 14 implementation. And just released point release of VS2017 has a mostly usable C++ 17 implementation, though it's very buggy. It'll get better soon though.

    My point is that if your employer has a proactive Visual Studio upgrade plan, you're already being upgraded to new C++. So go ahead and use the new facilities!

    Niall


  • Advertisement
Advertisement