Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I just graduated from my College with a B.S. in Comp. Science. Although it was a good school, we're the only accredited CS department in our state. I feel like im a decent programmer, not amazing, but not terrible.

I got my first job about 2 weeks ago, it's a pretty entry level job: firmware development/tester. There isn't a whole lot of coding to be had right now (mostly simple stuff) but soon I will have the option of helping out with development (which is what I want to do).

Thing is I have never worked on a huge project. In school we had "group" projects but nothing really big. So I'm not familiar with huge classes and such (main language was C++). Is this something I'll just get used to with time? Some fellow students were used to that with internships and such.but I never got that chance. My job was mostly a "one man job" kinda thing. Mostly little things. Plus in class we never did huge projects anyways.

How do you guys "plan" out these things? Do you use a whiteboard and plan out classes and such or what?

Another worry of mine is that I have to use google a lot for examples of code, because sometimes I just don't get how something works. Is this normal? I mean "technically" I've had 4-5 years coding experience but it really only feels like I had 2 years of actual experience.

share|improve this question

migrated from stackoverflow.com Feb 17 '11 at 14:59

This question came from our site for professional and enthusiast programmers.

3  
Haven't heard of anybody looking down on testers, but that's just me i guess. –  pnt Feb 17 '11 at 13:09
    
Some people "i've heard" seem to think lesser, I mean I certainly don't but i've heard snide comments before so.... –  Mercfh Feb 17 '11 at 13:14
    
Well, I guess those people are not good at their work and do not care about the quality of the products and services they work on. Please, don't be one of them! –  Tanparmaiel Feb 17 '11 at 13:19
    
I def won't be :) –  Mercfh Feb 17 '11 at 14:49
    
good testers are worth their weight in heavy metals, some organizations have a unfortunate habit of moving bad developers to test or QA and therefore end up with sub-par test and QA teams –  jk. Mar 7 '12 at 8:35
add comment

6 Answers 6

up vote 12 down vote accepted

"Huge" classes are a problem, not a feature of huge projects. Good "huge projects" are just well-designed collections of good small projects with good small classes.

Edit: And as some others have said, there is no shame in googling (or checking Stack Overflow) to find a solution to a problem. I do it all the time and I teach more junior developers where to look. However, you have to strive to understand the things you find googling. Blind copy-pasting of code or "code and fix" until it works will leave you floundering, with similar code in several places, none of which you truly understand.

share|improve this answer
add comment

I think first of all, you should listen to what the seniors (and I mean everyone who has worked in the company for more than a month) tell you. You should follow the advice given by the more experienced than you and you should not hesitate to ask them whenever you have any questions or doubts. They won't let you work completely by yourself!

The above applies to your "fear" of larger projects. I am sure there is a lot of documentation, procedures and standards to read which will help you with your orientation.

And finally, I haven't even heard of a developer that does not use google so stop feeling stupid.

share|improve this answer
add comment

Don't worry - big projects are done by splitting them up in smaller chunks of work, so most of the time, you (and nearly everybody else in the project) will be doing small items of work most of the time.

There are a few people (project managers and senior developers, who have been a long time with the project) who have a larger or general view on the project, but even they will fail to know all the details (once the details were done some time ago). So the project manager will assign some small chunk of work to you and once you know your way around the code, these chunks will be larger.

I entered a project in progress a year ago and even though I'm a software professional for nearly 20 years now, the first thing I got assigned was a simple status-bar for the GUI. From there I got to know the database (as the status needed information from there) so my next assignment was a little bit larger and contained database and gui coding and so on.

By the way: testing is usually assigned to newbies to learn about a project by using the product. Still, you should try hard to leave this stage as early as possible.

share|improve this answer
2  
+1: Testing is usually assigned to newbies to learn about a project by using the product. Still, you should try hard to leave this stage as early as possible. - Yes, yes, and yes. –  Jim G. Feb 17 '11 at 15:17
add comment

Since you asked if people plan things out on whiteboards, I'm going to assume you don't have alot of experience with Object Oriented Design and UML. Read up on those to prevent projects from becoming overwhelming in the first place.

Also large projects should come with documentation you can use, including UML drawings and such.

Everyone googles btw, don't be afraid of that. You will never know every single API call and function a language has to offer. Just learn by doing and you'll see your need to google stuff decline automagically.

share|improve this answer
add comment

Worried about not having experience on large projects immediately after graduating? Perfectly normal. Most classes don't have the time to give you experience on "really large" projects. Many corporate projects I've been on can run longer than a year or two. I suspect very few (if any) people have had a school project run for more than 2 months as undergrad. Most fresh grads won't have any experience on large projects. Most employers will know and expect that.

How are such large project planned? Usually they are much to large for a single whiteboard. Planning happens in several stages at increasing levels of detail. Usually a combination of Word and Visio, but the whiteboard comes in for quick group collaboration. There's many other ways to do this, what I told is just one way (of several) at this one company.

Using google to look things up? Perfectly normal. How much can you remember at any time? Usually not as much as you need for larger projects. In the old days we'd have reference books on the desk. Now it's Google, but the idea's the same.

share|improve this answer
add comment

My opinion is an aggregation of what multiple people have already said, so I'll put it in an answer.

I think first of all, you should listen to what the seniors (and I mean everyone who has worked in the company for more than a month) tell you. You should follow the advice given by the more experienced than you...

This is true. You should listen to what the seniors tell you.
...However, as @Jens said...

...Testing is usually assigned to newbies to learn about a project by using the product. Still, you should try hard to leave this stage as early as possible.

Remember, in a good development shop, the "seniors" will be helpful; but they will still have their own agenda (i.e. they'll still need to fulfill their own responsibilities as part of the team).

With that being said, if your long-term goal is to be a developer, then you should work hard, and try to shed the "tester" role as soon as possible.

In fact, if after a year, you still haven't shed your "tester" responsibilities, then I suggest that you look elsewhere.

share|improve this answer
    
elsewhere for a job? or I should just stop programming? –  Mercfh Feb 17 '11 at 15:48
    
@Merchf: Elsewhere for a job. –  Jim G. Feb 19 '11 at 16:48
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.