Help InterviewStreet Connect with Student Programmers

InterviewStreet is looking for someone to build and maintain our relationships with universities.

About us:
Interviewstreet conducts programming contests, or CodeSprints, that allows companies to identify great programming talent. The best scorers from previous CodeSprints have gotten jobs at Facebook and Quora, among others.

The very first InterviewStreet CodeSprint last October was exclusively for university students. There was quite a bit of behind-the-scenes legwork done to find our initial 3000 student participants; we connected with a completely haphazard patchwork of career centers, departments, professors, and student groups. It was manual and inefficient, but it got the job done.

We’ve been pretty busy working on the product, and those connections have atrophied. This is bad, and needs to be fixed while it still can.

We’ve decided to tackle the problem by hiring another person dedicated solely to universities. For our size, there are certainly cheaper and easier ways to build contacts: Mechanical Turk-style compilations, or more specialized 3rd party services that service that connection for us, but we’ve found huge value in keeping a direct, human link to the community; it was a student group president who successfully made the case for opening the CodeSprint to interns.

Moreover, the growth potential for university collaboration is unusually high. InterviewStreet occupies a weirdly unique, impartial position, where we’re motivated to properly develop the professional skills of students on average. It’s in our best interest for for seniors to participate in hackathons, contribute to open source, and develop skills that have a tendency to fall through the cracks of curriculum. More capable students leads to more jobs matched.

This position is open to both programmers and non-programmers: Our chief need is someone with supreme organizational ability, to keep track of hundreds of contacts across hundreds of universities. To apply, send an email to mike+campus@interviewstreet.com. Attach your resume and include something in the email body to convince us to look at it. (One example of something we’d find impressive: Organizing a big event with a bunch of vendors for a bunch of people. Another example: Designing, machining, and building your own bicycle. Anything that requires major planning)

Here at InterviewStreet, we’re working on uncovering the best talent through interesting problems. Our job is to make sure our problems stay interesting, practical, useful, and more challenge than chore. Your job will be to make sure that students know they exist, and perhaps even make them better practical programmers. Help us cut through the increasingly antiquated constraints of geography and status, and instead democratize hiring to give good programmers the best jobs they can earn.

PS: CodeSprint Systems (systems.interviewstreet.com), a four five hour contest, is happening tomorrow,  Saturday, February 25th. It features problems contributed by Stripe, Socialcam, and Thumbtack.

Posted in Uncategorized | 2 Comments

The CodeSprint 2 Post-Mortem and Announcing More CodeSprints

From Friday, January 6th to Sunday, January 8th, 5000 programmers from around the world participated in the second edition of CodeSprint, a programming contest designed to discover talent and find programmers jobs at 86 companies. This post is a complete post-mortem of that event, and also announces the details and changes we’ll be making for CodeSprint 3, along with two completely new Sprints: SpecialtySprints and CompanySprints. [Skip ahead to future Sprint details]

CodeSprint 2 Statistics

The Participation Funnel

The numbers for the four main stages of participation:

Number of Unique Participants Percentage of Previous Level
Logged in to view problems 5221
Submitted a solution to a problem 1880 36%
Solved a problem (and qualified to apply) 1003 53%
Applied to companies 665 66%

Over 5000 people participated in CodeSprint 2, with 20% scoring well enough to apply to companies. Similar to CodeSprint 1, there is a noticeable gap between those who did well enough to be eligible to apply to a company, and those that actually did apply. Because we gathered additional profile data as compared to last CodeSprint, we’re able to further examine this gap. Here’s the breakdown of the 1003 eligible candidates, if they applied, and if they wished to stay hidden from outside companies.

Show my Profile Hide my Profile
Applied 647 18
Didn’t Apply 283 55

We can say for sure that 5% of eligible programmers participated just for fun. The motivations behind the remaining 283 non-applied is slightly little more speculative, but a birds-eye view of the data tells us that most of these were in the 600-1000 ranking range, suggesting that it was a lack of confidence in their performance, more than anything else, that caused them to not bother applying. As we shall get to in the CodeSprint 3 details, we will try remedying the perceived non-competitiveness for these 600-1000, who, after all, still scored in the top 20% of all candidates.
One last note: Of the 18 who applied to companies, but did not want to be contacted by other companies, only 2 of them were non-students. The use case of “I’m secretly trying to escape my current employer” does not yet seem to be a popular one.

Participant Demographics

Demographic data is reliable only for participants that were eligible to apply, and, even then, there is some uncertainty. 6% of 1003 eligible programmers never filled in their country of origin, and 21% declined to share their current professional status.

Despite being now open to everyone, the participants of CodeSprint remained firmly university-centric. Over 65% of all eligible participants are currently attending university (or high school!). A quarter are looking for internships.

Geographically, CodeSprint 2 was nearly ⅓ US, ⅓ India (where InterviewStreet got started) and ⅓ everywhere else. We had eligible participants from 60 countries, slightly more than a quarter of all countries in the world, or alternately, the total number of countries in Africa.

The CodeSprint 2 Company Attractiveness Index

86 companies participated in CodeSprint 2. Below is a table of the 25 most attractive companies, sorted by number of weighted applications. (If programmer applied to 3 companies, each of those 3 companies receives 1/3 of a vote). Microsoft actually had the highest absolute number of applications by a very slim margin, but its applicants were slightly more promiscuous as compared to Facebook. On the whole, weighted applications followed absolute applications very closely, with the only other significantly selective companies being Groupon and Chachii (an Indian company). A histogram of all company applications can be found in the CodeSprint 2 Discussion section further below.

Company Weighted Applications Absolute Applications
1 Facebook 75.69289 378
2 Microsoft 75.43182 390
3 Quora, Inc. 50.12415 271
4 Palantir 27.33838 189
5 Dropbox 25.11288 163
6 Amazon India 20.0303 127
7 Justin.tv 17.45398 126
8 RethinkDB 16.76491 118
9 Groupon 16.22226 96
10 Apple, Inc. 15.60292 100
11 Addepar 15.37681 108
12 Skype 14.33907 92
13 Pocket Gems 11.95141 87
14 Counsyl 11.93392 85
15 Getaround 11.60343 87
16 AeroFS 10.85296 78
17 Chachii 10.71851 56
18 Box 10.21033 77
19 ShowMe 10.03071 71
20 Sokrati (Bogolik) 9.412121 71
21 Citus Data 9.188745 71
22 Coursekit 8.840296 59
23 MemSQL 8.438564 62
24 AirBnB 8.221104 58
25 Flipkart 7.980267 63

For CodeSprint 2, we limited applications to 10 companies per programmer. Roughly 30% of applicants maxed out, while the remaining 70% applied with a fairly even distribution with respect to the number of companies. In hindsight, a limit of 10 turned out to be a pretty good cap, and it doesn’t seem like it was particularly onerous.

Interview Invites

Compared to last CodeSprint, CodeSprint 2’s Invite Data has a greater possibility of systemic error: We explicitly exposed programmer email addresses to companies they applied to, and encouraged companies to reach out directly to these already-applied candidates. By reaching out directly, companies sometimes forgot to mark programmers in our system as being invited. (In fact, we here at InterviewStreet are guilty of this, we forgot to shortlist candidates, and instead reached out to them directly) Thus, this data is likely an underestimate of the true number of invites.

45 companies used our internal invite system to invite candidates to interview. 2 of them went overboard, inviting over 150+. We’ve made a note in our emails to programmers who they are. The company that sent out roughly 100 invites is large enough to make that quantity of invites reasonable.

In addition to this data being an underestimate, we’ve personally received word that 2 Very Large Companies were not able to look at candidates last week, and we’ve arranged for them to review their applied candidates late this week.

Removing the three biggest invite sources, candidates were invited in according to the following distribution. Roughly 300 people in this subset were invited to interview with at least one company.

Scoring and Contest Questions

Those that wish to view the contest questions, along with test cases and solutions, can do so at cs2.interviewstreet.com

The contest consisted of 15 questions: 3 Real World Problems, 4 Company Problems, and 8 Algorithmic Problems. Partial credit was given linearly to those who solved only a fraction of the test cases used to score a solution.

Problem Passed All Cases Attempted
Picking Cards 684 1065
Coin Tosses 583 1113
Fraud Prevention 397 885
Permutation 313 504
Subsequence Weighting 193 511
Direct Connections 157 726
Quora Nearby 118 300
Quora Classifier 74 173
Polygon 36 261
Newsle Clusters 15 107
Crab Graphs 13 67
Count Strings 10 80
Logo Resize 5 15
Chrome Plugin 1 12
Twitter Tags 1 7

In terms of submission activity over the 24 hours, there was a noticeable uptick in the waking hours of the US and India, but overall, submission activity was more level than it wasn’t.

Once again, the C family was the clear plurality of language use at 43%, but did lose some ground as compared to last CodeSprint, with Python and Java taking up the majority of that loss. A graph of languages used per problem can be found here.

CodeSprint 2 Discussion

The Non-Effect of Company Profiles and Recruitment Videos on Applications

The inclusion of detailed company profiles for CodeSprint 2 was so that programmers would be better informed in choosing their applied companies. Even though, anecdotally, we have had great feedback on providing such great company information, it doesn’t seem to have had a substantial affect on aggregate application behavior:

There is no discernible trend between inclusion of additional company information and the number of applications the company received.

To be fair, this graph considers existence but not quality; a company may have filled out a profile, but badly. There were definitely some of these profiles, which I will tactfully call “unattractive”, but in the long tail we also had great, unknown startups; ones that I’ve personally talked to, who included a great company profile but still received <10 applicants. We here at InterviewStreet have a burden not only to find programmers great jobs, but also to help these more unknown-but-great companies find talent.

Clearly, profiles and video alone are not enough. Solving this problem was one of the main factors in us deciding to try out SpecialtySprints.

The CodeSprint Business Model

This was the first time we attempted to make money off CodeSprint. We used a pay-per-hire model, similar to technical recruiters: It’s completely free for companies to sign-up, look at candidates, and interview them. The only time they ever pay is if they actually hire someone. What’s more, unlike traditional technical recruiters, companies only pay a flat fee, not a percentage of salary.

We thought this business model was a good idea when we adopted it, and now that we’ve run it through one CodeSprint, we’re pretty convinced that it’s the best business model possible.

First off, getting companies to sign up has been an easy sell; there’s absolutely no risk whatsoever for companies to sign up and look at Codesprint Programmers. Secondly, by adopting a flat fee, there’s no incentive for us to place programmers at any particular company; all companies are monetarily the same. With pay-per-hire, CodeSprint is not optimizing for the number of companies, nor the number of programmers, nor the number of invites, nor the number of interviews. We’re designed to focus on one thing, and one thing only: effective hiring.

Needless to say, we’ll be keeping this model for the foreseeable future.

Test Cases and Problem Errata

In general, we’ve received nothing but great feedback on our problem statements. Everyone we’ve talked to has said that the problems, on the whole, are damn interesting. With that said, we’ve also received a lot of feedback, both in CodeSprint 1 and 2 about test case and problem statement quality. While we don’t want to give everything away with test cases and examples, the problems lacked polish. With the introduction of SpecialtySprints and CompanySprints, which have fewer problems, we’ll be able to give a lot more effort to each problem, and by CodeSprint 3 we will have hired enough additional problem creators to do the same.

The Development of Real World Problems

For CodeSprint 2, we had two main development goals: the Programmer Viewer (aka the Hackerboard) and Real World Problems. The Hackerboard was a decent sized undertaking; it took a fair amount of time to create and was released with a couple of rough edges, but it was still a very manageable project. Real World Problems, on the other hand, was a different beast entirely.

From its announcement up until CodeSprint 2, someone was working on Real World Problems every single day. Considering how much difficulty we have with just our regular CodeChecker, Real World Problems soaked up an insane amount of time and effort to get it to work correctly. Don’t get us wrong, we’re extremely proud to have created the Real World Problems infrastructure, but this project  was our equivalent of General Motors launching Saturn; a car with too many things to specially craft at one time. Real World Problems caused us to be underprepared for many other tasks, and is the main reason why our problem and UI polish was lacking.

Announcing CompanySprints and SpecialtySprints

In the past week, there’s been a lot of internal discussion at InterviewStreet on how often to hold CodeSprint, with possible frequencies from every month to once a year. It’s a decision with a ton of incomplete data and arguments from both sides. On one hand, we’d like to be able to cater to companies and programmers year round, and not have to make them wait a few months if they need a job / a job filled now. On the other hand, we don’t want to fatigue anyone, least of all ourselves: CodeSprint is crazy exhausting to host. As is all too common, the solution came to us in the eleventh hour, only after we took our minds off the problem and reframed it. The end result: Smaller Sprints, in the form of CompanySprints and SpecialtySprints. These will be more targeted, and most importantly for programmers, will be on a much smaller timescale: between 3 and 8 hours.

CompanySprints

CompanySprints are somewhat self-evident: They’re a CodeSprint for a single company. The 2-5 problems will be company-experienced problems, and exclusively appropriate to the positions that they’re hiring for.

The first CompanySprint will be CompanySprint: Quora, which will launch in roughly a month. It will likely include a relaunched, real-data version of the Quora Classifier problem. CompanySprint: Justin.tv will occur a month after, and we may be able to organize one or two additional CompanySprints even before that.

SpecialtySprints

For smaller companies, we’ll be holding SpecialtySprints, Codesprints designed for a single job type. The first one will be SystemSprint, which is most closely related to our area of expertise of algorithmic problems. It will contain many of the UI and Problem changes discussed below, and will likely take place on March 16th, the old date for CodeSprint 3. (We’re looking into if we can hold it even earlier, though) Following SystemSprint, and in preparation for its inclusion in CodeSprint 3 will be MobileSprint, focused on iOS and Android problems.

CodeSprint 3 Details and Changes

Less than 24 hours ago, CodeSprint 3 was originally schedule to take place March 16th, 2012. This has since been tentatively delayed to May 11th, though we may change this date depending on our experience with CompanySprints and SpecialtySprints. (To assure our loyal student user base: We will definitely have a CodeSprint take place in August / September, designed for the University Fall Recruiting Season) Whenever the next CodeSprint will be, however, here are some of the things that we’ve identified that will change.

More Company Problems

Our experiment with Company Problems was very well received by both programmers and companies. Programmers felt the problems were more interesting than algorithmic problems, and companies found Company Problems to be (somewhat self-evidently) better in assessing candidates. In marketingspeak: It’s a win-win situation for both sides of the equation, and so we’re going to ramp up Company Problems as hard as possible. We’re shooting for 25 problems for CodeSprint 3, more than CodeSprint 1 and 2 combined.

Introducing Specialty Weightings: AKA Problem Organizers

25 problems is a lot! It’s a lot not only for us to create, but also for you guys to do, and for companies to evaluate. In order to make sense of these problems, we will include Specialty Weightings. For example: a DBA Weighting, a Lead Developer Weighting, and an iOS Developer Weighting.

Weightings will determine the point values of a problem. The Quora Nearby problem, for example, is mainly a back-end programming problem, and so could be worth 25 points for the Back-End Programmer Weighting, but only 10 points for the iOS Developer Weighting. A Code Review problem would be useful for to evaluate both a Lead Developer and a QA Engineer, but with differing relevance.

Multiple Leaderboards

All problems will be evaluated on a simple 0-100% scale, and be multiplied by the weighting to obtain your total score and rank. We are eliminating bonus points. (which no one really understood in the first place) As you can imagine, it no longer makes sense to have just one Leaderboard, so each Specialty Weighting will have it’s own Leaderboard. For those of you that still want to compete for fun and bragging rights, we will still have a Generic Programmer Weighting which will become the canonical Leaderboard for CodeSprint Hall of Fame purposes.

We will release Specialty Weightings prior to the beginning of CodeSprint 3. Hopefully, programmers will enter the contest not planning to tackle a set of 25 problems, but only the dozen or so relevant to their interests.

Relaxing The All Languages Requirement

We’ve hesitated in including some kinds of problems in the past, because of their inability to be solved in all languages. Certain iOS problems, for example, can’t really be solved except in Objective-C. The same is true for many front-end issues, which is largely a JavaScript-only domain. Now that we have such a large problem space, we can include these languages as part of CodeSprint, and increase the breadth of our testing ability.

We be adding Problem-Creator-approved libraries for specific problems, such as Quora Classifier.

More International Companies

Our 86 companies were centered around our two major demographics, the US and India. Given that ⅓ of our participants are from elsewhere, CodeSprint 2 severely underserved some of our programmers. Of particular note is Europe, with 15% of our programmer base and only a handful of available positions. We’ll be making a more conscious effort to serve this region, along with the rest of the international programmer base.

General Sprint Improvements

More Interesting Algorithmic Problems

We thought our problems were really good, and our users overwhelmingly agree. But then someone showed us that we can do better. Not all of our problems will be that cool, but we’ll certainly try.

Better Test Case Feedback

Problem test cases will be baked into the design of the problem: Each test case will be included to test a specific part of your solution, whether it be an edge case or computational speed. Most importantly, test cases will have an associated message that, should your code fail, will let you know why the failed test case was included. It’ll be up to the discretion of the problem creator exactly how much information to reveal, but our goal is that you will always have an idea, at each stage of the problem, what you should be fixing in your solution. On rare occassions, when it doesn’t spoil the answer, we will also include more complicated sample cases (Quora Classifier would have benefited from this, Coin Tosses would not)

Small UI Fixes

Four things that we meant to include for CodeSprint 2, but didn’t get around to it:

  • A countdown timer, so programmers don’t submit their final submission late
  • A real-time, persistant information feed, so you are immediately notified of any announcements / errata, and can look back in it’s history to see if anything got changed.
  • A very clear notification when you’re looking at the problems at interviewstreet.com, instead of codesprint.interviewstreet.com
  • Country and Entry-Level filters for navigating company positions

Thanks and Congratulations

CodeSprint 2 was not quite as rushed as CodeSprint 1, but it was arguably more nerve wracking; this time, we had a reputation to keep.

We’d like to thank all of our companies for participating, but especially the brave ones that contributed a Company Problem: Groupon, Quora, and Newsle. We really appreciate the effort you went through to give us fully formed, completely drop-in problems.

On the student side, we’d like to thank the following people, who helped us immensely in IRC chat guiding people and helping them out: pedrosorio, aquatsr, as_df, sontek, Timothee, and TheCalled. If you see your name here (and your IRC handle was the same as your CodeSprint handle), expect an email from us sometime later today.

Finally, to the 665 applied candidates: Good luck.

Until next time,
The CodeSprint Team at InterviewStreet

If you are a company looking to participate in a Sprint, (Code, Specialty, or Company) please contact codesprint@interviewstreet.com

If you are a programmer and would like to receive Sprint Updates, please subscribe to our mailing list at codesprint.interviewstreet.com

Posted in CodeSprint | 16 Comments

Negotiating a Job Offer with a Company

This is a guest post by @StevieBuckley, who posts as Peroni on HN. Steve is one of the few recruiters that has earned the trust of the Hacker News community. You probably want to check out his blog: voltsteve.blogspot.com.

Now that CodeSprint 2 is over (a full post-mortem can be found here), applicants are beginning to interview and receive offers from companies. Following up his very popular guest post, Assessing a Company: Questions you need to ask in an Interview, we asked Steve to share his expertise for the next step in the interview process: salary negotiation.

Starting Negotiations

In my most recent piece I covered the entire application process. What I want to touch on today is the part of the process where you, the applicant, have the most power: The job offer.

Negotiating a job offer is not as difficult as people think and companies generally tend to be a lot more flexible than commonly assumed. One simple fact that most people forget is that the negotiation process begins from the minute you apply for the job in the first place.

To put yourself in the strongest position possible to face a negotiation battle, you first need to lay some solid foundations and that all starts the first time you are asked to specify what salary you are looking for. If you are applying through a recruiter then chances are you will be asked that question within 5 seconds of expressing interest in any given job.

Before disclosing what salary you are looking for, do your research. Take a look at similar roles on various tech job boards and see what salaries are being offered, but keep in mind they can vary depending on geographic region so ensure the roles you are using for comparison are in the same general area that you want to work in. More and more recruitment agencies are compiling salary surveys free of charge for their clients. It never hurts to contact a tech recruitment agency and simply ask them if you can have a copy.

So now you have an idea of the market value for the position you are applying for, you now need to assess where you feel you sit in terms of the competition applying for this role. If you sincerely believe that you are above average then take a good look at your resume. If that fact isn’t instantly obvious by reading your resume alone then the employer won’t buy it. You either need to reign in your ego or more likely, you may need to adjust your resume. You can refer to my blog for more advice in this regard.

There is a growing trend, particularly amongst the tech community, to refuse to disclose your salary, so I better address that now to clear any confusion. First and foremost, I don’t agree with this approach in principal. I am in complete agreement with the ideology of not disclosing your salary to a recruiter until they have either disclosed the company name, or at the very least the companies budget for this particular role, but there is a common misconception that if you disclose your salary to an employer, it will limit the potential salary offered. It’s your experience that is indicative of your ability, not your current salary: Any decent employer worth their salt will judge your worth based on your potential and its value to their business.

If you follow the advice contained within this post, you will not be at a disadvantage by disclosing your salary when an employer asks.

If there are other factors at play aside from money,(for example, medical insurance is a significant issue in the US in particular) then ensure that you have full transparency on the benefits structure BEFORE applying for the job.

Stick to your Guns

Having done your research and gained a clear and accurate perspective of your market value, stick to your guns and don’t back down.

A clever employer will ask for clarification on your salary expectations during the interview and if they have already sold you the dream, at this point most people undersell themselves and suggest a salary range slightly lower than their initial expectations. If you mention a salary range during the interview, that is the one they will base your offer on.

There are ways of getting an insight into how an employer truly values your experience during an interview. The following questions will help you discern how your experience stacks up against others they may have seen.

What areas of expertise do you feel I may need to work on?

This is a tough and direct question but it will give you a brilliant insight into any potential weaknesses the employer may have identified. If they cite a specific language or framework that is integral to the role then you have identified a key issue that will affect their decision making process.

How does my salary expectation stack up against those currently working for the company with a similar level of experience?

This is a killer question and it’s more than reasonable to ask. You aren’t asking how much people are being paid, you are simply asking if the salary you requested correlates with what they are already paying their staff. The response here can be extremely revealing so make sure you pay attention!

If the interviewer confirms that it’s in the right ballpark then you have significantly strengthened your negotiating position. If they state it’s a bit higher than the average then the next question is crucial.

How does my experience in *insert relevant technology stack* compare to other people you have seen?

If they have interviewed a few people and you have stronger experience or simply more experience than the others they have seen then you are in the best possible position to negotiate a better package during the offer stage.

Negotiation != Compromise

Hopefully at this point you have set yourself up so that you are in the best possible negotiating position. The best case scenario is that the employer simply offers you the exact salary package you have asked for. This doesn’t necessarily mean you should have asked for more in the first place. One of the biggest issues in Software Development at the moment is keeping your best staff happy and away from the prying hands of the competition. If an employer truly values your skills and abilities then they will offer you a package that they feel will keep you happy as it’s counter-productive,(not to mention expensive) to bring an employee on board, only to lose them to the competition a year later because they offered 10% more than what you are currently getting paid. The employers who have a legitimate understanding of the market will offer you a salary they feel will keep you happy and away from the competition.

If you have followed all of the steps above and you are offered a package lower than your initial request, you simply need to ask why. Say that you’ve been offered $40k when you initially stated you wanted a minimum of $45k, remind them of your initial request, and politely ask why they aren’t matching that request. If they state the issue is because of budgets then refer to the second & third question listed in the previous section. If they had previously confirmed that your expectation was of a similar level to the team then you are being low-balled. Push back and stipulate that you would appreciate it if they could reconsider their offer and come back to you. If they state that they won’t budge, request 24 hours to consider your options and the next day call them back and politely decline the offer but ensure you stipulate that the reason you are turning it down is due to the salary package failing to meet your minimum expectations. More often than not, if they genuinely want you to work for their company they will offer more at this stage. If they don’t, move on.

Accepting an Offer

So you’ve nailed the interview and the company want to make you an offer you can’t refuse.

Never accept an offer on the spot. It’s really that simple. I don’t care if they have offered you a salary and package that far exceeds your expectations. Thank them and politely inform them that you would like to consider the offer before making a decision. Ideally, I recommend taking a maximum of 24 hours to thoroughly consider your options but it’s essential to set their expectations before doing so. When you state you would like some time to consider the offer, specify an exact time that you will come back to them with a definitive response.

If an employer puts you on the spot and insists on a decision there and then, I would sincerely question their motives. Never, ever accept an offer on the spot! At the very least, inform them you will call back within the hour with a response.

The reason I suggest you take time to consider your options is to enable you to put some of the benefits in perspective. Generally speaking, the person making you the offer has plenty of experience in negotiation and more often than not, benefits such as stock options and gym memberships can be oversold and made to sound significantly more attractive than necessary.

In reality, the only things you need to focus on away from the actual salary are specific details surrounding Intellectual Property Agreements and Non-Disclosure Agreements. More and more companies are stifling their developers creativity by restricting them from contributing to open source projects outside of their day job and the last thing any developer wants is to create an immensely brilliant project or tool in your own time only to learn that their employer owns your baby as you signed an IPA when you accepted the role without giving it a second glance.

What if things went a little too well and you have more than one offer of employment? Obviously this is the best case scenario but the point to remember here is to not get arrogant. First of all, weigh up your options. If one offer is significantly more attractive than the others, make sure it isn’t purely because they are paying more and that the company itself is one you genuinely want to work for. Honesty is key here. Before accepting the offer, phone the other companies that have made you an offer and let them know the situation. Give them a chance to respond before accepting anything.

This particular approach is completely normal and despite appearing like a difficult conversation, almost all employers appreciate open and honest feedback on your situation. If that means you have been offered more money elsewhere, then so be it. They would rather know in the beginning so that they have a chance to react than find out when it’s too late to change your mind.

Counter Offer

On a final note, if you are currently employed and you’ve been offered a job elsewhere, most employers will try and convince you to stay. After all, if you are good enough for the competition then maybe they aren’t truly appreciating your value right? Correct. Well, at least it’s correct for the first few weeks. The majority of people who decide to stick with their current company after being counter-offered leave within a year. The reason for this is simple: the motivation for you to want to look elsewhere eventually rears its ugly head after you have settled back in. If your motivation is money and you receive a raise, generally that raise will have been ahead of schedule and it will make it harder for you to negotiate a future raise. If the motivation is less tangible, for example, work/life balance or the general office culture, an increased salary very rarely, if ever, mitigates that problem.

The rules surrounding counter-offers are the same as the rules above. Sleep on it, and re-evaluate exactly why you are choosing to leave in the first place.

Receiving an offer of employment is an ego-boosting compliment. It’s also a crucial and strategic business decision. Be clear on your expectations and don’t settle for less than what you feel you are truly worth as you will end up resenting your job and be back to square one before you know it.

Posted in CodeSprint, Guest Post | 1 Comment

Tweet Density apps

We noticed an overwhelming response for the real-world problems so much so we had to request Amazon to increase our instance limit on our account. The problem “Tweet density” asked the users to design a quick web app that will tell you the frequency of your tweets at different parts of the day. You can play around with it by entering your twitter handle in the URL.

Here are top 4 apps we liked (yes, I know it’s biased :) )

Posted in Uncategorized | Leave a comment

The Design of a Rejected CodeSprint Landing Page

In late November, we at InterviewStreet looked at the number of projects that needed a re-design, realized that the volume of work justified hiring a full-time designer, and reached out to find one. We eventually chose three different designers to work on three different projects. With permission, here is the story of one of them.

Part 1: Wherein he finds us and gives us a lecture

Part 2: Wherein we decide to work on one project, and then change our minds

At this point, I give Stephen a call to discuss the particulars of the CodeSprint landing page.

Part 3: The First CodeSprint Landing Page

Part 4: Wherein I figure out what really bothers me


Epilogue:

As mentioned at the very, very beginning, Stephen was one of three designers that we worked with. They all turned out to have radically different modes of working, and yet were completely competent in their own way. If not for the fact that my interactions with the other two were mostly face-to-face, I would have also included their conversations, and this piece would have been much, much better.

As is self-evident, we went with the original landing page, but with the single page navigation that came out of this conversation, as opposed to a separate, second “Details” page. For that improvement alone, it was money well spent.

Stephen is currently working on the landing page for InterviewStreet’s Recruit product, which we hope to release later this month, after the end of CodeSprint.

One small note that should be mentioned: All our designer work is pre-paid up to agreed upon milestones. Spec work has it’s place, but not at this level.

Posted in CodeSprint | 1 Comment