dcsimg
CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 6 of 6

Thread: C++ Jobs

  1. #1
    Join Date
    Apr 2018
    Posts
    3

    Question C++ Jobs

    Hello,

    I have coded many games in C++ for fun over the years, and now I would like to work as a C++ developer.
    I feel like I still lack skills and any that any job in C++ requires extra knowledge, like network, maths, or electronics,...

    I have no idea what job I can aim to and what level I need.

    If you could please list jobs related to C++ and tell me which ones are accessible for a beginner.
    (I know my question may be kind of unclear)

    Thank you.

  2. #2
    Arjay's Avatar
    Arjay is offline Moderator / MS MVP Power Poster
    Join Date
    Aug 2004
    Posts
    12,808

    Re: C++ Jobs

    Why not do an internet search in your area for "c++ developer" positions and see what the job requirements are for each position? From there you can get an idea of skills and experience required.

  3. #3
    Join Date
    Apr 2018
    Posts
    3

    Re: C++ Jobs

    I did that, and it only confuses me about the next thing I should learn.

  4. #4
    2kaud's Avatar
    2kaud is offline Super Moderator Power Poster
    Join Date
    Dec 2012
    Location
    England
    Posts
    6,487

    Re: C++ Jobs

    Quote Originally Posted by SylvainJ View Post
    I did that, and it only confuses me about the next thing I should learn.
    Such as?

    Typically, companies want the very best person they can possibly find. Hence they make all sorts of 'requirements' within an advert. It is unlikely that they'll find someone with vast expertise in all of the listed areas. So if you haven't got everything asked, still apply if you're got some - training may be given for those areas you haven't got! Typically there are several steps to obtaining a job. These are ours.

    1) The CV. This is perhaps the most important as it gets you through the door. IMO I would suggest you consider having this professionally produced (and probably have to pay for) by a person/company who understands the IT job market and for what IT recruiters are looking. This needs to be tailored for each job application to suit that particular job requirements. You will also need a covering letter - explaining how your experience and knowledge are perfect for the company. Again this needs to be specific for each application. Once you have a CV and a 'general' covering letter, then you can try sending it 'on spec' to IT recruitment agencies, IT companies etc. Tip. Don't lie. Embellishment up to a point is OK. Note that CV's are now often first 'sifted' by computer and/or HR personnel so try to include the 'buzz words' from the job requirement. The trick is to get through this initial stage so that your CV is looked at by the Development Manager (or who's hiring) and then impress him/her so that you get called for the next stage. We tend to put around 20-30 through to stage 2 from sometimes over a hundred. This is why the CV is so important.

    2) This is usually the c++ Interview Questions. This can be on-line or by phone or.... It often consists of many short questions regarding a specific aspect of c++. What is the output from a piece of code? Explain some c++ term. Does this code compile and if not why not? etc etc There are many books giving practice c++ questions and solutions. I would suggest you get a couple and work through them. Before you take a c++ interview question, you should be able to answer them all correctly. Note that the interviewers also know about these books! - so the questions you'll get are not likely to be exactly the same.

    3) Assuming you pass 2) (and the pass mark may vary from one set of candidates to another - we tend to take around the top 10). For us, there is the programming test. This is usually all about being able to think logically and construct a program from a given requirement (which may be imprecisely worded so that you have to make choices/assumptions). This is the big test - can you actually program! We give 2 hours for this and a PC with the latest version of VS/gcc loaded. We first give a demo as to how to use it and make sure the candidates can produce the 'hello world' program before the time starts. We first look for a working program and then assess those that work as to how they have met the requirements, algorithms used etc, use of the c++ language etc etc. Any program that doesn't compile or doesn't 'work' ie doesn't produce something of value even if not all of it - is rejected. For those that pass this, then there is

    4) The dreaded technical interview. Each candidate is interviewed first about their program. How they designed it, why a particular class/container/algorithm was used etc. Then about any aspects of the requirements not covered in the program etc. For us, this takes about 30 minutes. If we are not impressed with the candidate at this point, we'll cut short the interview and say we've not progressing their application. For the 'lucky' ones that do impress there is then a couple of hours of 'general technical' interview which is wide ranging. Covering everything in the job application and more besides - but areas always covered include security, concurrent programming, Object-orientated design (including design patterns etc eg Explain the 'mediator' pattern, when it would be used and its limitations) and development methodologies (eg agile). Other areas include algorithms, networks, databases, OS (windows/linux etc as appropriate) etc etc. This interview also carefully goes through the candidates CV and the candidate will be asked detailed questions about past experience and qualifications. Typically we pass 3 candidates to the final phase. For us, 3) and 4) last a complete day with 3) in the morning and 4) in the afternoon. We provide a buffet lunch and all the interviews and other staff members attend to chat informally with the candidates. This does count towards the final appointment as we're looking for social/soft skills here!

    5) The big sell. At this point for us all candidates could do the job. This is all about the candidates impressing us that that they are the one for us and that they'll 'fit in'. Senior Human Resources staff will also be involved and ask 'personality' type questions. Tip. Don't be shy but don't be too extrovert (unless that is a requirement!) and too over-confident. The trick here is to 'relax and be yourself'. For us, there's no technical questions, nothing to 'trip you up' - just getting to know you. After this, considering everything about the 3 (or so) candidates we make a choice.

    Obviously, the selection process varies from one company to another. This is ours. Bare in mind that if someone is not a 'fit' for one company they may well be ideal for another. If you get past the CV stage, then enjoy the process and learn from it. If you get rejected at any stage (and you all most certainly will), treat it as a learning exercise. Ask the company (if not provided) for feedback on your CV/performance and where they saw your strengths and weaknesses.

    If applying for a 'pure' c++ position, make sure you know your c++ (including the various standard libraries and the latest c++17 additions). Also Object Orientated good practices (including patterns etc) and design. Know the OO jargon (not just what it's called in c++) and can draw and understand class diagrams (eg UML etc). For Windows, there is also com/dcom. Know your data structures and associated algorithms (not just those provided by c++ also such as balanced trees etc). Have a good knowledge and use of c++ multi-threading (and the c++17 parallel algorithms). Have knowledge of the API interface to the used OS (eg WIN32 for windows). Know at least one gui framework for front-end client programs.

    Depending upon other job requirements, obviously depends upon what you are expected to know. I once applied (successfully) for a job that required MS Exchange. I'd never used it but said I had knowledge! I mugged it up from a book in the train going to the interview! Except for embedded processes I wouldn't expect knowledge of electronics. Nor would I expect specialist maths knowledge to be required except for those jobs explicitly requiring it (such as programming a financial derivatives program etc).

    As you have developed c++ games, have you investigated the games market around your location? Get a CV etc and send it on spec to games developers. Ring them up and talk to them. There are also start-up companies who want programmers etc but can't initially pay high wages. There have been in the past some of these advertised in the 'Open Positions' forum.

    Good luck!
    All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!

    C++17 Compiler: Microsoft VS2017 (15.8.9)

  5. #5
    Join Date
    Apr 2018
    Posts
    3

    Re: C++ Jobs

    Thanks for this detailed answer and advice! My CV is kind of empty, I don't believe games developers could be interested, but I'm working on it. At least I have some projects to show.

  6. #6
    2kaud's Avatar
    2kaud is offline Super Moderator Power Poster
    Join Date
    Dec 2012
    Location
    England
    Posts
    6,487

    Re: C++ Jobs

    Quote Originally Posted by SylvainJ View Post
    Thanks for this detailed answer and advice! My CV is kind of empty, I don't believe games developers could be interested, but I'm working on it. At least I have some projects to show.
    You don't say what you are now doing - or your experience/qualifications outside of your interest in c++ game programming. However, a competent CV writer should be able to make it interesting enough to get you at least some interviews - even for jobs in which you're not really interested. This will get you some of the necessary experience of interviews. Like other things, it is a skill that needs to be developed! Some IT recruitment companies will not only produce/polish your CV but also give you 'mock' interviews etc with coaching as required.

    It's good that you have some projects to show and the CV should make much of these. Without knowing what these are in detail and without seeing the coding, it's not possible to judge your level of c++ expertise. Many companies recruiting 'trainee programmers' will recruit recent graduates. You need to make yourself 'stand out' from them on the CV by way of your actual experience (which it is unlikely they will have).

    Another important point is that you should 'read up' on the companies to which you apply so that you know something about them. At least, you should be able to talk enthusiastically about the company - even if you're not! You will get the chance at an interview to ask questions. Do so. Just sitting there at that point doesn't endear you to the interviewers! Have some prepared questions ready (several in case one or more are answered during the interviews - but you can always ask for more detail about something). If you are asked a question and don't know the answer, it is often better to just admit that you don't know rather than try to 'waffle on' about something.

    And finally - don't give up. It may seem discouraging to send out CVs and to not get an interview - try and find out why. Then when you get interviews, to be rejected many times can be depressing. Don't give up. Try to get something positive from each one, learn from it and go forwards. Keep your knowledge up to date and one day you'll get that longed for acceptance letter and start your dream job.
    All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!

    C++17 Compiler: Microsoft VS2017 (15.8.9)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Windows Mobile Development Center


Click Here to Expand Forum to Full Width




On-Demand Webinars (sponsored)