I'm in my late 20s and working at FAANG in London (can't move to the US). It's my first/only real job, but I've moved around in a few different teams and I'm now a staff engineer. While I do enjoy my job, it feels like I'm having marginal impact on a large number of people, which is not extremely satisfying. So I'm thinking of leveraging my time here to best prepare for a pivot to startups in a few years. The things I'm currently focusing on:
(1) generic technical skills - for the most part, being a world class expert in programming languages, or data storage or whatever it may be is likely not going to be a good use of my time. So I'm focusing on generic, translateable skills
(2) becoming a great engineer - bridging the gap between technical complexity and business outcomes sounds like a skill that is very useful. I'm lucky to be in a team that has a lot of such complexity to manage, which means that I can also gain some product management, etc. skills
(3) managing people - understanding people's motivations and creating human structures to achieve a business outcome seems like a core skill for managing a startup. I can do this both informally (e.g. as a senior/staff engineer) and formally (as a manager, at some point)
(4) managing a business - this is hard without hands on experience, but there's plenty of theory around in books, blogs etc.
So far, it looks like the things that are missing are (5) networking and (6) startup ideas. It's unclear how much weight I should give to these right now, or if there are other blind spots.
So I'm looking for a validation that I'm approaching things the right way, advice for better leveraging my current situation, and the HN crowd's wisdom on the matter.
Thanks!
If you want to start something, that skill is worth a lot of time. To get experience, make something on the side that gets you talking directly with users/customers. It doesn’t need to be software - as long as you’re identifying the problem and iterating to create something they like/use/buy, that’s what’s important.
For a founder, this might be the most important skill. For an early-stage employee (say, after the first 5 or 10), it’s valuable but a lot less critical.
However, the most essential thing you're missing is finding an actual problem you want to solve.
Any Product Manager will tell you that at the CORE of every product and business there's a problem. So right before you jump into a new business. Check out this article where we go step by step on how to find a problem, validate it, and most importantly, fall in love with it enough that you're able to overcome all obstacles.
Startups aren’t inherently different from big companies. Big companies you have enough of a buffer that you could do nothing and they’d survive. At a startup if you’re not working on things that will keep you afloat, the startup does.
So the #1 skill is focus on things that will help you get paying customers, and do it well that those customers are happy enough to stay with you long term as you grow.
You probably will skip the things that are basic to you. What you could have an impact on is the engineering aspect in a startup, especially if you have way more experience than people there. You could bring all that you have learned at your job to get engineering right while taking into account that not everything at a FAANG is applicable to the startup, and trying to make it that the problems these approaches try to deal with get dealt with.
Also establishing systems that don't have too much friction, and not becoming subservient to tools.
Bear in mind that in the context of a startup, everything is to be done by yourself or people you know. Nothing is "taken care of".
Putting the content of that message here:
>>>
Hi, here are a few things I wrote in here that could be useful. They are designed to improve remembering to do things, doing things, learn from doing things, make sure everyone knows what they should be doing, remember why we're/if we ought to be doing things in the first place, and doing the right things:
- https://news.ycombinator.com/item?id=19924100 (understanding codebases, etc.)
- https://news.ycombinator.com/item?id=22873103 (making the most out of meetings, leveraging your presence)
- https://news.ycombinator.com/item?id=22827841 (product development)
- https://news.ycombinator.com/item?id=20356222 (giving a damn)
- https://news.ycombinator.com/item?id=25008223 (If I disappear, what will happen)
- https://news.ycombinator.com/item?id=24972611 (about consulting and clients, but you can abstract that as "stakeholders", and understanding the problem your "client", who can be your manager, has.)
- https://news.ycombinator.com/item?id=24209518 (on taking notes. When you're told something, or receive a remark, make sure to make a note and learn from it whether it's a mistake, or a colleague showing you something useful, or a task you must accomplish.. don't be told things twice or worse. Be on the ball and reliable).
- https://news.ycombinator.com/item?id=24503365 (product, architecture, and impact on the team)
- https://news.ycombinator.com/item?id=22860716 (onboarding new hires to a codebase, what if it were you, improve code)
- https://news.ycombinator.com/item?id=22710623 (being efficient learning from video, hacks. Subsequent reply: https://news.ycombinator.com/item?id=22723586)
- https://news.ycombinator.com/item?id=21598632 (communication with the team, and subsequent reply: https://news.ycombinator.com/item?id=21614372)
- https://news.ycombinator.com/item?id=21427886 (template for taking minutes of meetings to dispatch to the team. Notes are in GitHub/GitLab so the team can access them, especially if they haven't attended).
- https://news.ycombinator.com/item?id=24177646 (communication, alignment)
- https://news.ycombinator.com/item?id=21808439 (useful things for the team and product that add leverage)
- https://news.ycombinator.com/item?id=20323660 (more meeting notes. Reply to a person who had trouble talking in corporate meetings)
- https://news.ycombinator.com/item?id=22715971 (management involvement as a spectrum)
<<<