Moving from education to professional programming

C

Colin Hemmings

Hi there,
While there is are a couple of conversations floating around talking
about becoming a programmer I thought I would also ask some advice from
you wise people.
I have been programming for a while now stating at school with
Pascal, then onto delphi (pretty Pascal), VB.NET (which I found somewhat
inane) and Java in my second have of uni. I have touched on others
like C++, Perl, PHP, JScript while going through uni. I do love
programming (although frustrating sometimes), the buzz of solving and
problem and getting to see what you have created.
I am coming upto (hopefully) graduating uni soon, with a good degree
and I will be looking to become a programmer. My concern is that when I
read conversation and see what some of you people talk about on here,
some of the stuff baffles me.
So I'm wondering what the transition is like going from programming
in education to in the professional world, and is it only the top top
programmers from uni that manage to make it in the real world. Also,
what advice would you give to a fresh graduate looking to get
programming work?

Hopefully my waffle has made some sense

Thanks
 
T

Timbo

Colin said:
Hi there,
While there is are a couple of conversations floating around talking
about becoming a programmer I thought I would also ask some advice from
you wise people.
I have been programming for a while now stating at school with
Pascal, then onto delphi (pretty Pascal), VB.NET (which I found somewhat
inane) and Java in my second have of uni. I have touched on others like
C++, Perl, PHP, JScript while going through uni. I do love programming
(although frustrating sometimes), the buzz of solving and problem and
getting to see what you have created.
I am coming upto (hopefully) graduating uni soon, with a good degree
and I will be looking to become a programmer. My concern is that when I
read conversation and see what some of you people talk about on here,
some of the stuff baffles me.
So I'm wondering what the transition is like going from programming
in education to in the professional world, and is it only the top top
programmers from uni that manage to make it in the real world. Also,
what advice would you give to a fresh graduate looking to get
programming work?
If you like programming and like problem solving, then I'm safe in
assuming you are good at it, so you won't have any problems. Don't
be too scared by the fact that you don't understand stuff on
newsgroups -- any decent graduate recruitment program won't list
specific requirements such as "Must have Tomcat/J2ME/etc
experience" or "Must have experience with some obscure version of
Unix", for two reasons: firstly, they are going to train you in
this stuff if you are a recent graduate; and secondly, they often
like people that haven't been "tainted" by other organisations :)
Having touched on different programming languages at uni is great,
but only because it will probably have opened your mind up a bit
-- good problem solving skills are more important for a graduate
than knowing how to use specific tools that will probably be
obsolete in 5-10 years anyway.
 
S

send2r

So I'm wondering what the transition is like going from programming ..
Not quite sure but most of the time, depending on what field of work
one choses, what he learned in schoold doesnt apply that well. One may
require to learn popular technologies/existing libraries being used in
certain domain he choses.
programming work?
If you are good in writing programs, register yourself in websites like
www.topocoder.com -
they conduct a lot of online competitions sponsored by various
organizations. Winners get employment chances.
 
T

tom fredriksen

Colin said:
So I'm wondering what the transition is like going from programming
in education to in the professional world, and is it only the top top
programmers from uni that manage to make it in the real world. Also,
what advice would you give to a fresh graduate looking to get
programming work?

My main experience is what they are looking for, first and foremost, are
people with good problem solving skills. On an administrative level: a
good work ethic and a team player. After that, they are looking for
someone with a decent technological foundation. The level of this
foundation depends on the companies view of itself. F.ex. guess what
talent google and opera are trying to attract compared to
SomeConsulting.com and SomeBusiness.com. So you need to look at the
company a bit to figure that out.

When it comes to the technological area, it depends on the business.
Innovative companies are typically looking for people with talent and a
general but good CS education. While a typical business company are
looking for anybody who can spell java or has this and that technology
on their CV. Some companies are in between and some work in specific
business domains requiring some special skills.

Programming wise you should consider the following, its usually more
important to get things finished on time than getting it perfect. With
time and experience you will build a bag of tools, techniques,
algorithms and approaches that will teach you to foresee the "perfect"
solution beforehand. A good developer knows the following: programming
is about managing the complexity of a software and minimising it, thus
creating low complexity and high maintainability software/source code.
Development is about choosing the right technology for the requirements
and building a software system that is able to handle the future bugs
and expansions of the system.

For this you need experience, so hunker down and learn the basics of the
technologies the next couple of years. Then you can move on, if thats
what you wish, to for example designer and architect roles. etc...

A last tip, there is usually a lot of politics in business, so learning
little about markets, sales, business economics and project management
along with all the technology, might be sensible unless you just want to
be a coding geek.

/tom
 
O

Oliver Wong

programming work?
If you are good in writing programs, register yourself in websites like
www.topocoder.com -
they conduct a lot of online competitions sponsored by various
organizations. Winners get employment chances.

Be prepared to not make a lot of money on topcoder if you live in North
America (or a city with a similar standard of living). You'll get underbid a
lot by people who live in countries with lower average incomes, and who are
thus willing to do more for less.

Even at that, reputation has a big say in whether you win bids or not.
As an experiment, I offered to do a contract essentially for free, and I
still lost the bid to someone who had more "reputation points" than I did.

- Oliver
 
C

Colin Hemmings

Thank you everyone for your advice.

I am from just outside London, UK and while there are a lot of
programming positions out there, most are for experienced programmers
and the trainee/graduate roles are highly sort after, seemingly for the
highest academic achievers. It also seems that once you have two or
three year experience under your belt there a plenty of opportunities
available, so any advice getting experience it greatfully received.

I will look up www.topcoder.com, although not sure I will be able to
meet the standard, but thank you for the suggestion.


Thank you all once again
 
D

Daniel Dyer

Hi there,
While there is are a couple of conversations floating around talking
about becoming a programmer I thought I would also ask some advice from
you wise people.
I have been programming for a while now stating at school with
Pascal, then onto delphi (pretty Pascal), VB.NET (which I found somewhat
inane) and Java in my second have of uni. I have touched on others
like C++, Perl, PHP, JScript while going through uni. I do love
programming (although frustrating sometimes), the buzz of solving and
problem and getting to see what you have created.
I am coming upto (hopefully) graduating uni soon, with a good degree
and I will be looking to become a programmer. My concern is that when I
read conversation and see what some of you people talk about on here,
some of the stuff baffles me.
So I'm wondering what the transition is like going from programming
in education to in the professional world, and is it only the top top
programmers from uni that manage to make it in the real world. Also,
what advice would you give to a fresh graduate looking to get
programming work?

Unfortunately, university doesn't fully prepare you for the world of
software development (some would say that that's a good thing and not what
university is for anyway). If your experience turns out anything like
mine you will find that you learn a hell of a lot more about software
development in the first few months of doing it for a living than you did
in 3 or 4 years at university.

I'll let you into a secret, the people who teach the programming courses
at universities usually aren't great developers. They are intelligent
people who know a lot about Computer Science, but have little, if any,
development experience outside of academia. They typically have other
research interests, which is where their real expertise lies.

Add to that the fact that at university you only develop small,
short-lived projects, there's a big difference when you get to the real
world. However, don't be put off. If you have the good fortune to be
working with one or two top-notch developers at your first job you will
rapidly learn about developing good software. It might be worthwhile to
view your first job as an apprenticeship.

When you make the step up from academic problems to commercial ones
there's a whole load of tools to use that you won't have needed before,
like build tools, profilers, version control, etc. Universities also
don't give much emphasis to proper unit testing and regression testing.
You will also have commercial considerations like minimising risk or
meeting tight deadlines that may affect how you approach coding; and of
course you will now be working in a team.

What university is good for is giving a taste of a broad array of topics
in computer science and for introducing the theoretical stuff that is not
always appreciated by software developers. Even if the topics aren't
always applicable in the commercial world it is beneficial to have had the
experience.

As for Java in particular, don't worry if you don't follow everything.
The Java universe is huge and there is not a person on this newsgroup (or
anywhere else) who knows even half of it in detail. You tend to learn
stuff as it is required to solve new problems.

Good luck,

Dan.
 
D

Daniel Dyer

Be prepared to not make a lot of money on topcoder if you live in
North America (or a city with a similar standard of living). You'll get
underbid a lot by people who live in countries with lower average
incomes, and who are thus willing to do more for less.

Even at that, reputation has a big say in whether you win bids or
not. As an experiment, I offered to do a contract essentially for free,
and I still lost the bid to someone who had more "reputation points"
than I did.


Are you confusing topcoder.com with rentacoder.com, or am I confused about
what topcoder is about?

Dan.
 
O

Oliver Wong

Daniel Dyer said:
Are you confusing topcoder.com with rentacoder.com, or am I confused about
what topcoder is about?

Oops, you're right. I was thinking "rentacoder.com". My bad.

- Oliver
 
D

Daniel Dyer

Thank you everyone for your advice.

I am from just outside London, UK and while there are a lot of
programming positions out there, most are for experienced programmers
and the trainee/graduate roles are highly sort after, seemingly for the
highest academic achievers. It also seems that once you have two or
three year experience under your belt there a plenty of opportunities
available, so any advice getting experience it greatfully received.

There are two main routes. The first is to sign-up with one of the big
names (IBM, Accenture, Logica CMG, etc.) and join their graduate
programme. You will get a structured programme, based on their years of
experience with graduates, and there will be lots of other people in the
same position as you. You will probably have to work in central London or
the Thames valley (although IBM have a big place in Hampshire). You will
probably need at least a 2:1 from a 'decent' university (i.e. a university
that had 'University' in its name before the 1990s) to get in. There will
be a set application process with a fixed deadline. If you are graduating
this summer, you should already be applying if this is the route you want
to take.

The second option is to join a smaller company. These are usually outside
of central London because it's a lot cheaper for them that way. The entry
requirements can vary greatly. You may find working for a smaller company
more interesting and you will have more of an influence on the success of
the company. Find out the software companies in the area where you want
to work, find out the name of the head of development (often available on
their website, or you can call the receptionist and ask) and send a letter
addressed specifically to that person along with your CV. Don't just send
a letter "to whom it may concern", or "dear sir/madam", show some
initiative, your letter is more likely to be read if it is addressed to an
individual.

Also, keep an eye on jobserve.com, it's the main site for IT jobs in the
UK. As with just about any advertised IT position, you will have to deal
with recruitment agencies. There is nothing nice that can be said about
recruitment consultants.

A strong academic background is an advantage, potential employers don't
have much else to judge you on at this stage in your career, but it's not
absolutely vital. In our development team we have people with no degree,
people with CS degrees, people who did their bachelor's degrees in other
subjects, and people with PhDs, all working together at the same level.

Dan.
 
P

PofN

Colin said:
So I'm wondering what the transition is like going from programming
in education to in the professional world,

It's another world. You have to deal with issues and people you didn't
meet in uni. I.e. you have to deal with beancounter, deadlines,
customers and general corporate stupidity. Do you know the Dilbert
comics? http://www.dilbert.com They are not jokes. More often than not
they are reality.

You also have to live with an uncertain future. More and more work is
outsourced to countries where programmers work for rates of $2/hour or
less. You can't compete with them, even if you are the best programmer
in the world. Quality work is often not required so companies turn to
them for cheap botch jobs.
and is it only the top top
programmers from uni that manage to make it in the real world.

You will find that many incompetent programmers make it in the real
world. And that A+ programmers don't make it, because they can't bent
over.

Ralph
 
J

Josh Falter

I think Daniel hit it right on the head. The time at university is
spent learning about a bunch of esoteric ideas that are mostly
irrelevant outside of academia. The important skill that you graduate
with is the ability to learn; what you have actually learned is usually
irrelevant.

Being able to understand and apply what you find in the Java
API/MSDN/whatever language you end up using, is the real skill will
bring you success in industry.
 
O

Oliver Wong

Josh Falter said:
I think Daniel hit it right on the head. The time at university is
spent learning about a bunch of esoteric ideas that are mostly
irrelevant outside of academia. The important skill that you graduate
with is the ability to learn; what you have actually learned is usually
irrelevant.

Depends on your job and what you learned, of course. For most people,
I'd imagine computational theory (deterministic state autonoma, regular
expressions, context-free grammars, etc.) would be mostly useless (maybe
DFAs could be used for games), but I use those concepts pretty regularly at
my job as a compiler writer.

- Oliver
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,049
Latest member
Allen00Reed

Latest Threads

Top