Hacker News new | past | comments | ask | show | jobs | submit login
State of Starfighter (starfighters.io)
179 points by gk1 on May 13, 2016 | hide | past | favorite | 129 comments



If this doesn't allow successful candidates to skip the onsite interview, then what value does this add? I had the exact same criticism for TripleByte. If I spend the time going through a non-direct link to a company, there has to be some value along the lines of skipping onsites which are the bane of our existence as programmers these days. If going through starfighter doesn't help us with this, then there's no value, I can just email the company and get a phone interview pretty quickly.


If you're primarily interested in getting a job, and can cold email a company and get an instant onsite, then going for that is a totally valid option. The most time-efficient way to get job offers is to get introduced to hiring managers (self-intro if necessary), make a good impression on them, and ask them to jump you along in their firms' hiring practices. I've said that here for years; I'll continue saying it.

There exist many engineers in the world who either a) cannot cold email $DESIRABLE_SOFTWARE_COMPANY and be guaranteed of an interview, b) do not believe they can cold email $DESIRABLE_SOFTWARE_COMPANY and be guaranteed of an interview, or c) are not comfortable executing on the process of emailing $DESIRABLE_SOFTWARE_COMPANY and getting an interview. Those are three subtly different problems. We are a partial way to address them, and other problems besides.

a) A very talented engineer might not have a resume/background/etc which pings the radar very hard at a software company. If you do, great, more power to you. Try to put yourself in the shoes of someone without a great educational pedigree whose last couple of jobs look something like "IT at insurance company. Responsibilities: rebooting printers." or "Network administrator: CISCO routers, light systems administration." That person might also be able to black-box cryptosystems, find RCEs in Rails given a day of effort, or program trading algorithms, but the company won't find that out because they likely won't even be offered a phone screen.

b) You know how impostor syndrome is a thing? Oh boy, do a lot of very talented engineers have it. If you can program, many desirable companies like e.g. Stripe would love to make your acquaintance. If they don't offer you a job they will not feel like talking to you was a waste of time. There are a lot of people who do not get this and benefit from being told some variant of "I understand that you feel like you've still got lots to learn. I've got lots to learn! And I've been doing this for 12 years! But I see from your demonstrable performance that you're actually good at this. The folks at Stripe trust my judgment about this -- if I'm making a mistake about this, well, that's on me and not on you. Why don't you have a call with $PERSON there? I predict that they are super-inviting wonderful people who will want to geek out with you about tech stuff; if a job offer happens after that, wonderful. But I can almost guarantee you that no job offer happens without you talking to them."

c) Many engineers are afraid of selling themselves, for personal reasons/cultural reasons/etc which our community unfortunately frequently amplifies. Even if you tell them "All you need to do to get a job is a) meet a hiring manager, b) convince them you're not an axe murderer, c) get a coffee date and do your thing, d) say yes to the job offer", they're not willing to take the clearly valuable first step of sending an unsolicited email. I am totally willing to send a (very) solicited email on one's behalf, if I feel like a candidate and a client could have a productive conversation together. I'm also pretty good about writing that email.

Also: for the right kind of person, the challenges are fun, in the same way that chess or poker or Starcraft or sudoku are fun. Except with more REST API.


> There exist many engineers in the world who either a) cannot cold email $DESIRABLE_SOFTWARE_COMPANY and be guaranteed of an interview, b) do not believe they can cold email $DESIRABLE_SOFTWARE_COMPANY and be guaranteed of an interview, or c) are not comfortable executing on the process of emailing $DESIRABLE_SOFTWARE_COMPANY and getting an interview.

And, it seems to me, the traits involved in doing those things are also not what a lot of companies intend to be looking for in hiring developers, so its in companies interests to find a way to adapt hiring so as not to implicitly bias it in that direction (if they were hiring people for sales position, that bias might be exactly what they want...)


But in a lot of cases, it is. I prefer a high-functioning communicator with decent programming skills over a top-notch programmer who can't communicate.


> But in a lot of cases, it is. I prefer a high-functioning communicator with decent programming skills over a top-notch programmer who can't communicate.

I would suspect that the specific subset of communication skills tested implicitly in a system biased toward people's drive and ability to successfully cold-email potential employers is generally neither the same subset of communication skills that are important in actual work of technical staff in most development teams nor a subset which serves as a good proxy for those.

But I could be wrong.


There are some places where writing kickass software, demonstrating it, and clearly and honestly answering technical questions about it will cause a person to perform effectively in their job.

There are other places - a surprising number of them - where effective internal marketing and sales skills are needed. Those are probably the communication skills that patio11's clients are lacking.


Lots of truth above, imposter syndrome is something I've heard from ~90% of the solid engineers I've worked with.


For some background: http://sockpuppet.org/blog/2015/03/06/the-hiring-post/

Part of the idea is that there are some great devs out there who don't have the resume to "just email the company and get a phone screen".

I think if you look at their history with MicroCorruption (https://microcorruption.com/login) you'll see that this isn't just a recruiting tool - it's supposed to be more of an interesting programming challenge, something you'd want to spend time on whether there was a hiring company at the end or not.

Long term, I hope that after StarFighter gets more history and credibility with companies, they actually will reduce or remove technical parts of the onsite interview in lieu of StockFighter results.

I spent time with MicroCorruption, and I plan to spend some time on StockFighter, and I'm not looking for a job.


This is a good point. In my youth, I did not pursue the opportunities (Microsoft, Google, Amazon) I had for various reasons. Turned out, this was a bad idea. However, the "take home" coding interview has turned out to put me heads and shoulders above the rest. There has only been one take home interview that I have not done well on, and that is because I was pressured for time - they told me I could take 8 hours, but I only had 1 to spare.

Because of this, I have had opportunities open to me that people would kill for and received an offer or interview almost every time.

My personal opinion is that these things do have their place, but they will likely find that only a few types of people will give this the time of day:

1. People who are bored

2. People who need a shortcut to a job interview

3. People who are diamonds in the rough

Out of these, only one type of person (3) will be greatly valued.


For me personally, as someone who has finished all the existing levels, just skipping the resume screen is actually a big value add (at least in principle, assuming they get the recruiting side worked out). I also really enjoyed writing the software for the trading levels.

On the other hand, I don't have a CS degree and currently work as a mechanical engineer, so the resume screen is relatively harder for me.


I've spent over 15 years in either a senior sysadmin, software engineer, or combined position at multiple companies, but never once once interviewed for such a position, even though I do have a CS degree. Going through an interview process is not something I would look forward to (to put it mildly).


You either interview explicitly or implicitly - it still comes down to five minutes where your new boss evaluates the real you and figures out where to put you.

If you go into this eyes open you can control it. Put your best foot forward.


Well, when the real you moved up from a prior position, or has consulted for the company for a few years, or has worked at the company multiple times in the past and kept in touch with old managers, sometimes it's less of a "let's discuss whether it will work" and more of a "you mean you're finally saying yes?"


Getting a phone interview by contacting a company is easy if you have the right resume credentials. If not, you need someone to vouch for you to even get in the door. That's what we're doing for engineers who are strong but lack these credentials and the connections to be referred.

We find that engineers who apply to us even if they have those resume credentials are doing so for two reasons:

(1) People only have bandwidth to talk with a few companies. We have enough data across companies to filter out the ones you won't be a technical fit for. This saves the wasted time of failed onsites, which as you say is the bane of existence for programmers.

(2) Finding companies you wouldn't have otherwise heard about or realized were an interesting option for you. We can especially help here with engineers interested in joining smaller companies that haven't had breakout success yet.

Traditional recruiters only help with getting you an introduction to an arbitrary company (usually whichever responded first to an email blast). We strongly believe that a recruiting service which does intelligent matching provides a lot of value for both candidates and companies (we wrote more about that here: http://blog.triplebyte.com/triplebyte-engineer-genome-projec...).


> Getting a phone interview by contacting a company is easy if you have the right resume credentials.

That's the problem. Resumes shouldn't matter. The capability to solve programs through an understanding of software-- which is often acquired without going through a resume-building path-- is what matters.


We agree, that's why our technical interviews are done blind without knowing anything about the credentials of a candidate.


Serious question though: what steps on good paths are there that you can't put on your resume?

You can totally list projects you've worked on, or some other stuff which isn't "MS in Comp Sci at Stanford"

I feel kind of the same way about resumes for hiring as you, but they're pretty good entry filters: if you can't be bothered to write 300 words (or, you know, reuse one with a slightly different intro), why should the company bother talking to you?

I think this is all part of the "avoiding false positives" mindset that comes with recruiting. Since recruiting people is really expensive!


Teaching yourself computer security by getting root on the servers hosting illicit torrent-sharing websites isn't exactly something you put on a resume, as a particular example.


Why not?


"This person is a criminal. Next!"


:( I'm disappointed in companies who are that pedantic about the law.

On the other hand, corporations are definitely all about risk-reduction.


I think the benefit of TripleByte is that they will help you find companies where you will perform well based on what they value in candidates, and they will (maybe?) help prep you for those interviews. You arguably don't have the time to interview at 10+ companies, so having them help filter it down to the 3-4 you are most likely to pass interviews with means you potentially have more competing offers with less overall time spent interviewing.

They may also be able to help you find companies you hadn't heard of that would be a good fit for you. Eg if you didn't know company x is hiring type y devs then the relationship could prove beneficial there as well.

That said, I hope they can start offering more value over time. For example, if TripleByte could not only tell you where you will succeed during interviews, but also help you understand how offers are likely to vary that would be valuable. Eg "company A would likely offer someone at your level $130-150k salary and y options, while company B typically offers more generous options, but a salary range of $90-110k". If your min salary is $120k, then this helps you prioritize where you interview based on what is important to you.

EDIT Editing to add that regardless, I don't think you are their target developer. Anyone who can get an interview with these companies is likely going to do just that, while people who cannot for whatever reason (new grad, no flashy names on resume, etc) are more likely to benefit from using a service like TripleByte or Starfighter where if they do well they almost guarantee they get to interview instead of sending out a resume and never hearing back.


That said, I hope they can start offering more value over time.

We currently do help with thinking through offer details. We've been building up a database of what offer ranges are and help people use these to value their offers (equity ranges in particular are opaque and tough to unpack). We do also get candidates ready for interviews by providing detailed feedback on how they did on our process (for many people this is the first personal interviewing feedback they've heard).

Longer term there are many more things we'd like to help with as we keep gathering more data. The one I'm most excited about is using data from how our engineers perform at companies over time to improve our screening process and make predictions about success at a company post joining, not just on the interview process.


I'm with you. This really just seems like another annoying step in the broken process that will add more pain.


I think the engineers that it is aimed at are the ones for which it will not add more pain: specifically, I gather that the entire idea is to have something that provides a useful input to a recruiting process (even if it doesn't completely replace, e.g., interviews, it ideally at least replaces coding tests in interviews with something simultaneously less tedious and more real-world) while actually being something interesting enough on its own to engineers that many of them, if it existed and wasn't tied to recruiting, would engage with it anyway for personal development and/or entertainment. (The name being a reference to The Last Starfighter sort of implies this: you play the game for fun, win, and someone drops out of the sky with a job offer doing what you were doing in the game, but in a non-game environment.)

Obviously, making this work requires both convincing hiring managers that it can replace at least some of the annoying technical parts of the hiring process, and developing engaging games that can engage, collectively, a sufficient pool of engineering talent. Sounds like the concern is that, to date, they may have focused too much on the latter and not enough on the former, but while that's a challenge, I don't think it has to be an insurmountable one.


This really hits the nail on the head. The problem with onsites is really the "quick prove to me you're smart" type of tests that both are time intensive and also very frustrating to a lot of people in that they're often calibrated with a heavy bias towards avoiding false positives with nothing to even track the amount of false negatives. Success with something like start fighter provides a reasonable benchmark for the latter which is in itself pretty valuable.

The thing to consider though is that it would be crazy to take a job without going in to meet your potential future coworkers. It's also a quicker and less unpleasant process (and more of a two way street) to try and make sure it's a good cultural match. Thus, solving a bunch of the problems with technical interviews shouldn't actually eliminate onsites, it should rather make them more effective and less awful.


I think one of the benefits is that it changes those onsite interview from something akin to "come in and we''l see if you are worthy" to "come meet with us and we'll mutually see if there's a good culture and attitude fit" since your skillset has mostly been vetted by that point.


It seems like the obvious answer is "if its not fun for candidates to do for no other reason than its fun, then starfighters will fail".


Your biggest problem is that I have read several quite long blog posts about Starfighter, and I still don't understand what it is.

I am a developer, I like to believe of above average intelligence, I'm your captive audience. If I don't get it, what are the chances the rest of the world will?


Have you seen their homepage?

https://starfighters.io/

"Starfighter is a recruiting firm that detects and introduces the best programmers on the market."

And to learn how they achieve it, see: https://starfighters.io/approach

And to provide some context as to why Patrick and Thomas are in this venture, http://sockpuppet.org/blog/2015/03/06/the-hiring-post/ (my all time favorite article by Thomas)

Hope this helps.


I'm confused as well. The description on their home page that you cite doesn't match the description they provide on the linked :

> Starfighter, if you're new here, is a company which makes fun engineering challenges that you can play online for free.

I can see how the two things would be related, but it's still confusing brand messaging.


Out of curiosity, would something like "play games, get hired" convey the message better?


It would if that were true, but you're not playing games and getting hired, you're getting your coding ability tested through a gamified vetting platform that will either thumbs up or thumbs down you to the actual company interview, where you'll have to be tested again.


Developers play games on this platform. The games are testing their technical competence. This info is passed/sold to recruiters. Hypothesis: If you are good at these games, you will be good at your technical job.


I agree. I know people love patio11's writing but... it's always such a long read that things gets obfuscated.


Couldn't agree more.

The length is always what gets me with everything he writes about. I really want to read it, but I just don't have the time. I'm skeptical of this type of communication strategy working for a product.


I think he can probably get his points across in half or 1/3rd of the length that he writes. His format of communication may be better suited to podcasting and talking than written. But ultimately, even with his drawn out writing, I derive good value from it by just skimming and speeding through it.


I almost wonder if that's deliberate. I don't think this is a spoiler, but there are times in Stockfighter where doing the reading is advantageous, ie "people who actually read docs should be rewarded".

A lot of my favorite parts of "playing" Stockfighter have actually involved going to a cafe, buying a coffee, and reading books like Flash Boys for a few hours.


Within the context of the game I 100% agree. A large part of being a great developer is being able to understand and abstract information quickly from a number of sources.

It's the verbosity of the marketing copy on their website that seems misguided though.


+1. My stream of thought is "it's some game and I guess trading is involved? Is this some sort of old school BBS game? Fuck, I have no clue.."


My explanation, having done some of the levels:

You know the myriad of websites with programming challenges and some kind of automatic assessment of how well you complete them? Well, its like one of those, but the challenges, rather than simple things like "write a Ruby program that consumes a series of lines on stdin with numbers and spits out a series of lines on stdout with the prime factorization of the corresponding input line" are things like "write a bot to interact with our stock trading HTTP and WebSocket APIs, that will make a specified amount of profit trading this particular stock within these particular constraints".


Step 1: read the API docs. Step 2: write an API client Step 3: Connect to a level Step 4: Lose loads of money Step 5: ??? Step 6: Profit! Note: I have not actually achieved step 6, but I blame a detour into learning C++ and wrapping a websocket client in R.


> I have not actually achieved step 6, but I blame a detour into learning C++ and wrapping a websocket client in R.

I always assumed detours like that (assuming you are referring to doing/starting that because of the game) would be one of the most useful benefits to playing. It forces you to have to explore areas that you might not normally get into based on your job and interests.


Completely, its been a lot of fun, and I surprised myself by enjoying reading the RFC (full disclosure, I always liked doing that).

That's what I'm taking it as a license to do. I mostly do statistics/analysis for a living, so building automated systems is pretty new (and fun) for me.


How'd you go with wrapping the websocket client in R? I've been putting together an R client and am stuck on how to do the websocket given the lack of R websocket libraries.


I think your best bet is wrapping an existing C++ library using RCpp[1] that will require some work but I hope not too much.

[1] I would have really liked that as I ended up writing all data to SQLite and then imported it to R for analysis. Not the most elegant solution...


That is exactly what I am (currently) doing. Its actually a little tricky because of the stream-like nature of websockets. Currently I'm just writing to a file, but ideally I'd like to use the R connection API. The issue with that is that there doesn't appear to be a Rcpp wrapper around that particular API so I may have to do that (or test my theories by just using scan to read from the file after using a c++ binary to write it (using system).

Its a dirty hack, but appears to work.

FWIW, websocketpp is the C++ library I'm using.


Maybe not the most elegant solution, but it could be worse: I wrote all the data to a csv file and then imported into Excel for analysis.


I think that's partially intentional: if you can't figure out what Starfighter is, you aren't the target audience.

That's not a criticism/snark. It's a self-selection strategy for Starfighter to attract appropriately-hacky candidates, albeit one I do not agree with.


I'd say less "a strategy" and more "an issue which we know we need to work on, eventually, but which is not crimping the funnel in such a way that it should be the #1 thing we have to care about right now."

Once we have a team of placement engineers hired and they're bugging me to send them more players who are interested in having career planning conversations, then I will prioritize making sure as many people as possible read one or two sentences of copy and slot Starfighter into their lives as a consequence of it. At the moment, though, lack of smart geeks to represent is not our problem.

For anybody in the audience who doesn't think our challenges are for you yet: no worries! There's an entire Internet of stuff you're not using right now. They'll be around (and hopefully improved) in 6 weeks, 6 months, or 6 years. No need to rush on any given Friday.


I think part of the confusion is because you call it CTF. I think Team Fortress when I hear CTF. I'd call it:

Stockfighter is a programming challenge where you try to beat a virtual stock market by writing code. If you can solve all levels, we might even have a real job for you.


> I think part of the confusion is because you call it CTF. I think Team Fortress when I hear CTF.

Yeah, CTF is a highly overloaded term, and while I gather its perfectly clear in the security space, its a lot less widely recognized, AFAICT, in the sense intended outside of that space.


I think outside of the security space it means there's a physical object you have to grab. Lay people imagining capturing things with flags planted might mentally connect to war movies where people fought over territory. So, I don't think this confusion comes from security community using it so much as it being used for something very different than it's usual meaning.

Hack the Stock Market or HTM sounds more like exercises involving hacking the stock market than CTF does. Or maybe HTS... Hack the System.... exercises for if Starfighter has other types of scenarios. Yeah, there we go. The phrase even lay people associate with these things.


"Hack the System" would be the perfect name for this. It's too bad that domain is taken.


It has to be a domain? hts.starfighter.io startfighter.io/hts http://www.hackthesystem.io/


I like recommendation. I was thinking it was a territory or plant-something-on-a-PC game due to capture the flag reference.


It is a simple concept but if you aren't familiar with CTF or the movie The Last Starfighter it can take a moment to put the concepts together as to what they are trying to achieve.

- create games/challenges that require programming and problem solving

- recruit individuals based on success in the challenges and related data points


Here's the response one of the founders gave me. It and the two links make plenty of sense:

https://news.ycombinator.com/item?id=11691737

Start from there then follow up with questions for further clarification.


I can second this comment.


I totally do not understand the reason for starfighters existing. Who is it aimed at? Mediocre engineers? Those targeting hedge funds?

First of all, as a boss, I would never hire someone from starfighters without an additional interview. Too many ways for one(s) to game the system. The current interview process may have faults, but it works out OK for the vast majority of the field. Are Ptacek & co trying to fix a problem that's simply not there?

As a software engineer, why would I even consider wasting my time with starfighters.io when I can simply go do as many traditional interviews as I want, with the top 10 companies in my field (that are also not using starfighters.io), get multiple job offers that I can use for leverage/negotiation, without having middlemen parasitize off of me. And this is exactly what starfighters.io is, a middleman. Historically, middlemen have been tolerated (yet always seen as parasites) whenever they ABSOLUTELY HAD to be there.

Ptacek's background is in computer security (Matasano). Rumor has it that whatever success they had came from consulting (penetration testing). The single product that they released that I am aware of, a firewall rule manager, didn't seem to go anywhere. One has to wonder what he's doing with starfighters.io.


As a software engineer, why would I even consider wasting my time with starfighters.io when I can simply go do as many traditional interviews as I want, with the top 10 companies in my field (that are also not using starfighters.io), get multiple job offers that I can use for leverage/negotiation, without having middlemen parasitize off of me.

Perhaps you aren't the target market. That doesn't mean the market doesn't exist.


> I would never hire someone from starfighters without an additional interview

This is the crux of my issue with the product as well. I'm entirely uncertain what a Starfighter candidate gets me as a hiring manager. I'm not going to blindly hire someone because they passed a few levels in an online programming game. The fact that the candidate is technically competent accounts for only 10% of what I test a candidate for in an interview.


A very reasonable and predictable attitude. Which raises the question: what does this get engineers, if it takes a lot of time and doesn't save any in the interviewing phase?

Personally, I hate resumes with the fury of a thousand winds. They say nothing important and decontextualize every important thing I've done in my career. But this won't help unless the Starfighter crew has managed to negotiate _something not so small_ with hiring managers who are skeptical of everything (it is kind of their job to be skeptical, sort of?).


Do you use contingent recruiters now? If so, how do they qualify their leads to earn their 20%? Do you think that that process is better/worse than the starfighter approach?


This also doesn't make a lot of sense for the candidate. Why do a ton of free work (a "game") if I'm going to have to spend a bunch of time in a technical interview anyway?


>when I can simply go do as many traditional interviews as I want, with the top 10 companies in my field (that are also not using starfighters.io), get multiple job offers that I can use for leverage/negotiation

But I bet many of the engineers you know hate collecting offers they aren't necessarily interested in, just to accumulate leverage (and honestly, to derisk the hire, create FOMO - "X has a competing offer from Y; I can see all the cracks in our hiring process, but I bet Y's is awesome!").

That takes precious energy. There's randomness in each interview. And lots of people hate current interviewing fashions (read any thread on the topic here). But engineers often love doing games & coding puzzles for fun - which proxy well to dimensions of technical aptitude.

Imagine this world: "As a software engineer, why would I even consider wasting my time with your technical screening process, when I can simply get as many role-fit discussions as I want, with the top 10 companies in my field (that are of course using starfighters.io), with my high score record that I can use for leverage/negotiation, without your boring programming-fundamentals interview wasting my days off?"

Can Starfighter execute on this? Probably too early to tell, looks hard to get started. But can you see the potential? I think I can.


As someone who is a programmer in finance, but not trading, it is difficult for me to wrap my head around this as well. If this is specifically targeting programmers and companies who are interested specifically in the trading aspect of finance, then I guess it could make some sense. I don't know, that isn't my world. But in the other areas of finance, things are heavily regulated. Both within the company and from outside. You want people with clean backgrounds (no history of financial issues/bankruptcy, no criminal record) who can write solid code to reliably transfer billions of dollars around the world on a daily basis.


Thank you for being so open and honest. A lot of people look up to you and I think it is a good thing for them to understand that one does not spontaneously become a patio11 and that the struggles continue on even after success (however that is measured).

I have some questions below, though I understand if you prefer not to address the topics therein.

> The components to this include an emulated AVR microcontroller, an emulated hardware device built out of three of those microcontrollers, a scratch-built C compiler, a scratch-built fully-functional debugger, and an in-browser UI to tie everything together.

I'd say you guys jumped into the deep end of the pool and your goals from a technology standpoint were ambitious, to put it politely. Do you think that you would have taken a different approach if you could do it over again? Did you have to invent these wheels or where there other options you could have leveraged to accomplish the same goal? Is the technology you are building part of your competitive advantage? Having seen in-browser consoles and programming environments, I just have to wonder what the advantage is of coming at the recruiting problem from a hard computing perspective. As a programmer, that is the way I would approach it as well, since that is where I would feel I am making the most impact, but that would simply be to make me feel useful and not to move the company along, necessarily.

Also, I detected a hint of discord in yours and tptacek's posts during and after your release. Would you say that the process has put a strain on relationships, even if temporarily?


Do you think that you would have taken a different approach if you could do it over again?

Oh goodness yes. If I had a do-over, I'd run a straight-up recruiting company with ~0 lines of code written for 2~3 months on the strength of our personal networks, figure out how that works, launch a single tech tree far closer in scope to e.g. Stripe CTF 3 than what we launched, fold candidates developed from that into the recruiting stream, then scale engineering and recruiting in parallel. Instead we went into hard-core dev mode for ~10 months to do something which derisked the business a lot less than being recruiters for a month would have.

Co-founder relationships are co-founder relationships. It's been a stressful year getting a totally new thing off the ground. I think thats a comes-with-the-territory sort of thing based on the reports of literally every founder I know; it is new territory to me. Maybe someday I'll write more about that, but for the moment, still have to figure out recruiting first.


First off, this is perfect.

  Do you think that you would have taken a different approach if you could do it over again?
  Oh goodness yes.
To founders, if you don't answer the question this way, you're not pushing yourself/your team enough. If everything is going perfectly right, be scared or get another job.

@patio11 [Unsolicited advice from a fellow founder]

> All three of us were working as recruiters for it, but Thomas and Erin were also full-time on development for Jailbreak.

Have one person own recruiting, which I'm guessing is you. That is priority number 1, 2, and 3 for you no matter how little you know/like it. It sounds like you learned this really well (we fucked it up initially as well — the dangers of all-technical co-founders.)

For other founders:

As an early startup, you have two goals:

1) Acquire users.

2) Build something users need.

You should always be doing something towards one of those two things. If you have more than one person in the company, there should be one clear owner for each. Set metrics that are just out of your reach. As J. Cole said, "If you don't aim too high, then you aim too low."

Do not stop doing either of those two things until either your sleep schedule is on fire (for goal 1) or your servers are on fire (for goal 2.)

Do not hire, talk to press, design a new logo, talk to investors, join a softball league, speak at conferences, or bring on a social media manager until shit is on fire. That's what product-market fit feels like.

Unless you are building a lifestyle business, you do not have a successful company until your small team is on fire. Then fire yourself from positions (via hiring) to put out the fires.


> Unless you are building a lifestyle business, you do not have a successful company until your small team is on fire.

I was a "founding employee" of a very successful company and I don't think I would have ever classified anything as being "on fire". I also slept 8+ hours a night because I like sleeping and never worked on the weekends because I like enjoying weekends. The company did well because when everybody came to work they were ready to come up with great ideas and execute them quickly.

I don't think your comment is complete off-base, I've met a lot of people who "play startup" and spend time doing things that aren't actually helpful to their company but feel like they are (going to conferences, perpetually talking to investors, etc). These people probably aren't going to be successful. However, it also isn't true that the only way to succeed is to ignore everything else in your life and devote yourself fully to your startup.

I'm not saying that you shouldn't work 80-100 hours at your startup if you want to. If that is bringing you personal satisfaction and you are efficient at it than more power to you. But that lifestyle is not a requirement for startup success.


I (personally) think there is a significant difference between a founder of an early-stage startup and employees.

The best equivalent is parents of a newborn. Do you get to not feed your baby to preserve work/life balance? No, because its survival depends on you. You do whatever it takes. That doesn't always mean working 80+ hours per week. Sometimes it means a vacation to preserve sanity, but there is a certain bar (and a high one, at that) for being a good parent.

Once things stable out, you can start to diversify your life. But until then, there are so many things constantly going wrong or unknown.

That may be an unnecessary pressure I put on myself, but my bar for starting a company is "all in." It's just too hard, with too small of a likelihood of success, to waste time half/90%-assing.


That's great if that belief motivates you to work hard on your company. Whatever makes you happy. Your advice just isn't as broadly applicable as you think it is. Companies never really "stable out." In my experience the bigger and more successful the company got, the harder it was. More people to manage, more people depending on the company's success, endless recruiting, etc.

The goalposts are always going to move too. You are going to think "oh, once we just get to this milestone everything will be great". Then you'll reach that milestone and you won't even care because there will be something new you want to achieve. Over and over again.

Companies are good at sucking you in and taking over your whole life. That is why the advice that the company must take over your life is so wrong. You should try to be in a softball league and force yourself to take vacations, because you are going to be more efficient and happier that way.

I wouldn't be surprised if the two biggest causes of startup failure are burn out and/or stress-related founder break ups. In retrospect, I think the biggest challenge in the early years of what ended up being a very successful company was staying motivated and positive through the 2.5-3 years it took to get any sort of serious traction. It's really hard to work at something for so long and have very little tangible success to show for it. Things that distract you from the sad reality and help you push through are your friends, not your enemies.


> you do not have a successful company until your small team is on fire...

One of the things I loved - positively loved - about the Starfighter team, is that when the servers were crashing over the Christmas holidays, there were times when the team said (paraphrasing, from memory) "We've implemented some fixes & done what we've can, but now we're going home to enjoy Christmas with our families and children".

I love that. It's not worth impacting your kid's Christmas just to keep your servers slightly more efficient. I certainly wouldn't want recruiters placing me with companies that would throw me into death marches. I feel the Starfighter team have quality of life in their DNA, and I trust that the clients they work with are handpicked to also be great places to work. Flip that too much & I think Starfighters would lose their value proposition, may as well try another recruiter.


See my reply to @birken above. I don't have a problem with them specifically prioritizing Christmas vacation. It was more a comment on finding product-market fit.

And to your point, quality-of-life is super important in the long term. When you're small and don't have money (not sure about their funding situation), you are default dead until you hit that product-market fit.


Ooh, I love that last sentence! You're right, vacation is one thing, but being profitable and never having to worry about money is also important to quality-of-life.


Thanks for the response.

I'm with you. Sometimes, as techies, we get caught up in the "how we do it" to the detriment of "what we do".

Whenever one of my team members comes to me with a question, I always start with "what are we trying to do here?", in spite of knowing what they are working on. It helps me with the context switch from my own work, assures me that they understand the task, and it helps me to make sure we have a good reason for doing what we do. I always look for a non-technical answer first. Few (lucky?) people get to work on technology for the sake of technology.


Totally agreed with your post-mortem. Classic mistake of a founding team: write version 2 of microcorruption, instead of first de-risking the business side (the headhunting business).


Aside: post-mortem is such a funny word choice for our projects, isn't it?


I've heard of people using postpartum instead. Lessons learned is probably the most popular alternative though.


Copying my comment from last time which went unnoticed:

https://news.ycombinator.com/item?id=11448323

Thomas and Patrick: First, I want to thank you for trying to address one of the most frustrating part of a developer's career.

As you know very well, after Silicon Valley, it's the finance companies in NYC area who pay top notch developer salaries. Even though I am a competent developer, it was quite a struggle for me to break in to the finance industry (They only wanted to hire people with finance experience). It took me a little while but I was able to break in. Now I am over that hump but I am faced with another problem. I have been working in 'Back office' for hedge funds for several years and would like to transition to 'Front office' and I am faced with the same problem again. I am not able to switch roles because I don't have experience working in the front office. The Stock Fighter CTF is a perfect way to demonstrate the relevant ability to prospective employers. Do you guys have any plan to work with hedge funds/investment banks for your recruiting platform?


Yes. Something like 90% of our client roster is software companies; most of the balance is finance firms. (There are some companies that are a bit of column A and a bit of column B.) Some developers are under the impression that we only work with finance due to the theme of our first game, but we care about finance like Blizzard cares about orcs -- it is a convenient backdrop on which to hang fun gameplay, stories, and a few pedagogical goals. (Mostly engineering-oriented rather than market-microstructure oriented, but if we totally change the tenor of HN HFT threads I will be very happy indeed.)

Many of our finance industry clients/prospective clients have, shall we say, more process requirements to adopting new vendors than typical software startups have, and rather less reason to trust that we know what we're doing. This makes the sales cycle longer.

Medium-term, I'd love for us to be a good place to get developer jobs in the finance industry. If you were hypothetically in a conversation with me today about opportunities constrained to finance (and not FinTech), I would not have as many options as I want to have, but I'd hypothetically recommend keeping in touch and/or waiting for consequential announcements later in the year.


Thanks for pushing the human element of recruiting forward. Instantiating the Recruiting post by Mr. Ptacek is perhaps the best good any small group of people can do for tech at this point.

That being said, I lost a lot of interest when it started seeming like finishing the game had a low chance of leading to anything. If your retrospective says, when we started, we should have only done recruitment and gotten that at 100% before writing any code, why is your near term plan to launch the low level tech tree environment, followed by the challenges? Shouldn't the plan be, oh, hey, let's put that completely on the back burner, and get like ten stories of employees who are comfortable with us telling where and how they got an awesome job?


I have two takeaways from this article:

1.) Your organization is in a rough state right now (for any number of reasons, some outside of your control), and you're likely to have more difficulties going forwards.

2.) You haven't successfully placed a single developer into a job yet even though forty thousand people have signed up.

Both of these statements might be inaccurate, but those were the main things communicated. I'm much less likely to open an account having read this, and I don't understand why new levels are being released when the recruiting pipeline currently seems like the bottleneck of the business.


I think the #1 issue this is going to encounter is that companies aren't going to trust it enough to hire top players blindly or with only a culture-fit interview, and most top developers aren't going to want to invest in finishing all the Starfighter exercises if it just means they're going to be put through the gauntlet again for each individual company they're put into contact with. (Certainly some top developers will still participate, just for the fun of it, but probably not enough to make it into a really sustainable high-impact business.)

I really love the idea, though, and I want to believe that with enough perseverance this issue could be solved. I think it mostly centers around trust. Starfighter just has to establish itself as an extremely reliable recruiting platform.


I am wondering why you are not selling your product for what it is. You have made a game/CTF engine/whatever. This is your expertise and what you have spent the most time on. Sell the game.

I don't quite get the recruiting angle. How is this related to the above other than the assumption that your game helps identify smart people? Leave it to other companies to approach you rather than you approaching companies.


"We're going to be stepping up our operational tempo as a recruiting company, rather than sinking back into the dev cave where we're comfortable for weeks at a time."

Without respect to whether this is the right move in this situation, which it may be, I'd like to point out that, as 'advice', this is suspiciously trendy lately. I can't count the number of times in the last month where I've had people who have never seen or used our product tell me that our product is already good enough, and we need to spend more time doing growth or sales stuff.


I finished all of the Microcorruption challenges relatively quickly (I'm on the first page of the "Hall of Fame"). Yet I have no idea how to approach the 2nd level of Stockfighter ("Choc a Block"). It's frustrating and I don't enjoy that game. Given that, I don't see how Starfighters could possibly place me in a reasonable role.


I felt similar. Especially since Patrick said that something like "the first levels of Stockfighters are so easy, most devs should be able to beat them in 5 minutes with cURL only". It actually took me three days to beat chop a block, because I couldn't wrap my brain around it.

Then I beat it, but more due to luck I guess, because my bot couldn't reliably beat it again.

Edit: What I want to say is: Don't get discouraged too quickly. If you enjoy it somewhat, it's kind of nice to figure out how to win :)


Ditto on the "don't get discouraged". I've gone through a few levels now and part of it has been perserverance (and sometimes a lot of thinking & sketching ideas over coffee).

The "5 minutes with cURL" comment is definitely offputting if you get stuck. Ignore it. Consider it a convenient lie that helped motivate you to start, but don't kick yourself over it.

As for the unreliable bot - many of my first solutions were something unreliable. Then I went back and improved the code's reliability / performance. Having a stroke of "luck" is usually just a first insight into what's going on.


Read the level instructions. They tell you specifically how to do it. Seriously, I barely knew what a POST request was and I can beat that level reliably.


It seems like there are 2 very simple metrics that make everything else pretty irrelevant.

For applicants - how many who "pass" get jobs?

For employers - how many positions did you fill?

I found it odd that the blog post intentionally left that out. Getting someone an interview is not a good metric!

And as someone who has spent a fair bit of time on both sides (it sounds like the founders have minimal experience actually applying for jobs) it is a huge mistake to interview serially. Companies take their sweet time getting back to you (weeks is not uncommon), and their initial offer is not as good as it could be. When they know that they are competing for a candidate, they are very quick to move on a candidate. This helps the whole "follow up" problem solve itself. While it might seem like it requires more mental bandwidth, it probably requires less. And customer satisfaction goes way up. For someone job hunting, every passing hour waiting for an outcome can be brutal.

Also, I am simultaneously impressed and confused by the technical investment. It's fantastic work, but doesn't seem like it is helping to increment #1 or #2.


In my experience with marketing two-sided marketplaces you need to focus your messaging / outreach around the more scarce asset, the "catalyst asset", let's call it.

The catalyst asset in this case is developers.

If Starfighter's system / gamification can actually identify incredible developers, that are also amenable to looking at job offers, the recruiters will be banging down your door.

Right now the Starfighter landing page is recruiter centric, the "For Engineers" and "Play Now" are low contrast menu items at the top.

Further confusing the issue for your catalyst audience is that your player-centric funnel is called Stockfighter.io and yet most of the mentions (including this one) are of Starfighter.

I think you'd get a lot of engineer's attention if you kept it as simple as "Play engineering games developed by experts. Winners get a better job."

PS - Considering how many times you guys have been / will be at the top of HN why don't you consider adding a "Try Starfighter. Get a better job." button to the right side of the blog as a call to action so all these lovely clicks aren't wasted?


The day we can credibly promise "Winners get a better job." we will have that exact sentence on our website, tended to by a team of people whose only responsibility is finding more players, paid salaries out of the stupefyingly large rivers of money that sentence implies. A pre-requisite to being able to truthfully say it is figuring out how to run a quirky take on a recruiting company.

Until we feel comfortable on that, we don't have to maximize for reach, and certainly don't want to overpromise. ("Come use our fake stock exchange. It may not crash! Some people find it intellectually interesting! There exists a non-zero possibility that you might have a fun conversation with a geek in which that stock exchange and your career goals will feature prominently." is about what we can promise right now.)


> Incidentally: should you ever go in to get a bank account at a Japanese bank, remember to edit your company's website to take the words I rob banks because that is where the money is. off your homepage prior to the initial customer interview. Irony doesn't translate well. ("NO NO NO, we're not bank robbers; we're a video game company! Honest!" "What, like Nintendo?" "... In a manner of speaking, almost exactly like Nintendo.")

This is hilarious. BTW the quote is really there - https://www.starfighters.io/ctfs.


Just a heads up to the Starfighter team browsing this thread: going to starfighter.io with uBlock Origin results in the job listings being blocked.

EDIT: it appears starfighter.io is different than starfighters.io.


I'm genuinely excited about a recruitment firm where the people can actually code. It's an industry that needs some skills, even just basic ones like calling back people that you said you'd call.

So often you get guys who have no clue talking about things they don't understand, deciding who gets to apply where. This is terrible for both employees and firms. They also charge way too much money as a middleman. No way it's worth 1/4 of a salary to filter a list of candidates. Especially when you just do it by the staircase method. That's the one where you throw the pile off a staircase and choose the ones on one step.

I really hope recruitment doesn't turn you into douchebags. Here's some choice tactics I've come across:

- They call you, the employer, with the perfect candidate. Guy checks all the boxes, top degree, top employment history, looking to move for more interesting work. Half an hour before the interview, he cancels. But luckily the recruiter has some other guys available, and why not talk to them since that time is booked anyway?

- They call you, the employee, saying one of your colleagues is leaving and mentioned you. He's got a top job lined up, just send your CV. (Why bother harvesting CVs though, if you're gonna do like in tactic one?)

- They bomb your LinkedIn with an employee's CV. Your LinkedIn say nothing about you wanting to hire, or what technologies you use.

- They put out generic ads to get CVs. Not real jobs, just imaginary jobs.

Anyway, I'm hoping there's going to be some real value added from you guys.


The last few months have been an interesting mix of learning empathy for some of the pathologies of the recruiting industry and being absolutely slackjawed amazed at how bad some players [edit in response to reply: meaning, actors in the recruiting industry] are.

An example of the former: I now totally understand why recruiters frequently forget elementary facts about individual candidates or jobs. They're often juggling multiples of both at once, at numbers which overwhelm the working memory of almost any human, for weeks at a time. I had a very nice conversation with (making up facts) Cindy the Pythonist and Sandy the front-end engineer one Tuesday, minutes from each other, and three weeks later had about twenty minutes of the conversation with Sandy go by before realizing that I was giving her advice for Cindy's situation, to her amazement. I do know that React is not made of Python, and I've recently shipped a retail stock trading site built in it, but from Sandy's view of the conversation it probably sounded like I was scatterbrained, incompetent, or scatterbrained and incompetent.

I thought I could fix this with better notes or a database, but I think it has to be fixed with process improvements, because the amount of task-switching I was doing was making it impossible for me to keep each of the X0 stories I was telling straight.

I don't anticipate us adopting lying as a business tactic. Telling the truth seems so much more straightforward.


"being absolutely slackjawed amazed at how bad some players are"

Can you elaborate on this? Were the results you're talking about just flat-out "I can't code FizzBuzz" or something else?

Personally, I created an account, started reading the directions, then realized I had no interest in the problem domain and decided to wait for the next one. It helps when the problem gels with you. I wonder if that had any role.


Sorry for imprecision -- I meant "players in the recruiting industry", not Starfighter players.

It is probably the case that at least one person who can't FizzBuzz has signed up for Stockfighter, but it's highly unlikely that I end up talking to them regarding career options, and even if I did I'd phrase things more like "OK, so you've got a fun couple of years ahead of you; let me recommend some resources for learning more about programming" rather than being contemptuous of that. Our industry does way too much of that; no need to add to it. Plus, we intend to be in business in 3 years, and even starting from "can't Fizzbuzz" if you're dedicated you could be a really interesting person to try placing in 3 years, so I'll happily spend a few minutes buying a call option.

(I guess that's closer in actual practice to a put option, as I'd be selling the candidate's availability rather than buying it, but you get what I mean by the joke.)


> I think it has to be fixed with process improvements, because the amount of task-switching I was doing was making it impossible for me to keep each of the X0 stories I was telling straight.

Please write up and publish any hints you come up with!


I remember this thing from back when it was launched. I only solved like 3 levels, but I did it entirely in Lisp. Which brings me to the following observation: since there's no way to see the source code, it's not possible to check if the person legitimately solved the task or just used somebody else's code.


your source code is checked on the last level


Interesting. I must have misread something early on because I thought Startfighter was launched to improve recruiting of coders and stuff. I didn't know about games and such. Does that factor into recruiting or is there a nice post showing exactly what it's about? Tptacek?


This is our perpetual messaging conundrum: are we a game company or a recruiting company? Yes.

When we talk to our clients, we're a recruiting company which uses online challenges to a) source and b) pre-qualify very good engineering candidates.

When we talk to engineers, we're a company which makes fun engineering-y things you can do on the Internet. (Hack a stock exchange through it's REST API! Code a market maker! Buffer overrun a C program running on an AVR microprocessor to corrupt a FIX message to steal a billion dollars!) And we can also, potentially, introduce you to a job if that is interesting to you. Our estimation is approximately 95% of our users are not in the market for a job at this exact moment in time.

You can see the two-sided messaging on our website:

For companies: https://www.starfighters.io/approach

For engineers: https://www.starfighters.io/players


I understand the trading game aspect and the recruiting aspect... but then why is it called 'Starfighter'? That name doesn't seem to be related to either and makes the think there's some third aspect I don't know about.


Let me try this one cuz I was hoping tptacek and patrick were cool enough for it to be true:

https://www.youtube.com/watch?v=H7NaxBxFWSo

They used a game to recruit warriors to protect the galaxy or universe or something. Lost with my memory. I remember loving the movie when I was younger. Gotta rewatch it some time.



Ok, so I wasn't crazy thinking there were two companies with the name haha. That's a very interesting approach to talent selection. Sounds like an evolution over the programming puzzle's in interviews except not a waste of time or stressful. I like that you make it fun and extremely relevant to security skills at same time. Extra props for the Bobby Tables reference.

Thanks for the answer!


> Yes

Which one pays the bills - or will pay them?

Given this: https://news.ycombinator.com/item?id=11692083 I'm kind of curious how you guys - who have a boatload of startup/bootstrap smarts - managed to go off "into the weeds" of geeking out on the tech and ignoring the company's business. If you want to talk about it, of course.

Good luck in any case!


Meanwhile starfighter.io points a job search page which shows jobs from indeed.com...


"This site can’t be reached" right now.

Interesting - I can ssh to a server of mine and read it.

So maybe it's getting blocked by the firewall here. If that's happening here, perhaps it's happening elsewhere too.


Confusing, at first I thought this was about the F-104 Starfighter, than I thought it was a new science-fiction computer game but I never thought about a recruiting firm.

I hope I'm not alone.


Question to the proprietors: How would you prevent proliferation of solutions to levels on github, etc, as has happened with Thomas's cryptopals challenges?


How many users have you folks gotten to register?


Only about ~40,000 or so, but I wouldn't pick that as one of the top three metrics I'd be interested in. It's like hits. I don't even know how many hits we've gotten, and frankly no answer to that question matters to me.

(Good candidates for metrics that I should be worrying about might be "number of players who hit our internal bar for outreach", "percentage of that population who would like Starfighter to give them options", "count of successful placements", and "revenue." You'll understand if I don't publish a /stats page with those numbers updated in real time, even though the thought certainly crossed my mind a time or three.)


I was looking for the most important metric in the article - how many jobs have you filled so far?

I have limited bandwidth for free-time coding, and anything has to compete with my own side projects and "list of things I need to learn/revise to keep head above water in notoriously mercurial industry".

If I were to invest time in Starfighter, I'd need to know that, assuming I do my part and finish the game with a reasonable score, that a) it will land me an interview and b) it will do sufficient pre-vetting of my skills so that the interviewer doesn't need to throw whiteboard curveballs. If I saw some kind of metric on job placement I might think it's worth spending time on. Otherwise my time would be better invested in improving my Github profile and resume and building my network.


Totally reasonable, though a couple of those things are not metrics you mentioned but measures of potential market.


@patio11 Do you play starfighters? How do you ensure that the product is fun for the end user?


Blog post is crashing my mobile browser: chrome on galaxy S5. Anyone else having this problem?


Hmm that device is modern enough, latest Chrome version? Any plugins?


Most recent chrome. No mobile plugins (that I know of). Coming back a day later (after a reset) the site is slow to load and scroll, but is not crashing every time.

Maybe just the forum webapp (Discourse) that is just too heavy for mobile like aeorg mentioned.


Weird, the Galaxy s5 should have enough power to run modern JavaScript apps. Have not seen this reported elsewhere in the network.


It's Discourse (forum webapp) and I suspect it's a rather heavy site for mobile devices.


Another website that can't just display some html without javascript...


[flagged]


Personal attacks are not allowed on HN. Please don't do this again.


Uh, so how do I point out that the guy is a fraud? Did you read the whole sentence?


Any competent developer I would like to hire would be spending time building stuff with their skills instead of playing games with it. No disrespect to the players, but just saying if you're good at something you should use your gift to produce something useful instead of using it to consume what someone else built.


Hey now! :)

Tinkering with things is a fantastic way to learn. And a desire to tinker for the sake of understanding is a really good tell for a smart problem solver.

Every job I've had has been because I played around with some technology for fun, and then ran into people who had a need for it.

Playing with code can also be relaxing. In my normal work, the code that I write needs to be reliable, maintainable, and performant. Buy playing stockfighter is a way to have fun without the burden of any that. I can do really stupid stuff, just for the joy of it. Heck, I hooked up a spam filter to one of the levels and won. Or built a minecraft stockfighter hologram visualizer.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: