Contact Us
This form does not yet contain any fields.

    PennApps is a 48-hour hackathon. This is the site for PennApps Fall 2011.


    Size Matters: How Coding Resumes Differ Between Big Companies and Start-ups  

    [Raffling off 10 free resume reviews with Gayle! See bottom of post for details.]

    Not all coders are created equal, and nor are all coding jobs. Start-ups and the “elite” tech companies, in fact, look for different things on a candidate’s resume.

    To understand this, one needs to look at the difference between the actual jobs at these tech companies.

    Big Companies
    The top big tech companies, such as Google, Facebook, and Microsoft, look long term. They want to hire the engineers who will be great software developers in a year, even if you struggle for the first few months. They also have people dedicated to fulfill other functions, such as testing and marketing, so the only critical responsibilities for a software developer is, well, software development. Fundamentally, it comes down to this: they are evaluating you for your coding and algorithms aptitude, not necessarily your current skills.

    Given this, they will look for the following in your resume:

    • Are you smart? This is assessed partially with your education (school name and GPA), but your projects are also important here.
    • Can you code? This is assessed largely by evaluating your hands-on, practical, programming projects. Your projects can be either from your coursework, work experience, or independent projects. Independent projects are especially impressive, since they show passion; passionate programmers are good programmers.

    Other things - like your clubs and activities - are minor factors; they won’t hurt you, but they also won’t do much to show that you’re smart or that you can code.

    Knowing the exact technologies they work with generally won’t matter either. Big tech companies work with many different languages and are willing to take the time to train you in one or them.

    Start-ups, by contrast, would love to hire someone who’s great in the long term, but they also know that there’s no long term without the short term. They need software engineers who can hit the ground running - and who can continue to run, without a ton of direction. Additionally, they have fewer people and less specific roles, so ideally, you’ll be able to understand the business and add value in design the product and its features.

    When evaluating a candidates, start-ups can vary wildly since there are so many start-ups. Generally speaking though, they look for the following:

    • Can you code? Like big companies, they want to see that you have the ability to write good, clean coding (and relatively quickly).
    • Can you hit the ground running? Although start-ups understand that a good software developer can pick up a new technology, they don’t have the time or money to wait for you to do that. Many will expect that you know their language of choice, or at least related technologies.
    • Will you continue to run? Start-ups don’t have the management resources (or the inclination) to manage your every move, so they want engineers who are entrepreneurial themselves. This is demonstrated through independent projects, such as building your own web app or iPhone app, or potentially through founding your own business previously.
    • Can you handle diverse responsibilities? This may not be strictly required, but the ideal candidate will be able to handle more than just their own software development responsibilities. They want you to be reasonably competent in feature design, testing, or even marketing. It’s unusual at a start-up to be handed a precise spec detailing your feature, so they hope that you can make some of these decisions.

    Intelligence matters too, of course, but they’ll often assess this through your coding skills. They understand that someone who can solve a tricky algorithm problem may not always be a fantastic engineer at a start-up.

    When it comes to the interview itself, they’re also going to see how you fit with the team. Start-up hours are long, and if people don’t want to work with you 10+ hours a day, they just won’t hire you.

    Writing a Resume & Landing the Job
    Resume: For additional advice on writing a resume, read The 5 Big Questions You Need to Ask about Your Resume.  If you just follow that advice, your resume will probably be at least fairly good. (Fun fact: about 95% of resumes I reviewed last year after PennApps violated at least one, and usually several, of these rules. Please do yourself a favor and check your resume against each one of those.)

    • Two good resume templates. These are my technical resume from college and my current-ish “business” resume. You are welcome to steal either of these templates.
    • Free resume review raffle! Although I won’t be in town for PennApps this year, I am in town the following weekend. We will be raffling off 10 free resume review spots. These meetings will 15 minutes each and will be held on Sunday, September 15. Sign up here.

    Landing a Tech Job Start-To-End Guide: Your resume is just one piece of the puzzle, of course. My second book, The Google Resume: How to Prepare for a Career and Land a Job at Apple, Microsoft, Google, or any Top Tech Company, provides broader advice about what you should be doing in school, how to handle behavioral and other interviews, how to build a network, and how to handle offers. (Rated 4.5 stars out of 5 on Amazon.)

    Software Engineering Interview Prep: When it comes to the software engineering interview itself, my first book, Cracking the Coding Interview: 150 Programming Questions and Solutions, will help prepare you in how to prepare for and tackle coding, design and algorithm questions. (Rated 5 stars out of 5 on Amazon.)

    I look forward to seeing what you create at PennApps. Remember that your PennApps project might make a good resume addition. Happy coding!

    Gayle Laakmann McDowell (SEAS BSE ‘04, MSE ‘05, WG ‘11)
    Founder / CEO,
    Author of Cracking the Coding Interview and The Google Resume
    blog: | twitter: @gayle


    Tech Talks Update

    The first PennApps tech talk of the week, the first of many more crash courses being offered this week, was a smashing success! Over 80 students came to Kings Court English House to learn from Sam Panzer (CIS 2012) explain how to get started on building a website. Attendees who followed along with Sam's talk on their own computers were able to SSH into their SEAS accounts, edit a file with some basic HTML, set up git, and then make a simple website interacting with the Facebook API. If you missed out or want to go over the slides on your own time, the updated version will be posted on the Facebook event later today.

    We have two talks today, both also held in Kings Court English House. At 6, Zach Goldberg will give a talk on the advanced track about the Google Prediction API, and at 7 Paul Jungwirth will give a talk on JavaScript and JQuery. See you in Kings Court this evening!

    Here are some highlights from yesterday's talk:



    Tech Talks have been Finalized

    Not sure if you'll be ready for PennApps, or that your web development knowledge is lacking (or completely nonexistant)?
    Not to worry! We are hosting a series of tech talks over the course of next week aimed to benefit all students, both those who have no experience in web development and those who already have a foundation in web dev but are seeking to expand their knowledge.

    In that vein, we will have two tracks of tech talks aimed at these two sets of people: the "newbie" track and the "advanced" track.

    Here is the schedule for next week. You can find locations for all talks on their Facebook events, which are linked for all the talks.

    Newbie Track

    DateTime Talk  
    Mon, 9/12 630-730 An introduction to the basics of web development (google calendar)
    Tues, 9/13 7-8 JavaScript and JQuery (google calendar)
    Wed, 9/14 630-730 Introduction to design. Making your site look pretty (google calendar)
    Wed, 9/14 8-9 Writing a simple back-end for your site in python (google calendar)
    Thurs, 9/15 7-8 Intro to Google App Engine (google calendar)
    Fri, 9/16 3-4 NodeJS + Redis/Mongo: Everything you need to code your back-end (google calendar)


    Advanced Track

    DateTime Talk  
    Tues, 9/13 6-7 Using the Google Prediction API (google calendar)
    Wed, 9/14 630-730 How to develop for Windows Phone 7 (google calendar)
    Thurs, 9/15 6-7 Schema Design: Get it right the first time (google calendar)
    Fri, 9/16 430-530 Using CoffeeScript for fun and profit (google calendar)

    Meet Your Judges

    We couldn't be prouder to announce that we've finalized our team of judges for PennApps 2011! Drawing from a wide range of fields, we sought to put together a roster that would represent the many varied aspects of the tech community. Without further ado, let us introduce:

    The Professor.

    Kartik Hosanagar (@EnableTech
    Associate Professor of Internet Commerce, Wharton School (UPenn)

    The Writer.

    Jason Kincaid (@jasonkincaid
    Writer, TechCrunch

    The Investor. 

    Mo Koyfman (@mokoyfman)
    Principal, Spark Capital

    The Hacker. 

    Gabriel Weinberg (@yegg)
    Founder, DuckDuckGo

    The Entrepreneur.

    Zach Weinberg (@zachweinberg)
    Co-Founder, Invite Media



    I Have No Team-- Help!

    A recent post emphasized the importance of having a good team and working with people you’re comfortable with. But what if you don’t have a team yet? 

    Sign up anyway.

    Don’t sweat. I was in your position last spring and I recommend that you still sign up. Here’s why:

    • You aren’t the only one without a team. Everyone signs up as an individual before the competition starts; teams are only registered on the actual day of the event, once coding begins. That means other individual contestants or teams with empty spaces are signing up.
    • PennApps provides several channels to find team members. Singing up for the PennApps email list is the best way to connect with teams who need additional members. And the only way to hear about these avenues (the team formation sheet, the meet-and-greet dinner on Friday evening after kick-off, the tech talks) is by signing up so you can receive updates. You don’t want to miss out by not being on the email list.
    • There are different levels of participation. Even if you don’t end up finding a team (keep reading and I don’t think you’ll have this problem) or if you decide not to hack for the entire weekend, you should still show up! Hack by yourself (intensely or casually), extend your skill-sets, meet a ton of cool students, judges, sponsors, and professors, mooch off of free food and awesome giveaways, whatever you want. You can sign up as a competitor, a guest, or an observer (for the Sunday demos). PennApps is a fun (and free) environment and you should show up for at least part of it.

    Okay, but I’m still teamless. What now?

    Last spring, I was determined to participate in PennApps Mobile because, as a second-semester senior, it was my last official chance to compete. Despite my resolve, I started out by myself.

    A week before PennApps Mobile, I contacted friends and past computer science group project members letting them know that I wanted to compete, asking if they were participating, had space on a potential team, and requesting they forward me onto anyone else they knew who might be interested

    I initially received disappointing responses: most said they either weren’t participating, weren’t sure yet, or already had 4 people. In the interim, I filled the Google Docs that PennApps provided for Idea Brainstorming and Team Formation with as many ideas as possible, even though I wasn’t super excited about any of them. My goal was to excite someone else to contact me and to show off my skills. Interspersed with the ideas I mentioned, I talked about the technologies and frameworks I knew how to use and acknowledged how these ideas would be implementable within the competition time frame.

    At least 6 or 7 people mentioned to me that they noticed my ideas in the communal Google Doc, evidence that somebody was looking at the team formation information. Of those, several were serious about the possibility of teaming up, and I met with each of them.

    A few days before the competition, one of the people that I originally reached out to-- who hadn’t immediately gotten back to me-- responded. He said that his team had space for a 4th person, but that I had to let them know if I was on board ASAP because they wanted to meet to brainstorm ideas. I jumped on board.

    My team worked out swimmingly and we won the Best Android App prize sponsored by Google. This outcome completely blew away any of my expectations at the beginning, when I had no team, no idea, and no direct Android development experience. Our idea even changed more than 16 hours into the competition and we had to scrap all our code and start over, which felt pretty scary. In the end, I still contributed the touch gestures that were integrated into our team’s final app and we all worked really well (and really hard) together to nab an awesome prize.

    In the words of Woody Allen, “Eighty percent of success is showing up.” So, what are you waiting for? Just sign up

    [Thank you to Aditi Jain, past PennApps participant, who contributed this post!]