In which part of the World are you located? A solution to get over your nightmare may be to move somewhere else where competition doesn't exist. Apply where the barriers of entry are lower because of a lack of candidates available around.
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.
Becoming an engineering manager is not an escape from coding. It’s the opposite. To get there you need to be a top performer, which involves being really good at coding and all the other tasks you’d like to move away from. And then, you get promoted and they take it away from you. The best individual contributors become great managers. You should look into project manager roles instead. This will he a better option for you.
Would you rather die alone in a closed room in front of your computer, or would you rather die in the hands of someone who loves you more than anything else?
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.
back in the days, I was interviewing over the phone with the hiring manager of a large startup in SF. Basically doing live coding on a shared note pad. The guy started chatting with his colleagues and completely forgot about me. 10 minutes in the exercise I had a bunch of clarifying questions to ask. I kept yelling and calling him over the phone, he did not hear me and kept talking with people around.
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.
It seems to be a lack of confidence or a miss understanding of the requirements. In other words, no one really understands what has to be done and how to do it properly. If you understand the requirements and have enough knowledge about the domain, you should be able to articulate your thoughts clearly and simply. This goes for code reviews, integrating your work with your peers, splitting the tasks into smaller tasks, convincing someone about a technical choice, etc.
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.
I burnt out on coding a few years ago because of the painful development process in a professional environment. Dead lines, boring work, bug fixes, politics, micro management, etc. Here is exactly what I did:
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.
Since you generally don't mention your salary on your Resume, simply put it as a regular work experience. You may want to specify "full-time" versus "part-time" but it doesn't really help. This is only if someone asks you about this specific experience that you can give more details.
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).
Sure, by real faces I mean pitching your product to people directly. Not necessarily over the Internet but in person. This is a step that is often missed by a lot of tech people wannabe entrepreneurs (including myself). We think the Internet is a magic place where you can launch anything from your bedroom and reach millions of people if you use the right marketing strategy (ads on youtube, cold emails, viral strategy, gamification, etc). I call this the scaling phase. You can't scale nothing. If you have zero user and zero customer, what do you want to scale?
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.
This pretty much sums up everything. I had a similar problem trying to sell my products. If you're a solo founder learn how to sell first. Finding cool marketing strategies is great, but people need to see real faces before buying your products. It is not always true, but in general that is what I've seen so far.
Yes it is. As long as we'll have Websites on the Internet we'll need Web developers. It is a great place to be still. I used to do that then I got burnt out by the stack, which keeps changing every 6 months.
The easiest place to start as a developer in 2019 is Web.
You can't say "always". This doesn't make sense either because it's on a case by case basis. You could have a simple product used by billions of people, which doesn't require many devs, or you could have a complicated infrastructure no one knows about that gets billions of requests from 10 other products per day. This could be handled by an army of engineers.
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.
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+)
You can innovate in many different areas. For example code reviews, CI/CD pipelines, sharing knowledge across the organization. It seems that Google as a pretty solid engineering culture but it doesn't really innovate much like a lot of other large tech companies. Standards are meant to be broken.
Reality is that most of the engineers at Google don't work on google search nor google map. They work on "smaller" projects that don't necessarily reach billions of users. It doesn't change the fact that everything has to be engineered in order to work for a large amount of users, true, but do you really get that reach? nope unless you're in a very hot and selective team at G.
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.
Great advice from people here but I'm gonna try to provide as much value as I can on top of that. Read books, listen to others, get a mentor, blablabla. Do that for sure because it is the bare minimum. Unfortunately, this is not enough. Here is how an individual gets into management and becomes a great engineering manager (the "great" part is essential):
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.
Other than the 20 percent free time, compensation and offices, the engineering culture at Google doesn’t seem to have anything special based on this well written pdf. It is in fact very similar to other large tech companies. Just in case you were still wondering what really attracts great engineers.
The only way to attract co-founders in SF is to create value. An idea and a Resume alone have no value. Build something and showcase it. You'll create real opportunities and you'll become a magnet.
Joke aside, 5 years of experience get you $300k total compensation per year at a hot company in SF Bay Area.