Lazy, layabout teens

Yesterday I received this email from a YRSer – they are happy for this to be published but I have removed all references in the email that might identify this person. I am publishing it for several reasons:

1. to get the help asked for from a wider community than just me

2. to show the kind of dilemma our students are facing

3. to give Universities/Google a chance top snap this person up

Email copy starts here:

I am studying Biology Chemistry Physics and Maths with Mechanics at A level (Year 13- upper sixth).

This year, I attended YRS and won a prize, I also won an award at the Cambridge Chemistry Challenge.


Computing in general was only really ever been a hobby for me – I decided against a degree in the area after taking DiDa at GCSE, which was a real trainwreck of a GCSE course, focusing more on secretarial skills than what I was interested in. I left with an A in the subject and the assumption that I had misconceptions about IT as a career. I had tried to really show my skills through the course’s website topic where candidates produced a web-page (though not hosted) to log their work, but the course wasn’t looking for the skills I had. At the time I knew VB, Javascript, C++, HTML, some PHP, and basic Python.

I was always interested in the sciences, and after taking some work experience, decided firmly on Medicine as a future career.

I didn’t do as well in my AS levels as I was expected to. I have a short history of underperforming relative to my skills in a given subject, but was naïve enough to assume it wouldn’t affect my AS results, though I think this can be remedied.
I took Biology, Maths, Chemistry and Physics respectively.
I believe these grades can be remedied, and after sorting myself out and really applying myself, I believe I can achieve A*AAB (or similar) at A level, please forgive me if I sound arrogant – I am really intending to work hard this academic year through retakes in January and Christmas.

This, of course has the potential to get me into medicine once I have picked myself up, but after this I see things in a different light and am having second thoughts for medicine as a career.

YRS was one of the most enjoyable things I have ever undertaken – before this I felt all IT jobs (aside from the legendary Google jobs) were writing simple, static programs for big companies in C, or inaccessible to me. I was really looking for a job where I could be challenged with problems to solve (which drew me to medical diagnostics), but I met lots of interesting people who were working on equally interesting problems including an IBM employee working on a web spidering project who I discussed Machine Learning with (I am taking an online Introduction to Machine Learningcourse at Stanford university), and the man who wrote the very popular National Rail iPhone application, and made a similar train tracker.

As things are going I will probably end up at a fork in a road when I reapply to university next year, but having never considered this area as a future career, and not knowing anyone who works in this area I am lost. I understand there are many computer related IT courses, of which I know Computer Science, Software Architecture and Computing, but I don’t know which one is what I would like to go into, or even if I have what is necessary to get into the business.

I would be very thankful if you could answer a few questions I have:

  • What IT related course should I take, or- how do I decide on one?
  • How difficult is it to work at Google? What path would I take?
  • What should I do to increase my chances of admission?
  • Do I have what it takes to do a course, if not, what should I do?
  • What areas, in your opinion, would I be interested in?
  • What sort of work would I be doing?

15 responses

  1. Firstly I would like to say well done for all the experimentation you have already done in exploring IT as a career, although it has not pointed out the exact oath the curiosity you display is a pre requisite.

    Although you undoubtably will do well with a career in medicine in a crowded field such as this it is hard to experiment and find your path. IT however is a field where we have much to do and there should be an easier path for you to develop, at the moment there isn’t.

    However IT as an industry is going through radical change and in all my 27 years I have never so much fun pushing the boundaries and making change happen with technology. Don’t turn your back on our industry just yet.

    My advice for options us :-

    1. Keep active in the community, definitely YRS and look for other such communities. I am part of a London Big Data group and I would be delighted to invite you to one of our events to meet the people making tech drive change.
    2. Uni courses I have mentored a number of A Level students over the last four years and have experience of the sorts of courses offered. Most will not be useful in the future IT industry. The exceptions are those at places like Southampton. They understand that the future is the web and they are combining all our sciences into one, Web Science. Fascinating work being done down there.
    3. Aside from the web another cornerstone will be Cloud, using the elastic definition, not the hosted offerings most people are talking about. Again I’m involved in the direction of this via the Cloud Security Alliance (we are creating the new operating framework and involved in landmark research) again I would be happy share what we are doing with our key universities and engineering Design Centres to see if that would inform your choice of course.
    Hoping that is some help. Jacqui

  2. Hi,

    I believe you’re not the only one in this situation and it isn’t just computing students who face challenges like this. I am also in year 13. I was lucky enough to get the grades I wanted at AS. I do have a massive interest in computing and in web developement but have decided against taking this at University. I am a great believer in the phrase “if you want to kill a childs dream in anything, set them an exam on it”. some of the greatest types of learning never take palce in the classroom, and it seems you’ve done well for yourself by teaching yourself most of the core fundamentals.

    I also did the DiDA course and couldnt agree more with your thoughts- it just teaches us to be great office workers.

    In regards to your degree- it really doesn’t matter. Most universities let you even change in your sencond year.

    The thing to do now is just to concentrate on those resits and follow your heart.

  3. Hi,

    Firstly, don’t be alarmed that you didn’t get the marks you wanted, that you didn’t get into the admissions group that you’d have liked or that you have no idea which path you want to, need to or should travel.

    The reason for this is simple. Some of the smartest people are drop outs. Many of the greatest companies in the world were founded by people who didn’t even finish Uni, some didn’t even start.

    While the piece of paper is important, what’s really important is the fundamentals – in order to design, build, code, explore or even admire software, you really need to understand it’s basics – something that unfortunately you do need to learn at Uni at some point, but is really not super required out of the gate!

    I’ll answer your first question last, if that’s ok!

    2) Never aspire to work specifically for one company or another. I started my career without the likes of Google, Facebook, Twitter, etc even being in existence. IBM, Microsoft and Oracle were the biggies and PHP wasn’t even a thing yet!

    By the time you are a fully equipped, highly strategic software engineer, you might want to work for GoogleBook, or Micro-ahoo. Who knows what the future holds for tech! Focus on the types of things that you want do in tech, whether it be complex data systems, search, HCI, or whatever. You never know, by the time you’re ready to hit the job market (even as an intern) Twitter might be a medical implant company! Do what you love, when you stop loving it, do something else.

    3) Admissions are a hard thing to understand. Straight out of high school, as you can imagine, you’re in a pool with thousands of others and it’s easier to look at scores than it is the person – however, what helps over time are things like courses, certifications, diplomas and all manner of other things. The best bet is to call an admissions officer (outside of the normal admissions periods) and talk to them, ask them what they want to see in an admission and work from there. The BEST thing you can do is take their advice, apply their advice, work at getting to where they want you to be and show them that you’ve taken their input on board so that when you eventually apply you can say: “Oh hey, look at how I made me better.”

    4) Do you have what it takes? Well, that’s a philosophical question really only answerable by you 🙂 Do what you love, when you stop loving it, do something else. You’ll find that the things you like, the things you love and the things you are good at end up being the same thing. You may have other things you are good at that you don’t like, or love, but really, it’s all going to come down to your commitment to make yourself better. Coding, engineering and architecture don’t have physical limitations, so really it’s all up to you.

    5) What areas? All of them. I started in code, went to front end, went back to code, data, strategy, sales, code, data, architecture and now I do a bit of all of the above. What I found as I went through my career was that it adapted around what was needed, what I wanted and how interesting things were. It comes back to what I said in 2) That ultimately, you don’t know what companies are going to be doing, or what technologies are going to be around – follow what you like – explore all the different options and settle with the things you want to do, you will find this to be quite an organic process really 🙂

    6) Everything. You’ll cut code, you’ll deal with customers, you’ll write databases, you’ll learn, self educate, observe, adapt and of course you’ll come out of the other end with some skills you might never use again, but that’s really what it’s all about. You’ll learn the art of humility when it comes to working under other engineers and project managers, and gracious victory when you first discover that your new way of thinking might just do the job.

    Always remember, every single person, engineer, project manager, product manager, architect, document writer, cto, cio and all the other parts of a very giant software wheel – will be an opportunity to learn, to grow, develop new skills, inherit old skills, views, methodologies and all manner of other things. How you put all of those things together will be what makes you a great engineer.

    Now, back to 1.

    1) It will be a bumpy road with a mix of boring, interesting, new, exciting and old and dusty, but ultimately everything you learn within reason, will be worth learning!!!!

    If you want to work for the likes of Google (or hey, I hear Yahoo! is still a bit of ok) then you’ll want to learn C/C++ as a primary language, Go/PHP as a secondary language and it never hurts to know some Java, or some Javascript.

    Remember that backend systems and platform engineers, don’t work in HTML and JS (these are not ‘real programming languages’) but know them well enough to tell front end engineers they’ve done it wrong. They like to write code, not interfaces, break things apart and make them super scalable.

    Architects design the software that gets build by the engineers and have final say over how things look, act and interact based on what the business decides they want/need (and of course, what the architect can convince the business that they don’t need).

    Designers work from a HCI stand point to understand the best way to make the things that the architect designs workable from a client/end user perspective – they like to make sure that the user is able to actually USE a product. They will joke about badly designed software as something an ‘engineer knocked up’.

    Front end engineers will build the nifty widgets, cut the html and test in IE4,5,6.1,6.2,6.3,.6.4,6.a34,7,8,9,10,…. and FF / Chrome to make sure it works and implement all the cool special effects most websites get a thumbs up for. (We call them Glory Hogs)

    At the end of the day, what you study doesn’t have to decide what you do, but it certainly has a good standing in where you end up heading. Let the process happen organically though. As a CS student however, you’ll learn about all of these steps and parts and their importance in the entire picture, and they are ALL important!

    Start out by maybe doing some basic architecture courses, or perhaps even an SDLC, iTIL, etc, but my advice really is to head straight into the code – do some online courses (Oxford, Stamford, Open, etc), play with code, make things, break things, freelance, or whatever you need to get the experiences that you want!


  4. A bit of background so you can see where I’m coming from, then some advice… scroll down if you get bored, I’ve starred the advice 😉

    I was in a similar position about 10 years ago, where programming was a hobby and I could have done a range of subjects at university. I opted to go for the Computer Science course at Imperial, after turning down a place at Cambridge – the Imperial course was far more industry focused.

    I didn’t really know where I wanted to work afterwards – I had an affinity for smaller companies because I wanted to be somewhere I could make a difference. Sticking with small companies worked quite well for me – I opted for a smaller company for my industrial placement (an integral part of the Imperial degree), rather than taking an offer at IBM. This meant I got my hands on some recently-written code and fleshed it out to a full product, before being flown to a trade show to try and sell it to customers. It was a great experience and set me in good stead.

    After staying at Imperial to do a PhD (I wanted to do some blue skies research before going back to industy), I now work for a start-up designing, implementing and maintaining our systems, dealing with ‘web scale’ data as it seems to be called. It means a lot of responsibility, but it’s good fun and all cutting edge stuff.

    ** The Advice **

    – It sounds like you want to work for a smaller company where you can have a big impact. That says ‘startup’. Working for small, recently formed companies can have perils but there are ways to avoid them – happy to chat further on it, but that’s probably for 4 years time!

    – Don’t do a technology-specific set of courses (i.e. the more vocational ones). ‘Web Sciences’ is all very well, but anything tech-specific always runs the risk of being out of date by the time you finish the course.

    – It doesn’t matter which languages you learn, as long as you can demonstrate that you program in some formal object-oriented (C++, Java etc) and more script-like ones (Python, Ruby). When we’re recruiting, we want people who have a track record of picking up new technologies/languages quickly, not those who know everything there is to know. Start-ups are in uncharted territory where frequently *no-one* knows how to get the job done – they need to work it out. That’s what makes the job exciting.

    – Google/Facebook etc have a similar view. I’ve been through a couple of Google recruitment stages before deciding to go for a start-up. You MUST have good algorithmic knowledge, which you’ll pick up on a proper Computer Science course. It isn’t enough just to know some programming languages, you need to know how to implement the correct algorithms effectively.

    – Google prefer Java and Python, with a bit of C++. Facebook also have a lot of Java code. PHP is not useful for the jobs I think you’ll want – worth having a familiarity with it, but don’t get up to expert level. There’s a lot of Ruby code around. Java runs on a virtual machine, and languages built on that have been gaining traction, because there’s been a lot of work making Java fast and reliable (languages include Scala, and a version of Ruby for the Java VM, JRuby). But you don’t need to know a specific set of languages – if you know the underlying concepts, picking up new languages is fairly easy with a textbook and some examples. I didn’t know any Python when I started my job, despite the fact that all our code was in Python. It took 2 days to figure it out and start committing code.

    ** Getting into a CompSci degree **

    – I recommend the Imperial one, but I’m biased. You can also do all sorts of entrepreneurship things and the business school runs a challenge where you can earn money to start your own business. You can take a generic course but it has loads of options – you can go down a finance route (boo!), a data mining/machine learning route, a hardware route etc.
    Google also take a lot of Imperial people, but you might not want to work there in 4 years time.

    – Failing that (the grades are tough) do a good CompSci degree somewhere else. Look at the syllabus if you can, make sure it teaches you the general principles of software engineering, programming, algorithms, complexity theory etc. Quiz admissions tutors on these things before applying/accepting a place.

    – Get involved in the community (YRS will look great anyway)

    – Get the grades!

    ** Get in touch **

    I wish I’d had someone to talk to about career options before heading to university, even though I probably made the right choices in the end. @ me on twitter if you want to discuss more!

  5. The reasons people drop out are many. Encouraging kids to drop out just because they’re smart is not good. Money wasn’t mentioned, but we are probably looking at someone that has been told she can “…do anything you want to do..” which is baby talk. She has lost focus and needs to regain it by finding something(s) to love.

  6. It is really tough to get a job at Google, as there are several rounds on the job interview process. I’d recommend doing some of the things that you are doing such YRS and the Stanford course, as they will help you with getting any well paid job.

    I found that a summer placement half way through my uni time, and working on open source projects have helped hugely in getting my two IT jobs so far since graduating.

    There are loads of companies out there. It’s often the case that small companies are doing more interesting things than big companies. That’s why big companies often buy small little companies that have done some interesting things.

    I know people in the IT industry who have not been to uni and are doing well, but feel that they lack the background that you get by going through university. Personally I found that spending time on open source projects and writing such that I got letter published in the local newspaper were more important than studying more and getting a better degree. After a few years what you got for your degree is even less relevant, and what else you’ve done with your time is far more important. Once you have your degree, your school qualifications become mostly irrelevant.

  7. I hope you don’t mind but I’m not going to answer your questions directly. What I would like to do is share my own experiences and lessons learned.

    I was interested in computers from about age 12 – this in the day of early PC’s and Commodore 64’s. I got good GCSE’s and A levels (Maths, Physics and Computing) and then, more because I was interested than because I wanted it as a career path, I went to Uni to study computer science.

    I studied at York, which had an excellent department and course which taught lots of good fundamentals of computing at all different levels, from low-level electronics and maths up to Object-Oriented software design.

    The story if how I ended up at York is a whole other comment/post, but I’d agree with what was said above about looking at syllabuses and what areas of research the Uni is interested in. As I looked around some were really into robotics/cybernetics, some were into graphics and modelling of motion and particle dynamics, others were into formal programming principles. I think the latter will give a better grounding for programming, but that’s just my opinion.

    Having said all of that, maybe you don’t know what specific area you want to go into? I certainly didn’t and I suppose the course that I did gave me some future direction.

    ALSO…remember that you’re going to spend three years of your life at Uni and you’ll want to be comfortable and enjoy it. I’m from Swindon, a not-so-big town, and after visiting Imperial I quickly lost interest as I would have found London expensive and stressful. York was cheaper, quieter and more friendly. It’s a personal thing, but worth thinking about if you decide to go to Uni. You may long for the big city life!

    The course mostly did me well, though I felt that it was highly geared towards people who would stay on for further study (masters, PhD, etc). The final year in particular covered topics that were highly theoretical and specific to the research interests of the University I was at.

    In terms of practical application, probably everything I learned in the first two years was enough. I did a straight 3-year degree and I WISH I’d taken a year in industry. I’d encourage you to do something practical like that and see how IT works in the real world as well as in the theoretical playground of a University. I was fortunate to get 13-weeks work as a junior DBA. Totally different to everything I was studying, but hugely important in my future career.

    It’s also true that you don’t have to be an academic star to be good at this stuff. Some of the best people I’ve worked with in IT have been school leavers or people who didn’t finish at school. They got simple jobs in IT firms and worked they way up, succeeding by having industry knowledge, a willingness and ability to learn, and a good work ethic. As I worked in IT operations it was easy to see that some of those in lower-level jobs (shift operators, etc) had great prospects and would quickly move into more technical positions.

    So, anyway, I left and was fortunate enough to get a job where I used a lot of the skills I’d learned at Uni, working in safety-critical software engineering. This was amazing and I left for personal reasons rather than because I disliked the work.

    My second job (look at my CV if you want to know) was in a big IT/telecoms firm. And I guess some companies will be better than others, but experience was actually quite stifling. Initially they invested in me, but ultimately I found that the the large corporate only had one thing on its mind: cash! And if they’re a PLC that also means cash-for-investors-and-shareholders. I found the large corporate to care little for real innovation and creativity.

    And so I left in February to go freelance and be creative and do my own thing and learn masses about business and technology and creativity and working in partnership and…so much more. I LOVE it. I love problem solving on MY terms, I love learning new stuff. Yes, I end some days weary and frustrated – that happened when I was employed too – but I always wake with fire in my belly because I’m doing the thing I love doing: using technology to help people solve problems.

    A final thing to throw in. For a long time I thought my degree was pretty worthless in terms of real-world application. But when I worked for the big corporate I learned that the foundations of computer science that I had made learning new things SO much easier. The classic case was a training course I was on learning a scripting language. When it came to exercises, initially I was the slowest. Everyone else was just rattling off the answers they’d memorised or copied from the course notes. But I was questioning how things worked to try and get “under the bonnet” of the language. When it came to later, more complex exercises, my greater understanding of how the language worked meant that I could solve the more complex problems much more easily. That “digging down” was informed by the fundamentals I’d learned in my degree.

    So I guess my lessons are:
    – Knowledge of the fundamentals is very useful – more useful than I realised.
    – But real-world, practical application and experience is also hugely valuable.
    – My opinion is that you can be good with either, but to be great you need both.
    – Research courses and universities well – it’s a big decision that could affect you a lot.
    – Decide on a route – this will inform your university decision – perhaps you can find a course that specialises in medical applications?
    – OR…don’t decide on a route. Pick a place that looks good and have your future guided by what you learn on the course.
    – I disagree with Jacqui (sorry!) that learning the current thing (Cloud, “Web Science”) will do you well. If you learn the fundamentals you will quickly pick up whatever the current trend is. Plus, web development is only one area of programming – it’s a quick, easy way in, but probably, ultimately, a short-term approach.
    – This is also a personal opinion, but I find the languages of the web pretty poor. They let you get stuff done very quickly, but don’t encourage good software engineering practices. Learn something well-structured and strongly-typed first (maybe something functional?) to get the principles. Any code that you later write in something like PHP or JavaScript will be FAR better as a result.
    – I agree with Sean that often small companies are doing interesting stuff. My experience is that large companies stifle innovation. There are probably exceptions to this (Google, Apple), but you’ll need to be really good to get in. REALLY good.
    – I think you’ll do really well. You sound like you’re intelligent, hard-working, and have a desire to be creative and solve real world problems.

    There’s a little bit more (and some repetition of what I’ve said) on my blog – I’m thinking specifically these two posts may be useful/inspiring:

    And yes, as with the other responses, feel free to get in touch if you want to discuss more. Leave a comment on my blog or I’m @magicroundabout on Twitter.

    Hope that helps!

  8. Why not go to a week today, if you are within reach of London? Chat to people from some startup companies and ask them what their developers do day by day, and what they look for in candidates. You’ll learn a lot about the attitude and mindset that they look for as well as the technical skills.

    I have worked for a startup company that was later acquired by Microsoft, and some of the most impressive people there had unconventional educational backgrounds. Some had worked in unrelated fields before going to university; others had dropped out of university before getting a degree. I recruited some developers in that job, and university track record didn’t feature strongly in recruitment decisions. The points above about learning the fundamental principles of software engineering during a degree are true, but university isn’t the only way to acquire that knowledge, and everyone carries on learning vital lessons long after university.

    One of the great things about technology (at the moment – I hope it stays this way) is that it’s not always essential to have a paper qualification to get started in the industry. Employers – at least the far-thinking ones – are more interested in how you can demonstrate what you can do. If at all possible, I’d recommend you get some experience in a business that is working to solve some real-world problems with technology (maybe one of the siliconmilkroundabout startups?). This will help you shape your ideas about the direction you want to go in next, and if you decide on university, your real-world experience will help you clarify your decisions about the best course for you, and what you want to get out of it.

    Good luck!

  9. The world changes faster than we want it to but much faster (and in different ways) than we predict – jut watch a few old Tomorrow’s Worlds!
    In the early 70’s we were preparing learners for a world where IT would be all pervasive: mind you, none of us realised it would be mobile phone based (though I reckoned an e-reader device was likely!).
    Leading edge programmer types don’t stay that way – they burn out or get promoted to management (or both!). Having the ICT/IT/Computing skills that enable you to test ideas is important, in that that allows you to maximise your effectiveness in other areas.
    Do you see links easily? Do you see links others haven’t yet seen? If so remember that this is a form of creativity and that would make you a creative person.
    Your enthusiasm for a subject will be reflected in your grades (as will performance in university interviews). Look for links between subjects and explore them – my son did Maths, Art and Physics at A level and his Art projects looked at Maths in art.
    Look for Uni courses that give you a strong framework (that ensures you do some work!) but that won’t box you in. Five years ago we didn’t have iPads – what will we have in 5 years time and how will what you choose to do fit in with that new world?
    Most importantly if you don’t enjoy something, check that it’s not fundamental to something else you might enjoy and if not, put it to one side for now at least.

  10. Times change – quickly. I’ve been out of university and working for over 20 years now. None of the jobs I’ve done existed when I was at school – satellite remote sensing of rainfall in Africa, automated displays for weather forecasts, more satellite stuff, some supercomputing, now climate science

    My advice –

    Take an interest in the wider world – looks like that’s sorted

    Get a degree – De Bono chose medicine for got rational reasons – humans are the same everywhere, laws aren’t. But today I’d say that the practice of medicine has developed local fashions, this is less true for IT. If you want to travel, or make a global impact IT is a good choice. I did electronic engineering – back then it was the right thing to do (Gates, others, etc. did the same, though I didn’t know this then).

    Whatever you do keep coding, keep learning.

    Oh, and as Mark Twain said – “Always do right. This will gratify some people and astonish the rest.” (Basically, it’s never about the money, always about the people) I love working with scientists, but not everyone likes working with people who are smarter than they are. – Though I’d say many don’t get a choice. It sounds like you do, so use it wisely.

  11. Hi there,
    As you mentioned you want to pick an IT course that’s necessary to get into business so you may want to find a bit more out about an employer endorsed degree course called ITMB.

    IT Management for Business BSc (ITMB) is run at 14 universities across the UK and is endorsed by the Sector Skills Council for IT & Business, e-skills UK. It was created by e-skills UK along with the support of over 60 employers from top blue chip businesses who identified what IT and Business graduates were lacking and thus designed a course to help students develop the skills that businesses need to compete in today’s global market.

    The degree itself differs to other Computing and Business courses because it is essentially a ‘hybrid’, bringing the best parts of IT and business together. As well as studying programming, systems architecture etc and how you can use it in business situations, you will also learn project management and interpersonal skills- all areas guaranteed to help you prepare you for the workplace.
    ITMB is recognised by many employers and ITMB graduates are seen as extremely employable compared to other Computing graduates. For example, ITMB graduates now automatically miss out the first stage of the recruitment process at IBM because they recognise how much stronger ITMB graduates are. There are also ITMB graduates now working for Google, Apple, Microsoft and many other companies.
    You will be encouraged to take a year placement and/or a summer placement in your second year- this is when many students manage to secure employment before they’ve even graduated and will help you decide the type of company and role suits you after university.
    There are also many ‘extras’ available through the course too such as annual student events, where all ITMB students come to meet and network with employers and get involved in employer sponsored competitions. It also offers ‘guru lectures’ from industry experts and mock interview days and CV clinics, where you can get input from industry experts so your interviewing technique and CV is up to scratch.
    If you want to find out more and get the list of universities that run this course, visit

    The entry requirements differ between universities so make sure you check the individual university websites or UCAS for more details.

    Hope this has helped in some way, I hope this is something you may be interested in. Good luck!

  12. Hi Emma, I know I tweeted you but I think you’re AFK atm. I wanted to say thank you for posting this because it inspired this and had I not read this poor blokes words I’d never have done the digging in the first place. So, thank you. 🙂

  13. Hi there,

    I’ve only just stumbled across this thread. Hopefully, you’ll see this comment…

    There’s a lot of good advice above already so I’ll just add what I believe hasn’t already been covered. First some background on me so you know where I am coming from. I have been working as a software engineer ever since graduation doing hands-on programming work but like you, programmed in my spare time while still at school. I have mostly been working on systems level software for companies that make embedded systems in consumer products. Overall about 50%-60% of my colleagues and former colleagues studied Computer Science whilst the other 40-50% studied one of Electronic Engineering, Maths and Physics. (Note that none studied IT, business IT…).

    You’ve already noticed that some professionals in the IT field are working on “simple, static programs” while others work on more in depth computer science problems like machine learning, and it sounds like you want to work on the latter. To do this, if you do pick computer science, ensure you go to a good university with an in depth course (one that teaches the foundations of computer science, including the low level details and not the “language of the year”. See this essay from well known software writer Joel Spolsky:

    Whatever degree you decide to do, I recommend doing the following (in addition to getting the A-Level grades you need of course):

    • Keep programming in your spare time and keep up to date with the industry. I cannot stress this point enough. Far too many people graduate from Computer Science or related degrees not really knowing how to program. You already program as a hobby so I don’t think it will happen to you. But, do get involved in open source projects, put together a portfolio of personal projects somewhere like GitHub. Perhaps start a programming blog about what you learn. Look into Google Summer of Code which allows students to get paid for contributing to an open source project.

    • Apply for internships during the summer holidays whilst at university. I did one each summer that I studied and it gave me the opportunity to meet people working in the industry, see what opportunities there are and get a feel for what I wanted to do when I graduated, as well as lots of things to talk about during interviews.

    • Since you considered medicine as a career, take a look at the field of Bioinformatics. If may be something you want to specialise in later.

    Another essay you might be interested in reading is:

    Good luck!

  14. firstly well done to Emma for this post.

    I am much less qualified than others to provide answers, but would say that as well as reading prospectuses, going to careers fairs, and getting advice from course tutors at places you’re interested in, it’s always good to take account of the other things that attract you [or not] to a particular institution, whether it’s the location (e.g. whether close to family which is more important for some people than others), the reputation or whatever. Course tutors can put you in touch with current undergrads or recent graduates who can tell you what was good and bad about a particular course. There are also figures available on which places have most success in getting their graduates employed [within a year I think] of graduating. Spending time as an intern or a year’s placement at an employer [which is standard at some universities] will definitely increase your employability because it gives you practical experiences which you can talk about both on application forms and in interviews, which make you stand out from the average applicant

    I also agree with the comments that small organisations are often more interesting than big ones – you are more likely to have to learn to do everything, – and that aspiring to work for a single company such as google is narrowing your possibilities way too much. Many folk want to be writers or journalists and to work for the bbc or the national media but end up doing other things or work their way up after starting in local or regional media. Few photographers start as famous (Ansel Adams began his career as a pianist). Henry Ford started out by repairing watches.

    Last but not least, and this is very much a personal perspective, if you have an aptitude and an enthusiasm for a subject, it is good to pursue it whether as a hobby or in the work context – regret is rarely good.

    best wishes in your future career [provide updates via this blog?]


  15. Hi! You mentioned that you don’t know anyone in the business. Your most important assignment is to chat with a wide range of people who are. As the business is so diverse – I suggest tracking down 1 or 2 local organisations like a Linux User Group, a branch of the British Computer Society or the IET, or a hacklab or dorkbot type group. Many people you meet will be untutored amateurs – and many will be professionals – many will also have degrees – not just Computer Science or Informatics – but mathematics, natural sciences, electrical engineering, or other branches of engineering. By the way all of these fields offer all kinds of opportunities for great problem solvers – even if you don’t ever write another line of code – though if you can whip up a quick data analysis script or numerical model, for example, you may be even more successful in a scientific career.

    Since you are interested in medicine, I though I might also suggest the biotech field – there are other life science career paths that are just as challenging as medicine but might be more up your street. Many were in their infancy when I was at uni. Bioinformatics, drug screening and molecular biology, medical physics and medical statistics are examples. Point your PC or MP3 player to this netcast:

    As others have said: I think that people that follow their heart get better grades and more satisfying jobs.

    Also I suggest continuing with the volunteer work you are interested in – whether it be Rewired State or Google Summer of Code or your favourite open source project. Even if it doesn’t become a path to a career, it could be a rewarding way to spend part of your life. I will never be a salaried programmer – my own spare time choice is to work with Etoys and help primary school age kids learn “powerful ideas such as feedback, increase-by, acceleration and gravity.”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: