TL;DR: Basically I want to be a software developer but I’m not a genius. I’m 15 and I’m learning C++ slowly. Will I be able to get a job in software development if I try hard or does it require a certain level of intelligence? I’m expected an A at Maths GCSE but I think I might only get a B. Should I look elsewhere if I’m not sure I could get a job if software development and focus on a field that I’m pretty sure I’d do well in?
———-
I’m just wondering how realistic it is of an aspiration to become a software developer.
I’m not particularly bothered as to what software I’d be developing, though gaming is one that sticks out for two reasons; 1) it’s the only real software people buy and 2) it just seems it’d be a more relaxed environment.
I’m 15 years old right now(and female, if that matters[I know it's a male-dominated field and if that means I'd feel out of place or whatever then maybe I should reconsider]), and I’m currently learning C++. I really do like it and am making steady progress, but I do have some doubts as to whether or not I have the mental capacity to be a good software developer. By this I mean that I know people who learned C++ when they were 13 and picked it up a lot quicker than I did, and I’m also not amazing at maths. I’m expected an A GCSE at maths but I have an unorthodox learning process(I basically don’t get what math teachers say and trying to just ends up with me being frustrated, it’s just so much easier to look at the formula and figure out the solution[though as it's getting more complex this is getting harder to do and I'm starting to become reliant on the text books]). I sat the paper for the B GCSE(it goes up in levels, I started off sitting the D paper in Year 9 and so far have a definite C), and I’m pretty sure I didn’t get the B. I’m going to order the books online but I just don’t know if I’ll even get a B right now never mind an A.
I took an online IQ test(afaik they’re not very accurate) and got 129, which considering they probably increase the score so you’ll buy the certificate, isn’t very high. I took a verbal IQ test thing at school(I’m on the SEN registry for Asperger’s and semantic pragmatic LD) to see if I’d need a scribe and apparently I only got 2 questions incorrect, but I don’t actually think that’d really have an effect on my over-all performance IQ. There’s 8 sets in my year and I’m in the 3rd/4th set, though idk if that’s because in some subjects I get Gs and Us(like RE[I'm fairly arrogant] and French) and in some I get A*s(like English and Sciences).
But yeah basically I don’t know. I was reading online and apparently software developers are in high demand, which leads me to think I wouldn’t need to be a genius or anything, but in another way, I talk to other people online that are with-in a two year radius of my age and I just think that I have no chance getting a job when people like them could be interviewing for the same job as me.
I know it might sound like I’m thinking too much about the future, but I met this person in Curry’s(retail store) on work experience and it really got me thinking that I should prepare for my future or I’ll end up in the same position as her(she’s been working for Curry’s ‘temporarily’ for 6 years because she didn’t want to commit herself to a career she hated and seems quite depressed[I'm not being a jerk and having worked in a retail store(admittedly not for very long), find it irritating when people condescend over people who work in retail).
Just, basically; if I learn C++, assembly and another couple of languages before university and in university get a good internship I'd be able to become a software developer? I'm willing to put in loads of effort but I just _really_ don't want to end up investing several years of study and wasting a lot of my free time only not to be able to get a job because I'm not very good. Or get to university and not do very good at the course.
Also, I'm not a very social person(though I'm trying incredibly hard to fit in more[as opposed to before were I really didn't care]). Do you think this will have an effect on my likely hood to get a job?
Thanks :) .
Also if I want to take computer science in university should I take maths at a-level or will I be okay with just computing?

 
  • Love4Boobies 5:02 pm on September 8, 2010

    I’m not 100% sure whether you’re trolling or not but I’ll answer anyway because it might help other people who need an answer so here goes… :-)

    First of all, most people have no clue as to what they’re going to do with their lifes and a lot of them do indeed turn out to be software engineers. Most software engineers do their jobs very poorly, many are average and a few are actually good – but everyone has a place in the industry (whether that’s fortunate or unfortunate depends on the economy :-) ).

    I was one of the young kernel hackers – started working on a hobby OS project and then a compiler. Even though I am considered to be very good in what I do, I’ll let you in on a little secret: half of what you need to be a good programmer is learning how to learn. Don’t get bored with reading books/hardware datasheets/research papers/etc. I’m a lazy person so I had a tough time getting over all that. If I did it, a lot of people can!

    Apart from the fact that the IQ average you stated is above average, you shouldn’t really believe IQ tests on the Internet, real tests are more complex and you need a trained professional to do it for you. I’m not saying you’re smarter or dumber than 129, I’m just saying that the online tests are VERY inaccurate.

    You should focus less on your grades and more on the actual programming. I did very poorly in school, I never liked learning subjects that I didn’t enjoy but I was very good at what I did enjoy and now it turns out I do a LOT better that people who got only A’s.

    C++ is a complex language (most people think it’s "almost C" but boy, are they wrong – that’s what most beginners say; you need a completely different mindset in order to properly use it… and you need a lot of knowledge to go with that; I can bet you that I can ask at least 100 questions to anyone who considers himself a C++ expert and most people won’t be able to answer). Apart from that, a language is not programming; you need to learn algorithms, develop a way of thinking, learn good coding practices and so forth. You can do that by reading a few books, taking some courses and of course, through experience (trial-and-error is also good). Assembly is a bit tricky; it’s hard to write, hard to debug, time-consuming and most importantly, unportable (every CPU architecture is different and thus assembly programs need to be rewritten from scratch). Assembly language is good for things like compiler generated code, OS development, optimizations in very tight loops and very compact code – usually where a compiler either does a poor job or is unable to do it at all. In every other case, assembly is considered "premature optimziation".

    I’m sure you will do great if you spend some time on it. The most important thing is that you enjoy it – if you do, you’ll be able to spend more time reading about it and doing it without getting bored, thus turning yourself into a good programmer. This is coming from someone who knows what he is talking about!

    It doesn’t matter how sociable you are or aren’t, most programmers are nerds :-)

    Cheers,
    Bogdan

    PS: Don’t follow a blog on how to become a good developer. *cough* :) Instad, here’s a list of books I usually recommend to people (some are specific to a particular topic but you should be able to pick things you’re interested in):

    http://forum.osdev.org/viewtopic.php?f=1&t=6989&p=174472#p174472

  • tbshmkr 5:02 pm on September 8, 2010

    Read this Blog
    =
    How to become a good programmer
    http://kaisar-haque.blogspot.com/2007/11/how-to-become-good-programmer.html
    -
    – Start with C++ or Java, avoid starting with scripting languages.
    – If you want to be good programmer, keep on coding at least 20 hours a week for next 4 years
    - – - – -
    C++
    =
    Book:Programming: Principles and Practice Using C++ by Bjarne Stroustrup
    - – An Introduction to Programming by the Inventor of C++
    - http://www.amazon.com/Programming-Principles-Practice-Using-C/dp/0321543726/
    =
    Tutorials online:
    - http://www.learncpp.com/
    - http://www.cplusplus.com/doc/tutorial/
    -
    Code::Blocks == Open Source C/C++ IDE
    - – codeblocks-10.05mingw-setup.exe
    - http://www.codeblocks.org/downloads/binaries

  • Colanth 5:02 pm on September 8, 2010

    I’ve been writing programs for 37 years, and all the math I ever used I learned by the time I was 17. The only time you’ll need higher level math is if you’re writing a program that requires it. IOW, you can’t write a program to do Fourier Analysis unless you can do that math yourself, But programming itself requires only simple arithmetic. (You might want to learn binary and hexadecimal notation, and get comfortable with them, but that’s "how you display it", not "how you calculate it". It’s like Roman numerals. 10 + 10 is 20, and if you say it in hex, it’s A + A = 14. It’s still twice the number of fingers on both hands. Then you’ll understand "There are only 10 kinds of people, those who understand binary and those who don’t.")

  • Ratchetr 5:02 pm on September 8, 2010

    I just wrote a rather long response to this question.
    But when I try to post it, I get "Yahoo! Answers is currently unavailable…"
    Very annoying.

    Email me if you would like the full response.

  • Rebecca G 5:02 pm on September 8, 2010

    Hello there, I am a female software developer. You sure have a lot of worries for High School!

    You are more than intelligent enough to become a Software Developer–I can tell just by how you write. Learning C++ at 15 is a great start, but not even necessary, although to get a degree in Computer Science you will need to do some math, and that’s a lot easier if you pay attention and do good in High School.

    In the real world, its not like you either are a software developer or aren’t. There are millions of jobs included in that, at all different levels of development. Some people are superstars and work at Google, and others work for some Insurance Company trying to keep their 20 year old program hobbling along because they don’t want to spend the money to re-write it.

    But most of all, you don’t have to decide right now, and I would go so far as to say it is impossible to decide at age 15 what you will be when you grow up. You can have some idea to aim for, but you are going to hear about options you haven’t even thought of yet.

    Is it a male-dominated field, sure, but that is changing a bit, especially in the areas of web development. Us ladies are better at communication in-general, and that’s what the internet is all about.

    So relax, enjoy your youth, and do your math homework. Good job so far!

  • People are reading:

    how much experience do you need to get a a Sr Software Engineer / Developer / Programmer position, what degeree would i need to be a software developer