Thread: Possible?

  1. #1
    Registered User TwoBabyJedis's Avatar
    Join Date
    Aug 2011
    Location
    Sand
    Posts
    5

    Possible?

    I have a question and would appreciate it if anyone is kind enough to answer. Is it possible to go from little programming knowledge to fully fluent in C++ in 2 - 3 years? Fluent enough to get a job, that is. I'm under no impression that it will be a glamourous job, at first. I know it will be at the bottom of the totem pole. I wouldn't mind at all being the guy who looks through tends of thousands of lines of code making sure == is not written as =, and being the coffee maker.

    I have a 2 year CIS degree, with tech support experience, but that has little to do with programming. I enjoyed my programmng classes the most, so I've decided to pursue it. I've done research into many languages, and the capabilities of C++ interests me the most.

    I'm taking a mature approach to studying. I put in atleast 10 hours a week studying and writing code. I'm working through O'Reilly's Practical C++, the tutorials on here, and I'm going to pick up Bjarne Stroustroups book "Programming: Principles and Practice using C++", which is the textbook he uses for some of his C++ courses at Texas A&M. It's not easy material, but I find I can grasp the material I encounter, which is still in the basic stage.

    I want to know if my 2 (or 3) year goal is too idealistic. I don't know anyone locally that is a programmer (small town). I know most people pursue the 4 year degree with internships, but self study is my only option. I plan on studying and pursuing this as a career either way, but would greatly appreciate any feedback!
    Last edited by TwoBabyJedis; 11-18-2011 at 08:52 PM.

  2. #2
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    It depends both on your aptitude and on how much you apply yourself to learning, cutting code, etc.

    If you do no work whatsoever, I wouldn't bet on you having even basic knowledge after ten years, let alone three. Some people simply don't have the aptitude: no matter how hard they work at it, they don't pick it up.

    From what you describe you are doing, I would guess you would do well. I wouldn't expect you to be a world-leading guru in 2-3 years, but you will have useful skills and be employable.

    It might be an idea (after a time learning as you are) to try and build programs that would be useful to you or your friends. Even programs you give away for free to friends, to make some of their tasks easier, will be valuable for learning purposes, provide demonstrable achievement, and possibly contribute to you defining what types of programming jobs you are interested in.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  3. #3
    Registered User
    Join Date
    Mar 2010
    Posts
    583
    I think it's possible! I've heard from C++ gurus I work with that it takes 10 years or so to become *completely* fluent in C++ -- however you can reach an acceptable, competent level quite a bit faster than that.

    I actually switched careers from technical support to software engineering a couple of years after I graduated. So long as you can comfortably translate small/medium designs and ideas into code, you're fine from the coding side. There'll always be people who know more than you who'll point out some nifty language trick you didn't know -- and so you learn more.

    Quote Originally Posted by TwoBabyJedis
    I wouldn't mind at all being the guy who looks through tends of thousands of lines of code making sure == is not written as =, and being the coffee maker.
    Haha! I doubt it'd be that bad. A lot of graduates would have less programming knowledge than you could acquire in 2-3 years, and they get to do interesting stuff.

    There's more to being employable as a software engineer than being fluent in a programming language. Having a passing knowledge of lots of areas of computing seems to serve people well, though perhaps more *in* the job than in *getting* the job.

    Mostly it's just that a lot comes with experience of working on a real world project or solving problems than haven't been solved before. Certainly trying to use your programming skills to write a program you actually *want* to use is a good plan, as grumpy suggested.

    I'd say open sourcing your work is a good move (so long as you're happy that it's not crap code) as it makes an easy way for employers to find out more about your abilities. Getting involved in an existing open source project is another possibility -- though I imagine this is less fun than working on your own project. Basically anything that says to a prospective employer that you're serious about programming is a plus.

  4. #4
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by smokeyangel View Post
    I think it's possible! I've heard from C++ gurus I work with that it takes 10 years or so to become *completely* fluent in C++ -- however you can reach an acceptable, competent level quite a bit faster than that.
    Not even world-recognised experts (Stroustrup, Stepanov, Sutter, Meyers, Alexandrescu, the list goes on) claim to be completely fluent in C++.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  5. #5
    Registered User
    Join Date
    Mar 2010
    Posts
    583
    Heh, fair play! I guess they don't. I looked for "I'm fluent" quotes :P

    I'll rephrase: I think they were saying that after 10 years, they're significantly better C++ programmers than they were say after 5 years. But I suppose even C, which is really simple in comparison and pleasantly low level, still throws me a surprise occasionally.

    It's good I guess, to be in a line of work that keeps you learning and thinking all the time. It's hard going sometimes, but worth it! I suppose to the OP I'd say then that unless you're literally just making coffee, you keep learning along the way in a programming job. I guess it's a matter of figuring out when you're "good enough" to contribute in a job as well as learn. I still think 2-3 years is doable.

  6. #6
    Algorithm Dissector iMalc's Avatar
    Join Date
    Dec 2005
    Location
    New Zealand
    Posts
    6,318
    From what I've seen in others, one of the best ways to improve your C++ skill level is to be an active member of this forum. Congratulations you've taken the right first step!

    One of the best things to do when going through a book IMHO is to not do only exactly what is in the book. Don't go through it too fast either. Some people rush through a book, finishing it quicker than intended and think they just had more time to learn from it than others, or that they are smarter than those who took longer. In reality they're probably thinning down their knowledge, taking in a lower percentage of what they read. If you've read one chapter or whatever you're probably expected to read in a day, rather than starting on the next one, wet your appetite with another programming task that solidifies the knowledge. Yes you're probably eager to learn the next bit too, but playing around and experimenting on your own will teach you more in the long run. You must use the things it introduces for your own purposes as they are introduced to you.
    i.e. Don't make the mistake of measuring your progress by how far through the book you've gotten. Instead measure your progress by how much experimenting you've done outside of just going through what is in the book, or in how much you can now do with the book firmly closed.

    Either think of some way you can demonstrate to yourself that you really understand what you've just read about, or head over to Project Euler and pick a problem that you think you may now be able to solve.

    Once you get a reasonable grasp of the language, or at least think you're getting quite good, head over to Guru of the Week (GotW) Archive - Main Index Page You might want to give it several months before you do that though. When you feel that you're understanding some of those articles and getting some right answers to the questions, then you're probably doing better than most.
    Last edited by iMalc; 11-19-2011 at 02:02 PM.
    My homepage
    Advice: Take only as directed - If symptoms persist, please see your debugger

    Linus Torvalds: "But it clearly is the only right way. The fact that everybody else does it some other way only means that they are wrong"

  7. #7
    Registered User TwoBabyJedis's Avatar
    Join Date
    Aug 2011
    Location
    Sand
    Posts
    5
    Awesome. Thanks for the suggestions! I'll peruse these boards and those sites after a few months. thanks again.

Popular pages Recent additions subscribe to a feed