5 Replies - 1040 Views - Last Post: 16 June 2014 - 02:17 PM

#1 catdog  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 3
  • Joined: 15-June 14

C++ Career path advice

Posted 15 June 2014 - 02:23 PM

Hi Forum!

I'm afraid I've unintentionally written a huge amount of background info to this question, so I've put a ***** at the point lower down where I actually get round to asking my question. Please feel free to skip to the ***** point if you want to avoid all the words:

I was hoping I might be able to find some advice on developing my C++ skills. If I've posted this in the wrong place, my apologies- I'm new here !

I'm currently a mid-level C# developer, but I've come to realise that C# might not be the language for me. I've fallen into C# because it was the first job I was able to get on graduating about three years ago.

The problem is I don't enjoy making websites, and particularly can't stand the kind of work involved in front-end development (CMSs, CSS, fiddling with browser compability etc). I've been in the .net world for long enough to get the impression that most C# jobs seem to be about websites- building glorified sales brochures for companies that don't interest me, on behalf of marketing agencies who take no pride in their software and whose sole aim is to make money by making unrealistic promises and cutting as many corners as possible.

I'm not so naive as to believe that money isn't the primary motivation behind most industry software development, and that Iím missing out on some dream job somewhere, but the way I see it there do exist companies who produce software that interests me, and take pride in their products.

I'm a genuine nerd at heart - I'm into everything programming but particularly like nothing better than designing and building complex backend and/or low(ish) level systems that solve big problems, or integrate with physical hardware.
It seems to me that if I want to work with the sort of systems I find fascinating (Simulation, AI, Video processing, Big Data, Robotics, Embedded software to name a few), I'm going to have to make the switch to C++.

This isn't a problem, as an enthusiast I'm familiar with C++ and had I been able to find work a few years ago would have chosen to start with it. Iíve dabbled with DirectX and written a few projects, but nothing on a commercial level. My intention is to study key C++ technologies in my own time, build some of my own projects and learn until I'm ready to start applying for C++ jobs (probably taking an initial pay cut), and move up from there.

*****
The question I've actually come here to ask is this :

As a C# developer there are certain technologies that studying pretty much in order, will essentially guide you through the first stages of your career - OOP > Visual studio/ WebForms, HTML, CSS, Javascript, SQL MVC, Entity Framework, WCF SOA etc.

I want to know how different the C++ world is. What sort of technologies a C++ developer needs, and the best order in which to study them, as well as any recommended resources for studying. I'd also like to know what sort or work is available to C++ developers, and how the things the possible C++ career paths differ.
I donít have a lot of spare time, but I really want to pour it into C++ study and making the career switch. However I want to make sure I'm on the right track, and can use my time wisely.

Thanks a lot in advance for any information and advice anyone may be able to offer.

Finally, and I REALLY don't mean to offend here, but I'd greatly appreciate advice from more than one person if possible.

Is This A Good Question/Topic? 0
  • +

Replies To: C++ Career path advice

#2 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5436
  • View blog
  • Posts: 11,666
  • Joined: 02-June 10

Re: C++ Career path advice

Posted 15 June 2014 - 02:58 PM

Quote

I've been in the .net world for long enough to get the impression that most C# jobs seem to be about websites-

Not hardly. For the last 10 years my C# programs were for the amusement park industry taking photos and selling them to the customers. Now I write software for radio stations around the world, again all on C# using WPF. *Can* C# be used for websites? Sure. Is there a lot of direction in websites, webservices and software as a service? Sure. But C# is a solid mainstay of the desktop software industry; has been for years; will be for years.

I came from C++ as well. Frankly I hated it. I couldn't get past thinking

Quote

that in a modern world why the heck should I have to keep seperate .h and .cpp files; shouldn't the IDE handle that mundane crap for me in the 20th century?


Quote

As a C# developer there are certain technologies that studying pretty much in order, will essentially guide you through the first stages of your career - OOP > Visual studio/ WebForms, HTML, CSS, Javascript, SQL MVC, Entity Framework, WCF SOA etc.

Dude, not in my C# career. If you don't want to build websites then why are you spending all that time and money on HTML, CSS, Javascript? Also, WinForms is legacy UI technology. WPF is the current UI direction for about the last 5+ years and will be for the next couple decades. I've done a couple articles on it (linked below) but in short WPF allows the graphic artist guys to build the UI while the code-behind C# guys build the code functionality. That seems like something that might be suited to you since you don't like doing UI. Also its all DirectX under the hood so you get that performance without having to micromanage the DirectX interaction directly.

I get the impression that you took some like of requirements and tried to learn it THEN find a job, rather than deciding what area of development you wanted to be in THEN learning what you needed for that. If you want to make software for... Controlling automated machinery on an assembly line because you love the interaction with big gear then you don't need HTML. If you are all about writing software that interacts with a website so your Insurance Adjuster clients and work from the iPads, then you do need web background. So focus first on what you want to do, then on what you need for that.

Quote

Finally, and I REALLY don't mean to offend here, but I'd greatly appreciate advice from more than one person if possible.
That's up to the membership as to who wants to chime in. NO thread here is limited in who can and can't respond.
Was This Post Helpful? 0
  • +
  • -

#3 catdog  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 3
  • Joined: 15-June 14

Re: C++ Career path advice

Posted 15 June 2014 - 03:21 PM

Hi tlhIn`toq,

Itís good to hear that there are C# career options outside of website development, although when I consider the industry areas I am particularly interested in (robotics, graphics etc.) they largely seem to be based on fast, lower level stuff.

Youíre partly right in that I didn't really choose what I studied based on what I wanted to do Ė I found it extremely difficult to find work when I graduated and took the first dev job that would have me, at the company where I already worked as an IT tech Ė they happened to use C#, and the technologies I subsequently learned were related to web development. The company I work for now is even more website-based, and itís far from what interests me.

I agree I do like the way C# handles tasks like memory management that feel as though they should be handles by the system, and I've often considered getting into WPF, but it still seems that if I were to find my Ďdreamí job and go from there it would be in C++.

I should be being more specific about the direction I want to go- youíre right that would help me a lot Ė but as Iím likely to apply for the first job I see that looks like I have a chance at getting (as long as Iím ready and it interests me) I'm really after information on the kind of things a Junior C++ dev should have under their belt.

Thanks for your reply
Was This Post Helpful? 0
  • +
  • -

#4 tlhIn`toq  Icon User is offline

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5436
  • View blog
  • Posts: 11,666
  • Joined: 02-June 10

Re: C++ Career path advice

Posted 15 June 2014 - 03:35 PM

Quote

I'm really after information on the kind of things a Junior C++ dev should have under their belt.


That's still like asking "What skills should a cook have?" or "What skills should a driver have?" They are both broad areas with specialties. The skills a limo driver needs are different from a personal security driver or a semi truck driver. A cook could be anything from a pastry chef to a steak house grill cook to a vegan specialist.

I'm quite certain a C++ developer that makes firmware for embedded automotive systems would have a different perspective than a C++ developer that makes control libraries other developers purchase.

You said you really care about robotics. Cool. Then contact a robotics company (or five) and ask them what the requirements list is for getting a job there. Kuka robotics even runs their own "Kuka University" specially to train students in what they need to enter the robotics development market.
Was This Post Helpful? 2
  • +
  • -

#5 catdog  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 3
  • Joined: 15-June 14

Re: C++ Career path advice

Posted 16 June 2014 - 10:56 AM

I see your point, that's good advice. Thanks.
Was This Post Helpful? 0
  • +
  • -

#6 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 8954
  • View blog
  • Posts: 33,564
  • Joined: 12-June 08

Re: C++ Career path advice

Posted 16 June 2014 - 02:17 PM

I'll echo, and affirm, a bit of what tlh'In mentioned..

Quote

I'm currently a mid-level C# developer, but I've come to realise that C# might not be the language for me. I've fallen into C# because it was the first job I was able to get on graduating about three years ago.
The problem is I don't enjoy making websites, and particularly can't stand the kind of work involved in front-end development (CMSs, CSS, fiddling with browser compatibility etc). I've been in the .net world for long enough to get the impression that most C# jobs seem to be about websites-


That has not been my experience what so ever. I flip between VB.NET and C# on a day to day basis.. some with websites, sure, but the bulk of my work is back end processing, moving, email parsing, database combing, etc. I am not sure what path you took to think C# is only websites, but peak over the hedge row and you'll see it is not.



Quote

building glorified sales brochures for companies that don't interest me, on behalf of marketing agencies who take no pride in their software and whose sole aim is to make money by making unrealistic promises and cutting as many corners as possible.

Three years in and you are now having a career disillusionment breakdown? Interesting.


Quote

It seems to me that if I want to work with the sort of systems I find fascinating (Simulation, AI, Video processing, Big Data, Robotics, Embedded software to name a few), I'm going to have to make the switch to C++.

Just saying - those are not only limited to C++. I've seen the .NET world, java, html5/javascript, python, lua, perl, assumbly, etc hit those areas


Quote

What sort of technologies a C++ developer needs, and the best order in which to study them, as well as any recommended resources for studying.

First you need an understanding of C++. Grab a few books, flip through their indexes, make sure they cover a pretty wide array of topics, and grab one with a decent review from a decent amount of time ago. Read it, do the examples, and learn. Then delve into your niche areas.

Honestly - software dev techniques are pretty similar on a 30k feet level.. and if you have been out and about in the field for three years you should be pretty hip on what is going on and not starting off with the greenest of horns. Abstractly that's what the degree was supposed to impart. The theory of computer science, and the theoretical application of a language, are very similar across the board.. it's just the syntax is a pain, but not that bad.


Quote

I'd also like to know what sort or work is available to C++ developers, and how the things the possible C++ career paths differ.

I would eyeball your job boards for your local areas.. and then eyeball more world wide boards and see who is offering what in c++. Your question is off base and way vague.
Was This Post Helpful? 1
  • +
  • -

Page 1 of 1