35 ms·
My startup failed, then I found out I was unemployable
- shams93 6y agoIf you burn out 45 its not so sweet after working 140 hours a week for 40 hours pay im homeless and keep being denied help.
- _0o6v 6y agoThis was a good read. Many tech companies (and some non-tech companies) talk the talk about hiring from a diverse crowd, then interview them as if they're all CS bros (reverse a tree, "justify the text" bullshit leetcode nonsense, 8 hours of interviews), the exact kind of stuff that people from diverse and non-traditional backgrounds don't know and don't care about.
- mylons 6y agoLeetcode interviews _are_ nonsense, but not even preparing for them as they’re the predominant format, is just showing a lack of preparation.
- sneak 6y agoThis is how you make it worse for the next person. Life is too short to engage in nonsense unnecessarily.
- mylons 6y agoI don’t disagree. You can choose to interview at places that do not perform these types of interviews.
- jabedude 6y agoI agree, but I don't think this is a place where it is fair to expect developers to "vote with their feet" and not participate in these interviews. The companies who do data structures and algorithms interviews seem to pay the highest in the industry
- slumpt_ 6y agoYou have to pay a lot (+ a lot of perks) to get folks to tolerate the amount of bullshit you put up with at a FAANG. There is a world of other more enjoyable and educational opportunities out there they must compete with. And so the cash shovel must be pulled out. People vote with their feet, and then a new generation of fresh grads are lured by the pay to fill their role. They’ll grow sick of it in a few years, rinse and repeat.
- BiologyBum 6y agoJN
- hrktb 6y agoArguably you have a chance to change things from the inside once you’re in. I know it’s not a good advice in general, but regarding recruiting in particular, it’s a more realistic proposition.
- lisper 6y agoSocial signaling is too important not to engage in "nonsense" on occasion. Geeks resist this, thinking that their special flavor of technical knowledge, which they alone possess, should transcend a million years of evolution that produced monkeysphere dynamics. The situation is laden with all manner of irony.
- sneak 6y agoThis is a straw man: choosing not to work for fools is not opting out of social signaling. If you know how to program, you have lots of options.
- lisper 6y ago> choosing not to work for fools is not opting out of social signaling. That depends entirely on how you choose to define "fools".
- filoleg 6y agoAgreed. I am quite ok with being a "fool", if it means working for a FAANG tier company and collecting FAANG tier compensation. I am not going to disadvantage myself by refusing to participate in this on some questionable principle. While I agree that Leetcode-style interviews are not the overall best, I am yet to come up with an alternative that addresses all those issues without introducing massive new ones. So it is a compromise. And as long as this compromise stands, I am fully intending on getting the most out of it.
- andreilys 6y agoLeetcode prep is still better than spending hours on a take home assignment where the work often doesn’t transfer to other interviews. Personally I think 6 Leetcode interview loops is better than 6 take homes, but that’s just me.
- AshamedCaptain 6y agoExactly. Does anyone think that even "non-self-taught" programmers may remember off-hand "how to reverse a binary tree" ? Interviews require preparation. They may be terrible selecting interview questions, but neither that nor being "self-taught" are valid reasons to claim "you can avoid preparing this interview".
- unilynx 6y agoThat's what I wondered about too.. OP knew about HN but hadn't picked up about how interviews apparently work at a lot of companies nowadays - the whole 'leetcode' stuff. Never had to deal with that, but heard plenty about it after just couple of weeks lurking on HN. Ah well, probably goes to show that everybody picks different threads/posts to read
- mylons 6y agoIt also might show some professionalism and interest if the interviewee were to ask “what kind of interview can I expect such that I can best prepare?”
- Alex3917 6y ago> not even preparing for them as they’re the predominant format, is just showing a lack of preparation. Why would you spend six months preparing for them when you could build and launch an entirely new product in the same amount of time, which has a much higher expected value?
- mylons 6y agoI don’t disagree. The author’s stated objective, though, was to find a job and went through this process willingly.
- bootwoot 6y agoDoes it have a higher expected value? If you land the job, you have a guaranteed, pre-specified income. Probably a high one, depending on the company. The massive risk of failure with launching a product should dramatically lower the expected value. Especially since most products, even if successful, won't pay as well as the corporate job.
- deleted 6y ago[deleted]
- compiler-guy 6y agoThe author had failed at launching two different products over the past few years, so it isn't a gimme at all.
- porb121 6y agoYou must be some incredible entrepreneur for that EV to be much higher. Strong leetcode skills print money with far less uncertainty than starting a company.
- de_keyboard 6y agoThey are testing your ability to jump through arbitrary (and sometimes challenging) hoops.
- msoad 6y agowhich sounds similar to working on a large system, doesn't it?
- sidlls 6y agoNot really, no. At least nowhere I’ve worked. Currently I work at a company that recently went public and operates near FAANG scale. There are some interesting technical debt issues to overcome and these are challenging. But they’re not arbitrary or capricious. Most importantly they’re not correlated at all with our interview questions, which are designed to select people with recent exposure to mid- and upper-level textbook CS problems. That is, they’re going to naturally select from privileged groups (generally white and wealthy Asians who have attended top-tier universities).
- pankajdoharey 6y agoI dont agree many of the word problems on Leetcode i.e simple and medium dont even need you to read a datastructure or algorithms book, what is required is some good logic and basic knowledge of a language. Then its just the way you approach the problems so they are actually very good problems and will definitely make you think better, clever and maybe just maybe make you a better programmer. It is more like solving math puzzles in school, no one can deny the usefullness of those math puzzles in making you think hard.
- gedy 6y ago> "is just showing a lack of preparation." I think that puts a negative tone on people with other degrees than CS, even if they have good software experience, or are older with life commitments. Jobs and interviews in past did not ask this stuff, yet it's now implicitly considered prep. It's biased towards new CS grads and young folks. Many/most? companies needing devs do not use/need these CS "fundamentals", which do not automatically correspond with tech skills needed to do product development, at least in SaaS world.
- hiq 6y ago> as they’re the predominant format Are they? I often read this on HN, but I'm starting to wonder if there's not a selection bias that's even bigger than I expected. Beyond the usual suspects, I've had more coding assignments for instance.
- kache_ 6y agoYou do not need to be a CS bro to learn the basics of data structures & algorithms. If you're a self-proclaimed autodidact, couldn't you just learn it yourself? Of course, hnewslets who get filtered by such interviews will come downvote in force.
- notacoward 6y agoThe basics? Yes, certainly. The hyper-specific bits and pieces that show up over and over again in interviews? Not so much. Those are selected because they can fit into an interview time slot and be graded consistently despite widely varying skills among the interviewers. A lot of important and interesting algorithms are too complicated for that, but knowing them is no help in an interview. Mostly those interviews test for recent exposure (either from being a recent grad or from having the luxury of spare time) which is not strongly correlated with ability to perform the job itself and can even be considered discriminatory.
- porb121 6y ago> The hyper-specific bits and pieces that show up over and over again in interviews One would think the same topic showing up "over and over again" would make it easier to study for interviews
- Apocryphon 6y agoThe reoccurring problem set being finite does not prevent it from being large, or costly to prepare for in terms of time.
- NeutronStar 6y agoWhen's the last time you had to reverse a tree without the help of the internet at your current job?
- everdrive 6y ago>CS bro >self-proclaimed autodidact >hnewslets This really isn't a place for lazy, ad hominem attacks.
- jan_Inkepa 6y agoOTOH this is standard interview-curriculum stuff that people can prepare for, which is fair in its own way. Moving away from this can also put people at a disadvantage because it makes it harder to know how to prepare for interviews. (I say this as someone with a weird background/employment history who'd be at a fair disadvantage in many respects if they had to get a normal job - but I know I can get a bit of normie cred by brushing up my algorithms at least...)
- k_sze 6y agoI would argue that “preparing for interview” is exactly what’s wrong. Nobody should be “preparing for interview”, especially the really hardcore technical kind of interview, unless the job itself really is about hardcore technical stuff. Most of the time the job isn’t hardcore technical stuff, and so the performance during interview has zero correlation with performance on the job.
- MattGaiser 6y agoTo me the really bizarre thing is that I so rarely talk about things I have actually done in interviews. Even for system design ones, I am often repeating information out of a book that I read as that is the correct theoretical answer. I suspect you could teach someone to pass a lot of tech interviews without them ever building a production system.
- guitarbill 6y agoYou can teach that. You can even pass most tech interviews without having ever touched version control or knowing how to use it. Maybe that's an easy thing for candidates to pick up once hired, but then so are algos you never need in day-to-day programming (like sorting), because you can simply look them up should you ever need to implement that. It's all a bit broken. Best method I've seen so far is to sit down with candidates and pair on some code, and it's still got issues.
- ionwake 6y ago
- bajsejohannes 6y agoUnpopular opinion, maybe, but: I don't really get why "reversing a binary tree" seem to be used as an example of what's wrong with hiring. I will say, though, that if someone said "how do you reverse a binary tree?" I would have asked the follow up question: "what do you mean by that?". If asking that would be used against me, sure, that's bad hiring. But if the answer is: "swap all the left and right nodes in a binary tree", then... isn't that pretty basic programming?
- tfehring 6y agoIt's funny, I've heard "reverse a binary tree" as the canonical coding interview algorithm question for over a decade and I've never stopped to think about what it actually involves. But I just Googled it and it seems like you're right...and yeah I feel like if you know how recursion works and you know what a decision tree is, it seems like a pretty trivial question.
- UK-Al05 6y agoIt's a common joke interview question. I don't think anyone has acutally asked it? I find high end jobs tend to ask some form of problem that can be tackled using dynamic programming techniques. Maybe couple of easier ones in the first interview. I agree with most people. I never use these skills in the job. I think they're a intelligence test in disguise.
- tfehring 6y agoOh, if it's just a joke that went over my head then that totally makes sense! Though in fairness there are apparently-serious interview questions that are even easier (e.g. FizzBuzz, though I don't think anyone asks that anymore either) and I've been asked interview questions that aren't much harder. I mostly agree with your impression, though even after adjusting for intelligence I bet there's a positive correlation between knowing how B-trees work and, say, having a good intuition for how to index a database.
- pokler 6y agoFor me, the 'reverse a binary tree' question goes back to the creator of Homebrew being rejected from Google for not being able to answer that question: https://twitter.com/mxcl/status/608682016205344768?lang=en https://twitter.com/mxcl/status/608682016205344768?lang=en
- andreilys 6y agoNothing is stopping people from diverse and non-traditional backgrounds from learning DS&A, and spending a few weeks practicing Leetcode. It’s not some arcade high art, it’s quite accessible with lots of great learning guides. If you choose not to play the game, your pool of potential companies will be quite limited.
- criddell 6y agoI've always wondered if these companies have data to support their hiring routine or if it's just a filter to convert an overwhelming number of applicants into a pool that's manageable? On the other hand, reversing a tree and problems like fizz buzz are pretty low bars...
- jkhdigital 6y agoOf course they have data, but there are an infinite number of possible interview strategies and the current approach is at best a local maximum.
- chrisdinn 6y agoTo piggyback on this solid comment, a lot of times it’s us engineers who can fix this. I sat on L5 hiring committee at Google for a while and I really believe what diverse-background candidates need is more support at HC. I could sell these candidates to the committee often, with minimal effort all they needed was a champion at committee. That can be you, dear reader, at many of the big tech companies. Mostly HC is a ton of work (eg read 8 full interview packets a week) so if you express an interest and are a decent interviewer you’re likely to get shot at it and you can make a real difference.
- freyir 6y agoLeetcode interviews are exactly how I, as someone from a non-traditional background, got a job at a tech company. I didn’t need to know 4+ years of CS curriculum, which I never would have learned on my own. I just needed to spend some time learning algorithms and data structures, and practice using free resources on the Internet. A pretty good deal for non-people who didn’t study CS in college. In fact, someone who studied CS in college might be slightly miffed that they offered a job to an outsider like me just because I practiced data structures problems in my free time.
- dcow 6y agoI honestly didn’t really think it was all that interesting a read. Author burned out developing new products after an angel round “ruined” their company. Author wouldn't work at FAANG for “idealogical” reasons. Author doesn't know basic data structures and algorithms and applied to companies that index on that type of skillset. Author’s tool belt is Windows and they’re looking to join macOS shops. It’s a string of poor decisions/planning followed by an unproductive rant. I don’t particularly like leet code style interview questions either, Author could take a few months and brush up if they’re a proficient engineer or if they’re really opposed then pre-filter companies based on their interview style. Author could find a corporation outside of FAANG that isn't idealogically abhorrent. Author could look for windows shops. Author could consult (sounds like they’ve been successful with this approach). I suspect the author just isn’t that great of an entrepreneur and tried to pivot into a high paying engineering role they just aren't really qualified for either. I agree about the SF observation at the end. If SF culture isn't working for you then explore elsewhere. I wish more people realized this before assuming they need to be in the bay area to be successful. It’s a pretty limiting and potentially damaging assumption and I’ve seen people get super distraught about the idea of being anywhere else because they drank all the VC urban tech hub cool-aid and are just starting to come down.
- commandlinefan 6y agoI couldn't help being struck by "I needed to take a break and get over my burnout." Must be nice... I've been continuously employed since 1992 because I've had no choice but to be continuously employed since 1992. Burned out or not, the bills don't stop coming: if you're in a position to "take some time and focus on yourself" in between jobs, you're in a very fortunate place.
- deanmoriarty 6y agoAre you in a software engineering job in the US? If yes, how is it possible that you couldn’t save enough in 30 years to take a break. Feel free to ignore if the answer is no.
- 6y ago
- lumost 6y agoI learned CS fundamentals after graduating with a non-CS degree. It was hard, but I enrolled in a few classes through Harvard Extension School which provides access to Harvard classes to anyone and self-study. CS fundamentals have a big impact on the kinds of programs that individuals can write. Asking questions to show that a candidate can write a DFS, leverage multiple data-structures, or do X helps ensure that the individual is capable in this regard. Even for experienced candidates with lengthy portfolios you may find that someone drifted into an operational, management, or product role and has forgotten how to effectively program. However, the format of the whiteboard interview is awful and if one doesn't practice for it it won't turn out well. I'd love for there to be an alternative, but the other options all have their own cons. 1. Take home tests/projects - Requires the candidate to invest time which they may not have. - At scale this process is easily gamed. 2. Github projects/portfolio review - Many candidates don't have time to work on open source - The median github project has a low code standard, and is usually made for the purpose of learning something new. 3. Pair coding - Many candidates hate pair coding, personally if a company mentions that they do this in day to day work I will not work for them. - Difficult to calibrate. The only alternative I've seen is a "functional interview". Where the candidate is given sample code reviews for standard applications or a broken program to debug.
- guitarbill 6y ago> CS fundamentals have a big impact on the kinds of programs that individuals can write Sadly, there seems to be very little correlation though. I've known programmers who graduated from a top CS school with extremely strong CS knowledge, who still write barely comprehensible code. And vice versa, people who have never been taught big-O, but who write the most maintainable, well-reasoned code I've seen. Most programmers aren't building e.g. databases, but writing software that provides business value. Take home tests can be ok, as long as they are limited in time (<2h). I was adverse to pair coding, but found it to be not as bad as I thought, unless it's 100% pairing all the time. Well, whatever the solution, I think anything that's closer to what day-to-day work at a company looks like is going to give richer feedback/signals than whiteboarding.
- 6y ago
- motogpjimbo 6y agoI'm not necessarily agreeing with FAANG hiring practices here, but your comment is a classic example of the "racism of low expectations". Arguing that candidates who are "diverse" can't pass the same tests as a "CS bro" is no different from arguing that voter registration laws are racist because black people can't afford the internet, phones or cars to get registered. You're revealing quite a lot about what you think about "diverse" people without intending to.
- _0o6v 6y agoPlease don't lecture me about what I do and don't think, thank you.
- Bukhmanizer 6y agoI disagree completely. As someone from a non-traditional background, I think CS interviews dramatically increases the opportunities for me. I can’t change my background, but I can prepare for coding interviews. I can’t help but feel that people who think otherwise have never worked in literally any other field for any amount of time. Like it or not, you have to narrow down any candidate pool to like 1% of applicants before doing any sort of in person interviewing. Most places do this by only hiring people with degrees. If you’re talking about a job that’s going to pay as much as a software engineer, you can probably get away with only hiring people from elite universities, or who have connections within the company. Frankly to me the author comes off as arrogant and entitled. He feels he shouldn’t have to prove his worth because... he ran a failed startup? Then when his friends give him a job, literally the definition of nepotism, that still isn’t good enough? What does OP want? A system where only the best jobs are gained by nepotism?
- dnissley 6y ago> the exact kind of stuff that people from diverse and non-traditional backgrounds don't know and don't care about This attitude is condescending towards those that come from diverse and non-traditional backgrounds, most of whom are perfectly capable of learning and developing an active interest in these subjects.
- mylons 6y agoI read the blog, and see it as a failure to prepare on the author’s part. I HATE the software engineering interview process, but like any good engineer I do some research and prepare. I have to re-learn the graph algo implementations every time I interview for a job that has that kind of process. The author seemingly did not study for something they could have been prepared for.
- jlund-molfese 6y agoWhile the digital nomad lifestyle is attractive, I'm always bemused by people on HN who are concerned about burnout, but also don't even seem to consider the non-coastal US. It's a less drastic option than leaving the country entirely. A lot of the annoyances with SF companies just go away (of course, there are new problems too). Nobody will ask you to implement a red-black tree from memory, you can consistently work under 40 hours a week, and interviews are more focused on behavioral questions and project experience. If you're ok with a salary in the low 6 figures, it's really not bad.
- sneak 6y agoA lot of US coastal people grew up in the non-coastal US. The cost savings are there (to some extent) but we left there for a reason. Leaving the country isn't "drastic": 96% of humans live outside of America.
- optimiz3 6y agoDid those 96% of humans leave their home country or previously live inside America?
- viro 6y ago> 96% of humans live outside of America. Do 96% of English speakers live outside of America tho?
- cies 6y agoNot leaving the country is "less drastic" (OP's words) than staying, especially for USers. > we left there for a reason. Yups. So did immigrants who came from outside the US now living in the big coastals.
- kaiju0 6y agoA guy with a proven track record of delivering on a deadline and he is getting passes. The thing that would make the most sense in this is they saw he would not be happy in the roles he was applying for.
- jgrowl 6y agoThis is what I would assume too. I remember sitting next to a manager's cubicle at GE and hearing him discuss candidates. He would say things like, "Wow, this guy applying for this entry position has a PhD, he definitely would get bored and leave quickly." These places just want to fill seats at max capacity and turn over just means more work.
- not_kurt_godel 6y agoDelivering what exactly? Half the article is how he failed to deliver on a startup and a game...and then failed in interviews too.
- newbie578 6y agoUnfortunately this is the "dark side" of entrepreneurship, and people show be made more aware of it. We all love to open HN and read the new PG essay and dream "I am the one", but the odds are not in our favor. The extreme survivorship bias also doesn't help. But honestly, I don't know what the ideal solution is. Even though I read stories like these, hear all about how the odds are stacked against, how difficult and hard it can be, I keep wondering a simple "What if?". I guess you could say that there can be a 100 reasons not to do something, and yet one good reason why is more than enough to offset the 100 bad ones.
- officehero 6y agoI think one also has to be a little bit "crazy"/"idealistic" as a person to be a real entrepreneur. As a realist (coder) in a tiny startup I know I could never run it like my CEO. He may not be the smartest guy but man does he have belief in the idea. If I were in his shoes I would have given up 1 year ago and bankrupted, but he kept investing his own money and now he might actually get it sold for big cash.
- xwdv 6y agoI didn’t see anything saying that the author had a CS degree. I’ll be frank, we get a lot of applicants with no degree who claim to be “self-taught”. Because teaching yourself isn’t really accredited, self taught can mean anything from a genius level programmer who was too cool for school and cranks out amazing stuff, to some bootcamp grad who read some stuff once and went through some tutorials and thinks they’re now ready to start touching our web scale systems. It takes too much energy to sift through the bullshit and in the end the ROI isn’t even worth it because we don’t need a prodigy we just need someone who we can trust to do decent work. A CS degree isn’t hard to get in the grand scheme of things, and not getting one is basically the equivalent of burning your boat and going all in to whatever alternative path you choose, because if you fail you’ll just end up unemployable later on.
- EMM_386 6y agoWhat about people who went to college for something else but have been programming for many years professionally and have absorbed vast skill-set? If the degree on the resume puts those people into the "pass" bucket automatically, that is the wrong approach.
- xwdv 6y agoThink about it. 20 years ago? They were hired in simpler times, when people weren't even sure if the internet was going to be a big thing yet and if anyone could even make money off of it. That probably wouldn't fly as well today or going forward as the field matures. Get your CS degree.
- whatshisface 6y agoGiven that we can expect a rising degree of risk adversity and narrowmindedness as the tech industry ages into something resembling other major industries, it would probably be a good idea for the readers to take xwdv's advice even if they disagree with the ethos behind it.
- lostcolony 6y agoIf having an unrelated degree on the resume puts those people into the "consider" bucket automatically, that is also the wrong approach. To be honest, I can see requiring a degree for certain positions. But given the work most software devs are doing, I'd be happy to consider 4 years work experience. The number of times I need someone to invert a binary tree so far is 0, but the number of times I've needed someone to build some basic CRUD functionality following a UX spec is too numerous to mention. I don't need my degree to do the latter; I don't need to hire a degreed person to do it either. And even things that a degree might help with (recognizing an O(n^2) implementation when an O(n) is available) are lessons you can learn pragmatically by doing (i.e., having senior engineers point out issues in code review).
- npsf3000 6y agololwhat. Runs startup. It fails. Makes a game. It fails. Fair enough, those things are really hard to do. Gets into tech interview, asked a question he doesn't know the answer to and DOES NOT RESEARCH THE ANSWER FOR THE NEXT INTERVIEW? Now I'm starting to understand why the startup and game failed. Sure, reversing a tree is arbitrary. However, when there's a 6 figure job on the other side of that arbitrary line... it's probably worth learning.
- pankajdoharey 6y agoI felt the same for a long time till i started solving leetcode problems, what he really needs is to solve a lot of problems on leetcode instead of writing this blog.
- Andrew_nenakhov 6y agoChange the strategy. These days, HR people are hunting for deveopers of any kind. Make yourself a nice LinkedIn profile, put all the correct words there, DO NOT emphasise that you are currently unemployed... ... and when the inquiries will inevitably come, just politely reject doing interviews with code questions, etc., and turn on the offence! Ask them yourself about the task and if it might interest you enough, so you will be motivated to work on it. Your ideal interview should be more about THEM, not about YOU. It might take a while to master this skill, but used right you can totally dominate the interview process and hire yourself into almost any company which is desperate for developers.
- m0llusk 6y agoNo, they are not. The whole reason there is a perception of a lack of developers is the screwy criteria and process applied to applicants. I'm a developer with more than 30 years experience including some well known products from big companies. The same is true of my circle of friends but only two still have traditional tech jobs. The rest have gone independent out of necessity.
- camjohnson26 6y agoThe biggest mistake people make when I give a coding question is not asking for help, even though I always tell them to treat the question as collaborative and use me as a resource. While I’ve been on interviews where the company expected me to code with no help, usually the culture at those places wasn’t a good fit anyway. All that to say I’d suggest candidates be more willing to ask for help. Interviewers are people too and if you can code a solution easily after getting unblocked they might forget you ever asked for help, or respect you more for it.
- femiagbabiaka 6y agoI sympathize quite a bit as a fellow engineer from a non-trad background -- I solved this problem for myself by just biting the bullet and obsessing over getting good at the rote questions we're forced to answer. A nice side effect is that it has made me a better software engineer in some ways. I'm still working on it however, can't seem to shake the intra-interview jitters. I'd be interested in reading more about your swap to digital nomadism.
- cinbun8 6y agoA failed self funded video game project is a microcosm of the pain felt by bootstrapped founders that don't make it against their competition (VC funded or otherwise). Reminds me of this thread - https://twitter.com/awilkinson/status/1376985854229504007 https://twitter.com/awilkinson/status/1376985854229504007
- MattGaiser 6y ago> Or certain questions about complicated SQL queries (I use an ORM, rarely do I need to write a query by hand). This doesn't really seem unfair as ORMs stop working at a certain level. He seemed to have been targeting companies doing more complex things than he was previously doing.
- blacktriangle 6y agoThat's really part of the problem of doing a bootstrapped or early angel type startup, and I definitely feel this guys pain. You spend years doing very shallow work because you simply do not have the time or money to dig deep into any given issue until it actually crops up, at which point you do the bare minimum to fix it and move on. Repeat this process until you fail to find a viable business model, or find a viable business model at which point if you're really lucky you can start slowly rewriting your app piece by piece, but more realistically you just accept that it was good enough and keep doing more new things. This skillset just isn't that useful to a large software shop.
- MattGaiser 6y agoI started software development in startups/innovation teams and this is the reason I am telling younger friends who have yet to graduate to go for the big companies. Startups are fun. I work at one now. 3/4 software engineering roles I have had have been startups. But all the work I am doing is also very shallow because everything is a fail fast timeboxed sort of thing where you work across a large spectrum of stuff and I will eventually need to change that.
- NAK21 6y agoAgreed - anyone applying for a job as a data scientist should at least be able to work with SQL.
- PragmaticPulp 6y agoOne of the non-obvious challenges with doing a startup is that the majority of your work is spent slogging through boring, non-complicated tasks. You’re simultaneously doing some of the hardest work of your life but also watching some of your skills atrophy simply because you’re spread so thing across so many different problems. Startup founders tend to make good product managers or cross-discipline engineering managers for this reason, but it can take some time to slide back into the groove of deep technical work in specific domains.
- avelis 6y agoI think he was applying for the wrong roles. He needed to move to some form of management it looked like.
- Hewlberno 6y agoJust putting it out there. Windows is a bad dev environment. Learning basic sql and basic coding tests is sort of expected. Honestly I'm not sure if it was the interviewers that were being narcissistic given the broad brush strokes you paint with. What do you think they're perspective actually was?
- DangerousPie 6y agoWindows + WSL is a great dev environment.
- dave_sullivan 6y agoYeah, 90% of the time I'm in a linux VM. I don't buy apple products anymore because of the walled garden bullshit that permeates apple's vision of the world. Linux is a fine dev environment. That interviewer was an idiot.
- gambler 6y ago>I went on HN Who's Hiring And that's exactly why your experience was the way it was. HN is a self-selected crowd with a very specific mentality. Unsolicited advice: try a traditional job search website and look for companies outside of California and NYC. Your experience will be drastically different. I'm not saying it will be awesome every single time, but there will be more diversity in approaches to interviewing and in personalities.
- y-c-o-m-b 6y agoYeah I agree. You'll have better luck if you just go to indeed and apply for something that interests you. My most awful interview experiences have been from the jobs I've applied to on HN Who's Hiring or Stack Overflow's jobs board. It's clear the kind of people they're looking for are the hardcore CS types and not the casual (but highly experienced) business application developers. Also - sometimes you just need to get your foot in the door somewhere that's not too picky and caters to what you're looking for but pays slightly lower than what you want. Then prove that you're actually as good as you say, so you can ask for a raise. I did exactly that with my current employer. After 4 months of being there and proving myself, I asked for a 35K pay raise (about 27%!) and got it almost instantaneously.
- johnx123-up 6y agoApart from Indeed, are there any better job sites?
- y-c-o-m-b 6y agoHonestly I've had such good luck with indeed that I haven't bothered to look elsewhere. I think there are some competitors like Monster and Glassdoor. I've heard good things about LinkedIn, but I find their platform to be extremely intrusive so I personally avoid LinkedIn altogether.
- stickfigure 6y agoHmmmm. The article drips with anger and cynicism, and hints at a few bitter opinions like "...companies I had ideological issues around..." It's hard to judge someone from an article, but if 5% of this sentiment bled through in an interview, I'd take a hard pass too. I just don't want to work with difficult, unhappy people. It's a strange tone to take? The buried lede is: "[I] travel around and work as a digital nomad. I've been doing that for a couple of years now and I work an average of 2.5 days per week on machine learning or web projects and have rebuilt my savings and my whole life." That sounds incredible! Like, the article should be titled "I'm winning at life".
- username_my1 6y agoyeah it's much much less about being an entrepreneur and much much more about not having professional software engineering experience / work etiquette. Most scale up / startups would love ex founders to help them.
- everdrive 6y ago>Hmmmm. The article drips with anger and cynicism, and hints at a few bitter opinions like "...companies I had ideological issues around..." It's hard to judge someone from an article, but if 5% of this sentiment bled through in an interview, I'd take a hard pass too. I just don't want to work with difficult, unhappy people. I find a sentiment like this pretty scary. Being competent at a job is not relevant, but just whether or not the interviewer subjectively likes you.
- freedomben 6y agoI don't disagree, but have you never worked with a person whose personality was a clash? It's a nightmare. I've quit jobs just to get away from people before. One of my top criteria for accepting a job is whether I like the interviewers. I'm not hardcore in the "asshole geniuses should die" crowd, but if you are a miserable person to be around, go find a job where you work solo. Don't drag your whole team down.
- 6y ago
- efsavage 6y ago> Being a self taught software developer who has been programming since I was 12, I had no idea how to reverse a binary tree. It can be done. As a self-taught developer, and after years of startups and consulting, I got my first FAANG job at age 40. I hadn't done any real kind of interview in 15 years. I spent 90% of my time preparing for CS questions, and struggled at the first one, but ended up at FB, and Google a few years later. My mindset wasn't that they really cared that I could do these obscure programming exercises that I hadn't used once in 20+ years of real-world programming, but rather that I could prove that I could learn and adapt.
- dilly_li 6y agoThis. If you are not willing to learn the basic BST to prep for an interview, what's to say about you on your new job?
- sidlls 6y agoThere’s no real correlation here.
- darig 6y agoThat you don't focus on things unrelated to the job at hand?
- weird-eye-issue 6y agoThat you don't want to learn worthless stuff that is solely for interview theatre?
- CTmystery 6y agoI have some experience with this. My advice: pick the skill that you are absolutely strongest at from a specialist's viewpoint and interview for that role. Once you are in, you will find your generalist skills help you excel quickly. It is annoying that interviews can't capture broad skill sets, but it is also widely known. It means you have to prep! Dive deep and practice the well known interview questions for the specialty you pick.
- awb 6y agoI’m a reasonably successful entrepreneur, but I’ve been fired or quit every FT position I’ve had. FTE is just a total different experience from running a company and being good at one is different from being good at the other. The only middle ground I’ve found that has worked for me has been consulting where I’m still my own boss and can pick up small projects here and there. Being an entrepreneur is a high risk / high reward venture though and we’re not entitled to an easy, well paid salary if we fail. Great read though and glad the author found their groove eventually. A salaried position doesn’t have to be the default fall back.
- gtardini 6y agoHow old are you and do you plan to have kids? If yes, when? I am always very curious about how indiehackers/digital nomads think about having a family (or not)
- kingsuper20 6y ago..or whether they can even pull a full career out of it. To be fair, practically all people in their 20's go through a pachinko machine of decisions leading God-knows-where.
- SubuSS 6y agoI have the reverse question: if you have bandwidth to be able to do 20 interviews and you already know they do ask these inane leetcode questions, why wasn’t it possible to sink a month into solving a few of those and then interviewing? It is hard to take folks for their resume or at their word alone. The inane questions just provide a common framework for evaluation. It is definitely not indicative of actual work to be done. It is totally an indicator for someone willing to pick up a new skill and learn in a short window. We in fact get the other kind of candidates as well: who can solve these problems very well but can’t do good work. So the interviews at snap at least try to go for a combination of informational and design/technical questions. Ignore the feedback - we are not really allowed to give exact feedback because of liability issues :/. So it is going to be some super high level things you can’t sue us for.
- vidarh 6y agoI agree - you really should sink time into preparing if you can. We prepare for all kinds of other things, but a surprising number of people won't prepare for interviews that are massively affecting the trajectory of their lives. Leil Lowndes writes books on improving as a communicator, not about tech, but one of her pieces of advice for interviews is to interview at places you don't want to work first, and treat it as practice. In her case the recommendation is meant for people who struggle with being comfortable presenting themselves and talking, but it applies just as well in other contexts. E.g. find some jobs you're clearly qualified for where you're likely to get an interview relatively easily. Drop your standards - your goal is not to get hired. See what questions you're asked. Use the experience to improve. Amp up the "difficulty" if you get offers. See how the questions differ, and how the process differs if you try for more challenging positions. Then go for the job you want. Figuring out how to pass the interviews in "low risk" situations (because you don't really want the job) is both good practice, good calibration of expectations of what kind of job you can get, and a good way to relax more when you apply for the dream job.
- LordHumungous 6y agoYeah I'm not surprised he's burned out after doing 20 interviews lol. You have to pace yourself. This guy sounds like the kind of person who bull rushes into things and burns himself out.
- azangru 6y ago> unemployable Skimming through the article, this seems to be an exaggeration. He may be unemployable at some companies; maybe even at most companies that advertise on HN; but I am sure there are companies that don't ask for inversions of binary trees, theory of probability, etc. during interviews. They may not pay as much as the ones that do; but surely he is far from unemployable.
- offtop5 6y ago>A job at a typical startup has no boundaries and feels like a cult. At the same time , they'll often take a chance on someone who on paper isn't qualified. That's how I got into this industry. Has anyone been able to hire a general businesses person to manage the day to day boring parts. I'd like to keep working full time while paying someone to run my startup
- arbitrary_name 6y agoYou could message me or put a contact on your profile! I'm an strategy and ops guy (consulting, now FAANG) interested in helping startups grow. Would be interesting to explore this problem further.
- offtop5 6y agoI honestly wouldn't have the money to pay someone at your level. At best I can pay a college kid $30 an hour to maybe work on the business 10 hours a week. Which if you remember being in college, is a decent amount
- adontz 6y agoThis is a paradox which I can easily relate to. A lot of students start internship where I work and quite often I am their mentor officially or not so. Recently their dean called me and offered to lecture at the university. I am an engineer with 20 years of experience, I can teach a lot of useful practical things, but when I looked into syllabus it was a list of mostly useless theoretical knowledge I am no expert in. Honestly, it was not a pleasant moment, I felt like a successful plumber.
- kingsuper20 6y agoC'est la vie. The disconnect between college and industry has always existed I think. My guess is that what students really want is a lecture in how to get a job, not how to be useful in a job. OJT and fakeittillyoumakeit would then become the order of the day. I wonder sometimes why I don't hear more about apprenticeships by the nation-state sized companies. Bring in likely 17 year olds and train them in whatever specialized way you like. Perhaps some of all this interview nonsense could be avoided by commonly recognized software equivalents of a PE cert, but I suppose you'd simply slide into subtle quizzes about programming languages and the like.
- omega3 6y agoIt's hard for me to understand how someone that portrays themselves as intelligent, successful and on top of that mentions HN didn't understand how the tech recruitment works.
- secretsatan 6y agoThis resonates with me, I lost my job just before my forties. It was in a pretty specialized field using a proprietary language not known outside of it. I was also in a non native country. While I could have probably found another job in the same field using the same skills, it would most definitely involve moving to another country and I was really settled where I was. I was also having visions of slowly becoming too specialized and ending up in a basement somewhere looking after a legacy system. I'd been working on an OSX app as a side project for fun and decided to develop that, if only to add an other skill while I still looked for another job. After a little interest this developed into an iOS app and that started selling a few units a week, but nowhere near enough to pay the bills. (It still brings me in beer money every month) All the time I was looking for another job, slowly running out of money, this was for 4 years. I'm not university trained, had worked with this language no knew about for near twenty years, now over 40, in a country where I wasn't completely fluent in the language and getting interviews was hard, really hard. Of the interviews I did get, one interviewer told me the app I had written wasn't technically possible, another told me I'd never keep up with younger kids. I had just about run out of money when I finally landed an interview at a company looking to develop an iOS app and also in a similar field to what I worked in before, luckily they needed someone right away and I aced the interview. I've been there 3 years now maing a great impact on their existing app, and now after developing and proposing a new app to the company, I now work on that. I feel my employment prospects are in a much better place for the future, with a successful app under my belt in an environment people actually know about. It was tough though, just sorting out the mess I had got into with surviving on my last pennies and getting into a pretty bad state psychologically is something I'm still dealing with.
- pirate787 6y agoI am familiar with this trap. Self-taught programmers from the first wave of the web are now middle-aged and are competing for jobs with younger programmers who have STEM degrees. This situation is especially complicated by a period of time of self-employment -- another job hunting hurdle.
- zerkten 6y agoIsn't a better approach here to start taking some contract jobs to move away from the self-employment status? That way they can start getting closer to normal employment, build a more relevant network, get some money flowing in, possibly build some more relevant skills, etc.
- msoad 6y agoI would be the first to say our interview process is broken but frankly, if you don't want to participate you can find jobs that don't require CS/Algo. If you want to get those juicy pay checks from FANG and top startups, then you have to play the game. The point of those questions is not that you might need that knowledge at work. It is to make sure you can learn something difficult to learn. Trust me, once you join those big companies, there are a lot of difficult to understand concepts. They are not exactly the Leetcode questions but difficultly to understand and work on it is similar.
- jblow 6y agoIf you can’t reverse a binary tree, or don’t even know how to approach the problem, you can’t do most of programming. Fixing this should be a high priority, but the author seems to have no awareness of this. Programming is hard. It takes a lot of skill to do it well. If the author seemed interested in acknowledging this and developing skill, the article would not come off as whiny and pointless. But it does, because he’s not interested in identifying and fixing the problem, which resides in his own house.
- lostcolony 6y ago"Can't reverse a binary tree" is different from "Can't do it flawlessly enough in an interview setting". It also isn't necessary to provide business value. The things I spend 98% of my time on at work are not raw data structures, but leveraging those data structures. The fact many companies interview for something that is mostly unpracticed by candidates in the field (only those practicing it at home), and won't actually be done on the job if hired, is a very strange place our industry finds itself in.
- Kranar 6y agoThere's nothing strange about it. You are simply looking at the problem from the point of view of the candidate instead of from the point of view of the business. The vast majority of developers can absolutely do 80% of the job I give them to some sufficiently reasonable degree, but I'm not hiring people for the 80% of the job. My issue as a company is finding people who can nail the remaining 20% of the job. That's very hard to find but it's absolutely critical in a business as competitive and cutthroat as technology. The fact that most developers don't have a basic understanding of fundamental and core concepts really does have a measurable impact on the quality of software and almost all of us, as consumers of software, pay a penalty because of it. We put up with slow, bloated, and inadequate software because we take for granted core computing concepts, fail to appreciate the hardware our software runs on, and write software in an unbelievably indulgent manner. Some of this is alleviated by relying on frameworks provided by the major tech companies to deliver software and that certainly helps quite a bit but this benefit doesn't come for free; it results in vendor lock in, code rot, and a genericization where many software products end up being bland and derivative because everyone is gluing together the same frameworks.
- serial_dev 6y agoIn my opinion his startup career and failures have nothing to do with the fact that (he thinks) he is unemployable. He (like many others) just doesn't want to play the "leet code white board" interview game, nor wants to play along and pretend to be super excited about some foolish cult-like startup only to receive less money. You can argue that the interview questions don't make sense, but in the end, if you decide you don't want to play the game and master the tech interview, then you will have less options.
- alexc05 6y agoHey Dave! I've recently started a podcast where I talk to developers about their experiences in programming, career advice, their thoughts, hopes and visions for the future of technology. I wonder if you'd be interested in telling your story in a more long-form interview format (that gets recorded and posted online). You can get a sense of the format by looking through the work I've already done: https://www.youtube.com/channel/UC1SKRYr2Emfbas-8ZA9GYng https://www.youtube.com/channel/UC1SKRYr2Emfbas-8ZA9GYng I think your story is pretty compelling and I'd love to help share it with a wider audience. Though in all fairness, I'm sitting at 41 subscribers as of this moment, so reasonably speaking I should say "share with an audience which is expected to grow wider in the future" If you're interested, feel free to reach out on any of the contact channels listed here: https://github.com/AlexChesser/lgtm-shipit https://github.com/AlexChesser/lgtm-shipit or even just open an issue directly in the repo and we can coordinate!
- deleted 6y ago[deleted]
- Simulacra 6y agoThis has been a huge worry for me if I ever went out on my own, failed, and wanted to get back in to the warm blanket of security of a corporation, I would need to explain that failure of independence. My gut tells me it will not go over well with employers, for example, they may think that I'll jump as soon as I get a new idea, or maybe I'm not a good success candidate.
- soniman 6y agoIf hiring is so broken, then some company could succeed by hiring all the non-traditional applicants. Has nobody tried this? "We hire weirdos" might attract a lot of high-quality applicants. There is a market failure here or there isn't.
- DoreenMichele 6y agoThe title is a bit misleading. It's kind of negative spin for click bait value. In the end he found he was happier as a freelancer, basically. He has high standards, ethically, and he is competent and knows how to get things done and has little tolerance for people's BS. And he knows how to make enough money to keep body and soul together without having to put up with that shit, so that's what he's doing. I would say he's wildly successful and has found his escape hatch from the rat race and we need more such stories in the world, not less.
- quantumofalpha 6y ago> Being a self taught software developer who has been programming since I was 12, I had no idea how to reverse a binary tree. I fail to see the link between the premise and conclusion here. I'm also largely self taught and been programming since childhood. And although I also did go to a university to study math, most of what know about algorithms is from self-learning to satisfy own curiosity, not from attending university courses. University gave me a chance to participate in ACM ICPC and paid for my flights a few times, for that I'm grateful - I was able to land a FAANG job right out of school thanks to my success at it. But they did not teach me algorithms and competitive programming, that was all self study.
- danielrhodes 6y agoThis is a common problem among ex-founders. Founders, almost by their nature, will take unconventional paths to get where they are. Many are highly talented and fast learners and can be great employees. But to medium and large companies which have trained their processes to find conventional and stable people, these founders look like red flags. It's a shame because typically the self-starter high ownership type of person that companies love and think are hard to find are the exact traits these founders have. For founders, the reality is that part of their skillset is not transferrable into a more structured company. Working with bureaucracy, interviews, communication, working with large groups of people, high amounts of structure, planning, and risk mitigation are not skills that overlap with starting a company and going from 0 to 1. If you're a founder type who wants to take a break and work at a more established company, you should be prepared to make this transition. All is not lost though - if you plan to start another company someday, be a sponge for how a larger company works - it will pay dividends later when you need to create this yourself.
- ClumsyPilot 6y agoIt is easy to end up in this hole. If you have graduated years ago or are approaching 30 and don't have an established brand with 9-5 schedule on your CV, you will be approached with caution. It's very demotivating to deal with rejection and arbitrary and daft questions. Regardless, I was interested in the Author's switch to digital nomad lifestyle - was it easier than interviews? Why? where did you go? etc. I'd love to hear more, and whether the author is enjoying it more than whatever FAANG job he was applying for.
- ideamotor 6y agoI’m basically the same demographic, but I really question the author’s judgment if the things he misses most about San Francisco is “In-n-Out and Mexican food.” I travel to SF from Austin every year. What about the comfortable weather and giant healthy outdoor playscape, actual history and continued diversity and interesting things despite people like him, I could go on and on, it’s beautiful. He didn’t need to go on a vacation, he needed to look outside his damn window. Maybe it was joke and he misses these things as well. If not, what a dolt.
- ideamotor 6y agoSan Francisco is an amazing place. You can be outside year-round. And this guy missing the shitty food. Still hilarious.
- geebee 6y agoI enjoyed the blog post. It didn't break new ground, but it is still useful and a little therapeutic for me to read these posts. I have made it a personal goal to have a career in the tech industry that doesn't require taking technical exam interviews. It's something I understand I need to work on - to earn, really, it's not something that just happens. My approach is to do this by consulting, speaking, teaching workshops, doing projects, and eventually building a network, mainly through contacts with non-technical people who value my assistance. It actually has been working. This approach has, however, required taking a hard pass on what have turned out to be very good career opportunities. But since I very rarely pass a technical exam interview, I'm not really sure what I've lost. Another factor - I was a math major and did a grad degree in operations research, so while I've written lots and lots of code and wouldn't really call myself "self-taught", I'm not really a great match for SE roles. Yes, I did code for graphs and trees, factoring primes, solving diff eq's and optimization problems, and so forth, but this was within the context of math classes, not CS. So I never took any formal CS beyond the intro in college. Over time, I realized that's not a coincidence, I actually was't really interested in code per so, I was interested in what questions I can answer with code. One thing I mention here on HN - I can absolutely create and search a binary tree, DFS and BFS. I've been able to implement merge sort and recursively print all permutations of a string or set. I believe the claim that a tech interviews are used to filter out those who "just can't code" is a myth. The questions I get in later rounds of tech interviews are far more elaborate than this (for example: find all matching subtrees in a binary tree at the whiteboard, in 45 minutes). Here's the thing - I actually have used trees extensively in my work (I needed to find the shortest path to passing a series of interrelated tests where various groupings were adequate). I looked it up, learned it, coded in it... but eventually it left short term memory. Had I taken a tech interview test on exactly the same topic aa year later, I would surely have failed. I just don't walk around with this all loaded up in my head, and I feel that I've re-loaded it for an interview for the last time (I would happily reload it for a real project). And I'll sign off with my usual: companies are free to filter out candidates based on very intricate technical tests, but I have zero sympathy when they complain about a shortage of good candidates. And this becomes sinister when they claim that this shortage means that they should be empowered to bestow limited residency rights on someone where they control how the person interviews, what the person works on, where the person lives and works, and when the person shows up at the office.
- mustafa_pasi 6y agoWhat I got out of this is that some guy got a startup in ML going and even got funding without having a degree. That's insane to me. On the other side of the Atlantic, if you look at founders most of them are Phds, some even professors, and some "merely" MScs.
- slibhb 6y agoAs someone who has a humanities degree and had zero trouble finding a job as a programmer (3 interviews required to get a job), color me skeptical. You might have a hard time getting a job at Netflix/Google/Facebook/etc. But there are plenty of companies out there that absolutely do not care if you can write algorithms on a whiteboard and they aren't bad places to work. Are those companies missing out on good programmers because of these requirements? Of course, but it's hard to say if they're making a mistake. They're also filtering out some bad programmers or at least bad students.
- deleted 6y ago[deleted]
- edwnjos 6y agoI can relate so much to this! I was only 18 when I became a technical co-founder and when the burnout and the subsequent crash kicked in, my entire world turned upside down. It took quite some time to recover, now that I'm up and running I only see a few options outside of starting one. I'm currently pursuing the digital nomad route with contracting. There is something so addictive about being able to zoom between high and low level tasks with very high responsibility .
- freedomben 6y ago> it seemed like everyone I interviewed with was a caricature of narcissism and delusions of grandeur I don't know what it is, but something about the position of authority and power of being an interviewer really does change people. It's a modern-day Stanford Prisoner Experiment[1]. I've been on both sides quite a bit, and it's remarkable how people flip like a light-switch when you enter that room. There are exceptions of course. Those people who it doesn't affect are the ones I like to work with. Although, it seems those most interested in being on the interviews also seem most affected. [1] https://en.wikipedia.org/wiki/Stanford_prison_experiment https://en.wikipedia.org/wiki/Stanford_prison_experiment
- ertian 6y agoThere may be something to what you say. But on the other hand, there's that old adage: if you meet an asshole one day, you met an asshole. If _everybody_ you meet during the day is an asshole, then _you're_ the asshole.
- bartread 6y agoI picked up on that phrase too, and it made me laugh. I've worked in places where often interviewers seemed more interested in proving how smart they were - and particularly how much smarter than the candidate they were - than in assessing whether or not the candidate is suitable for the job. It smacks of insecurity. My current company, regardless of how good or bad a candidate is, everyone knows that they are to be treated with respect and kindness, and they also know that if they don't treat the candidates well they're going to get a bollocking for it. First impressions definitely cut both ways, and word travels. If you treat candidates like crap don't be surprised if your stream of applicants dries up. Unless you're a FAANG you really can't get away with that sort of behaviour.
- dkarl 6y agoTo add some opposite perspective to this, jobs interviews are extremely stressful, and it's really, really, really hard not to psychologically trigger people. Even if you tell people ahead of time that you're going to ask a lot of questions about a variety of topics to get a well-rounded picture of their skills, including a lot of things that aren't strict requirements for the position, even if you tell them it's a conversation more than a test, even if you tell them that virtually all successful candidates have gaps in their knowledge that will come up in the interview, even if you explain all that and do your best to come off as easy-going and approachable, still. Still. A lot of people will panic and freak out the instant they hear something they're not prepared for. In an ideal world you would only ask questions that no qualified candidate could possibly have difficulty with, even under severe stress, but there's no way to do that. An additional complication is that interviewers can't just walk away knowing whether the candidate can do the job. They need to give a more complete evaluation of the candidate so the hiring manager knows what to do if the candidate negotiates for a higher salary or asks the company to match another offer they've had. This often depends on "nice to haves" such as advanced SQL skills or the ability to quickly assess the big-O complexity of an algorithm and figure out how to improve it.
- iandanforth 6y agoLet's say a company would pay you $250k base with an additional $100k in stock and bonuses. This comp puts you in the top 5% of earners in the world. The catch is that you need to learn to do a stupid dance where you wear huge feathers and do this dance in front of a panel of reviewers. Not only that they will insist the dance correlates with productivity and you have to nod and agree with them. The question is, do you spend the time to learn the dance? That's pretty much it, it's just a stupid dance. You can get angry and say "No no no, this dance is stupid!" Or you can learn the dance, do the dance, then be richer than 95% of people in the world.
- WhompingWindows 6y agoTangent: Your 5% guesstimation is wildly off. In the USA alone, assuming 50% of your bonuses go to taxation, your 300k income is going to put you in the top 2% of earners. Globally, 300k USD income would put you in the top .2%, so you're richer than 998 out of every 1000 other people in the globe.
- thebean11 6y ago> In the USA alone, assuming 50% of your bonuses go to taxation 50% of bonuses? That seems low, it's closer to 50% of total comp (maybe 40-45) in the places where these salaries are common.
- whack 6y agoThe federal tax brackets are the same everywhere you go. If you're married and making 350k, most of your income will fall in the ~23% tax bracket. And a small portion will be taxed at 32%. The main variable is state taxes. If you're living in California, most of your income will be taxed at ~9.3%. With a small portion taxed at 10.3%. So your marginal tax rate will be 43%, and your overall tax rate will be closer to ~33%. Nit: USA does not tax bonuses any differently from salary. They are both interchangeable, when computing taxes. Also, all income-percentile metrics in USA are based on pre-tax income, not post-tax. https://taxfoundation.org/publications/federal-tax-rates-and-tax-brackets/ https://taxfoundation.org/publications/federal-tax-rates-and... https://www.nerdwallet.com/article/taxes/california-state-tax https://www.nerdwallet.com/article/taxes/california-state-ta...
- pc86 6y agoIf you have trouble with a "probability word problem" how much success are you going to have in any data science role?
- Causality1 6y agoUnemployable does not mean "can't get the job I want", it means "can't get a job". It's when your useless ten year old degree in education stops you from getting a job as a waitress so once again you're having sleep for dinner.
- kingsuper20 6y agoI always get a vicarious scare from that kind of doom porn post. After nearly 40 years of the thrill of the keyboard and accumulating a studio/lab tan, I never had one of those 20-questions interviews. In days of yore, tool kits barely mattered beyond good knowledge of a language, some sort of platform-specific API or the other, and (rarely) deep knowledge of an esoteric processor. Truth is, of course, that the work has changed in fundamental ways. Established companies moved from the cowboy approach (buncha people, money, a trade show in a year, here's a product definition, GO!!) to what smells a lot more like an assembly line gig. Finally hitting a modern shop is what made me finally retire. Modern practices, while perhaps efficient in some way, are no fun. Give me a 20 year old body, and I'd go into the trades or some sort of purposeful anachronism (blacksmithing?) at this point.
- the_only_law 6y agoGive me just the years I need to redo to get into a decent school, and I’d probably just do some other engineering field. It seems like it’s a lot easier to just lean on credentials and still get to work on cool technology.
- happppy 6y agoI am a CS graduate with around 4 years of exp nd I DO NOT KNOW HOW TO REVERSE A BINARY TREE.
- skizm 6y ago> So at that point I really did say fuck it and just left the country to travel around and work as a digital nomad. I've been doing that for a couple of years now and I work an average of 2.5 days per week on machine learning or web projects and have rebuilt my savings and my whole life. The only interesting part of the article, and the author doesn't expand on it. "I was trying to get a desk job, but when that fell through I just decided to travel, work remote all the time, and work half as much." Um, what? I have so many questions.
- ijidak 6y ago> Not only were these programming word problems ridiculous, but it seemed like everyone I interviewed with was a caricature of narcissism and delusions of grandeur Felt the same way during a recent spate of software interviews. And I have the MIT CS education. But I don't know all the latest lingo and CQRS or whatever is cool this week. Thankfully, an old employer knew my value and brought me back to develop for and manage a large, cutting-edge project.
- bsenftner 6y agoI've been in the same boat for over a decade. I was a "top of the game" game developer (multiple console OS teams, multiple AAA titles as lead), when into VFX and was doing well, got an MBA and was doing better... then I pursued an ambitious startup (what are called deep fakes now, but applied to video advertising), got global patents in '08, and ended up bankrupt by '13 because nobody believed what I was demonstrating in front of their eyes was possible at scale, or they wanted to do porn (which I refused.) Now I'm working in an industry I don't like, facial recognition, because 99.99% of the potential employers I've contacted either can't figure out what I could do for them, think I'd be bored with whatever they do, or think I'd be too expensive. I even had one interview recently when after an hour the interviewer says "sounds like you're tech light, so..." WHAAT? They had no idea creating media production systems or working in VFX is all digital technologies.
- dave_sullivan 6y agoI hear you, that's really rough. It's a very strange industry where things are so feast and famine, and there seem to be a lot of people who haven't seen both sides of that. These are the people who always say, "Why don't you just X?" I certainly don't have a solution, but I do get the impression that there are more developers than there are jobs and this is why many companies can afford to be more arbitrary in their selection process. Mostly I just wish I bought more bitcoin. Kidding but not kidding.
- christiansakai 6y agoOn the other hand, plenty of us FAANG/Unicorn engineers would love the skillset of creating AND selling our own B2B skillset. Reversing binary tree is easy, dynamic programming is hella easy, but creating and selling your own B2B project and living as digital nomad? That's the real skill right there.
- codingdave 6y agoI don't see this as having anything to do with a startup failure. It sounds like burnout led to a lack of a desire to really put effort into preparing for interviews. If you don't know how to work with binary trees, go learn it. Frankly, a self-taught dev who then complains that their own self-teaching missed a topic is a red flag. This is a good read... and does show some struggles people can have. I just think it misidentified the root cause of the problems.
- yalogin 6y agoA founder of a company that did everything they can to make the company viable has a lot more skills than programming. I would say after that long stint as a founder, programming will be the least valuable skill they would bring to the table. In that sense, looking for a programming job is the wrong approach. The author doesn't mention why they chose that line. If they are really only interested in going back to programming it's fine, if not it's a wrong decision IMO.
- tzs 6y agoI'm somewhat baffled by the reversing a binary tree thing in the article and in the comments here. Unless you don't know what a binary tree is, or are forbidden to use recursion, you should be able to figure it out even if you have never studied algorithms. This is FizzBuzz level stuff. The only difficulty should be if representing a binary tree in the language you are using involves pointers/references or nesting that you do not understand. In that case, the question has exposed a serious gap in your knowledge of that language which you really should fix. It's OK to not know the more esoteric features of a language, but you should know how it handles pointers/references or nested data structures.
- jdeaton 6y agoTo spell it out... "reversing a binary tree" here is just being used as a stand-in reference for any CS-y interview question that is neither relevant to the job, nor particularly difficult to solve but would be much more familiar territory for anyone who has taken traditional CS courses. The fact that reversing a binary tree is in fact trivial is to help make the point that these kinds of questions are not that useful.
- reedf1 6y agoExactly this - as someone with a non-traditional background (physics) "reversing a binary tree" is as you say completely trivial and I could have "discovered" the answer to the question in slightly slower than real-time in an interview. But people with CS backgrounds don't need to discover it, they have it memorised. These questions aren't testing for original thought or problem-solving ability, they are testing for your skill at memorisation or, to put it more cheekily, regurgitation. I've worked in the industry for years now and I've probably used more maths from my physics degree than I have of the algorithms that I learn for interview.
- sangnoir 6y ago> Conventional wisdom tells potential founders not to worry about failure because they can "fail up" when things go wrong. In my experience, this was not the case. The part that's not usually said out loud is that you need to be rich and/or well-connected to "fail up" when your startup fails. Running a startup may help you get connections, especially if your angel/VC network has a good reputation, and you happen to remind them of their younger selves.
- akeck 6y agoI feel like "keep my cost of living low" is one of the more important parts of this post. Low personal burn rate makes all sorts of things possible.
- icu 6y agoI don't accept that someone is unemployable unless they have extreme physical or mental handicaps. I think what the article reveals is that this person's ego is heavily invested in the idea that they are competent in areas they are not. If your mental schema is wrong, you cannot take life's feedback that you need to put in the work in areas you aren't getting your desired results. If you're not careful your ego will prevent your growth. Overcoming ego is hard... but not impossible. It's like telling someone they are parenting their children incorrectly, but you're the one telling this to yourself. Often it takes an emotionally difficult situation that triggers deep self reflection or incredible friends whom you trust, and who are willing to speak the truth. I'm happy that the blogger has seemingly found a way to be happy, but I can't help but wonder if they've just optimised for a local maximum, and not their full potential.
- ignoramous 6y agoIf you're in the US, you're in luck and could take this course: https://lambdaschool.com/the-commons/lambda-school-launches-backend-engineering-program-amazon https://lambdaschool.com/the-commons/lambda-school-launches-... If you're interviewing for a slightly senior role, then this self-help guide is a good start: https://blog.pragmaticengineer.com/preparing-for-the-systems-design-and-coding-interviews/ https://blog.pragmaticengineer.com/preparing-for-the-systems... The job interview process can be gamed and there's no reason to not game it now that it can be; if FAANGs is where you see yourself.
- lxe 6y agoThis is an all-too-common tale on HN: a debrief on a job interview failure in which the author blames the system ("Why would I need to reverse a binary tree in the real world?) or their own circumstances ("I'm a self-taught founder with 10+ years of experience, and never had to reverse a binary tree"). The better take away from these essays is that one should just study for these tech interviews before starting the rounds and learn how to reverse a binary tree.
- say_it_as_it_is 6y agoProduct managers, tech managers, people in marketing and finance are not being evaluated anywhere near as ridiculously as software engineers are. Let every applicant work through problems that require them to train several hundred hours prior to interviewing and never use again on the job. What's that - - you already did them twenty years ago to get into b-school and therefore should be exempt? You don't say..
- lmilcin 6y agoOn the other side of the story, I interview senior developers/tech leads for a large bank and it is difficult to find people who can code their way out of a paper bag. Lots of candidates can sweet-talk their way but then show complete lack of problem solving abilities, disorganized approach, inability to predict if their code is doing what it is supposed to do, etc. Realize, when you go for FAANG job you are competing with a lot of younger people, frequently just out of school with fresh memory of CS topics. There is a lot of other companies with just as good compensation where your other qualities (like maturity) might be more advantageous than in lowest echelons of FAANG.
- kingsuper20 6y ago"Realize, when you go for FAANG job you are competing with a lot of younger people, " You know, I think I can understand that simply due to the gigantic amount of in-house legacy code, toolkits, etc. It could be simply that younger people are more likely to take that Sisyphean task on, especially those on their first job. Schools aren't bad at numbing people to be part of a collective. Maybe it's same to assume that a FAANG is simply the modern equivalent of a defense contractor.
- danpalmer 6y agoI'm not going to defend asking algorithmic questions in a whiteboard coding interview – there are lots of issues with this, but... If you don't know how to reverse a binary tree, it's likely you won't ever think of it as a solution to a problem, so you won't encounter cases where you put these skills into action. Either through self-selection or through lack of ability to identify opportunities, if you don't have certain skills you'll be unlikely to need them! Web development or similar disciplines do sometimes manage to avoid these sorts of things, but debugging database index performance/size can lead down this path, processing data for complex business logic, data analysis, there are lots of cases in "web development" where these things can be applied, if you know where to look.
- MangoCoffee 6y ago>certain questions about complicated SQL queries (I use an ORM, rarely do I need to write a query by hand) this is a red flag. even if you use ORM, you want to know what kind of query that it generated. certain query generated by ORM is actually quite dangerous like Entity Framework core.
- nassycheezy 6y agoYour lesson should also include preparing interviews just like you prepare an exam. It sucks but it's a standardized process to evaluate some capabilities that decrease the risk of losing $$$ for the company that hires you.
- jb775 6y agoYou aren't unemployable, you just need to study LeetCode problems.
- ilaksh 6y agoPart of what is not necessarily recognized on HN is that high paying software engineering positions really do hire competitively. And part of that is often the BS whiteboarding stuff which almost everyone will need to prepare for explicitly. But regardless it is competitive at the well-compensated positions and things like "culture fit" etc. are also used. They can be very selective and just hire anyone they like. So one may be a genius and an experienced developer, but you may also be competing with someone who is a much younger genius, charismatic and with a well-regarded degree and good at whiteboarding. For me, being a little bit older and not interested in getting an associate's degree in white boarding algorithmic problems or dealing with a lot of stress from office politics, I am not easily able to obtain or maintain a high paying job. But I am able to live somewhere with a low cost of living and work on a contract basis that keeps me going. My goal is to build robots someday so I am taking advantage of a light schedule to learn/work on computer vision.
- the__alchemist 6y agoI imagine I'd end up with the same result if I applied for programming jobs - get interviews because of the range of programming experience I have and tools I'm comfortable with, then summarily fail every interview question about linked lists etc.
- pyb 6y agoIf this guy cannot easily get a job, the developer shortage in the Bay Area is wildly overstated.
- brightball 6y agoI feel this. I had a hard time getting a job after mine shut down a decade ago because after running a startup you're quite literally a jack of all trades and many big corp jobs seem to aim for more specialization. DevOps seems to be the place to fit at a larger org after all that. I've since learned to just stick with smaller companies and I'm much happier.
- worker767424 6y ago> mostly at companies I had ideological issues around > I should have gone to a small, cheap island nation and swam with dolphins > After some months of that, and with enough runway to go for another year, I went back to the game and finished it. Unfortunately, it wasn't as finished as it should have been > questions about complicated SQL queries (I use an ORM > they fired me after a few months because they found they couldn't bully me into working longer hours for lower pay. > I really did say fuck it and just left the country to travel around and work as a digital nomad I can't believe he'd post this publicly. The reasons he's unemployable are he never dug into the technology he's using, he's bad at finishing things, and he's a bit of a beautiful and unique snowflake.
- fairity 6y agoWhat makes you say he's bad at finishing things? He stuck with his startup for 5+ years. That shows a good amount of perseverance. What makes you say he never dug into the technology he's using? He clearly dug into it enough to release a couple finished products - that's more than most engineers can say. My guess is that your lack of sympathy is an indicator of having not faced this degree of failure in your own life, else you wouldn't take such a cynical perspective.
- worker767424 6y ago> What makes you say he's bad at finishing things? His game. > What makes you say he never dug into the technology he's using? The bit about using the ORM. He said he's been a programming since 12. Not being OK at SQL by the point he's at is a smell. > My guess is that your lack of sympathy... I'll halfway grant you that. I've failed more publicly and more spectacularly, but I'm a better engineer, so despite that, I'm still employable.
- adamrezich 6y agofinishing solo game projects is harder than most people think
- hannofcart 6y ago@dave_sullivan What's the title of the game you got around to finishing? Would love to try it.
- yodelshady 6y agoSide note, I know its a meme for other reasons, but "invert a binary tree" should be the poster child for "communicating badly then acting smug when you're misunderstood". It's a horrible, flat-out wrong use of terminology, inconsistent with the use of the term "invert" in just about any other technical context. Using it should be grounds for shaming.
- LordHumungous 6y agoYes this guy comes off as a bit entitled, but hey, the industry grind is not for everyone. I applaud him for making his own path.
- kodah 6y ago> But then I went to the in-person interviews. Being a self taught software developer who has been programming since I was 12, I had no idea how to reverse a binary tree. Or whatever I was supposed to do with some of the probability related word problems I got. Or certain questions about complicated SQL queries (I use an ORM, rarely do I need to write a query by hand). I had been working as a consultant and/or starting companies for almost 10 years and found the b2b sales process is literally nothing like the hiring process for SV companies. In one we talked about project goals and solutions, in the other we talked about hypothetical word problems that I have no doubt are popular in CS programs. Some of the views you will find below are conflicting. No need to call me a hypocrite, I am familiar with my dissonance on this matter. I'm a self-taught engineer and I work in the SV and SV-adjacent scenes. People who are self-taught genuinely have a hard time at the beginning and middle stages of their careers, to the extent that it can break you. If you try to explain this to any CE or CS graduate it's like they lift their magical empathy goggles and provide a full stream of excuses for the current paradigm that excludes both good and bad talent. Where I'm about to be a hypocrite is now. My unpopular opinion is that gatekeeping is just fine, but it's all in the details. If you are gatekeeping based on knowledge that is commonly acquired in college, then you are gatekeeping for education and by proxy gatekeeping for status. If your interview process involves binary search but you don't do binary search by hand during your day to day, you are gatekeeping for education and by proxy status. That said, I'm a curious person and I know how to implement some recursive binary search because fiddling with sorted numbers can be fun when I'm inebriated and bored. It also shows some uncommon competency, so it is a great gatekeeping tool for curiosity and quality. The question I began asking myself is how I balance the equation. If a non-college/CS/CE educated person struggles with more fundamental math, then the trick is to introduce tasks which also disqualify them in higher numbers. For this, I found systems design to be an incredible tool, and one that non-college/CS/CE people tend to excel at. I'm sure there's more. At the end of the day, my team has a high bar for quality needs, but balancing the equation was important so that people like me would still get through the pipeline.
- darepublic 6y agoI understand the frustration over random interviews. I would say tho if you keep getting data alg questions to just bite the bullet and practice them. It is the advice I'd give myself
- asimjalis 6y agoInverting linked lists is not a hard problem. The key is to think of the problem visually.
- padseeker 6y ago"In any case, after about 20 of these in-person interviews going poorly, I really disconnected from the whole process and found myself deeply frustrated. Not only were these programming word problems ridiculous, but it seemed like everyone I interviewed with was a caricature of narcissism and delusions of grandeur." The people who are conducting interviews are all that and more. Tech people lord over the commoners by focusing on obscure syntax and the latest buzz words as opposed to the basics of building an application. The smartest thing to do when building something is to Keep It Simple Stupid (KISS). The guy whose interviewing will write clever but unmaintainable code and then will leave in 2 years to follow the next trend.
- xondono 6y agoI sincerely don’t understand this. According to the title he was “uneployable”, but he managed not only to be perfectly employable, he was able to be selective about which companies he wanted to work for. What am I missing here?
- golergka 6y ago> it seemed like everyone I interviewed with was a caricature of narcissism and delusions of grandeur If some of the people you encounter are assholes, that's just life. But if all of them are — that's you.
- nitwit005 6y agoI have two friends who ran their own small non-tech companies, and it's fairly clear companies don't value it when doing hiring. People have a fairly rigid idea of the sort of person they want to hire. They just see the time as "out of industry for years".
- fairity 6y agoMany people seem to think there must be something wrong with OP's skills or interview style. I'd just like to point out that it's possible they're a perfectly competent hire and just got unlucky. If a competent engineer has a 20% chance of passing an interview, the probability that they fail 10 interviews in a row due to pure bad luck is 10.7% (.8^10). The chance that the same competent engineer gets an offer in 3 or less interviews is 50% (.2+.8.2+.8^2.2). So, it makes sense that most competent engineers will believe it's easy to get a job offer (after all, most will get an offer after 3 or fewer tries). However, a small but significant portion of competent engineers will believe it's exceedingly difficult and become disillusioned. The truth is somewhere in between.
- nabla9 6y agoSW industry lacks clear terms for proficiency levels and different skills. Programmer, developer, SW engineer, etc. are all interchangeable. In other professions, you can distinguish between, say mechanic/technician and mechanical engineer. The author of this piece seems like a very experienced good "software mechanic". He can work independently and build stuff, but he is not a "software engineer". "always used ORM", not skilled in SQL is an indicator of narrow knowledge based on just completing tasks and learning by doing. That's fine but it also sets some limits. He could find a well-paying job and interesting work if he would not have to apply for every vaguely defined SW job there is.
- defnmacro 6y agoThere's alot to unpack here and I resonate with it to a degree since I've also failed with 3 ventures so far, luckily while employed so as a result the failure wasn't so life or death, simply a learning experience. 1) Your 100% employable but like others have said you're not playing the tech interview gauntlet game. 2) Recover and reflect: Figure out what worked and what didn't work. This is important for your burnout recovery. Part of being burnt out means you feel incapable of achieving. This is not the case, reflect on what you did right and what went wrong, understand what you have to do to get where you want to be by taking stock of where you're at now. Then make a plan of where you want to be, keep yourself accountable, and every week analyze again where you are at and where do you want to be. Only make a plan after you have recovered. 3) De-risk your life, startups are inherently risky 96% of them don't make it to a Series B. However, you can build a SaaS product that gives you lifestyle money without taking on investors. Figure out how to take high impact low risk in everything you do in life. This allows you to have outsized returns on the things that work out and minimal drawdown for the things that don't. Sometimes you have to do risky things but if you're going to take risk find the metrics that you seem satisfied that make the risk worth it and then have a backup plan if it fails. This way you'll never be surprised. Best of luck!
- mensetmanusman 6y agoInternships are better than an interview.
- tharne 6y agoWhen I was younger I commented to another coworker about how I didn't understand why employers place such high value on the MBA degree when the stuff learned obtaining it isn't all that useful in a real business. My coworker shook his head and laughed at me, saying, "No one hires an MBA because of what they know, you hire an MBA because you know they'll do whatever dumb thing you ask them to without too much complaining or pushback; you're hiring for polished compliance." I think these coding interviewers are more or less the same thing. They prove that the applicant is willing to eat a certain amount of sh*t without making a fuss about it.
- dkarl 6y ago> Not only were these programming word problems ridiculous, but it seemed like everyone I interviewed with was a caricature of narcissism and delusions of grandeur. Everyone? Really? That's a red flag. I would believe "a lot," and I would accept "half" as hyperbole, but if it feels like every single one, then you either have an uncanny knack for picking bad places to interview, or you're taking the process way too personally. Sometimes a job isn't a good fit because of a skill it requires that you don't have. Maybe they need someone who can sling complex SQL from day one. Maybe the ridiculous word problems are real problems they've had to solve, which they have to frame in silly-sounding ways because the real-world context would reveal sensitive information or take an hour to explain. Sure, there are interviewers who waste everybody's time by asking questions that don't select for good candidates, but even if you write off all those interviews, that just adds a certain percentage of overhead to the process.
- self_buddliea 6y agoI googled "binary tree reversal". Google requested clarification: "Did you mean: binary tree traversal". Google also mentioned "inversion" of a binary tree. Google seems more confused than I am.
- larrik 6y ago> One company said "uses Windows so we don't think he'll be able to integrate into our OSX based workflow". Ha! As someone involved in hiring, Windows IS a red flag (unless you are a .NET developer). Any sort of open source stack is either a nightmare to get going on windows, or impossible to get going on windows. I also have no idea why you would do that to yourself, Windows as a dev environment is terrible, definitely the worst of the three options.
- phendrenad2 6y agoYour story is yours to tell. The way it sounds to me, you started a startup in 2013, you had great success initially, you worked day and night on the MVP, but then something went wrong with the business plan (not your coding skills) and the startup failed. You made it 3 years though! You had happy customers who were sad to see the product go. And then you took 5 years off to pursue other things. Yes, you made a "computer game" (no one calls them that), but I don't think that's worth mentioning.
- vmception 6y agoWow this could be me! Almost the same experience, except without the obsessive marriage to poor products and I actually did learn how to pass those l33t code and behavioral interviews. Basically I left the software career and did a tech startup that essentially failed but made me an okay amount of money (yay no dilutive capital), tried to leverage my newly awesome network to get a job and also went to through the recruiter path. Once I started getting good at the interviews and solving them above the average time, I still wasn't getting hired. Like this guy, I did this with about 20 different companies, although when I look at forums people are doing this with way more companies and way more time studying and practicing. So that's kind of a pathetic waste of resources happening industry wide. All the big tech companies interview me for an L5 or equivalent. All the non-big tech companies just didn't want to pay me more than $180,000. Which eventually turned into a big deal because some disgruntled ex-hiring managers would retroactively contact me and tell me they got overruled and that my skillset and experience should have landed me roles at 180-220k. Improbable and a completely separate discussion, (am I getting overriden by a particular VC board member? nah it doesn't go that deep), any way I honestly just have better things to do. I had begun to be willing to take a much lower more relatable salary or compensation package, but then I found another lucrative project to do (with no dilutive capital yay) and that's been great. Crypto market picked up again too, great way to make money. It is still strange that the private sector doesn't accurately value this skillset yet (employed "blockchain jobs" pay low with startups paying the highest and midsize companies that are dabbling in blockchain are treating it like an intern play thing. all while contract and solo work pays or earns several multiples above market.) Yes, another similarity is our observation about San Francisco and the Bay Area being just a working class town with high salaries. People there think they are special because the salaries are high. But it's really just like factories, like the article mentioned. The idea that they're special allows for all kinds of cultish abuse. Use this thread as a collection of anecdotes to get a view of the reality, as soon as I was willing to interview for a role that would pay between $110,000-$135,000 the entire experience was completely different and better. Despite thinking "ah I'm an unemployable founder" or "ah maybe I'm older and I hit the wall I read about" or "ah my google results must not be good" or something, the experience at the lower salary (but high to that company in a different city) matched my positive interview and onboarding experiences earlier in my career. I did not accept as I was on to other things. So really all I have left for comparison purposes is the compensation: industry wide, people just don't want to pay me above a certain amount. They look at me and don't say yes. So there is a glass ceiling for me in that field, not the first person to draw that conclusion. Travel and doing my own thing is more fulfilling - I have a lot of lucrative software projects to continue rolling out - although the earnings are mostly similar to FAANG L5's with vesting stock price appreciation, its not as risk free as just showing up to a FAANG job as I meet many of them in my travels (over the last 6 months any way) and get a feel for their obligations or lack thereof, hope the industry gets better!
- Keverw 6y agoHave you thought about doing some open source contributing? Like publish some mini projects or modules, submit pull requests, etc? I think some recruiters scrape GitHub. I know some people get tired of the unsolicited emails from recruiters but in a way it’s kinda nice too sometimes.
- throwbernanke 6y ago> about complicated SQL queries (I use an ORM, rarely do I need to write a query by hand) There's "reverse tree" and then there's that...
- rronalddas 6y agoGot rejected from a FAANG job, because the interviewer didn't like Inorder recursive approach of tree traversal , he asked me to redo the question in O(1) Space. The interviewer specifically mentioned that , recursion or a stack can't be used.
- dragonwriter 6y ago> But then I went to the in-person interviews. Being a self taught software developer who has been programming since I was 12, I had no idea how to reverse a binary tree. Sure, that’s a little bit understandable if the problem came at you out of nowhere, but...that basic algorithms questions are common technical screens is hardly hidden knowledge. Abd that aside, even without having studied it specifically, reversing a binary tree isn’t, as problem solving challenges a developer might face, a particularly challenging one. > Or whatever I was supposed to do with some of the probability related word problems I got. Examples here would be useful to understand the complaint; I mean, since you say you were actively looking for data scientist vacancies, I would assume that both understanding and identifying needed clarification on statistics word problems ought to be in your wheelhouse. > Or certain questions about complicated SQL queries (I use an ORM, rarely do I need to write a query by hand) While you may not usually write queries by hand, using an ORM doesn’t prevent you from needing to understand complex SQL for complicated queries, and, I mean, I don’t known what position this was an interview for, but if you aren’t the person dictating tech stack decisions (as presumably you were as a founder), you may not have the luxury of avoiding get your hands dirty with SQL, so its not an unreasonable thing to test. > I had been working as a consultant and/or starting companies for almost 10 years So why weren’t you either: (1) Continuing to work as a consultant, either independently or in a consultancy? (2) Applying for the types of b2b sales, or other business-oriented positions for which starting a company or independent consultancy experience would be relevant?
- brhsagain 6y agoAs I read through this, I found myself thinking over and over, what should have happened instead? He did a startup, it failed, fine, he got some job offers, he turned them down, tried being a starving artist, realized he didn’t really want to be one after all, hit the job market again, and found his market value wasn’t what he wanted it to be. Sounds normal. It’s like dating again after a long relationship. I don’t think the conventional wisdom even says you’re guaranteed a job after running a failed startup. It just says you won’t be penalized for it. The last generation freaked out about their kids starting companies instead of getting jobs — “what if it fails?!” — and my generation replied, well, then you just look for jobs again. You’re not locked out of the market. But you’re not automatically going to get a job either. I also don’t understand the hand wringing around interviews. So you get asked to invert a binary tree, and you realize, shit, I don’t know this. Might be the Asian in me talking, but what’s wrong with going home, practicing binary trees, and trying again? Anyway, as far as a practical suggestion goes, having done a failed startup myself, it sounds like this person could try applying to other startups.
- cmollis 6y agoI used to rail against this practice of using CS-y questions as hiring filters.. but I think now I get it. I just got a take home test from a start up where I had to find all bounding boxes in a 2d array of chars, filter out the overlapped (or contained boxes), and return the largest non-overlapping box.. whew. I wrote it with a recursive traversal to find each bounding box (something I thought was clever), in scala (their language of choice, although I could choose any), within a few hours on a weekend, and I still didn't get the job. Evidently, missed some edge cases, but in their view generally worked for the most part. Obviously, this isn't remotely close to what I'd (ever) possibly do there (it's a web portal.. or something), but I can see why it was used. It's like the SAT, it's something that can be cheaply deployed with immediate feedback. You don't really have to guess if this guy/girl is going to hack the basics. Now clearly it doesn't really control for any sort of specifics of experience, other than how you think, and how you put together a specific solution. They need to filter on something, other than a gut feel, or a good conversation. They're in the business of software development, so I guess this is (at least) some objective measure of that. What might be interesting is to know how many FAANG wash-outs there are, despite doing really well on these tests. I wonder if it's close to what the normal attrition rates would be at other companies.. maybe none of that really applies.
- swordsmith 6y agoI am a research scientist at a FAANG. The interview process we went through is much less demanding in the CS part, as the domain knowledge is the focus (yet we still struggle to find good candidates that pass). But I've noticed that those who passed the coding interviews (easy to medium leetcode style) write much more efficient, maintainable, and concise code for the algorithms, experiments and analysis they implement. This results in much higher productivity, even if they have to do more catch up on domain-specific knowledge. The blog post mentions he works on "machine learning" projects, which in my experience benefits significantly from having leetcode-style algorithmic knowledge (assuming you are not just calling blackbox.infer() all day).
- kwo 6y ago> Being a self taught software developer who has been programming since I was 12, I had no idea how to reverse a binary tree. I'm also an autodidact having taught myself how to program at 15 but never pursued a bachelor in CS. I've failed coding interviews before when asked to diagram a sort function. So I upped my game, took an algorithm course on coursera, coded up some binary tree examples, learned about algorithm complexity. Then I got through the interview process at a FAANG. Algorithms are not a part of my daily job but perhaps they are like an honor code for software developers as much as a martial artist will never use violence in real life.
- Traubenfuchs 6y ago> can‘t get a job at the kind of SV company that asks you to invert binary trees > calls it being unemployable What a narrow minded view on the world of professional software engineering. There are plenty of „pays the bill“ jobs that don’t require grinding leetcode.
- personjerry 6y ago> A failed startup is a common enough story. Conventional wisdom tells potential founders not to worry about failure because they can "fail up" when things go wrong. In my experience, this was not the case. How do you "fail up"? Asking for a friend :)
- jimmy2020 6y agoI was reading this and hoping for a better ending. Exceptional story and the thing is not about the hiring process in FAANG. What's important the most, from my perspective, is how bad can it get. You failed twice, been rejected multiple times and when you land a job you can't handle the unfairness of the process. This is maybe real life for a lot of founders. Being the victim of your own ambition and then the people who hold the key lock the door because they worship the process itself instead of the outcome. The irony and the nihilism.
- carpedimebagjoe 6y agoI'm in the same boat. I've been doing other stuff, buddy startup consulting that doesn't lend itself to resume padding. And now my resume looks stale and that I've been out of it, when I haven't. Self-taught Pascal at 12. Then x86 assembly, C, C++ and so on. I have a BS EE/CS degree, could've done PhD but stopped. Typically do work now like AWS architecture, full-stack team lead, Sr. SRE/Production Engineer. I've been living on savings for ~ 7 years between contracts that paid the bills for little time investment, but I'm at the point where a J O B would be a more stable source of income and increase daily focus. I do have a pending interview with a FAANG, but I'm wondering if the resume staleness or that fact I nuked my social media and antiquated LinkedIn is going to hurt too. I had a verbal offer from a startup interview via HN "who needs a job" but it was a scam for free brain picking when I could use a real job and the money now.
- blueyes 6y agoI feel like the headline implies a false causation. Dave wasn't unemployable because his startup failed. (In fact, he was never unemployable at all.) But he does seem to have found that there are many kinds of work in tech that he doesn't enjoy or wish to pursue. That's also respectable, but less dramatic.
- soonnow 6y agoI've hired quite a few people and the process that I settled on turned out to be really working well. I will say that most of the hires were decidedly good developers. What I like to do is to ask people to explain and algorith to me, e.g. "What is a HashMap?" as in how does it work, what's a hash function and what's it good at? A lot of people cannot answer the question, because it's not relevant to their job, they just use it, put objects in the map, get objects out of the map. So if they don't know it, I will explain how HashMaps work to the potential hire. At least they'll all be walking out of the interview with a little bit more knowledge than they walked in. So we start with what's a hash function, how to choose a bucket and what happens in a collision. And then I ask people to explain to me what happens if I implement the hashCode as a constant function that always returns 1. Now what I want to see is that people digest what they just learned and apply it.I find that is a skill that is what developers do everyday and that it directly correlates with performance.
- jkereako 6y agoThe tone of this article is bitter and arrogant. That might be the reason why the author feels unemployable. I and millions of others understand the author’s frustration with the technical interview process. Yeah, it’s annoying, but that’s the process. There are a lot of resources to help with interviews. There’s a trove of rich lessons to be drawn from these experiences.