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.

There's more to it than that, but this title was the best way I could think of to sum it up.

I'm a senior in a good computer science program, and I'm graduating early. About to start interviews and all whatnot. I'm not a super-experienced programmer, not one of those people who started in middle school. I'm decent at this, but I'm not among the best, not nearly. I have to do an awful lot of googling.

So today I'm meeting some fellow for lunch at a campus cafe to discuss some front-end details when this tall, good-looking guy begs pardon, says he's new to campus, says he's wondering if we know where he can go to sign up for recruiting developers. Quickly evolves into long conversation: he's the CEO of a seems-to-be-doing-well start-up. Hiring passionate interns and full-times. Sounds great!

I take one look at his site on my own computer later, immediately spot a major bug. No idea how to fix it, but I see it. I go over to the page code, and good god. It's the standard amount of code you would expect from a full-scale web application, a couple dozen pages of HTML and scripts. I don't even know where to start reading it. I've built sites from scratch, but obviously never on that scale, nor have I ever worked on one of that scale. I have no idea which bit might generate the bug.

But that sets me thinking: How could someone like me possibly settle into an environment like that? A start-up is a very high-pressure working environment. I don't know if I can work at that pace under those constraints-- I would hate to let people down. And with only 10 employees, it's not like anyone has much time to help you get your bearings.

Somewhere in there is a question. Can you see it? I'm asking for general advice here. Maybe even anecdotal advice. Is joining a start-up right out of college a scary process? Am I overestimating what it would take to figure out the mass of code behind this site? What's the likelihood a decent but only moderately-experienced coder could earn his pay at such a place? For instance, I know nothing of server-side/back-end programming. Never touched it. That scares me.

share|improve this question
1  
I have no way to know how good a programmer you are, but try to remember that most entry level jobs can't possibly be filled by geniuses who have been programming since they were seven. Companies have to work with what is available, ergo most college graduates from good computer science programs can succeed. Also, even experienced developers can require time to learn a new program, and that's usually with source code, at least a little guidance, and familiarity with the libraries and frameworks the program uses, none of which you had. –  psr Sep 10 '12 at 22:59
add comment

5 Answers

up vote 12 down vote accepted

I take one look at his site on my own computer later, immediately spot a major bug. No idea how to fix it, but I see it. I go over to the page code, and good god. It's the standard amount of code you would expect from a full-scale web application, a couple dozen pages of HTML and scripts. I don't even know where to start reading it. I've built sites from scratch, but obviously never on that scale, nor have I ever worked on one of that scale. I have no idea which bit might generate the bug.

This is your problem right there, you've had a quick glance at something and you're already assuming too much. Front end scripts are not meant to be read and understood when accessed via the browser, minification and grouping are extremely common techniques for both Javascript and CSS and what you are seeing is probably not what you'll have access to as a developer.

For all you know the scripts could all be extremely small, with easy to grasp semantic names, full of helpful little comments (that are commonly stripped from the end product), etc. Furthermore a lot of what you are seeing might not have even been developed in house, could be robust and thoroughly tested third party libraries. Sure, the bug might be there, but chances are small. And if it's there, well, it will take a far more experienced developer to find it, don't worry about it.

I'm concentrating on what might seem a minor technical discussion, but I'm trying to pass a bigger point across: Don't panic and stop assuming!

At this point you have absolutely no idea about:

  • The company's development processes and methodologies,
  • What your role might or might not be,
  • What training they offer,
  • What tools you'll be working with (trust me, tools are very important when bug hunting),
  • ...

I understand it's scary, but you should really see this as a challenge, or as an adventure even! Attention to detail, problem solving skills, workplace ethics and willingness to learn are what you need to bring with you, nothing more, nothing less.

share|improve this answer
add comment

I'm asking for general advice here. Maybe even anecdotal advice. Is joining a start-up right out of college a scary process? Am I overestimating what it would take to figure out the mass of code behind this site?

NO it is not scary, it might turn to be your advantage to learn more in short time, just don't panic.

Remember, nobody would expect miracle solutions form new grad in his first weeks. Get yourself comfortable with the code base first. Learn how to efficiently debug it and how application works (business flow, process flow, etc..).

  • Ask questions, if you don't understand - never be shy to do that, just try to Google first. As your question might turn to be trivial or very basic.
  • Never panic out, and learn how to use source (version) control system - it will make sure that you would not introduce unintentional bug to the code.
share|improve this answer
add comment

At Microsoft, we refer to this as being, "thrown in the deep end."

You have to learn it somehow, so you might as well just go at it head on. It is going to take you longer to get ramped-up then someone who has been doing it for 30 years. That's just the way it is.

If your future employer wanted better, they wouldn't be looking at hiring a new graduate. It is going to take a few months to get your bearing and no one said it would be easy. Just take it one day at a time, ask a lot of questions, and stick with it.

Don't panic, remember your towel, and you'll be fine :-)

share|improve this answer
add comment

Going into a new position at a junior level, you will be expected to Google various things. You aren't expected to memorize everything. That's what experience is for. Your new employer will want you to have solid fundamentals, the ability to read and understand code, break down algorithms and most of all learn.

There will always be legacy code to fix. There will always be bugs here and there. You don't have to have a ton of experience to work at a start up effectively. What you need to have is motivation, dedication to become better, and a little natural talent for learning/understanding. You're not expected to have experience on a site with massive scope. There will always be a senior developer around who will direct your tasks. You will be expected to self-motivate to complete those tasks, but it's incredibly unlikely that one of your responsibilities will be to comb through thousands of lines of legacy code looking for bugs.

Joining a start-up is daunting at any level. You have to believe in what you're doing because you're putting a lot on the line. You have to believe in yourself. You have to believe that even if you don't know how to do something today that you have the ability to figure out how to do it tomorrow. Employers don't necessarily want someone who already has "all the answers". Often that's someone who does not have an adaptable personality. They want someone who can change, grow and learn as the needs of the company change.

share|improve this answer
add comment

The job descripion probably doesn't indicate you have to fix the current code mess on day one unless it is for a Sr. Dev. In that case you don't have to worry, you wouldn't get the job or the person who hired you risked setting you both up for failure.

Having specific coding knowledge and experiences isn't high on the list for positions suitable for recent graduates. It's like in sports when they say an athlete has a lot of upside. Do you have the abilility to drastically improve in a reasonably short period of time?

Don't be surprised if you take a job with an established company who has a legacy code mess on their hands and wants someone to clean it up. Or worse, they just want you to patch it up just enough to get it to run. They get very desparate because they know how much money they stand to lose if projects get delayed.

share|improve this answer
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.