Hacker News new | past | comments | ask | show | jobs | submit login
Don't Get Stuck (stitcher.io)
74 points by brendt_gd on Aug 31, 2020 | hide | past | favorite | 65 comments



I tell you one thing. If you think that a company will be offering you new tech after every X months or Y years then you are wrong. Tech world does not like that. Think of the investment a company does to bring in a tech stack. It is not all about downloading a new tech, it is about finding and hiring resources. If they all start changing tech based on wish list then they never can progress. I remember something my ex Boss said years back: We have not married with companies hence we should not try to change company as per our will.

In order to fulfill what you want you should work on side projects. Side projects are great way to vent out tech frustration. Working on PHP and got bored? Try python at home. Tired of using bootstrap? Try Tailwind. Feel angry seeing monolith CRUD apps? Try Docker at home and start making micro-services. You have endless options. You can also put code on Github to improve your resume.


Rewriting existing code in a new shiny language just to keep employees happy is a pretty stupid thing, sure. But when you're just solving problems and maintaining old software, there's a lot to be gained from thoughtful, measured inclusion of new tech, transition to new libraries and such. This is technical investment in the company's future: improving developer's velocity and code's performance, reduce bug rate and overall quality of the software.

At least in my personal experience: moving from SVN to git, moving development from C++ to JS (and company was making simple mobile games that are never CPU-bound) and then gradually adopting Typescript, migrating a commercial application from MSSQL to Postgres (saving a significant amount of $$ in license while actually improving performance), and many, many smaller refactorings, improvements and new shiny libraries — all resulted in direct positive consequences for the business.

If the company never adopts any new tech ever, it's a sign that it's lost its way.


> If the company never adopts any new tech ever, it's a sign that it's lost its way.

So you're telling me I wasted last week installing the VB6 IDE on Windows Server 2016?


There is something called tech debt and I can understand it but just replacing a Bootstrap/jQuery based app wit React/VUE just because it is new does not make sense. I will not mind upgrading from Python 2x to Python 3x but I will always resist to replace Flask with Django, unless there is some really genuine reason behind it.


The company can provide educational reimbursements (and set aside some learning time each month) for their employees, as well as provide a stipend for them attend relevant conferences.

A company does not necessarily need to keep pushing new tech to production to ensure that their employees stay up-to-date. They just need to actually invest in their employees.


Probably 1 in 100 companies offer such offers? Why depend on a company when you can learn on your own?

I am self-taught programmer. I learnt Pascal and C back in Uni. After that I never tool formal education for learning new tech. Youtube rocks.


The idea is that if more companies offer educational benefits, there'd be less need for employees to bounce jobs just to stay up-to-date on technologies.

(Obviously, this doesn't account for job-hopping for straight salary reasons)


In my experience most companies will offer partial or full conference reimbursement if it's relevant to your job.


I would say, with respect, I don't think this experience is normal or standard. I've never been reimbursed for a conference even if it was exactly for the technology that company built their entire product with.


That is interesting.

My personal experience as a software engineer has been getting reimbursed for one or more conferences per year at every job. I've never had a software engineering manager say no to a relevant conference requested framed in a way that benefits the business.

I wonder if there's an aggregate data source available to see how common / uncommon this is.

Have your companies offered a general professional development budget?


Literally none of them.


...or move to another company where you will use those tech from 9 to 5?

Of course you should not expect a company to refactor every month. Meanwhile companies cannot expect tech enthusiast to stay with them if they don't offer interesting technical projects.

It is a negotiation. I have seen many stack decisions being pushed by HR and it makes a lot of sense.


I don't think this is necessarily an indictment of the company, though. It's reasonable for a company to keep the same stack for five years, and it's also reasonable for a developer to want to move on at that point so they can learn something different. If you stay in the same bubble for too long you do stagnate; not because you always need to be learning the very newest thing, but because you always need to be learning: diversifying your skillset and broadening your understanding of your field.

Hobby projects are well and good, but there's nothing like having to solve full-scale problems that you don't get to pick and choose. When a hobby project gets too hard in a way that isn't fun, I drop it, because I'm doing it for fun. But some of the best lessons I've learned have come from things I was forced to solve.


Also I work on side projects at work. Not officially sanctioned but as long as you still have time to do your main job and the side project is useful to the company, nobody has complained so far.


On the flip side, if you're jumping between companies regularly to stay fresh on tech, you might not actually be progressing in the way you think you are. A decade later you might still be a $latest_technology developer with 2-3 years of marketable experience.

The changes that have been most meaningful to my career are thing like becoming a tech lead and moving into engineering management. And these have happened when I've become embedded into a company.


Indeed becoming a tech lead or manager comes through being part of the company most of the times. Which sometimes is a terrible practice because being employee #3, 5, 10, etc. and staying there for 5-10 years does not mean you are a good leader or manager. Not to mention that in most companies it is also impossible to move higher in the ladder with all the internal politics, "friendships" and significant lack of proper management.


Regarding management, it's a bootstrapping issue: The main requirement for an engineering management position is management experience. The easiest way to get it is to stay at one place for 3-4 years. The move based on that experience.


There are really three categories of management:

* Line management: are you willing to be the man and promulgate the party line? You can be mostly apolitical in this role.

* Middle management: are you willing to be the pawn of a specific member or two of senior management and do their bidding (which probably isn’t fully aligned with the party line)?

* Senior management: do you know how to intelligently break the rules in order to stand out from the crowd of middle managers? This could be by developing a broad following within the lower levels of the company through self-promotion, through cultivating specific relationships with the CEO and/or board, or by (in rare cases) delivering on highly visible and truly remarkable results for the company.


> or by (in rare cases) delivering on highly visible and truly remarkable results for the company.

One example I know from the 80's: you're a director of a factory in some South-American country that produces something. It's making a loss of a few million dollars per year, and everyone at the parent company for which this factory is simply a small business unit thinks it will amount to nothing.

In two years, you've turned the situation around and are profitable with 1 million dollars per year.

The company promotes you to your next role and your successor shows how difficult your challenge was, as it's losing a few million dollars per year again.

The trick in this case: be competent, and become friends with the local South-American director, as upon arrival you realize that the company you're running is actually owned 50% by the company you work for. The other 50% is owned by some South-American company and the whole reason it loses money is because they cannot connect with the South-American director.

True story, can't disclose sources, but anyone who has seen the 80's might know similar stories.

That was then though.


Fuck, man. I felt like I just read my own blog post. I've been contemplating leaving for a long time, but I feel like somehow I'm the problem—like I can do something to fix this. I've got this chronic resistance to believe it's anyone else's problem which USUALLY serves me well and keeps me honest. Sometimes though it just makes me stay longer than I should.

I feel so stagnant. My company has been bug-fixing non-stop for 6 months now. It's insanity.


This goes against prevailing SV ideology, but man, it's just a job. Don't ruin your health or wellbeing for a company that would fire you in a heartbeat if it made economic or political sense.

Commit to your family, your friends, your hobbies, and charity. Don't commit so hard to a job, because ultimately it's a business transaction. Companies _will_ take advantage of your good will if you let them. Don't give them that opportunity. You owe them nothing beyond what you agreed to in your employment contract.


Yeah, you've got a good point. I've been trying to focus on stressing less recently especially over my job.

I'm just a super type-A, "wanna make an impact" kinda guy and I know this sounds dumb but I feel like I'm letting mental weakness "win" if I don't tough it out. Just writing it out, I know it sounds nonsensical.

I guess I just want to make sure things are good and thoroughly fucked before I bail, you know? ha


Is it really a question of whose responsibility it is though? If you're feeling stuck, it's your right to find ways getting unstuck. If that means changing jobs, who can blame you?

Unless you're a manager at your company it's not your responsibility to fix it.


No, it's not a question of whose responsibility it is—it's always leadership's responsibility. However, I have a tendency to think myself really smart and capable. Y'know——overconfident. And because of that, I try to offset it by refusing to believe it's anyone else's fault but mine. Like I mentioned, it helps keep me honest WITH MYSELF. Otherwise, I feel like I wouldn't have enough commitment to tackle hard tasks, I'd just chalk failure up to someone else, which is worse IMO.

Anyway, my habit of keeping myself honest sometimes backfires and when it does it manifests as running my head into a brick wall over and over until I'm REALLY sure that I can't fix it. But... I think I'm about there in this instance. Other devs are noticing the same thing I'm noticing, so I feel like I've got good evidence that it's a fundamental leadership issue here.


I see I'm not the only one in this special hell. I don't know if that makes me feel better or worse. I'm on my way out now, thankfully.


Heh, well it makes ME feel better that I'm not the only one!

What area of software do you work in? (I'm assuming software here, which may be false)


Brings to mind a famous quote attributed to Thomas J Watson (the real creator of IBM):

Watson: we should be investing in ongoing training in new skills for our staff.

VP: But what if we train them and they leave?

Watson: What if we don’t and they don’t?


Thanks for sharing the source of this quote. I've heard it numerous times but never knew it was from Thomas J. Watson.


Thanks, though I must admit I wasn’t there myself so can’t testify as to the veracity of my attribution! But it does sound like something he might have said.

I didn’t look it up on quote investigator though. https://quoteinvestigator.com/


I know so many people who are in this exact position. Trying to change the practices of their companies for the better but never getting anywhere.

A client is paying for a refactor but the manager says "we don't have time to write tests, the client is not paying for that" (when indeed they are in the end).


The client IS paying for that; the trick is to not end up in a situation where a refactor becomes a rewrite but part of your daily job. A refactoring shouldn't take more than a couple of days; if it does, it's too big. Same with testing.

The client does not pay for refactorings or testing, and your manager shouldn't be made aware of it because it's part of your regular job. If they have so much insight in your day job that they start complaining, they're micro-managing and probably redundant (if they have the time / energy to look as closely at you / your team's work).


Well, I have seen both sides of this story by now: at my previous job, we had lots of developers who are happy to throw the whole code base over board every two months as they discover a new test framework, spend a month on refactoring simply to satisfy a single dev‘s pet peeve for functional programming... it’s especially frustrating to watch as a team lead from another department, actually understanding what’s happening, but unable to do something.


I feel like company's like that are shooting themselves in the foot: the delivered product is of lesser quality, developers aren't happy and quit sooner or later.

Looking at it from a manager's perspective, I think you'd want to do everything in your power to prevent such situations. Feels like there's a general lack of future perspective in many companies.


Hmmm....but what if you are "stuck" in a job that pays decently (enough to cover needs) extremely flexible hours and unlimited vacation and awesome work life balance (sometimes less than 40 per week). But the actual work is pointless and boring. Is that time for a change?

Some people say yes, but often these are the people who are the "high achieving" tech workaholics who love to go home and code for fun.

Other people say no, and these are often the people who don't really care much about work and just look at it to a means to an end.

How would you know?


I think it depends. Will staying in the position mean I will be ready to face the job market with a possible job loss years down the road?

Personally, I would judge whether I still have opportunities to learn. If not with the projects I'm directly involved, do I have the autonomy to pursue workplace improvements and ways to keep learning at work?

Caveat is that I'm also very early in my career and while I highly value work life balance, which was part of what led me to change careers from semiconductors into software, I probably skew more towards achieving than not.


Only you know the right balance for you. That might be a dream job, or it might be miserable.

I would say if you are in that situation and enjoy it, you should still be learning and investing in yourself outside of work whether that's learning code or practicing your baking. Learning and struggling with new material is basically a muscle and needs to be an ongoing practice, even if it's not directly related to your day to day.


Some people prefer to learn at work. Some people prefer to learn in their free time.

If you are the type that learns at work, then having nothing to learn at your work means you have nothing to learn. If you are the type that learns at home, not coming home exhausted from your work means you can learn more.


Truth is, in most of the tech companies you can find something wrong with the tech or it can get boring pretty quickly. Probably, only the biggest and/or most innovative ones have something really interesting to offer learning/career wise.

If you are a web dev, most of the time you are gonna deal with MVC and similar patterns that you're gonna reuse daily. It's obvious that it gets dull. And when you hear about a new toy that you haven't used yet? You get excited and you want to change a job to get to work with it. But guess what? You are gonna get bored with the new toy after a few months too.

Programming is pretty repetitive and most of the problems aren't that challenging after a few years of experience.


How do you define being stuck? If you have great coworkers that you're able to learn from, but the company itself is struggling, are you stuck?

Maybe there are certain stages in a failing company. Stage I: A few great coworkers, product struggling. Stage II: Great coworkers begin leaving, you're still fighting. Stage III: The position OP describes in his post.


There definitely are stages before being stuck. I worked for three and a half years in that company, and only felt stuck for the last year.

I went to all three stages you describe, feels very familiar.


This resonates.

I spent 8 years at the same startup - it graduated from chaotic and exciting to staid and dysfunctional.

I moved pretty high up so was in a position where I could introduce modern practises like agile, but I could never get management to mandate dev staff to do simple things like have a daily standup. The meetings would invariably drift onto other topics and go from a 15 minute standup to an hour long discussion about everything going on in the company where the CEO would get involved and try and hash things out.

As you can imagine we'd end up doing these at most once a week which became incredibly frustrating trying to get everyone on the same page.

On top of that the code base was stuck on XML, JSP/JSTLs, XMPP, Java 7 and Adobe Flex based APIs and libraries. The whole world was moving onto mobile apps, ES5/6, REST-JSON, Websockets, WebRTC and we were stuck using archaic stuff like XMLPullParsers, Flash Remoting and SOAP.

Those first 4 years were valuable lessons on what to do and I grew as an engineer, but those last 4 years were definitely lessons on what not to do. But you grow comfortable.

I think being comfortable is a dangerous place to be.

To quote Jim Rohn I think you have to embrace discomfort and ask yourself 'What am I becoming?' rather than 'What am I getting?' and ensure that you're growing. You don't want one year's experience times 8 - you want 8 years of growth.


> 'What am I becoming?' rather than 'What am I getting?'

That's a great insight. Thanks for sharing!

Hope you're in a better place now!


If you want to continually stay up to date on new tech and have many opportunities to use it in new projects, go work for a consulting firm.

At a consulting firm, many of your projects will be new projects that you will have a hand in architecting. You won't be doing a lot of maintenance programming.

I'm sure some firms do take over maintenance projects, but at least that has not been my experience and it seems like something you can find out ahead of time.


I feel perpetually stuck. Ive tried the whole job hopping thing and generally just end up in the same place with a little better pay.


This echoes a sentiment I saw recently on a career review site:

One thing that is pretty common across companies is the possibility of being pigeonholed. If you take responsibility for some aspect of the job and do it well, your contributions and successes can go unnoticed. It reminds me of the scene from Futurama where Bender meets God, who tells him, "When you do things right, people won't be sure you've done anything at all." I've seen it happen to colleagues and have had it happen to myself. This isn't just a software developer's problem, though. It's ubiquitous.

Spotted on this page: https://www.pathviz.com/careers/software-engineer?review_id=...

This seems pretty true for anyone who I've seen leave a job. They will say that they were offered more pay somewhere, but usually it's because they haven't been doing what they wanted to be doing for some time at their current jobs.


Hey Guys, I'm one of the founders of PathViz. We saw your post on google alerts. If either of you have feedback for our site, we'd love to hear about it :) - ryan@pathviz.com


Thanks for the link, that was quite useful to read :)

I'll be rummaging around pathviz for a while.


I have a rule: if I've been doing the same job for two years, it's time to leave.

Especially in this industry, getting comfortable can be disastrous. There's no job security, ever, but it's remarkably easy to fool oneself into thinking there is. And then suddenly it's gone, and a hostile job market with skills 5 years out of date.


Not great general advice. Totally agree on no job security... but there’s other ways to succeed then jump ship every 2 years. That’s a great way to have 2 years experience 10 times.

Sounds like you haven’t found an employer who invests in your continued skills and development. A good employer/manager will give at least 10% and often 20% for skill dev.

With the resume of leaving every 2 years, many recruiters and hiring managers for companies that do invest in their employees would avoid you. So you’ll never find good employers either.


It's not jumping ship. Getting a new role in the same company, or moving to a different team in the same company, are both valid "not the same job".

YMMV, but I've found this to be true. Mind you, it's been a decade since I've had to apply it. Freelancing doesn't count, and I'm making an exemption for C-level roles in startups, because they're never the same month to month anyway ;)


Does different job, same company count?


Yeah, absolutely. This is the best result actually.


It would be helpful to the reader if the text was easier to see.

A story displayed in light gray on white is difficult to read.


"It works for me, looks good to me" is why we have so many sites with low contrast text. Very annoying indeed.


Looks black to me. Could you have a settings issue?


It's a lightish medium grey for me--probably one one of those greys that can look too light or just fine depending on display gamma and ambient lighting.


For me, text comes back as #333 in inspector which is near black (and visually looks black). Firefox v79 on MacOS, uBlock + pihole.


It's black on white for me.


If you were about to get more responsibility and obviously are climbint the corporate ladder, isn't that growth? Is not this the opportunity to be able to influence change in your organisation and be able to tackle all the issues in which you find at fault?


I thought the same. He mentioned advocating for change and it not bearing any fruits, and also mentions past attempts by previous co-workers, but this seems to be a culture issue (there also seem to be many colleagues who don't seem to have a problem with the slowness of change), which means you need to reach a higher responsibility position first, before substantial change can occur (through you).

But at the same time, with the current employee market being what it is, if you are unhappy there is _no need_ to play the grind game to help a company grow, unless you are really attached to it.


Maybe it is not the type of growth that the author is interested in? Climbing one step does not magically enables you to fix everything wrong about an organization.


There will always be fewer people at the top of the pyramid than there are at the base. As such, there will always be too few opportunities for everyone to grow and/or be promoted, especially not within a specific timeframe of a few years.

A company is not an ever-flowing pipeline up that pyramid, the job still needs doing. So it's normal that indeed people will leave to explore other opportunities in other places.

I'm not certain this can be resolved in smaller or medium-sized companies. The amount of opportunities tends to grow with the size of the company.


Last year I realized I was stuck and underpaid after 4 years the same agency. I found a new agency with a better salary but then my agency offered me a significant raise and I've decided to remain. Now after about a year I still feel stuck, but at least I have a decent salary. It's hard to decide to move again with a wife and a son depending on me.


Staying abreast with tech stack is one thing and staying abreast with practices is one thing. Stacks will come and go, all it matters is your fundamentals, skills, practices that you work on day in and out. If that's good then stacks are just a matter of tools. If you keep on changing just for the matter of stacks, then you might be left behind on growing vertically on a particular niche.


It seems like people agree 3-4 year old tech isn't bad enough to leave your job over, but what is the limit for tech age before you think you should jump ship: 8 Years, 13 Years, 21 years or even more? If you are 60 years old that number might be higher, but if you have a long career ahead putting an extra few years in an older tech seems to hurt your career more than it might help you pay the bills.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: