If I had it my way, I'd drop everything an do another (tech) startup (I've already done one). The problem is, I don't have the financial resources to take on the risk associated with founding and operating another company. I still have lingering debt from my last one (in addition to college loans), and the best way to resolve it is through doing tech for a few years.
So, naturally, I'd like to make sure I end up at the best tech company (with the highest likelihood of making helpful connections) as possible. To me, this is a step, albeit a necessary one, in the process towards being able to achieve my overall goal.
For the record, I do like writing code. I just hate technical interviews.
If you did the tech startup, what would you like your role be?
Would you be the product guy, designing screen flows, talking to users, figuring out how to solve people's problems? Would you be the biz guy, doing deals and making sales? Would you be the technical architect, staying up late hacking away?
===
If you love (and notice I keep using the word "love", consciously) programming, then it's just a matter of interview anxiety. That is solvable. Some great companies don't do standard whiteboard interviews. You could focus on those. You can also bolster your overall hireability by participating in open source projects (my project - https://github.com/attic-labs/noms - is always looking for contributors) and publishing code on github.
At my startup we don't do whiteboard interviews for exactly this reason - lots of people just suck at them. It doesn't give you a good signal. More and more smallcos are going this direction.
===
If what you really love is product design, or business development, or sales, then you can try and get work doing that. I am aware of people who have totally hustled their way into great companies as bizdev or product by just doing what needed to be done before even getting hired ("hey, I found you a customer -- btw can I have a job??").
This also can work for engineers btw. "hey, I fixed this bug for you, btw can I have a job??".
When I was at Google, we had a guy show up to one of the OSS projects. He started sending in patches, participating in the mailing list, making design proposals. We hired him. It largely wouldn't have mattered how he did on the interviews, it was clear he was a star before he walked in the door.
===
I would also note that you don't need to go to one of the big-four to get connections for a future thing. Tech is very close-knit. People cycle in and out of bigcos and tinycos all the time.
It's infinitely more important how much impact you make, than where you are. Change the fate of a small company and everyone there will love you and sing your praises. You'll have opportunities from all those people's direct and indirect connections.
Go to a bigco, and it is actually harder to make as big an impact. You'll know more people directly, maybe, but it will be harder to really impress them.
===
Good luck, again. I've been where you are. It sucks, but you'll get through it.
Try to focus on what you want, then put one foot in front of the other to get there :).
1.) This is a really good question, and to be honest, I'm not 100% certain what you'd call my role. At my last startup, I was the founder, so initially, I had to do everything. However, as the project scaled, I focused most of my energy in three areas: product, business development, and operations. What kept me going was figuring out what our wanted and how to best deliver the product to them. For the most part, writing code was a means to an end (aka a better product and/or user experience).
2.) I certainly noticed your use of the word "love" in reference to coding. On the other hand, I purposefully used the word "like" instead. Coding is fun. I generally enjoy doing it and I find software engineering to be intellectually stimulating. At the end of the day, I view coding / software engineering as a means to an end - a way to deliver a better product, or make a process more efficient.
With that said, although I may not have this innate love for coding, I am the type of person who, upon deciding to do something (e.g. coding), has to go all in. Maybe that's enough to be a "great" software engineer. Maybe it isn't.
3.) Good suggestion, although if I do decide to go the product / bizdev route, I think I need to spend some time understanding more about how the formal versions of these roles actually work. On the other hand, the engineering route seems a little more straightforward.
4.) Noted. If you scroll up a little, you'll see a comment I made in response to the "big 4" bit. I'm less interested in targeting a "big 4" company and more interested in targeting the ideals that they represent (culture, challenge, quality, etc.). tl;dr: I want to work an environment that will foster my professional growth in relatively specific ways.
So, naturally, I'd like to make sure I end up at the best tech company (with the highest likelihood of making helpful connections) as possible. To me, this is a step, albeit a necessary one, in the process towards being able to achieve my overall goal.
For the record, I do like writing code. I just hate technical interviews.