Re: Need programming advice
If you want to get ahead of the other junior developers (I don't know if that's possible, because it's not exactly a race), you would have to learn several things other than programming. Some of them include documentation of your code, understanding not just programming languages but also other languages/notations like UML, flowcharts, DFDs, understanding the different software development methodologies like the Waterfall model, the agile model, the TDD model, understanding the business/functional specifications and so on.
Most of these things come not just by learning but by experience and practice. So I doubt if your aim of "getting ahead of the pack" is the right one.
.
Re: Need programming advice
Open source projects with other developers will certainly increase your knowledge, editing other peoples code and trying to understand it is a key skill.
Demo projects might be an idea, but not something you take into an interview. Something you would mention in your covering letter and provide a download link to. Especially for your first role in the field. Once you actually start work, you will realise all you learned before was just kids-play to what you end up learing in your first year. The main reason for this is the projects you get given, you have little to no control over the design, tools, layout, structure of them. Home development means you have a chance to change your project to match your skills, which is the other way around in the trenches :).
IMO it is not important to learn loads of different languages. Being a generalist will allow you to go for more roles, however you are unlikely to be chosen above someone who has more experience than you in a specific area. Getting your first job will be the hardest, there is generally not much to choose between juniors. Having projects under your belt, knowing the role and the company is important.
Being a specialist in one was better for my career. I had to pickup java, vba, c++, smalltalk, uscript over the years during training, but now only use vb.net 95% of the time with others thrown in, ie python which I had never looked at for example.
Your target job will also help decide language choice anyway. If you want to be an applications developer, then C# would be my suggestion over VB due to number of available jobs (just check your local area for proof). If you wanted to do mobile/web development, then you have a choice of silverlight/html5/asp and here javascript has its uses. You have the wonders of the cloud to learn about as well with Azure. There are soo many areas to look at you can spend weeks just learning the names :).
As a funny story, I came back from travelling for a year and applied for a job. The company was looking for someone experienced with VB.net and OOP. Having done this job for 6 years I was called back and put on the spot, "do you know OOP", so yes I said and a question came back that stumped me, "what are the key features". Having not sat in front of an exam paper for some years (and spending a year in the sun!) I was racking my brains and after a couple of mins I was told that I would not be suitable for the job.. this was by the agency!
btw, it was abstraction, encapsulation, inheritance, messaging, modularity, polymorphism :) Since that day I have never had to use them again.
Re: Need programming advice
it is unfortunately possible to be too qualified for a role
when they want a newbie the can be afraid of one who knows too much
or a lot about something they are no longer interested in
the first rung is a bastard or a thing to get you foot firmly on
just get your head doen and do well with your course
the milk run is about picking candidates from those who do well in the courses offered at the time adn the recruiters are all set up for selecting from that crowd.
being too good can be threatening to others
they are all there protecting their little out of touch bottoms
here to help ( although maybe not too much this time )
Re: Need programming advice
Quote:
Originally Posted by
incidentals
it is unfortunately possible to be too qualified for a role
This is not just an IT related issue however. It is just the point of looking at a candidate who you know could and would be likely to move on at the first opportunity of a better wage. We once had a programmer of 10 years experience come for a junior position and the candidate made it clear that a jump up in wages would be required after a certain period of time. This candidate did not get an interview. Going for a first job, any home experience would be considered a huge advantage. Even pointing to a user account on forums such as these can show an employer the type of info you know and how you work.
Re: Need programming advice
Quote:
Originally Posted by
Grimfort
Open source projects with other developers will certainly increase your knowledge, editing other peoples code and trying to understand it is a key skill.
Where would I look to help with open source projects? I've done a google search and haven't come up with much.
Re: Need programming advice
Thanks for all the great suggestions/ideas so far!!! I really appreciate you taking the time to answer such a generic question. Any other feedback is greatly welcomed.
Re: Need programming advice
What I would do is try to get an internship job ASAP even if it pays close to nothing or even nothing at all. Some place where it does not take a lot of your time and you do it for a few months. That way you can go to your first interview with real experience and a job reference.
In my experience, since the interviewer seldom asks you to write some code, they only ask some general questions, like: How many levels you use in your programs? Do you use UML? Your experience with source code documentation, Error handling, SQL/.Oracle database, Component creation, etc. Take special notice in project design, they always like a prospect that takes a lot of time planning before doing the first line of code.
As Grimfort said, I really think it is best to specialize in one language, the most suitable for the kind of work you want to do, or the most sought after in your area. Knowing many languages is a plus but you should be an expert in the one you are being interviewed for.
If you are self-taught and confident of your abilities, if they ask you if you know something you don't really master, say you do and get to it as soon as you get home in case you get a second interview.
Also, if they are looking for an entry-level employee, measure yourself. Once I got an interview in Delphi for programming the embedded eproms for the airbags. I went all out talking about logical gates and my experience developing team projects and database intensive apps. Told them about when I worked in a 3D game with TechnoSoft and other stuff. They were impressed and politely told me I was overqualified and gave the job to a lesser applicant.
Good luck and Happy new Year!
Re: Need programming advice
best thing is to read the API/documentation for the language in question, ie .NET Framework libraries on msdn.microsoft.com
write some projects, follow it through. read questions on these forums and think of a way of answering them. explore classes you have never explored before and use them for your own learning.
be sure not to implement bad practice but only good practice. there maybe more than 1 way of doing something but there is always the 1 way which is the efficient, better way of doing it - this certainly brings more shine to you than others.
Re: Need programming advice
for open source look to sourceforge, gnu, freesoftware foundation or simple google open source project
start a project yourself
for a local school or charity
here to help
Re: Need programming advice
Re: Need programming advice
Quote:
Originally Posted by
knightwriter
I want to get ahead in my career as a programmer and want to rise to the top of those junior programmers who are recruited. I am not sure how to do this other than learn all sorts of languages.
My question is what should I do to get ahead of my peers, and get a jump on my career?
When I first read this, my initial response was to mimic crptcblade: Club them with a rock and wear their skins.
On second thought, though, there is some unwelcome truth to that advice. Having been on both sides of the table for hiring many different types of jobs, and having heard some of the research on the subject, I'd have to say that there is no really good answer. If you were to walk into an interview, say hello, then walk out, and have the interviewers rate you based on those few seconds, the rating they gave you would be pretty much the same as the rating they would give you no matter how long you talked to them. The initial impression is going to be the final evaluation, unless you let slip the part about your past career as a serial nun beater.
I had an experience where a friend of mine called me up to tell me that a certain person was going to apply for a job I posted, and that person should be hired. As it turned out, somebody else filtered the massive stack of applicants, and initially didn't even pass along this guys resume, as he was overqualified. I ended up hiring him, he worked for me for years, did an excellent job, and we're still friends, though we've both moved on to different things. He wouldn't have even been interviewed if I hadn't gotten that phone call. I wonder who else I have missed (I hated those interviews, though, because every one of the people I interviewed was excellent).
Quote:
The obvious thing is to do as well as I can in school, but I can and want to do more.
That's not as obvious as you might think. Oddly, you may have much less say in this than you would expect. I've been writing programs for work since the mid-90s, and have both a BS and an MS....in aquatic biology. I've never taken a course in computers in my life, and there are plenty of other people on this forum who have similar stories.
In my experience hiring, I have never looked at how people have done in school. I glanced at the degree and moved on. Perhaps if you were seeking a job in banking, your grades might matter. After all, they'd be looking for people who got straight As in math and economics, and straight Fs in ethics and philosophy. For the rest of the world, they are really looking for: Ability to learn, passion for the subject, and that undefinable quality that suggests that the person doesn't harbor a tendency to take a shotgun to their co-workers.
You sound a bit like you are interested in game programming. That's a place where a demo might be useful, as you would be showing both creativity as well as a real passion for the subject. If, on the other hand, you showed up to an interview at an accounting firm with a demo of your hobby accounting software, they'd just talk pleasantly until security could show up and club you into uncosciousness so that you could be removed to a safe distance....such as pluto.
So it kind of depends on where your passion lies. If it is for a type of programming that tends to make people passionate, then it would probably be good to show that you are focused on that. If it is for a drier field, then you'd be better off showing an interest in the art of programming in general.
Anyways, there's my two cents (plus sales tax in some states) worth.
Re: Need programming advice
As always, Shaggy Hiker, thank you for your in depth comments. I always appreciate it. (I've been sending some ratings your way btw for the effort you put into your comments.) Thanks again!
Re: Need programming advice
Quote:
Originally Posted by
Shaggy Hiker
... were seeking a job in banking, your grades might matter. After all, they'd be looking for people who got straight As in math and economics, and straight Fs in ethics and philosophy.
This had me in stitches :).