So I've been at places that literally wouldn't give me a title increase with no monetary benefit. I'd saved them boatloads of money and doing far more than my job description. Upper management had a bonus structure based on cutting costs. Not actually performing the job, just how much they could cut.

I left that place and immediately made nearly 20k more per year, then next job another 25k, then another 20k and I'm now in a job where I get to set my own hours, work from home and get paid stupid amounts of money getting raises and bonuses I haven't even asked for. To this day I have no idea how I've gotten so damned lucky.

Some general things that have helped me, and believe me I started from self taught tech skills, poor people skills, and massive introversion, so chances are you're smarter than I am and able to do just the same if you're willing to put in the work.

1. Luck - not much you can do to get lucky, but you can stack the deck in your favor by making sure you're ready when your opportunity does come.

2. Know what you're looking for in advance. That means the salary, type of work environment, and position you're working for. If you're comfortable where you are position wise figure out how you're going to improve your skill set through either diversification or specialization. Diversification makes you more useful at startups, specialization at mid to mature companies. Being comfortable means you're not growing which means you're losing value from an employee standpoint because you're probably forgetting something every day.

3. Know how much you're looking for. Don't value yourself low. one way I heard which seemed to help was to start saying amounts in a mirror. When you got to a point where you thought it was silly ask for slightly higher. Worst they can say is no and you've lost nothing.

4. Be willing to walk when opportunity comes. Nothing says you're serious like walking away. Let's be honest if you're unhappy enough that you're looking externally, it's probably a sign you're ready to go anyways.

5. Be able to sell yourself. Know your past achievements and be able to show how your past achievements will be able to help the company make more money. Know what the company desires to do, who their current customers are, and what they're excited about. Nothing impresses a new company more than a prospective employee who has done their homework. I've literally had people come into interviews being told they would be asked about the company and been unprepared, they didn't get the job. For your current company, show them how you want to grow into a role that can give them more for the money. Being excited about your company and what they do is genuinely hard to find. Some jobs make it nearly impossible to do so, especially mature or more often dying companies.

6. People skills, people skills, people skills. If you suck at talking to people, get better. Toastmasters is good for speeches, church meetings for general conversations, friends groups, networking events, etc. If you're looking for step by step instructions look into the classic "How to Win Friends and Influence People" by Dale Carnegie. It's old but it's a classic. Vanessa Van Edwards is younger but also provides really great information on learning to read people's body language, something which doesn't come naturally to me. Even if you're not in sales or management read books aimed at them. Chet Holmes is solid for sales information, James Collins for management. Knowing how your salespeople bring in clients and how your management thinks means you can often be the person who is solving their problems before they come up. Good salespeople and managers take care of people who make their lives easier, but they also lean on them more. Just never make the mistake of thinking that because they like you, compliment you, or take care of you that you're their friend. Unless a relationship exists outside of work it's a work relationship. Good salespeople and managers can make you feel great even when they are screwing you over.

7. Start doing good things for other people before they do them for you. If you know someone in your network is out of work and you're not looking but a recruiter sends you a job that you know they might fit, send it along. If someone left a job for different pastures, leave them a genuine recommendation or send them a personal message letting them know how much you appreciated them. People too often don't let others know how much they appreciate good people, and no one hates being genuinely appreciated.

I think I've blabbered on for long enough, but these are just a few of the guidelines I've worked through to get to have an amazing job. Hope you find yours. :)