I was an engineer #1 hired by a "CTO" and we grew to 50 engineers. His story/growth didn't really change much, however. He was a coding machine, a true "10x engineer", and programmed day and night. He even started up a second company while working on the first. He built both codebases from scratch, and even re-wrote the first company's core codebase at one point.
He did attend exec meetings and make all major technical decisions, but I never really felt he had to grow into anything.
When we got big enough to start worrying about compliance, security, and HR tools, we did it together and moved on to the next thing.
There are a whole host of compliance and security issues that you don’t have to (and shouldn’t) worry about when you’re small. Employee background checks, documented disaster recovery plan, 3rd party pen testing, etc. Those are things you worry about once you have built something. It’s different than just application security which itself can always be improved over time even if it wasn’t an afterthought.
"At this point, I believe technical co-founders have a binary choice: Stay on the technical track and hire a professional manager (usually given the VP of Engineering title), or give up coding and focus on the management aspects yourself. It really isn’t possible to do both."
For me this is the key quote.
I have a friend who went the other way from the author of this article. He started as one of two company founders working out of an apartment doing all the technical work while the other founder focused on business stuff.
When the company grew to a point where he had to decide between staying technical and people management, he hired a VP of Engineering, stuck to coding, and still codes 6-8 hours a day.
The company is now at about 200 people, is profitable, raised a series A after figuring out the business model, and blowing past the goals set by the investors. His stake in the company is worth many tens of millions today.
Just an existence proof that 'sticking to coding', can be a viable strategy, if an unusual one.
He is not interested in blogging/social media etc, or else I'd have persuaded him to write up his experience.
I have to agree with dang. Most people running successful startups don't have (or take) the time to write about it.
Which is too bad (imo). We could use more writeups from the successful subset.
I'm another of those technical founders who choosed to stick with the code. Even though we are still very small, it has been a subject of conversation since the beginning between my co-founder and me, and after 2 years of trying to convince me to assume managerial tasks, she finally came to term with that idea.
It helps that a late-founder joined us and is already assuming the VP of Engineering tasks. This was done even before our seed round, at only 2 developers. The sooner the divide is made, the sooner you can fully concentrate on building the product.
I never really liked the "CTO" title, as I don't think of myself as a "Chief" or "Officer. I'd rather be called Lead Developer.
I think this is a critical point for engineers to see, and it sends a great message for engineers joining a company: "You don't have to go to the mgmt. track to have great career growth."
In many organizations I have seen the deep technical skills one gains through their career are not valued in the same way "Mgmt. Skills" are. "Mgmt. skills" are or at least appear to be much easier for an organization to see and reward. This is a great story!
I think that the pressure for initial programming founders to become head managers is a Peter Principle trap - your success at the tasks required as a senior engineer does not correlate very well with success as a manager. Even if it works for you (as it seems to have in this case!) it's important not to establish a culture in which you get promoted to managerial positions iff you are a good engineer.
I've seen a lot of fantastic coders get promoted to management and be bad-to-mediocre at it, and a lot of meh coders who can take over a room passed over for managerial jobs they'd probably be better at than their purely-technical ones.
Did you have to get up to speed on al the details of fraud, risk, and FinTech? If so how, what resources did you use to figure it out? If not, did you hire expertise, bring it in-house, and only have to implement bits of it into Gusto?
Second question: how did you determine to shift development from SF to Denver? What criteria went into selecting Denver over other areas? How did you figure out what to move their and keep in SF?
Third question: how are you doing? I remember in S08 when you were working on PicWing. We’re still working on Poll Ev!
I'd say it was a combination of hiring in-house experts (we did that to learn about payroll taxes), and lots of reaching out to people and not being afraid to pepper them with questions (for example, in the case of learning about the ACH system: https://engineering.gusto.com/how-ach-works-a-developer-pers...)
As for Denver, a ton of factors went into choosing it. Ultimately though, we just loved the people, talent, and culture in Denver so we went with that!
I'm doing great! It's so great to hear from you again.
1) Did others in the org recognize you couldn't spend as much time on code, and they appreciated your time elsewhere? I can imagine there being some growing pains as you slowly gave your responsibilities to someone else, and in the meantime things not getting finished as quickly/productively. (Not to mention the fact that an average engineer wouldn't like spending 12-14 hours per day coding)
2) What is your favorite advice from the books you've read? What made the biggest impact on your actions?
I use Gusto and like it for it's simplicity. It makes a complicated part of running a company much smoother.
That said, I'm very curious what exactly all those engineers are doing every day. What's the most meaty part? Payroll? Dealing with govt? Keeping the servers up?
I think unexpected scaling pains are one of the most interesting and unsolved issues with being a CTO and would love to hear more about that at Gusto.
I can certainly share some of the meatier areas that engineers at Gusto work on.
- Calculating payroll and filing quarterly and annual forms are very complicated tasks that (a) is different in every state and (b) changes frequently as federal, state, and local tax laws change. Doing payroll in 50 states is similar to doing payroll in 50 different countries
- Benefits is similar to Payroll in the sense that it's also very different in each state. The business logic is complex and a significant amount of engineering work goes into simplifying it for us customers
- Because we move billions of dollars per month through the banking system, we have a lot of the same technical challenges as a Stripe, Square, Paypal, Venmo, etc. We have a dedicated FinTech, Payments, and Risk teams for this.
- Security is super important to us, since we have a lot of PII/PHI and financial informaiton
- Gusto is about 600 employees today and we invest in lots of internal tools for non-engineering functions, an enterprise data warehouse, and security.
- We are also looking into what the future of payroll looks like. A personal goal of mine is to rid the world of the concept of a "payday". Why shouldn't employees get paid whenever they want for the work that they did? https://techcrunch.com/2018/06/21/gusto-flexible-pay/
- Technical debt: When you grow as fast as Gusto does, you inevitably accrue technical debt and it's important that we carve our engineering resources to keep that low.
There's a lot more in there, but hopefully it gives you a sense of how 100 engineers can add up pretty quickly!
We use gusto across multiple jurisdictions where tax laws change every year and our bookkeeper our employees put them through funny circumstances. I've been impressed by how many problems they've made invisible (just notify us) or we sent over and they handled. Cannot say the same about other folks we use here (ex: zenefits caused multiple lapses in coverage).
you might face some ingrained cultural barriers with this as the higher-status the job the more infrequent/delayed the payday... day-laborers are paid at the end of the day, many blue-collar jobs are paid weekly or bi-weekly, and white-collar jobs are typically paid monthly
I used to be a PM at Gusto so I can add to Eddie's answer. As Eddie mentioned, it's non-trivial to keep the existing applications running as well as they do. That being said, a non-trivial amount of time/resources is spent making an already amazing product that much better. For example, my friends just launched a new product that lets you pick your payday (https://techcrunch.com/2018/06/21/gusto-flexible-pay/). To get this to work, there's a lot of data science involved to make sure you're not exposing Gusto to financial risk (it's effectively lending money). Since taxes are withheld with every paycheck, the payment flows associated with flexible pay become incredibly challenging. They're an amazing team. Go Eddie!
"At this point, I believe technical co-founders have a binary choice: Stay on the technical track and hire a professional manager (usually given the VP of Engineering title), or give up coding and focus on the management aspects yourself. It really isn’t possible to do both."
Since you chose the management track, what did you do/who did you hire (in what levels) to take care of engineering at the level you were previously doing? Or were you effectively functioning as a standard IC so any developer could take your role?
It was important to us to be deliberate about hiring senior ICs since I was more on the management track. We already had some in the company so that helped as well.
We went from 1 engineer (me) to 4 last year. So I'm in the 2-10 stage. I coded prototype and first X customers, which has become literally 20X in the past year. I still code most of the time, and the primary problem I am encountering is being willing to transition technically difficult aspects of the product. This has to happen, as I am finding myself becoming a huge bottleneck.
The old cliche to work your way out of a job really resonated with me when I made this transition. It is natural to want to take on a task for yourself and to think you're doing your team a favor by shielding them from details you have a mastery on. But, once you get into the mindset of enabling everyone by focusing on training and knowledge sharing, you find that people are far more capable than perhaps you give them credit for and in fact do them a disservice by not giving them more reign. Worst case, you get a bit of sanity back from being less of a bottleneck. It may not seem like it, but most of the time the people applying tight time pressures are ourselves (customers also have more patience than we give them credit for), and it is generally worth it to invest in teaching someone to fish, as it were.
Fun fact we took over the lease at 425 right after y'all. That picture on the blog with the couches does not do justice to how packed the office was when we did our site tours!
Congrats on the success! Yes definitely replace yourself sooner than later or you will regret it when you're dealing with company stuff and you need to fix a bug at the same time!
> To accomplish this, I decided to fly to New York to hole up in a hotel room for three days to read a few highly-recommended management books.
> I decided to focus on growing Gusto’s engineering team, and not our code. The technical books on my desk starting getting replaced with books like Mindset, High Output Management, and The Score Takes Care of Itself — still three of my favorites today.
If the three books listed in the latter excerpt were not those three books you read in the hotel, can you please tell us what books they were?
How did you maintain compliance and security before you could have someone full time on it? How did you deal with audits? Did you hire an engineer full-time dedicated to this, outsource it, or do it yourself? (I ask because I do this now but at 8 people it's starting to take up too much of my time as CTO)
I think either of your options would work. If you have in-house skills (yourself and/or another engineer), exploit them. If you have a trusted third party who can help, spend some time and money on them. If neither of those work and you feel you need to hire someone, do that (although I’d go with the other two options first). Also, as you undertake these audits, keep a solid record of documentation (questions and answers) as most due dil exercises will be made up of many of the same questions. Stock answers go a long way.
What do people think about the career trajectory as an individual contributor in an early stage startup? I'm the kind of person who not only enjoys coding, but hates dealing with management, hiring, meetings, etc. I always fear that I will be pushed to take on a management role. At the same time though, I really enjoy working with a group to build something from scratch. In your opinion, do you think it's better that I don't join an early stage startup?
No! I was the only engineer at a startup for 18 months (!) and we're now up to 7. Some of the other 6 will never be expected to take on management roles.
One of the great things about being an IC at an early company is there is so much to do. You get to put your fingerprints on a lot of things across the company because there won't be enough people to spread out all those tasks. As the company grows, those foundations become opportunities for you to grow from sole contributor to technical lead on each one; so much so that the hardest part will be choosing what to give up control of, not to what to keep contributing.
If you find yourself in this situation, I strongly recommend being involved in the search for your VPE. It could be really frustrating to build the technical foundations for a company only to be so frustrated by a poor manager being hired above you without your input that you might even quit. Wouldn't be good for your equity, either :).
PS this implies that if you don't want to grow into mgmt, you'll need to grow into being a good lead developer. Early startups have no room for people unwilling to grow.
Not sure it needs to mean firing people as much as giving any constructive feedback to an experienced engineer can be difficult, even if done perfectly.
For most working persons globally, getting fired isn't something that involves a "difficult conversation". Working stiffs do not get that degree of attention to their feelings. Suggesting that this phenomenon is common to (or even characteristic of) the high-income and acutely socially-aware circles of Silicon Valley should not be construed to exclude its observation elsewhere, but SV is one of the few places where the behavior is common, and hopefully the only place that feels the need for a polite euphemism.
Definitely miss coding! I still do a little during our hackathons but otherwise don't have that much time to commit to any projects. I would just slow down the team.
Took me a second to realize you didn't mean, well, OpenOffice.
I'll have to second your "yikes," that looks like a really distracting and very echoy place to work. I'd never get anything substantial done with any reasonable speed.
I've been trying to figure out just when tech offices switched from outcast ugly nerds hunched over a server to tea sipping hipsters getting ready for a sack race before hitting the gin bar. Does anyone with a family over age 30 work at these places?
The justification I hear for ignoring the data against open offices is: "Every other unicorn has an office like this and they get work done so why can't we"?
In a place like SF where office space is as expensive as it is, I wouldn't be shocked if the savings in rent from this kind of floor plan outweigh any productivity losses and I'd bet that is a primary reason why there are so many open offices.
Edit: That said, that one definitely doesn't look like the most efficient use of space.
I think they're in Boston, but, even in New York, which, for office space is even more expensive than SF, the excuse that square footage is too expensive seems shaky, especially since it's been trotted out routinely over the past 3 decades.
This blog post shows a credible calculation, even assuming remarkably low salaries (and a fairly credible $5/sqft):
I have noise cancelling headphones(bose qc20s). They don't work well on voices. I actually ended up with tinnitus partly because of listening to noise cancelling headphones at work all day (also sinus issues at the time likely made me more susceptible). Now, I can't listen to music loud enough to drown out voices without it setting off my tinnitus).
Given that you were essentially learning management while in the role, did you ever end up hiring people with prior management experience to report to you? What was the mentoring like for these folks - were there cases where your reports actually had more experience than you?
That certainly did happen. In fact, I would say its quite necessary for growing startups to continually hire people with more management experience than anyone else in the company. There isn't a sense of ego associated with that. Many of them are really just excited to be on this mission together.
it's refreshing to see someone who actually successfully scaled a company write an article about "here's how we did it", instead of bunch of failed entrepreneurs who write medium posts about why they think their startups failed to either feel better about themselves or to capitalize on their failure with the attention they get from the blog post (answer: they don't know why they feailed, and that's why they failed. The only way they know what they think they have learned through failure was actually something meaningful is to apply the "lesson" in their future endeavors and see if it works out. Until then, all your interpretations are nothing more than your opinion)
I would love to see more of these posts on Hacker News instead of failed startup post-mortems. Thanks for sharing!
I certainly agree that this is refreshing and a very interesting read.
At the same, because of survivorship fallacy, I think the best way to get insight into what makes stuff tick is to get a balanced mix of both success and failure stories.
Survivorship fallacy is one thing, but I would say overall there is far more value to success stories where a majority of stories are failure ones. Generally speaking it would seem the path to success, varied as it is, is far narrower than the path to failure.
From a failure story you can look at what they did, but if they did X that doesn't mean X leads to failure, as others could do X and succeed. It's possible they succeeded in spite of doing X, but it's usually apparent when that's the case. Maybe X only worked because of a perfect storm of conditions/timing.
I would also say a vast majority of people who fail go on to fail a second time, making their whole reflections write up from the first failure kind of weakened by the fact the lessons they learned from their previous failure were not enough to avoid it the next time. Paying too much attention to what not to do just leads you down a totally different road to failure. Common pitfalls are worth knowing, but it would seem there are 10 ways to fail for every 1 way to succeed. Often big successes do the exact opposite of all the "don't do this" advice.
But that's just my perspective working in games, where creativity and rule breaking is a lot more substantial to the success, I think. However, I feel it all applies to a broader scope of business and software.
"...instead of bunch of failed entrepreneurs who write medium posts about why they think their startups failed to either feel better about themselves or to capitalize on their failure with the attention they get from the blog post"
That's really cynical. For a long time, people were complaining about the opposite on HN: you never heard about the failures, which leads to a massive selection bias.
I've always felt that you can learn far more from failure than success. Successful people often have little actionable insight into why they succeeded (e.g. "we worked hard and made something people wanted"), but most people can write volumes about what they've done wrong in life.
you're right i'm being cynical, because i genuinely believe you have not much to learn from people who have failed but haven't succeeded yet.
That said, there are PLENTY of successful people who used to be a failure. In fact 99% of the successful people have been a failure at some point in their life. THESE are the people you listen to.
The things you read in the media about a genius who got it right on their first attempt are very exceptional cases, which means they were not only talented but also very lucky. And you're right that there's a selection bias when it comes to these people and they may be totally out of touch because they don't understand why they succeeded.
But like I said, the vast majority of accomplished people in the world were once failures. They just kept trying and made it happen. Which is why these people are worth listening to. They are the ones who actually learned from their past failures, applied it to their life, and finally succeeded.
But you don't deserve to tell others what you think is the right thing when only thing you've achieved in life is failure. You gotta earn it by taking the lessons you learned and applying it to come to a true success. These people are worth listening to.
From what I see, there are too many people who've never tasted success but just use their failures as an opportunity to get more attention for the sake of getting attention. Most of the times when you read their posts, they're full of "failure biases", which is much worse than success bias. And I think most of the "lessons" they learned are shit, and most of the times demonstrates exactly why they failed--because they were out of touch (which is why they think they understand why they failed)
So my point is, you should listen to people who have failed AND succeeded. There are many people like this.
"But you don't deserve to tell others what you think is the right thing when only thing you've achieved in life is failure. You gotta earn it by taking the lessons you learned and applying it to come to a true success. These people are worth listening to."
I am mostly neutral on what you wrote, but this is just wrong. If you think that only "successful" people have valuable stories, you're drawing a very bright-line definition of success (i.e. how successful do I have to be before you'll deign to listen to my advice?), but you're also entirely discounting the value of experience. For example, I have failed at two startups now, but I could give you volumes of practical advice on how to avoid the mistakes I made. It would take you years to learn the same lessons from scratch, and some of the advice I'd give you is stuff that a "successful" entrepreneur in another field couldn't possibly know. Does this information suddenly only become useful if I have a successful startup on my Nth try?
If most of success is learning from failure, you should be trying to make that process as efficient as you can. How do you do that? By listening to the people who have failed before.
The reason why your advice is not as useful as you think is because chances are, if you google around, most of that lesson would be already out there. Don't take this the wrong way I mean no offense. I'm sure you've learned a lot of lessons and I'm sure they're all valuable lessons, just saying most of what I read online nowadays are basically rehash of what these failed entrepreneurs heard from someone else, who probably heard it from some other successful person.
My point was "why listen to failures when you can listen to people who've both failed AND succeeded, especially when most of what the former would say is a rehash of what the latter said?" Think about it. I've thought about this myself as a once-failed-entrepreneur, and come to a realization that until you actually have succeeded in life and gained enough confidence to be able to think independently AND have the confidence to share your lesson you came to independently, most of what you think you understand are basically what you heard from other more successful people. You may think otherwise, but if you think deeper, that's what you're doing.
There's nothing wrong with this on its own, but the problem is that most of the articles I'm referring to actually mislead other people into believing in some seriously wrong interpretations of why they failed, and they all stem from the fact that these people have no idea why they failed but just try to come up with their own "theory" of why they failed with their limited knowledge. There are many reasons why people fail at something. Some people make all the bad decisions yet still succeed because they made one small decision that made a huge difference. Some people make all the right decisions yet fail because they made one small decision that messed it all up. Without this COMPLETE context, your advice is not complete because it's just small tidbits that may or may not work. If this comes from someone who has succeeded at least once, you at least know this is something that has happened. But if you follow "advice" from people who have only failed, then what are you really believing?
"The reason why your advice is not as useful as you think is because chances are, if you google around, most of that lesson would be already out there. Don't take this the wrong way I mean no offense. I'm sure you've learned a lot of lessons and I'm sure they're all valuable lessons, just saying most of what I read online nowadays are basically rehash of what these failed entrepreneurs heard from someone else, who probably heard it from some other successful person."
I don't take offense, but you're wrong. You have no idea what kind of advice or knowledge I have, but you're jumping to the conclusion that you've heard it all before.
This thread is extremely off-topic, and it feels silly to try to convince someone to listen to other people, so this will be my last post. Good luck.
As someone who tries to position oneself as someone with all the wisdom in the world, you sure are acting immature, closing your statement with "okthxbye" type comment.
Also, "You're wrong" is not such a mature way to engage in a conversation, and yet that's exactly how you start every comment you posted here. Could have been a productive conversation if you acted maturely.
And even though I said no offense and clearly meant it in a generic manner (and not attacking YOU), you actually sound very offended. Why are you so offended by some random guy on the Internet?
But I guess I'll never get an answer, since you're probably a man of your words and keep your promise to keep that last comment your last post :)
How do define success? I get there are a lot of clueless Dunning-Kruger cases writing Medium posts who are so far from competence that their ideas are worthless to anyone else, but those cases are straw men. What about the people who have some modest success but haven’t created a household name? There’s a lot more of those out there and yet they seem to get less credibility than some middle manager at Google who really had nothing to do with their success but just still gets to ride the coat tails of their success.
any success is a success as long as you truly believe it was a success deep inside.
Which means the people you're talking about are all success cases. You don't have to be a household name to be considered a success.
A food stand guy who makes a good living and has learned tons of things about life and street smarts is a huge success and we have much more to learn from those people than idiot VC funded startup entrepreneurs who con their way into raising capital and burn through all their money without making anything work. These people may even pretend they're a success by "acq-hiring" themselves to a larger company, but anyone who's actually been in a startup know that's all fake bullshit. If you get acq-hired you have failed, period. Don't listen to these people's advice either.
The specific category of people I'm criticizing are those who have nothing to show for themselves but failure. They write Medium articles on their way out, so that they can:
1. get a pat on the shoulder
2. get more exposure so that they can get a job now that they're jobless.
3. get more exposure so that they can use that false influence to keep their charade going.
4. just do what everyone else does (they genuinely think for some reason that writing a post-mortem is some sort of a ritual to celebrate the liquidation of their startup for which they raised tons of money from strangers)
Most genuine entrepreneurs I know don't do this. They instead try to analyze what they did wrong, but they're humble enough to not shout out loud to the world to listen to what they have to say about why they failed. They show the lessons learned through action, not through medium post.
It's also well understood that we incorrectly attribute success to the individual and failure to externalities when measuring outcomes, so the successful entrepreneur says "be like me", while the failure lists a lot of factors. Accounting for bias means there's a lot more value in the latter.
You should look at the articles from First Round Review[0]. I haven't read any in a while but they tend to be high quality long form write-ups from successful execs. Similar to this piece.
Your reason also apply to success. The o lu way they know what they think they learned through success was actually something meaningful is to apply lesson in their future endeavours and see if it works out. Until then all your interpretation are nothing more than Your opinion.
That would be great, but there's a structural limit: people running successful startups don't have time to write about it, while people who have wound down their companies do. When a company is going strong and HN sees a post like this, it's usually because they're hiring :)
It's an empirical claim. I'm not seeing the articles!
I spend a lot of time giving feedback to people about how to appeal to HN's audience. Authors tend to be founders only for very-early-stage startups, such as the ones you see in Launch HNs. The authors from larger companies tend not to be founders or even execs. My sample is biased, of course, but if founders and execs of successful startups were writing informative articles about how they run their startups, readers here would be interested and we'd surely see them posted.
>>people running successful startups don't have time to write about it
This is both offensive and incorrect. Offensive because it implies that if someone manages to find the time to write about how they are running their company they probably aren’t successful. Incorrect because the startup world is in fact full of leaders who do manage to find the time to write about how they run their companies (kalzameus comes to mind).
Before that, he consulted and ran a bingo card creator.
I love the dude and his advice has been invaluable to me--but it has been invaluable because he is not a guy who has run startups, he's a guy who's had to make a buck.
Plus it seems his output (on his blog and here on HN) has decreased quite a bit since he moved to Stripe, so this validates what happens when you get busy.
Although a big part of his job is writing about similar topics, so you could also say he's still doing the same thing, only posting to a different end point and getting paid. That too is success.
The offensive bar sure gets lower these days! I'm surprised the point is controversial. It would be great if you were right; I'm just not seeing the articles. This one stood out as an exception. Also, we all love both Patricks but the one who runs Stripe doesn't blog anymore (does he?) so I think I get Stripe in my column on this.
it's offensive only because you choose to be offended, it actually tells more about yourself than parent.
> people running successful startups don't have time to write about it, while people who have wound down their companies do
tell us what kind of mental gymnastics you have to go through to go from above statement to come up with such a twisted interpretation as "it implies that if someone manages to find the time to write about how they're running their company they probably aren’t successful". Since it's HN, I'm sure you can show how you came to that conclusion, in logical expression.
patio11 (Patrick McKenzie of kalzumeus.com) hasn't blogged on his personal site since September 2017. His current blogging seems today to support Stripe's business objectives, as he publishes to their site.
Thanks for sharing this. I don't have any specific questions but being at the tail end of 2-10 myself, it's good to have reference points for when other people do certain things, like draw down to ~50% code or 0% code, how much time to spend on recruiting, etc.
I will say that I've been feeling a different type of code guilt. I feel guilty when I code, because I view supporting, coaching, and mentoring my team to be my 10x activity. If I'm coding, there could be 8 other people getting blocked or needing help, and I'm off trying to build 4 hours of context to solve problems.
Do you ever feel "bad" about cutting corners early on to push a product but now others are working on the the same codebase? I have this feeling constantly.
Which mistakes did you make when you were transitioning from an engineer to a manager? Were there any incidents with your employees that you wish now you had handled differently?
Interesting read, thanks for that.
Besides human management, how have your tech skills evolved?
What directions have you taken/discovered/fell into, what have you learned?
Did you pick up any management education along the way? I spent time getting a masters in public administration and management when I made the move myself, and found it invaluable.
It's great to hear that you found the Masters invaluable! I personally didn't do any formal education myself beyond reading, finding mentors, workshops, some coaching, and experience along the way.
Yeah, I found a few mentors who I would feel comfortable asking questions and getting advice. I met some though investor introductions, and others through friends of friends.
to offer a counterpoint to the lovefest going on here, TFA is almost completely uninteresting. the role changed exactly as one would expect and predict.
the only interesting part is reading about the humble beginnings, the dedication and belief.
what would actually be useful to read about is failings, where OP failed in transition to manager and how he overcame those failings. I mean there's a paragraph in there but it's so boring -- "I read these 3 books". ok there's a little more meat than that but it's too nonspecific to be interesting.
come on people, let's not just throw love out there for no reason. it has to be earned. this article doesn't earn it.
OP should read _the hard thing about hard things_. there are many anti-lessons there, don't treat it as gospel. but read it as a guide as how to write something that actually delivers a lesson.
The common failure point, which the author mentions, is that people management is not like coding. And trying to do both at once is a losing proposition. I always stress to new managers that managing is different than coding in its execution but similar in its perception. What that means is that when you code a system and it works well, it operates smoothly and when things happen (like you lose a disk drive, or a server crashes, etc) it continues to operate and perhaps degrade gracefully. This is also true of well run organizations. Most people recognize when the organization is running smoothly, and appreciate it when the organization responds quickly and without disruption ton changes in the environment. To me, I see that as the essence of good people management.
Sometimes when you have a piece of code that in spite of rewriting it a couple of times the system still bottlenecks or whatever, you restructure. Same with groups, except instead of code being moved around you move people around. Being able to see people as a team with unique capabilities and putting them in roles that are successful has been compared to programming.
The next step in the growth of a CTO (or perhaps the one after the next step for the author) is when the company gets big enough to start making choices about which problems they are going to focus on. Are they the payroll company that you can run from your phone, or the one that integrates with Salesforce? Or the one that blends remote workers from the largest number of areas into a single payroll. That is when you have to start thinking as both a business person and a technical person so that you can help steer the priorities to solve the customer problem as it arrives and before it is solved in dozens of ways by your other competitors.
Mirrored my thoughts exactly. Maybe some take to the role more naturally but I've found it quite a struggle. These rosy eyed pieces certainly don't help.
Reporting hierarchy is there for a good reason. If you report to multiple people, you're the one that's going to have a bad time when they're not aligned with each other, each trying to give you a different list of priorities.
In a larger organization, "knowing what's important and what's not" at all times can be practically a full time job in and of itself. A lot of engineering teams like to protect individual developers from meetings and conference calls so they can focus on development, but that necessarily means developers will be missing context.
I think it's because it implies that their job is to report to you -like you're really the brains of the operation rather than just in a different role
I am a CTO, going from 2 engineers to a total engineering org of approximately 20.
Much of my time is non-coding, but I don't believe you have to totally give it up. I try to leave a day per week free of meetings to code / review code. I keep some projects that, while useful for the company, can be worked on irregularly and slowly, and are not super essential to be accomplished quickly (which is why they aren't prioritized for the engineering teams).
You're not going to like this advice, but I'll give it anyway.
There is nothing more irritating than a CTO that continues to code. For one it will seriously disturb the team dynamic because you are going to set the standard for everything, whether you like it or not and if you've hired smartly (better at the job than you would be) you've now dragged down the whole team with you.
Also, you are going to be there part-time as a coder, and whoever ends up drawing the short straw to review your code will be very much aware that they are reviewing the work done by a c-level exec. That review will be less than a similar review done on the work done by a peer.
So if your company is dear to you leave your coding for some hobby project and allow the people you have hired to do their very best under your guidance.
Giving up coding is what you do for your team, so they don't have to deal with the half finished B grade work you did inbetween doing the serious shit they can't do
Come on, there's no need to attack somebody like that just because your experience is different. Instead, share your experience so we can all learn from both sides. There isn't nearly enough information in seibelj's comment to draw a conclusion either way.
I have seen it too many times with project managers and now my CTO. Trying to still code and fix that terrible bug with already too little time. Ends up slowing down everyone because he never can get anything finished, or breaking things on a Thursday at 6:49pm because of the half baked solution he thought was good enough, but exploded in production, which he then has to spend 1 more hour fixing and 6 more hours cleaning up the aftermath. Spend your time reviewing and mentoring and try replacing yourself with someone who has time.
To be honest, you're not yet at the scale where this much of a concern. You're either "flat" and about to need to put in structure or you already have it. If you already have the structure in place, then you have at most 4 direct reports and at worst 2 (ideal team sizes being 3-5).
I say this not to downplay the work you've done, but instead to put it all in perspective. You're in the `11-50 Engineers: Clinging to coding.` stage.
I realise it might be shocking to hear but it's genuine and meant sincerely, I think you're probably making a mistake and because you are cto are not being picked up on it
I understand where he's coming from. Sometimes to create a big personal change you need to disrupt your routine in a big way. For me, a change in environment really helps me think or focus differently.
New York may have been special in some way that could help that change.
I think the anecdote underscores how tough it can be to make that shift from doing something you love and are good at into new responsibilities you're not as strong in yet.
Fantastic article! I’m in a similar position as you, and will have to face the same decision you did, so this was refreshing and edifying to read. Thank you for taking the time to write it.
One thing that stuck out to me was your mention of focusing on “diversity and inclusion”. Why did that become a necessary thing for you to focus on? It seems political, and entirely unrelated to the actual work of building a good engineering team. Isn’t it enough to ensure that anyone and everyone has the same opportunity to get hired? At my company, my goal has been to ensure that all candidates get judged without focusing on attributes like gender or ethnicity; to make sure that the doors are open to everyone, no matter who they are. I then try to trust that the people who want to work in this field, and this company, are capable on their own to come to us.
Has that been your experience, or has there been good reason to put extra effort into finding/favoring candidates with certain characteristics?
This comment is hard to word without sounding like I'm grinding an axe with the author or the blog post or something. I'm not. It's a good post.
Anyway, I was disappointed but unsurprised to find that Ctrl-F "leadership" yielded 0 results. Anyone can read management books, and I am sure they're super valuable for learning techniques to maximize the value the company gets out of its employees.
However based on my experience over the last many years, it's not enough to be a skilled manager. "Necessary but insufficient."
Leadership is a different skillset. I am sure Mr. Kim has learned a lot about leadership, he just didn't split out the two in the blog post. Undoing the semantic smushing of management + leadership so they can be focused on independently is important, IMO.
He did attend exec meetings and make all major technical decisions, but I never really felt he had to grow into anything.
When we got big enough to start worrying about compliance, security, and HR tools, we did it together and moved on to the next thing.