I'm coming up on a decade. I didn't start as a software engineer, but that's what I grew into. Every couple of weeks I start to think to myself, what am I doing here? And actually, part of posting this is me hoping someone will be like, yo, do this, or that.

I'm in my late 20s, and I guess I would be considered a senior developer. Coming up on 8 years of JS/Node/Go Development experience. ONLY problem is, all of our software is utter trash. I have dozens of projects I maintain and I can't keep up with any of them. I'm constantly debugging or building a prototype, that, somehow makes it into production as a prototype.

I'm not paid amazingly. About 20%-40% below market. I have been promised the moon and it's pretty unlikely I will ever see half of the promises come to fruition. Especially since our projects are hitting critical mass. That is, nothing works and nothing can be fixed because of how massive the architecture is and how small the "team" is. I've been trying to move a DB from a server that is about 2 years past life span, for the last few months.

I declined a job as a lead developer/CTO. I absolutely annihilated the interview and the offer went from a front-end developer to running the whole team and potentially CTO. I don't think I am anywhere near ready for that. I never test, have no successful continuous integration projects (despite my best efforts to get people on board), and have basically no apps running at a high capacity.

I digress to the question itself. In tech, I would never stay at a job over a year or two. Unless I really jive with the team, am making adequate cash, and feel like I'm still moving forward. Yeah, I know, I'm a hypocrite. I regret it. I think I would even have been much happier if I quit my current job for like, two years, then came back after spending some time at a well established shop. But who knows really. My job is the wild west and it may have just made me more disgruntled to know how to do everything right, and still lack the time to do so.

Here are some reasons why long tenure sucks:

1. You get completely complacent. I spend a lot of time just messing around. Again, hypocrite, like, hey jackass, use that time to test. Ha, too complacent and if I even start setting up a test environment, someone will smell blood and task me off to prototype land. Don't get me wrong though, I spend a lot of time at home, off the clock, building random new crap for the company.

2. You get stagnant in hierarchy. Basically, they like me where I am at and they won't compromise that with any form of promotion.

3. You quit making relationships with coworkers. I'm fairly young, but I have been employed here longer than anyone else. I've seen thousands come and go. I stopped making much of an attempt to know anyone. Unless they're developers, of course.

4. Newer employees despise you. I make more than them. I look like I do less. Also, I get away with pretty much anything. Which, causes quite the rift.

5. Managers become overly confident in your skills. Example: I was tasked with building something like uber, by myself, in a single month. While maintaining my 12-15 other active projects. Let's just say, we didn't make deadline and also, I'm now proficient with quickbooks and several varieties of payment processors.

6. You get honey-potted into their culture. Everything is wrong here, and I know that. Despite how hard I try, I can't get it to change. Perhaps we're only successful because we cut every corner, or perhaps that's the only reason I'm not writing this from a beach in the Grand Cayman's. Bottom line, if you're at a company for ten years, you'll know the problems and the futility of trying to solve them.

Here are some reasons why long tenure rocks:

1. I don't have to EFFING interview. I hate it. I hate it, I hate it. I suck at interviewing unless I am in a very social and charismatic state. Something I've been trying to perfect. My mind works better with logic puzzles and overcoming obstacles than it does with explaining my love/hate relationship with NPM.

2. I don't have to worry about employment. Unless of course the company goes down in a fiery mess of runtime errors.

3. I can pretty much take time to learn whatever the heck I want. I know AWS Infrastructure, Accounting Software, pretty much all of Google's APIs, Currency APIs, hell, I've even dabbled with crypto currency APIs. A metric ton of front-end frameworks and libraries. I couldn't learn any of this if I worked at a assembly line shop.

At the end of the day, I just worry that I'm going to be Cinderella at midnight. Will I be hire-able, being a jack of all trades master of literally nothing. Will I have to accept a novice position? Who knows. For now, I'm just some Brogrammer.