views:

442

answers:

10

I am graduating this year with a 'good' degree in computer science.

I hope to be successful by staying motivated and commited to learning and future education, I am very much committed to that because I love what I do. I have been working a lot in the Rich User Experience area to my diversify my skill set.

My question is..

What advise would you give me to progress in my career to be the best developer possible? (and general advise you wish someone had told you).

Thanks in advance!

+1  A: 

One thing that you should be doing is have your book shelf populated with great books. You can start with Code Complete. Make time for reading programming blogs and articles .Working along with great minds helps a lot.

Prabhu. S
I've read Steve's first edition, i owe it a lot!
StevenH
+1  A: 

Come and work with me :-) j/k, that wouldn't be so smart for you.

You probably have applied to the nice, interesting & well-paying companies, right? Google, MS, FB, Amazon you name it. If you are great, a great company should recognize you and allow you to learn, develop and grow.

http://jobs.joelonsoftware.com/ has some nice & intersting job postings (really niché, though).

wilth
+4  A: 

If I were you, I would stay away from higher education for a while and seek a proper position. Read my answer for this question: http://stackoverflow.com/questions/290137/graduate-scheme-for-uk-cs-student

DrJokepu
+2  A: 

My best advice would be to try and get a job working for a company that will get you the most experience in as many different areas as possible. This may not be possible, but from my experience, I go tthe most from a company when I was able to get experience in lots of unrelated fields. I think it is good in the earlier stages of your career, to try and avoid specialising too much, as this can limit you as you progress up the ladder.

chillysapien
+2  A: 

To be the best developer, you have to write a lot of code, read a lot of code, and change a lot of code, and spend a lot of time learning from others. You'll know when you are good ...

At this stage getting into a small dev shop will give you a better basis than routine coding for a big company.

MrTelly
Was going to say the same thing about small vs. big companies and getting stuck into real world problems.
JeeBee
+1  A: 

Great communication (written and spoken) skills defines a great developer, so don't dive into technical details too much and forget to develop skills other than just coding. For example start a blog early and try to tell what you learn lately or your opinions about programming. It will add you a lot.

Orkun Balkancı
+1  A: 

Try Gooogle sumer of code http://code.google.com/soc/

Miau
+1  A: 

In this market, you really need to keep your options open. Consider open source, internships, or maybe doing some cheap coding for hire. Before I got into the workplace, I thought I knew a ton, but working in the corporate world is a lot different than doing school work.

Greg Noe
+6  A: 

I second every poster that said you need to write code. Mastery of any skill, be it programming or cooking, takes repetition. Michelin-star chefs didn't read a book and then the next day begin producing culinary masterpieces. They over-salted the risotto, over-cooked the filet mignon, burned the souffle, and set fire to the stove countless numbers of times, all in the process of becoming better cooks.

So, you need to write software. Lots of it. Fix bugs in open-source projects, or revitalize a dead project that has a user base. Write useful web/iPhone/desktop/server apps to automate tasks and make your life easier. Do the same thing for your friends and family. Don't start your own open-source project if you can avoid it -- there are too many out there, and you'll learn more by having to understand an existing codebase first.

Avoid more higher education until you've got a few solid years of work experience as a developer. This isn't because school is necessarily useless, but because the academic world is very, very isolated from the pressing practical needs that you need to satisfy as an employee.

Also, play! Build a compiler by twiddling machine code on a Z80, or a web framework written in Malebodge, just because it's a fun thing to do. The best programmers are people who love what they do, and who do it all the time because they get a kick out of building something.

Spend some time learning esoteric languages. Write your pet project using Lisp, or Scala, or Smalltalk.

Don Werve
I'm learning Scala at the minute :)! + I love what I do! Cheers great advise
StevenH
It is spelled "filet mignon." Sorry, but seeing it misspelled is like looking at unindented code. :(
jinsungy
+1  A: 

Language is a powerful tool. To you, what compromises the roles of a developer: Do they do everything from talk to the person who had an idea all the way through to maintaining whatever software came from that idea? By idea, this could be anything from a new page on the intranet to report some statistic in near real time to building multi-billion dollar systems.

While you may have lots of education in theory, how well are experienced in how the world works and what roles there are available for someone with your skills? Do you want to try to go and become a consultant or would you rather help a start-up?

Don't underestimate the impact that environment can have on you as you work away and may see your soul being sucked out which can happen in some positions as the work just takes so much out of you. You may be able to help turn it around as sometimes something very little can be very powerful.

JB King
Thanks! I'm currently working with a small start-up with big customers www.dfsolutions.co.uk! I think i'll get so much from it comapred to a large corp. *fingers crossed*
StevenH