Joke aside, 5 years of experience get you $300k total compensation per year at a hot company in SF Bay Area.
1,499 karma · joined November 10, 2016
Joke aside, 5 years of experience get you $300k total compensation per year at a hot company in SF Bay Area.
This will help you get back to a stable state where you'll be able to slowly work your way back "up". People who do that usually end up way higher that originally planned, when they fight back after a good recovery. You need a change of scenery.
Life is all about compromise. If you don't want to compromise on anything, so be it. That means you will spend the rest of your life with yourself. Unless you find the perfect female clone of yourself, which doesn't exist. This is also valid for friends, family, etc. We're all different in this world.
15 minutes into the interview I hung up. 15 minutes later he tried to call me back on my phone (apparently he took him 30 minutes total to remember I was interviewing). Got an email from the recruiter mentioning a "connection problem during the interview". Then the day after I got another email from that recruiter saying "I wasn't a great fit for the role:.
I think startups really win the #1 spot when it comes to horrible candidate experiences.
You and the 'ADHD' coworker can't seem to communicate properly about the actual topic (project, tasks, etc.). I'd suggest to sit down together and to go over the requirements. Slowly but surely. If your coworker knows exactly what you're working on and why (and vice versa), then the style shouldn't be the issue. We're all different and we all have different styles. It doesn't really matter.
1. I quit my full time job (I was working at a FAANG), took a 2 month break in order to travel, work out etc, then I started working on my own projects. I was coding from 7am to 1am from Monday to Sunday, 6 months in a row. This doesn't include coding only, I also worked on UX, marketing, legal, anything involved in building a product from scratch. I enjoyed every minute of it and learned so much...
2. This got me into Product Management. I started focusing on product management only and started bootstrapping the whole thing to iterate on more ideas. It ended up not working so well so I started applying for PM roles. I got some opportunities here and there but they weren't as good as I wanted. Being a Tech lead having to start at the bottom of the PM chain. It felt like I was over qualified for an entry level role and would not get qualified for a Senior PM role because of a lack of "PM" experience.
3. So I went back to coding for a large company as a lead.
4. Quickly transitioned into Management and moved away from coding again.
There you have it. Coding became a second nature but I can't be as productive as I used to be in the past. So why would I try to compete against young and fresh people? I found out I was more valuable in designing systems, optimizing existing infrastructures, asking questions young engineers don't really think about because of a lack of experience. The act of coding per-se isn't for me anymore. That's it. There are many ways to move away from coding without losing all your valuable years of experience.
Remember, a Resume is a showcase of things you've done and would like to share with the world. We don't mention everything on a Resume. As long as everything is legit, you're good to go. Avoid going into too many details as it makes it confusing for a recruiter and you may get penalized for that. Show case what you've done during your part time experience under the same employer (when you were full time).
So step zero consist on acquiring your first customer/user. This is usually when having a non-tech co-founder or someone who's good at selling would make a huge difference. We always bypass this step of acquiring the first customers, it's only when you build something and ship it that you hit a wall. You will not rank in google at first, no one will ever mention your name and the only queries you'll get on your SaaS or whatever product you have will come from your own IP. That's what I'm talking about. You just launched, now what?
So you need to go out there and "manually" pitch your product to people. Introduce yourself, tell your story, prove people what you've built is what they want. You would usually fail capturing the needs at first because of a lack of interaction with your targeted users, you will build something that isn't exactly what they want. So you need to quickly adapt to that early feedback, which is why going out there and trying out your MVP or prototype very quickly is a key to success. This is what I mean by "people need to see real faces". You could pitch your product to your mom, friends, potential users, potential partners who could help you move to the next step, etc.
The best way to find out "how to found a company as a single founder" is to give it a shot. You'll basically collect all the answers to your question.
The easiest place to start as a developer in 2019 is Web.
- Bring your dog at the office
- $20K credit to freeze your eggs (for women)
- In-house bar with barista training for employees
- Indoor garden where you can grow your own plant at the office
etc.
Is your hot product in a maintenance mode? If so, just a few devs can handle it.
Then you have companies with groups like retail, legal, hardware, etc. They require tones of software engineers to build internal tools. They definitely don't reach billions of users and you see a lot of these teams. What I found out while working at some of the Faang's is that the hottest teams are usually very lean. You'd be surprised how one single rock star engineer can handle. When you start having +10k engineers in your company, only a minority of folks will end up working on the hot stuff.
https://en.wikipedia.org/wiki/List_of_Google_products
And we're not even looking at the number of active users per product versus the total amount of gmail ID's enabled for all google products by default (e.g. Google+)
Also, your statement is valid for companies like Facebook, Uber, Apple, Amazon, etc. It is not a valid argument anymore in my opinion. But I totally get your point.
1- The individual would grab the most annoying task no one else wants to work on and would close it while staying positive
2- The individual is often used as the go-to person when a decision has to be made, or critical information is missing in a project
3- The individual has a great relationship with most of the people around (known as a friendly and respectful person)
4- The individual is wiling to help others behind the scene and doesn't look for any gratification other than making sure people learned something while being helped
5- The individual has made multiple decisions that appear to be great decision after all (probably the most important point).
If you fall into all this categories, you'll be just fine. It is a constant learning process as opposed to being an engineer. Why? because the process changes constantly, there's actually no process at all. If you learn a pattern, a language or a framework once, you can re-apply the same process for the new upcoming stuff. As a manager, every day is a new day. If you're a shark who produces a lot of output and burns a lot of relationships along the way, chances are, you'll most likely get promoted, but you'll fall into the large pool of bad managers. There are more bad managers than good managers out there. If you don't have the 5 qualities mentioned above, work on that prior to switching to management. That's my best advice.
If you switch today it's fine, you'll get a lot of opportunities as an iOS dev assuming you're really good at it. The bar is higher than Web, usually iOS devs know their stuff pretty well and ask tricky questions. If you've only built little apps, you may have to study a lot more (more advanced topics) before applying to jobs.
If you're looking for freelance jobs only, you'll be fine as long as you're not working with technical people. You can still hack your way around and build apps that aren't really optimized. As long as it does the job.
That’s it.
When I say keep working I mean working for someone. Let someone dictate your day, week and year. Some people need structure in life to function properly so if you're one of them, I'd highly recommend you to get another job at another company in order to learn new things. Ideally, you'd study a new position in between so you wouldn't get bored too quickly. Switch to Product, design, or dev for example. You're not chasing for high incomes so that allows you to come in as an "entry level". You seem to be humble so that could fit you well. But definitely look for new challenges since you'll be spending most of your time at work. There's also the entrepreneurial route but I'd put that into the second bucket.
Retirement. Unfortunately, unlike you, I could not simply retire from the 9-5 life. When I say retirement I mean not having to work for anyone. What I would do is to work on my own projects and take a year or 2 to explore different domains and ideas until I'd find something promising I'd be deeply passionate about. Needless to say you'd be learning every day.
In terms of what to do with your money? Here is exactly what I'd do personally. I'd put $5 million into government bonds with a 100% guaranteed return of about 2.5-3%. That would bring you about $150k of passive income per year for the rest of your life (based on inflation rate). That's it! I'd move to a not too expensive place and I'd still have $3 million dollars left. I'd actually split it in 3 in your case. $1 million for each of your kids. For each kid I'd split it like this: 50% into a more aggressive portfolio like stocks, then 50% into bonds. I don't know how old your kids are but the idea is to lock these accounts until they get old enough to understand the value of money. With your million dollar left, I'd buy a new house for about $300-400k. Then I'd leave the rest into a savings account to be used for fun, big purchases, etc.
- For someone with 2 to 5 years of experience: A candidate should have a choice between a full day onsite, working with the hiring team on a mini feature or a bug fix. Or, a 1 week project assignment with a shared/public repo between the hiring team and the candidate. In this case the candidate could work remotely on the evenings/weekend. Code should be reviewed and pushed into the repo at the end of the assignment period. Collaboration along the way is highly recommended for the candidate. The hiring team should be at least available to answer the candidate during the process. The onsite would ONLY be a lunch with the team to get to know each other. If the candidate chose the 1 week assignment, he or she would have to stop by for the last step if everything went well, which would also be a lunch with the team to get to know each other.
- For someone with 5 to 10 years of experience: Same as 2 to 5 years of experience, but would involve more technical choices from the candidate. This could also be a feature or a product optimization task, etc. Requirements have to be very high level and the candidate has to make design choices and define a scope as well as delivering a working prototype. If the candidate is closer to 10 years of experience, he or she should assign a coding task to at least one member of the hiring team and make sure to help and review the work. This process could also work for +10 years of experience as a Dev, or even a "Tech Lead".
- For an engineering manager: No Leetcode please! Stop now! :) The candidate should take over the current sprint from the hiring team, or part of it. This could also be a sprint exclusively designed for the interview process. Stories could be made up or could be real stories from the team backlog. This could be a 1 week project assignment. As a Hiring manager you should be able to keep track of stories and to host standup meetings remotely with the team (5-10 min conference calls all week for example). The team would simulate blocking issues and conflicts between peers and the descriptions of these problems would be sent to the candidate for review. You would have to show up onsite and host 1-1's with the related folks in order to go over these problems to try to fix them. This would also include a team meeting to share the status of the project with everyone. During this day onsite, they might also simulate a mini hiring process for a new Developer. Team members would be the actual candidates and you would be the interviewer (a quick 15 min interview for each candidate). Other hiring managers would be involved in this process as well where you would discuss about the candidates and make a final decision.
That's it. As you can tell, this would require companies to do a lot the work in order to set that up. Unfortunately, not enough energy is allocated to hiring new people. Companies rely on the existing and broken process started by Google in the late 90's... this was the only company asking academic and weird puzzles to candidates. Also, I cut a lot of corners because my post is already way too long, but you get the picture...
Really, nothing as changed in terms of the future and potential of crypto, just a lot of positive things happened inbetween.
Oh, prices haves gone up and down too, but who cares.