How do you gauge your progress as a newbie?

Oct 27, 2007
17,009
1
0
I have been programming since the beginning of this year. In January I created my first ever Hello World program, in Java. Since then I've been working reasonably hard at it, but it's difficult to know how far along I am. How much should a first-year software engineering student know? I have taken papers on intro to Java, data structures & algorithms and database programming in Visual Basic .NET.

I now have a pretty good grasp of Java and C# and a passing familiarity in Visual Basic .NET and I'm learning C++. I have a few little projects I've completed (although "complete" is a relative term ;)) at http://martindoms.com although the only thing I'm very proud of there is my podcatching software.

How far along were you after a year? It seems to me that many people I go to university with don't have a whole lot of interest in what they're doing beyond passing their papers, and don't do much, if anything, in the way of personal projects.
 

presidentender

Golden Member
Jan 23, 2008
1,166
0
76
What you've produced is important in that it illustrates what you can produce. What you can produce is of interest. My thing is to go on job web sites, look at interesting jobs, and see which technical qualifications I lack. I then try to make myself comfortable with the technologies involved. Most important so far have been SVN, Visual Studio, and Database skills: left to my own devices, doing only what I need to for class, I'd still be writing only in Java from a text editor, saving everything directly and compiling from command line. Not that there's anything wrong with that, but IDEs or higher-caliber editors (vm or emacs) help productivity immensely, and versioning your code can be very handy, especially when there are other people on the project.

Granted, I'm still in school myself (set to graduate in May) but I did manage to land a job at a local software consulting place, based on the fact that my skills transfer to the real world. They didn't care much about the nifty stuff I'd done before: what they cared about was that I could produce for them.
 

degibson

Golden Member
Mar 21, 2008
1,389
0
0
The most important thing about becoming, and being, a good coder, is to never assume you are an expert. Let others make that assumption and you can prove them wrong later :). But in all seriousness -- assume that there will always be a lot more to learn about programming, and therefore always expect to learn more. Having that attituted is a lot more important than gauging your progress overall.

For reference, when I was one year into programming, I was OK at Java, had basically no familiarity with any serious libraries, had no idea what libraries were, and I was just starting to learn C. I knew all about syntax, objects, and data structures, however -- so you might say that after a year I had 'the basics' of coding, but little practical knowledge. The practical stuff really only comes with time and use anyway.
 

chronodekar

Senior member
Nov 2, 2008
721
1
0
GodlessAstronomer,

Your approach is in the right direction. About peers, it's the same everywhere. Most people only care about passing papers.

A better phrased question you should pose to yourself is, How much do I not know? The answers to that are a good direction on what you should be looking into.

As important as 'how far along I've come' is important, I feel that 'how much farther should I go' is of greater value.