Here's my situation. I'm a young engineer(25) with 3 years of industry experience. From the very first few days in this company, my manager gave me 100% independence to do something interesting. 2 years ago the company decided to transition into a brand new building, and that event has just happened. So, 2 years ago, I got this amazing opportunity to work on the digital version of this building, to make it as smart as possible. I am the designer and the implementer of the core component of this project, pretty much an operating system for the building, implemented in Haskell. I gave my heart and soul into this project, because I don't think I'll get this kind of opportunity ever again. Besides this, they sponsored every single conference I wanted to go to, I've had time for about 3 per year. They bought every book I needed and allowed me to work from home whenever I wanted, or come to work whenever I wanted. In less than a month, the project is about to be live, and will do a lot of stuff to help the employees be more productive at work. So this is what kept me going, and I've been extremely happy in my work. However:<p>1. Even though the pay is about the industry average, I've had to turn down a lot of offers this year(even 2x to 2.5x salaries) because in my head, developing a smart building and developing a website is simply laughable to compare.<p>2. I'm pretty much the only one in this company(about 600 in this location alone) that has this kind of freedom. I'm lying, a few people have joined the project throughout the years to help me out.<p>3. There's no real ambition around me. Nobody wants to go beyond the accepted level of quality and deliver something amazing, a few details that would really delight the users. I really have to push to make these things happen.
Cont:<p>4. I'm not stagnating whatsoever, but it's getting harder and harder to ignore these issues. It's getting harder and harder to just think about my wellbeing and my project, and simply ignore the bigger picture. That is, the company tries to keep their employees at a certain average level. Don't get too good though, as they won't be able to pay you for that. So really good people just leave.<p>So, what would you do in my situation. I can tell you that i'm going to stay for a little longer to make sure that the project is rock solid and stable. But I feel like the really good engineers are somewhere else and the temptation of a higher pay is getting stronger. I really want to continue to work on this project, but how do I convince the manager(whose only real management was to give me a hard deadline) that I've done the equivalent work of a few people, and the current benefits are not enough.<p>Thank you.
I feel like you've already done the hard legwork. Just see the project through if that is only a few more months, make sure it is solid and successful. Then interview and have offers on hand. Ask for a match (if you enjoy your current environment). If the agree, congrats. If they say no, then go somewhere else and learn how to do something else. Not difficult decision.
Just don't get into the comfort zone. Keep learning and you're good.
One more thing you're not going to lean if you're the only developer in your team.