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'm majoring in computer science in college, and I'm currently in summer program for a business minor. With the schedule and all the outside group projects and studying its impossible for me to really program, and I'll only have a short time free before the start of Fall semester.

To make matters worse, I've been told my education path—with my business focus—will start to downplay the importance of programming for the rest of my time at school, further atrophying my programming skills.

I'd like to apply for software development internships over the summer, but it doesn't seem likely I'll be able to land any when other candidates have spent much more of their time programming.

Am I overemphasizing the importance of knowing programming front-to-back for intern/entry level positions, or is it really necessary to focus most of my time to programming, at the expense of other things I want to do (like have a social life)?

share|improve this question
    
If you want to be a good programmer, then you have to program every day and enjoy it. Being a good programmer and getting hired for an entry level job are two different things. Which is it that you really want? –  Tom Dignan Jan 10 '12 at 19:10

8 Answers 8

Am I overemphasizing the importance of knowing programming front to back for intern/entry level positions?

Yes.

I expect an intern to know nothing. Maybe nothing is too little, but I - and most people I know in a position who have interns or junior programmers reporting to them - don't expect them to be already an experienced programmer.

It's fine, you're studying. You're acquiring knowledge. You're learning. I'm not sure about the GPA thing (where I live it's on a 10 scale, so 3.something would get you expelled) but if you're doing fine in school, keep doing it.

Don't get away from people. Repeat after me: don't get away from people. Knowing people, chilling out and just taking a walk in the campus after a hard day are also important professional skills. If you don't have those skills you're probably unable to keep up with the professional life.

Imagine a young professional basketball player (I don't really know about basketball, I'm just playing for the audience). No one will expect to in his first year to just go out and play like Michael Jordan. It's not reasonable to expect that. People expect this young player will improve with time. And, in the other hand, being able to get along with the team and with the coach are really, really important skills for him to have.

Keep working on your college degree. Code when you can. You already have the most important characteristic I look for in a junior: you care about programming. That's so fecking important. Code when you can. Don't let it dominate your life: keep care of your studies and keep care of your social life. Hang out. Go to parties. Take that beautiful chick from the French class to the movies.

Keep working hard.

And I'll stop know 'cause I'm feeling like a grumpy old man giving advice hehe :)

share|improve this answer
3  
I expect interns to know nothing; I assume all their studies were irrelevant. The important thing is not to know how to work, it's to know how to learn; hiring interns is a net loss anyway - we only do it as a form of extended job interview for people who aren't yet ready to work for us because they haven't finished school. –  configurator Jul 15 '11 at 0:14

You have nothing to worry about. There's a reason why its called internship/entry/junior.

Conversely, though, there's almost always time in the day to code something or learn a little bit about a language or theorethical cs. When you're watching tv at night while relaxing, grab your laptop and start pegging out some code, or read some latest news of the technology/language/framework that interests you.

When you have no time, make it.

share|improve this answer

I am not sure how far programming alone can get you. You have to know something in, say, databases and/or RDBMS, operating systems, data structures, algorithms, math, software engineering, theory of computation, perhaps compilers and principles of programming languages, chip design and so on.

As for your time or the lack of it: 'How will you have time if you don't take time?!' is the cold, hard, reality. IOW, prioritize, or, learn to prioritize.

Some programmers are very social while some are on the other extreme. Others are somewhere in between. From what I have seen, everyone of them has to communicate with programmers. Some heavily rely on Usenet, IRC, emails and such, while others talk with like minded programmers in person. I guess this depends on where you are located.

share|improve this answer

What was that advice in Hitchiker's Guide to the Galaxy? "DON'T PANIC".

Seriously, though I would just worry about your college courses, and enjoying your life. Later in life, I doubt you'll regret not spending more time programming.

When it comes time to do an internship, or join the workforce, you will come back up to speed quickly. The most important thing is to have a good foundation.

share|improve this answer

I'm currently in an intense summer program for a business minor at a school ranked in the top 10 for business

Concentrate on that. You have many days, nights, and weekends to code to your heart's content.

You have one summer for a business minor which will teach you things you'll need to found a startup, run a department, talk to business majors, etc. These are important things on which many talented CS majors miss the mark completely.

share|improve this answer

Btw, my desire is to be a software developer for a business company hence the business minor. I plan on becoming certified in Bloomberg Terminal and picking up on Android App Dev in those 3 weeks I have.

Hi, I just finished my studies and landed a job at the beginning of 2010.

As a programmer (i.e. my role in the company), I found that I couldn't solely rely on school or university to teach me all I needed to know about the technical side. I did make sure though, that I excelled in the programming subjects I had at university, and I picked up as many programming subjects as I could when I had the choice.

In my humble opinion/from my limited experience, I would say that you need to:

  • Learn the technologies (or programming languages) you're interested in, such as Android development. Pick up a book and read about it. If there is a book about Bloomberg Terminals, read it.
  • Practice programming (of any type). The best way to do this is to have a personal project (for me it was a website in PHP). It doesn't have to be Android, as long as you get the practice.
  • Widen your Horizon. That is, find out a bit more about the development lifecycle, how technical teams operate and about the industry in general. For you, I would look at the financial industry, and what type of software they use, and the history of it, etc.

I can hear you wondering: "If I don't have time for programming, how will I be able to do what you suggested?"

Programming is time intensive. With full time work, I have little time for on-the-side programming. But, I have time to look up an article on Javaworld.com, or Google "Android technology" or look up HowStuffWorks.com and so on. When I have half a day off or something (rarely), I would go back to my website, and do some tweaking. A book, I can pick up and put down whenever, on the train, while waiting for friends to come over, or before bed!

Most important advice of all is don't sacrifice leisure time, hobbies and friends for this. If you don't practice a balanced lifestyle now, you'll likely end up being a workaholic, and at the end of the day, work isn't going to visit you when you're sick, isn't going to marry you and isn't going to bring you happiness (by itself). As much as I LOVE my (dream) job, I know that there's more to life.

I wish you luck :)

EDIT:

I forgot to add that the more you know now the better you will be set at the start of your job, but even then, you'll learn so much more on the job, so i think you're overemphasizing the bit about lack of programming experience. A developer position si about more than being a programmer. Being a more rounded and compentent communicator is just AS important as being a good programmer.

share|improve this answer
2  
I don't think workaholics are a result of sacrificing leisure time or spending too much time programming as a hobby. Workaholics are a direct result of running away from something, usually the workaholics spouse. –  Dunk Jan 10 '12 at 18:29

Sinker had great advice. I know life is busy but you if you want to be a successful, skilled programmer you need to devote time to your craft. Work on small projects, heck you can even pick up some odd jobs getting paid for it. Or just make some personal projects that will challenge you. You don't need to devote much, perhaps an hour a day. Right now anything is better than nothing.

When you have breaks work on coding even more. I have know students who picked up projects during their breaks. You can still have a personal life, but there's 24 hours in a day. A young adult only needs 6 of those hours to sleep, heck most nights I only had 3.

share|improve this answer

Business domain knowldge is important to programming too. Far too many bugs that I see are a result of the programmer not understanding the business. I think a busniess minor would actually be a plus for getting an internship. It certainly would be for me.

share|improve this answer

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.