views:

334

answers:

7

I am a junior dev in terms of commercial experience (had a short job - 3 months, doing .NET). Although in all the time I have been at home/job hunting, etc, I have learnt loads and written lots of code for myself and others, hopefully putting me in the mid level developer bracket.

What I am curious about is whether a junior developer (graduate), straight out of uni, would be developing code and web applications for commercial sites? For example, take the job description at the link below and compare it to a job you may have had when you were junior, or if you are junior, compare it to your current job.

http://snowvalley.com/careers/graduaterecruitment/ipdeveloper.htm

It does say you will be working on sites etc, but when I've applied to big companies, you work in different departments and then decide what you want to do. In this period, you don't work on commercial code. Fortunately, I know EXACTLY what I want to do.

I ask this because sometimes I apply for a job which seems fine from a skills required perspective but with no salary or experience required details, it is not possible to tell what level the job is for. So I tend to compare...

A: 

I was promoted to software engineer last year. Previously I had worked in QA and, during that time, I taught myself how to program. I don't have a degree, but I proved myself to some degree by creating utility apps for our manufacturing department in my spare time. They noticed and offered me the job. I have been given the responsibility of maintaining and enhancing one of our major commercial products. So far I think that I have done well. I am nearing the end of a development phase and have come in slightly ahead of schedule and my peers seem to like my work.

I guess that I am trying to say "it depends". If you have a really bright junior dev. who does a really good job and you have faith in them, why not let them work on commercial products? It really just depends on the person in question, and it also helps if they have the support of the experienced engineers that they work with (I know that it has in my case).

I should not that I work for a relatively small company (~150 employees), so they are probably a bit more flexible than a large company would be in this area.

Ed Swangren
Hmm, someone voted this down, eh? Perhaps you could let us know why?
Ed Swangren
A: 

It really depends on the company, who else is there, and their philosophy.

When I was 19 I was still in my second year of college and was working on a mission-critical project for a major chipmaker, where screwing up could have cost a fortune, and so were were some of my friends. On the other hand, I know people who programmed for 20 years and are now doing maintenance.

In large projects, it is not rare for new developers to start out doing maintenance, until they get the necessary understanding of a code base, libraries, etc. You wouldn't start out committing new features to Eclipse or Apache either. However, there should be some value in what you're doing now to what you'll be doing later.

Uri
A: 

There aren't really any hard and fast rules. My first job was working for a small company and I was working on production code straight away which was great for me because I was confident (or cocky) enough to handle it.

One thing I can say for certain is that, unfortunately, being the new guy you will often get given the work that no one else wants to do*. A lot of the time this will be maintenance, or support, or repetetive tasks. This is a fact of life in most jobs, but as long as you can prove that you have some ability it won't last for ever.

*I hope this would be less likely to happen in a placement/graduate scheme like you linked to but I'm not sure - I've worked for companies where placement student is another name for tester/phone answerer/tea maker.

Martynnw
A: 

At my company you are working on commercial software as soon as you start. You don't get the really hard problems to solve, but your code ships in the same box as that of the architects.

As a new programmer, you could expect to get more bug fixing and maintenance and a little less of the green field development, but I would expect you to do work on the same projects and the same exposure.

Steve Rowe
A: 

Where I work, "junior" (though we wouldn't call them that) developers are brought up to speed as soon as possible, and then unleashed upon some subset of our enterprise product. Though college hires might not have finely honed skills working in the "real world", they bring a fresh perspective and new energy to the development process. In my opinion, it's best to partner them with a mature programmer, and let them learn while working on something of importance.

I think the answer to your question is (as has been stated above) fully subject to the company you are working for and their business climate. I've met new developers whose primary responsibility is bug fixing and support, but this is certainly not the pattern with my company.

bedwyr
A: 

Don't expect that writing code on your own time to your own specifications will get you in as a mid-level programmer. Shipping software is a whole different ball of wax around the conceit of "writing code".

Be happy to get a junior programmer job, but take a job that offers what you're looking for. If you want to write production code then be sure to bring up that topic in the interview.

In my field, I believe the far more important areas of development are the workflow for the non-technical people. In my opinion, if someone can come in and bang out some of these tools, make them super-polished and highly-usable, that person will be ace in my book. However, it's the production system that's more glamorous in some ways, and that's certainly what gets the majority of the programming resources.

At my studio we don't spend any time working on web apps, but when we hire someone for a programming position they pretty much get thrown right into the fire and are expected to implement consumer-visible features within their first month of employment. (Product development cycles are 12-36 months and the software has millions of lines of legacy code.) Throughout it all everyone on the team contributes in different ways to the final product, and pretty much everyone has a fairly substantial bit of work demonstrable on the disc that we ship.

dash-tom-bang
+1  A: 

It probably varies by company. In my first "real" programming job I was given the task of writing a multilingual interface that needed to run from a single source base on VMS, DOS, Unix, and Japanese IBM 5550 terminals. It was a really big assignment for me at the time, but I'm happy to say I pulled it off and the software is still available (now from CA, who bought ADR, my original employer).

http://www.ca.com/us/products/product.aspx?id=1237#supplemental

So a lot of it depends on what kind of job you're happy to accept.

Mark Harrison