Java Forum / General / February 2006
Moving from education to professional programming
Colin Hemmings - 20 Feb 2006 15:18 GMT 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
Timbo - 20 Feb 2006 15:37 GMT > Hi there, > While there is are a couple of conversations floating around talking [quoted text clipped - 15 lines] > 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.
send2r@gmail.com - 20 Feb 2006 16:17 GMT >>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.
>>what advice would you give to a fresh graduate looking to get 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.
Thomas Fritsch - 20 Feb 2006 16:26 GMT > If you are good in writing programs, register yourself in websites like > www.topocoder.com - The link doesn't work. You probably mean www.topcoder.com
 Signature "Thomas:Fritsch$ops:de".replace(':','.').replace('$','@')
Oliver Wong - 20 Feb 2006 17:22 GMT >>>what advice would you give to a fresh graduate looking to get > 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
Daniel Dyer - 20 Feb 2006 20:13 GMT > 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 [quoted text clipped - 5 lines] > 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.
 Signature Daniel Dyer http://www.dandyer.co.uk
Oliver Wong - 20 Feb 2006 21:11 GMT >> 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 [quoted text clipped - 8 lines] > 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
tom fredriksen - 20 Feb 2006 17:11 GMT > 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
Colin Hemmings - 20 Feb 2006 18:02 GMT 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
Daniel Dyer - 20 Feb 2006 21:38 GMT > Thank you everyone for your advice. > [quoted text clipped - 4 lines] > 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.
 Signature Daniel Dyer http://www.dandyer.co.uk
Daniel Dyer - 20 Feb 2006 19:40 GMT > Hi there, > While there is are a couple of conversations floating around talking [quoted text clipped - 15 lines] > 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.
 Signature Daniel Dyer http://www.dandyer.co.uk
PofN - 20 Feb 2006 22:18 GMT > 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
Josh Falter - 21 Feb 2006 13:54 GMT 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.
Oliver Wong - 21 Feb 2006 14:37 GMT >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
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|