Hacker News new | ask | show | jobs
by mcx 4098 days ago
I am also struggling with whether it is time for me to move or not. But I think your point about only learning from people better than you... that is a interesting perspective.

Like the OP, I think we consider ourselves to be at the "hyper-growth-learning phase", where we can really accelerate our potential by working with really talented people. But yeah, eventually you're going to be that "Senior Developer," and it'll be up to you to continue improving and helping others improve.

I've only been in the industry for 2 years as well.

Right now, I feel like I'm the only person on my team that is continually self-improving and trying out new things. It's always me bringing back new things and sharing with the team. Sometimes, I feel like I could benefit way more - like 2-3x - if I was on a team where everyone was self-improving and we could just all feed off that energy.

I have an extraordinary amount of autonomy. My year end review only consisted of, how I knocked everything out of the park and something along the lines of helping get into more of a leadership role.

Sometimes, I think - am I doing so well because everyone around me is just average?

Do I wait around to be promoted into leadership? I mean I've done fine self-learning and keeping myself up to date. But honestly, I think would hate to end up being in some sort of leadership position just because I've been with the company for a long time and have delivered consistent results, and then end up with mediocre tech skills.

Or do I say its time to part ways and focus on becoming a really good engineer and join a team that can continue to accelerate my skills?

For me, I am leaning toward the latter. When I feel I hit that "Senior Developer" phase, that's where I'll re-evaluate where I want to go next.

2 comments

Yes I believe the autonomy part is important and helps you learn stuff about managing expectations of all stakeholders in a product, getting work done in a distributed manner from other engineers is also an added skill (which IMHO is bloody frustrating to learn). Also I have learned a lot on maintainability and the cons of technical debts. But when something that excites you most is the joy of learning or building something new, the problem here becomes an ever growing chunk of time that goes into maintaining, supervising or corrective processes rather than creation process. Perhaps this would be true for most places... It's just that for quite sometime when you wake up in the morning and start wishing it was a holiday... something needs to be done I guess. Thanks for sharing your experiences though. It helps to know I am not alone in a dilemma over such a situation...
The autonomy part you mentioned is something that I forgot about, but that's definitely a very important point as well: from what I've known, there is a huge limit on what you're allowed to do in a bigger environment. There are a risk of learning things that you might not like -- of course, I've never worked in one, so takes it with a cup of salt.

Personally for me, the other thing is that I like to learn a lot of things, and I just figure that whether now or a few years from now (when I'm "Senior Developer"), there would be just as much things to learn about. I figure it's just better to learn how to learn and get people to teach you stuffs without being in the same work place.

Another thing is that leadership skill is different than tech skill, which is also different than "technical leadership" skill, and this is back to the whole autonomy thing: I got a chance to try my ability to cram the idea that "not everything in a language need to be used" to the js guy, or telling the Java guy "may be we will just decide to rewrite our ORM with another library and putting up 5 layer of abstractions could potentially help us do that" is not a sound idea. Engineering skill set seems to be distinct from coding skill, which I'm not sure will qualify in the usual sense of "technical skill" or not, since you can't put "good variable and function naming" on your CV. Believe it or not, working with really bad code forced me to come back to first principle and ask question like "why should we use function", which I don't think you will have the chance to do in a bigger code base?

There are also benefits from working closer to the business: you learn what actually is important, and what is crap.

Of course, all of this would apply if you join another startup ... and I don't mean for any of this to be an advice or anything, more of a commiserating comment.

I can't really put my email here. But since you and some others are on their main account, do you mind if I have a way to contact you? I just want to follow up a few months from now to see your decisions.

For sure, I've added my email in my profile.