Mysparetime
Posts: 19
Joined: Mon Feb 27, 2012 11:51 am
Contact: Website

Re: Advice, A request.

Sat Apr 21, 2012 12:41 pm

Hello,

Now I think this will be a odd post. Every since I stumbled across my first programming language(java) when I was ten my dream was to become a programmer.

My question is, how ? Not how do I program, I'm quite confident in Java VB.NET and PHP, but how do I get into the career of software development.

Thanks for any input that you give

- Lewis.

User avatar
Gert van Loo
Posts: 2487
Joined: Tue Aug 02, 2011 7:27 am
Contact: Website

Re: Advice, A request.

Sat Apr 21, 2012 1:42 pm

Step 1. Study.

Step 2. Apply for a job.

The above answer is serious. We have HW and SW engineers with a very diverse background. From an astro-physicist to psychology, mechanical engineers, chemistry, civil engineering & biology. To be honest I don't think we have people with a literature, history or media studies degree.

So here is the challenge: who can come up with an example of a SW engineer with the most exotic education. It does not have to be you, it can be somebody you know. (We just have to trust that the replies are honest.)

Mysparetime
Posts: 19
Joined: Mon Feb 27, 2012 11:51 am
Contact: Website

Re: Advice, A request.

Sat Apr 21, 2012 1:53 pm

When You say study, Do you mean job specific or rather eduction in general. I didn't state my age because I was afraid that someone would say "You are to young to be worrying about this at your age" I'm 16.

As of a background, I'm not sure if you would class mine as "exotic" nor am I 100% that what I am about to say is what you meant but nether the less.
Since I was 10 I have been a hobbyist programmer, at 1st playing around with the source code of games.

Made my 1st game fully in visual basic.
Created and "finished" a social network started from scratch. (Careful to say Finished because they are never finished)

I've done a lot more but to no real purpose other than just to see if I could.

My biggest worry is that I don't think its enough.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 26842
Joined: Sat Jul 30, 2011 7:41 pm

Re: Advice, A request.

Sat Apr 21, 2012 1:57 pm

Do you want a job now, or do you want to go to university and get a degree first? I'd recommend the latter, but my knowledge is a bit out of date...
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

spurious
Posts: 343
Joined: Mon Nov 21, 2011 9:29 pm

Re: Advice, A request.

Sat Apr 21, 2012 2:03 pm

I fell lucky when I was 16 and managed to get a job in the software industry, but that was back in 1986. Today, employers in this sector are generally looking for someone with a degree or equivalent. I have tried a few times to persuade my current employer to take on a school leaver, but they feel it's too big a risk and want the applicants to have gone through the full process of education, and have some reasonable level of pass.

Personally I think a motivated 16yo would be a better candidate.. but I would.  ;)

Good luck with whatever you decide.

Mysparetime
Posts: 19
Joined: Mon Feb 27, 2012 11:51 am
Contact: Website

Re: Advice, A request.

Sat Apr 21, 2012 2:10 pm

The education route I find easy, It's no problem for me.
However say it is another 7-8 years before I go through the whole Uni process, to me that seems a lot of time wasted that I could be learning languages or doing some form of career specific jobs.

Thanks for the input though guys

bobc
Posts: 86
Joined: Fri Apr 06, 2012 8:01 am

Re: Advice, A request.

Sat Apr 21, 2012 2:11 pm

Mysparetime said:

My question is, how ? Not how do I program, I'm quite confident in Java VB.NET and PHP, but how do I get into the career of software development.
It depends on your age and current qualifications. Typically employers look for a good degree in computing, engineering, maths, sciences (e.g. Broadcom) and often more specifically a First or 2.1. So getting a good degree is a start. Getting an MSc as a mature student is also a possibility.

However, if you have professional experience then employers are usually less worried about degree qualifications. In practice, application experience is very useful, because software development is rarely just about programming. So for example knowledge of finance would be useful if you want to do software development for a bank.

Whatever you study, pick something you are really interested in or good at, preferably both

Unlike other professions, there is no particular route into software development. It often comes down to seeking opportunities and pursuing them. That might mean going through job agencies, contacts/networking, cold calling. Nowadays you can do a lot of job searching through the web.

Mysparetime
Posts: 19
Joined: Mon Feb 27, 2012 11:51 am
Contact: Website

Re: Advice, A request.

Sat Apr 21, 2012 2:17 pm

Thank you bobc

So if experience is greater than qualifications, do you think it would be worth my while if perhaps get volunteer work ? Also would the social network I have created count as experience?

Anyway Thanks for the reply guys

Michael
Posts: 340
Joined: Sat Jul 30, 2011 6:05 pm

Re: Advice, A request.

Sat Apr 21, 2012 2:23 pm

Hello Mysparetime,

Your profile says you are 16.  What subjects are you studying at school and what do you plan to do next?

BCS has some great advice about how to get into the industry, entry points, typical career paths, etc.

While it is perfectly possible to leave school at 16 and enter the ICT profession, your initial choices of role are more limited, with user support and junior web design roles being the more typical options available.  These roles can act as excellent gateways to provide the experience to move on to other roles in a few years.

Alternatively, you may wish to consider staying on into further education to complete either a vocational course such as BTEC or HND, or A-levels and consider your options again at 18+.

http://www.bcs.org/category/7874

You say you are confident in a few programming languages.  What kind of projects have you undertaken in those languages and what can you show to a potential employer to demonstrate your abilities?

One great way to improve your skills and demonstrate your abilities to potential employers is by contributing to Open Source projects in your spare time.

There are a huge number of Open Source Java projects – take a look at The Apache Software Foundation and the Java.net community for some ideas of existing projects from two of the biggest Java project communities that you could help.

Most projects keep a todo list of items with which they want help – often as an issue tracker or roadmap.  For instance, here is the list of outstanding issues for Apache Commons Lang 3.x.

Don't be afraid to try something new.  With Java, VB.Net and PHP under your belt, you should be able to pick up Python, Ruby, JSP or C# with a little effort.  C and ARM Assembler are a little harder, but will introduce you to some new concepts and help you get more out of the Raspberry Pi.

You are doing exactly the right thing, ask advice of those in the industry, any older family members (especially cousins) and friends and most importantly your careers teacher at school and the advisors at your local careers service.  Your careers teacher will know how to contact the local careers service.

Oh, and do come back and let us know what you decide!

Mysparetime
Posts: 19
Joined: Mon Feb 27, 2012 11:51 am
Contact: Website

Re: Advice, A request.

Sat Apr 21, 2012 2:37 pm

Thank you for your in depth reply Michael.

I am currently In the highest BTEC that my college had to offer (BTEC level 3 extended diploma in I.T) what I plan to do next is what I am stuck at, Originally I had planned to go on to university to study computer science, however looking over the requirements for some of the school they require maths.
I love maths and I do not struggle with it however be that as it may my college course doesn't cover any math other than keyskills

I was thinking about going to to web design just to kind of get into the industry but if I wait and go through education will I be able to go into more "code heavy" jobs as one of the reasons why web development doesn't really shine for me is that it is all rather arty.

Thanks

User avatar
Gert van Loo
Posts: 2487
Joined: Tue Aug 02, 2011 7:27 am
Contact: Website

Re: Advice, A request.

Sat Apr 21, 2012 2:48 pm

Mysparetime said:

....
I was thinking about going to to web design just to kind of get into the industry....


In my opinion web design is tough. Not because of the programming but because additional it requires a artistic eye. Just look around at all the ghastly websites out there. Don't let that discourage you, but keep it in mind. Even if you turn out not that have 'the gift' you will have learned a lot.

Mysparetime
Posts: 19
Joined: Mon Feb 27, 2012 11:51 am
Contact: Website

Re: Advice, A request.

Sat Apr 21, 2012 2:52 pm

Thank you Gert

I understand, I competed not so long back in the world skills heat event for web design and I will be competing in the up coming event in a week or so from now.
The issue I had with the competition was where my site was quite "complex" where I was using quite a lot of back-end code but lacking in some of the artistic elements, well the put a long story short I got blown out of the water.

Michael
Posts: 340
Joined: Sat Jul 30, 2011 6:05 pm

Re: Advice, A request.

Sat Apr 21, 2012 2:55 pm

Mysparetime said:


however looking over the requirements for some of the school they require maths.
I love maths and I do not struggle with it however be that as it may my college course doesn't cover any math other than keyskills


For those that require maths, it might be worth having a quick telephone chat with the Admissions office explaining your qualifications and asking for their opinions.  Some may want you to take a one year Foundation Degree course before going on to the target course.  Others may simply ask you to take an Engineering Maths module or two in the first year.

Two other options to consider are a year in industry either before University (industrial gap year) or during University (thick or thin sandwich courses).  Sandwich courses have the added advantage that they should expose you to a variety of problems and ideas that could form the basis of your final year project or thesis.

If you particularly want to develop your programming skills while at University, investigate whether the content of Software Engineering (BEng) courses are a better fit for you than Computer Science (BSc) courses.  The latter tend to be a bit more theoretical and maths-heavy.  Most Universities offer one or the other, not both.

Mysparetime
Posts: 19
Joined: Mon Feb 27, 2012 11:51 am
Contact: Website

Re: Advice, A request.

Sat Apr 21, 2012 3:00 pm

Thank you Michael

I shall call the university I was interested in to see my options.

My dream was to go to Cambridge however it does seem that it will remain a "Dream"

- Thank you for all you posts
- Lewis

User avatar
mkopack
Posts: 242
Joined: Mon Nov 07, 2011 8:46 pm

Re: Advice, A request.

Sat Apr 21, 2012 3:21 pm

Since you're 16, this is what I'd recommend - You still have 1-2 years of high school... Take advantage of any programming classes your school might have. If they don't offer anything, look around at the local community colleges to see if they have weekend classes for kids.

Get yourself a couple books - what I'd suggest are ones that cover:

* basic computer architecture (ie, how a computer is organized, the Von Neumann architecture, things like the ALU, the memory architecture, DMA, IRQs, etc.) Possibly Assembly language  - this will help you learn HOW the computer actually works, and what it's doing when you give it a command or your program says "Do this loop 100 times." Having this knowledge can help you differentiate yourself from the competition - so many people these days just see a big black box and have NO IDEA how it's actually working.

* Design patterns - these teach you common accepted ways of organizing your code.

* Data Structures - these teach you how to organize the data in your programs in common ways that allow you to access it or store it very efficiently depending on what you're trying to do (things like Stacks, queues, lists, trees, maps, tuples, etc.)

* Books on language of your choice - I personally like java, but python is also good, etc.

Learn as much as you can between now and graduating from High School, and then apply to get into a CS program in college. The key here is learn as much as you can BEFORE getting there - Most CS programs (especially at the top schools) expect you to walk in with a good amount of knowledge. For instance, when I showed up at Georgia Tech in the fall of 1991, I already had been writing code in BASIC for 6 years, had taken a couple community college classes in BASIC, had 2 classes in HS in BASIC (with a heavy focus on structural programming), and had started messing around with C and UNIX a little bit.

What you'll find is that for most languages, what you learn in one is pretty applicable to the others - they all use common concepts like branches, loops, recursion, data structures, and so on, and mostly just are different in their details of HOW you apply those techniques and concepts.

I also HIGHLY suggest looking at other people's code - I used to type in programs out of books and magazines and as I did that I learned. When you type stuff in from a book, really look at it and try to understand what it's doing.

You CAN get SOME jobs without at least a Bachelor's degree, but it's VERY hard. Getting the degree will teach you more than just "how to code", but also "why it works", how to do it in industry-common accepted ways, how to write MAINTAINABLE code, how to properly test it, how to do it in a formal repeatable and well organized manner. These are all VERY important concepts because the days of 1 person cobbling away in their garage or basement and creating something amazing are largely over - most reasonably complex software is so large now that you need a team of people to do it well, and that requires everyone to be on that same page, all applying these well known techniques to be effective.

GET THE DEGREE!

Plus, the starting salary for somebody with that piece of paper vs one who doesn't have it, is HUGELY different. That piece of paper might cost a lot up front but it more than makes up for it's cost within the first 10 years out of school. It will open up more doors.

Mysparetime
Posts: 19
Joined: Mon Feb 27, 2012 11:51 am
Contact: Website

Re: Advice, A request.

Sat Apr 21, 2012 3:33 pm

mkopack Thank you
I shall go for the degree in computer science I believe. Considering I am quite familiar with C like languages I shall try to pick up c# as I am seeing that a lot in job descriptions.

Thanks you all for your posts

-Lewis-

secretreeve
Posts: 330
Joined: Mon Feb 20, 2012 8:39 am

Re: Advice, A request.

Sat Apr 21, 2012 4:29 pm

have to say, its refreshing to see a young individual actively seeking assistance in getting into the industry they want to work in.

too many young people these days ride the wave through school/college and spend thier lifes on income support.

hope you get the career your lookin for man!

Mysparetime
Posts: 19
Joined: Mon Feb 27, 2012 11:51 am
Contact: Website

Re: Advice, A request.

Sat Apr 21, 2012 4:45 pm

Thank you so much Secretreeve

Mysparetime
Posts: 19
Joined: Mon Feb 27, 2012 11:51 am
Contact: Website

Re: Advice, A request.

Fri Apr 27, 2012 6:04 pm

Hey guys,
You asked I believe earlier in the thread to keep you up to date

Competed today in World skills Came Second for Wales and UK

Bragging  rights

Return to “General discussion”