Peter Christensen

  • Presentations
  • Contact Me

Advice to a college sophomore programmer

January 17, 2011 by Peter 11 Comments

Background: One of the new responsibilities I have at Groupon is getting lots of awesome developers to work here. [If you are or might be an awesome developer, email my work address – peterc@groupon.com – and check out the job openings at http://groupon.com/jobs ] So I’ve put myself out as a representative of Groupon’s dev team, announced hiring, answered questions, etc. In one week, two people have responded asking about summer internships.

[HILARIOUS UPDATE: I left off one sentence that has confused at least one person so far. Groupon doesn’t have an internship program right now. We’re just barely starting on campus recruiting for college graduates. The friendly advice was a consolation prize since I couldn’t help with the internship. Sorry for the confusion!]

Here’s some advice I gave them through email that I thought was worth posting publicly:

  1. If you’re already reaching out to companies when you’re a sophomore , you should be commended for being so on top of your career this early in school. Too many people wait until two months before (or even after) they graduate. Even if you don’t get the internship, you make an impression.
  2. If there’s an established technology you’d like to learn, a book is still a good place to start. There’s a balance of theory and practice, it will be edited and consistent, and give you a complete end-to-end look at the technology. But don’t just read the books, do the exercises in them. If you want to learn Rails, the book Agile Web Development with Rails has you build a complete ecommerce website and you can do it in a week or so. Sometimes doing comes before understanding (or rather, you can’t understand without doing). EDIT: How do you tell the good tech books from the bad? Ask someone who is good at that technology. Too shy? O’Reilly and Pragmatic Programmer books are generally good, and you can often get good recommendations by searching on StackOverflow or SearchYC.
  3. On that note, PLEASE don’t wait for a class to learn a new language or technology. CS classes have their place, giving you a broad foundation of principles and practice in certain specific subjects. But many techniques (e.g. source control), technologies (e.g. server administration, nginx configs, etc), and languages (many schools teach only C and Java) won’t EVER be covered in school. In the workforce, you’ll have to learn stuff on the fly and on your own for your whole career, so you need to start learning things outside of class now if you want to be decent.
  4. Don’t just focus on specific languages or frameworks, learn some general programming skills. Books like Structure and Interpretation of Computer Programs (free online at http://mitpress.mit.edu/sicp/full-text/book/book.html) , Clean Code, The Pragmatic Programmer, etc are great for that.
  5. If you glossed over that last point, go back! Reading SICP, watching the video lectures, and doing the exercises will make you a fantastic programmer.
  6. Learn at least one “obscure” language. It will help you learn things that are hard to learn in mainstream languages like Java. I’m partial to Lisp and the book Land of Lisp is a great, fun way to learn that language.
  7. Find a project. It doesn’t have to be something meaningful or important, just do it! Write a scraper to find the nearest Starbucks to you. Make a group management website for your study groups. Write software to control a LEGO mindstorm robot. Just do something, post projects online, put code up on GitHub, and write something about what you did, and put it on a blog. This gives you a public record of interest in programming outside of work, which is very, very appealing to employers and probably the number one thing in getting to an interview. It will also give you practice writing and show you how you improve over time.
  8. Get involved with developers in your area. If there are meetings in your area, you can find them in 5 seconds thanks to the other Big G. If you can’t find any, it’s because those things take time and hassle to arrange. Volunteer to help with the meetings, find locations, etc, or organize your own. That stuff isn’t hard, it just takes time and the confidence to do. That way you will generate a lot of goodwill and make connections with people you can work with and learn from.

So there you go. $100 worth of books to buy, a years worth of homework, and you will have made yourself more appealing to employers than most college graduates!

Bonus points: If someone answers you saying “We’re not ready now but get in touch next year”, make sure you do it!

Filed Under: Business, Programming

Comments

  1. Kevin Burke says

    January 17, 2011 at 3:41 pm

    Hey Peter,
    Thanks for the advice. I’m a senior and I sent you an email two weeks ago with similar questions – it’s entirely possible it never got delivered though as I’m having SPF difficulties. Best of luck at Groupon, and hopefully talk to you soon.

    Best,
    Kevin

Trackbacks

  1. SICP « ahmasmi says:
    January 18, 2011 at 6:50 am

    […] Advice to a college sophomore programmer (pchristensen.com) […]

  2. Languages – 2 | soft starts says:
    January 22, 2011 at 3:43 pm

    […] Advice to a college sophomore programmer (pchristensen.com) […]

  3. 【转载】:给想当程序员的大二学生的建议!_邹嘉博客 says:
    February 15, 2011 at 11:56 pm

    […] 【英文原文】:Advice to a college sophomore programmer […]

  4. 给想当程序员的大二学生的建议 says:
    February 16, 2011 at 4:48 am

    […] Advice to a college sophomore programmer […]

  5. 给想当程序员的大二学生的建议 says:
    February 16, 2011 at 10:14 am

    […] Advice to a college sophomore programmer 分享文章TwitterDiggFacebookDeliciousStumbleUponGoogle BookmarksLinkedInYahoo […]

  6. 给想当程序员的大二学生的建议 | DoMyself(DM) says:
    February 16, 2011 at 10:36 am

    […] 英文原文:Advice to a college sophomore programmer […]

  7. 给想当程序员的大二学生的建议 | 对她说: says:
    February 18, 2011 at 11:24 am

    […] 原文:Advice to a college sophomore programmer […]

  8. 给想当程序员的大二学生的建议 « 无知的我 says:
    March 2, 2011 at 9:34 pm

    […] 导读:本文是从《Advice to a college sophomore programmer》这篇文章翻译而来。本文作者Peter在Groupon公司的一项新职务是为公司招募优秀的开发人员。同时,作为开发团队的代言 人,他还负责发布招聘信息、回答问题等。在过去的一周,他对两个询问夏季实习工作的学生进行了回复。 […]

  9. To think when programmers sophomore Suggestions says:
    October 8, 2011 at 12:16 pm

    […] think when programmers sophomore Suggestions Introduction: this article is from theAdvice to a college sophomore programmer"This article translation.In this paper the author Peter Groupon company in a new position for […]

  10. Mentoring Made Easy at What's In Peter's Head says:
    April 30, 2013 at 6:44 pm

    […] two emails I sent, with the personal bits removed.  This is similar to earlier advice I wrote to a college sophomore and someone whose resume was misrepresenting […]

Leave a Reply

You must be logged in to post a comment.

Categories

  • Blog
  • Book Review
  • Business
  • Clojure
  • Education
  • Emacs
  • Fun
  • iOS
  • Lisp
  • Personal Sprints
  • Pictures
  • Polyphasic
  • Presentations
  • Programming
  • Rails
  • Startups
  • Uncategorized

Copyright © 2025 · Minimum Pro Theme on Genesis Framework · WordPress · Log in