Live data from Hacker News

Ask HN: I've lost faith in myself as a developer, how do I get it back?

news.ycombinator.com

111–120 of 243 posts

Re: Ask HN: I've lost faith in myself as a developer, how do I get it back?

#111
post #56

Is it possible that you're not making the "right" moves because you're the CTO? Leadership is hard and it's hard because you're making bayesian calculations on suboptimal choices. Almost by definition. Say a Jr. dev has a problem that they can't solve. They kick it to an intermediate. The intermediate can't solve it so they kick it up to a senior. The senior can see a couple of solutions, but want's to run it past th…

>You just kind of have to minimize the wrongness And, if you can't figure out which is least-wrong, just make a decision, any decision. Don't become a roadblock. If the problem has already gone from junior->intermediate->senior->architect->cto it's already taken a whole lot of time and energy. It's software - you can fix almost anything (except certain security, reliability and financial controls) later if its wrong…

> it's already taken a whole lot of time and energy. It's software - you can fix almost anything

Depending on the problem, it may be you need to experiment, research or call in an external expert. As a leader, you may need to make the call as to which approach but the execution itself should be handled by the problem owner.

Re: Ask HN: I've lost faith in myself as a developer, how do I get it back?

#112

It does sound like burnout, and also like not being in the right environment (which contributes to burn out). I had one job where there was a lot of technical debt, but my manager did not respect me and my colleagues had what was basically a "learned helplessness" attitude. So I'd go around trying really hard to make things better, but everyone responded to me like I was just crazy or naive or didn't know what I was…

>I had one job where there was a lot of technical debt, but my manager did not respect me and my colleagues had what was basically a "learned helplessness" attitude. So I'd go around trying really hard to make things better, but everyone responded to me like I was just crazy or naive or didn't know what I was talking about.

Heh, the job I just left had a team like this.

I'd bring up ideas _for discussion_ all the time, at the very least to make my team members reconsider how we handle certain things. Even if my idea weren't the accepted one, we really had good reasons to improve our status quo. Yet just like what happened for you, when I'd call out some issue or situation the response from the team was that I misunderstood something or was crazy or etc. It gave me a lot of self-doubt, but I'd also bring up the issues to a senior engineer and he'd agree that usually my topics were worthy of at least some discussion since they had the potential to become improvements.

Re: Ask HN: I've lost faith in myself as a developer, how do I get it back?

#113
post #95
post #90

Earlier quoted context omitted.

> Reminds me of what Jeff Bezos said about Type 1 and Type 2 decisions There's a cautionary tale buried here. Many seemingly Type 2 decisions are actually Type 1 decisions in disguise. Case in point, Amazon's decision to not allow warehouse workers to have their phones when working in the warehouse has resulted in the 6+ deaths and many more injuries that we saw in the tornado last Friday. Now there's no going back,…

Was that decision made by a small team? Maybe it was a top level decision?

We'll probably never know, but my guess is there will definitely be a symbolic firing over this.

Re: Ask HN: I've lost faith in myself as a developer, how do I get it back?

#114
Probably the first thing that should be acknowledged here that being good CTO isn't the same as being a good dev.

I'm not a CTO and never have been, so feel free to completely disregard my advise, but from what I've observed being a good CTO is far more about communicating effectively with the rest of the org, understanding business requirements and ensuring the development team is equipped to solve problems than being a good dev. To some extent you also need to be available to unblock devs when there are key decisions that need to made at a higher level.

In a smaller company you might need to wear multiple hats from time to time, but when you're acting as a CTO your job isn't to be a good dev and to do things the right way, but to ensure you have the right devs and architects in your team so they can tell you the right way to solve problems. The most you should be doing is approving and guiding their decisions. If you feel you have something to offer as a dev then by all means, share your opinion with the team, but your not there to be a dev, you're there to be a CTO.

It sounds like you're taking too much on honestly. You can't be expected to know everything or be an expert on everything technical problem that comes your way -- that's not what a CTO does. A CTO just needs to have a solid high-level understanding about how things come together and delegate everything else.

I think first you need to decide if you want to be a full-time CTO or a CTO who is also a developer. If you're going to continue to be a developer while being CTO then you'll probably just need to accept you're statistically unlikely to be the best developer on the team to solve every problem and therefore from time to time you're going to do things wrong and you're going to need to seek help and feedback from other devs.

For what it's worth a small-medium sized company I used to work for had a CTO who was also a dev (he was the first dev), but by the time I joined the team he was also the weakest dev there. Thing is, he acknowledged that and that's why we were there. He picked up a few dev tasks from time to time where he could and when he had time, but otherwise he would trust us to tell him the right way to solve problems and let us get on with it. He was a great CTO in my opinion, not because of his dev skills, but because he trusted us and gave us the resources we needed to get our jobs done. There were many occasions I needed help from other devs on the team or even external resources and he would always make sure that help was available to me so I could do my job well. That's your primary role as CTO in my opinion. You're not suppose to be a good dev, you're just suppose to ensure you have a team of great devs who have everything they need to be great devs.

Re: Ask HN: I've lost faith in myself as a developer, how do I get it back?

#115
There's a STTNG episode or two where it becomes known that Captain Picard is just kinda winging it, while looking confident.

Regarding large software systems there almost never one right answer. At times we need to make decisions without perfect knowledge. Some portion of those decisions will be suboptimal of course. Whereby we make more decisions to hopefully improve the outcome. It's the nature of the problem.

Perhaps you have "decision fatigue?" Sounds like a nice vacation is in order.

Re: Ask HN: I've lost faith in myself as a developer, how do I get it back?

#116
post #56

Is it possible that you're not making the "right" moves because you're the CTO? Leadership is hard and it's hard because you're making bayesian calculations on suboptimal choices. Almost by definition. Say a Jr. dev has a problem that they can't solve. They kick it to an intermediate. The intermediate can't solve it so they kick it up to a senior. The senior can see a couple of solutions, but want's to run it past th…

>You just kind of have to minimize the wrongness And, if you can't figure out which is least-wrong, just make a decision, any decision. Don't become a roadblock. If the problem has already gone from junior->intermediate->senior->architect->cto it's already taken a whole lot of time and energy. It's software - you can fix almost anything (except certain security, reliability and financial controls) later if its wrong…

> just make a decision, any decision.

The nuance here is if you're making a decision that has a gross positive value, then you likely have a large number of "wrongness" choices that still result in a net positive. If you're not sure which of them to take then take any one that has a positive EROI (the ambiguity makes them all appear similar returns). Remember that EROI is marginal so even if you end up in a lossy situation _after_ the decision, so long as it's less loss than before you're net better off than you were.

If you're making a decision which all decisions seem to have a net negative EROI, then there is no opportunity at hand. Keep looking for a real opportunity.

Re: Ask HN: I've lost faith in myself as a developer, how do I get it back?

#117
post #47

I actually think that self-doubt is a sign that you're growing as a developer. If you had asked me how hard it would have been to write an OS kernel ten years ago, I probably would have said something like "Oh yeah, that's pretty hard, it would probably take me like four months to make Linux." If you asked me to reinvent the Linux kernel now, I would probably first say "I don't know anything about that, I'm not your…

A single-core single-tasking (or co-operative multitasking) OS kernel is fairly easy. You just need a memory allocator, syscalls, maybe some virtual memory or process isolation (as a treat), and a basic display driver.

Writing the USB stack would probably take longer than the whole rest of the OS combined. (Though you'd be hard-pressed to write a USB stack in less than four months.)

Re: Ask HN: I've lost faith in myself as a developer, how do I get it back?

#118
I don't have advice or answers to any of your questions. I don't know if your situation will get better or worse. I appreciate the humility implicit in your question, and it makes me feel a little better about related things I'm dealing with in my own life. Thank you for that, and I'm rooting for you to get where you want to be.

Re: Ask HN: I've lost faith in myself as a developer, how do I get it back?

#119

I would recommend reconnecting with the fun of being a developer. Make something purely for yourself, just because you want it for yourself (whether an app or a website or a desktop program, a game, etc). Design and code it how you want, focusing on making it work without obsessing about doing it the right way. I think that will help you recapture the pure joy of coding. Once you have recaptured that, then I think a…

I do miss hacking away at stuff just for the joy of it. I'm a little OCD so I have to be mindful about not attempting perfection as I go. Maybe I need to mess around with some personal projects.

Do Advent of Code. It's the first time I've been drawn into extracurricular programming in quite some time. It's been fun. They're bite sized problems and you're only committed as far as you want to be, and no later than Christmas.

Re: Ask HN: I've lost faith in myself as a developer, how do I get it back?

#120
post #47

I actually think that self-doubt is a sign that you're growing as a developer. If you had asked me how hard it would have been to write an OS kernel ten years ago, I probably would have said something like "Oh yeah, that's pretty hard, it would probably take me like four months to make Linux." If you asked me to reinvent the Linux kernel now, I would probably first say "I don't know anything about that, I'm not your…

A single-core single-tasking (or co-operative multitasking) OS kernel is fairly easy. You just need a memory allocator, syscalls, maybe some virtual memory or process isolation (as a treat), and a basic display driver. Writing the USB stack would probably take longer than the whole rest of the OS combined. (Though you'd be hard-pressed to write a USB stack in less than four months.)

That might be true (I don't know, I've never done it), but my point is that I would have thought that I could implement something as large as Linux or macOS in a few months, when in reality that's certainly not true even with my ~decade of experience, let alone when I first dropped out of college in 2012.
Post reply on HN