I get a lot of PMs on forums I'm on asking for job/career advice and I know there's always a ton of threads on IT forums on that vein as well. While there are multiple ways to get to the same destination and different ways to be successful, I'd like to share things that really worked for me or that I've observed:

- Location matters. If you're in the middle of the deep south miles away from civilization with little-to-no experience, you are very unlikely to get a work-from-home job or easily get your foot in the door for your first IT job. If you do get an entry-level job, it'll be a lot harder to move up. Don't waste your early career. Move to your nearest city that has an IT hub.

- You can make it without certification, degrees, and training classes but it's going to be a steeper road. There are going to be HR filters and middle management working against you and it might take longer than your peers who do have those things. One person I knew had some sage advice on why he works so hard for degrees and his other pieces of paper even with years of experience under his belt: "Getting a job and staying competitive in the job market is like going to war. I want to have all the ammo I can have to be the most effective and those degrees and certifications are just more bullets and ammunition for me." This is true. If two candidates are applying for the same job with comparable experience, but one has a degree or a certification and the other does not, who do you think will probably get the job if all other things are equal? More than that, who do you think will have better leverage for salary negotiation?

- Your certifications, education, and degrees are for you and your career, don't let other people discourage you from advancing. Another trend I see is people worried about their coworkers telling them that their educating themselves is useless or giving them hell for getting certified. While a certification doesn't make you god-level in your career and you should always remain humble, remember that you're responsible for your career and advancement - not the people giving you hell for it. There might be jealousy in play, maybe they've never moved up, or maybe you're coming across as arrogant. Every situation is different but if you get discouraged by the people you work with, don't let it stop you from pursuing your goals. At my second IT job, I had to get an entry-level Citrix for the job. I wasn't really motivated by Citrix and I barely passed the exam. I ended up mentioning it to our Citrix admin at the office and he started shooting technical questions my way that were over my head to show me that I didn't really know that much about Citrix. To this day, I don't think I was coming across as arrogant but you never know and it wasn't the nicest thing for him to do that either. At another job, I used to come into work 3 hours early to study prior to my shift and one of the senior network engineers noticed. He started berating me that I needed to get my head "out of the books" and I would learn a lot more if I just had him teach me. 6 months later, I'm explaining what Private VLANs, EEM, and PFR are to him. Sometimes people aren't kind, maybe they get a different impression of you than you think you're putting out, maybe they're just insecure, or maybe they're just having a bad day but in the grand scheme of things and your life, they aren't the ones responsible for your career and they aren't important. They only have the power you give them to discourage you.

- What kind of degree you have probably doesn't matter in most IT jobs. If you're switching to IT and you have a music/liberal arts/history/philosophy degree, my recommendation wouldn't be to restart college and get another degree in IT or Computer Science. You'd be better served probably going for certifications at that point. There might be some ROI on the technology-specific degree if you have no degree at all but not enough to put yourself in more debt just to get an technology-specific degree

- Be prepared to sacrifice a lot to get to where you want to be. If you want to be a senior network engineer and triple CCIE, it's going to take more than just getting that first networking job. Even with that job, you're going to still need to put a LOT of free time in learn, lab and study to advance. If you think that you'll advance quickly by only learning on the job and working only 40 hours a week, you'll likely stay in the same position forever.

- Use forums and other public places to see what the most successful people in IT have done. Listen to the advice that people give others for free and apply it to yourself when you can. Also be sure to consider the source when you get advice on forums. Is this person just working in helpdesk for the last 10 years or are they someone who's moved up quickly? Are they a hiring manager? Are they a senior engineer? Do they have the job you want? I can absolutely say without a doubt that I was able to avoid huge career missteps thanks to just reaching posts on Techexams and not necessarily asking questions.

- Make sure you have a strong support system. Going off the whole "be prepared to sacrifice," make sure that the people in your life who matter support you, are there for you and understand why you're doing what you're doing. It'll make it easier if you have people encouraging you and understanding why you need to hide in your room for 5 hours a night while you try to better yourself.

- What's listed under requirements for a job is often a wishlist on a job posting. I've never met ALL the job requirements listed for every job I've had but that hasn't stopped me from applying and getting the job. There's not a lot of people out there that have a VCP, CCIE, and MCSE with 10 years of VMware experience, 10 years of networking experience, and 10 years of Systems experience but I doubt many companies will keep that job open forever until they have someone who fits each and every requirement. That being said, be realistic about where you apply - don't apply for a senior network architect with a CCNA and 0 years of experience but don't be afraid to apply for all the NOC roles in the world that list you should have 2-3 years of NOC experience if you have a couple years of desktop support and a fresh CCNA.

- Give your resume a makeover. Whether it's posting it on this forum to ask for advice or you hire a professional to write it for you but make sure it's structured well, obvious grammar issues aren't present, etc.

- Clean up your resume often. When I went to college, I got a bunch of certifications that I can't really use anymore and while I could still list them on my resume, if anyone asks me to write some Javascript during an interview, I would be completely hosed. Just because you earned the certification at one point does not mean you should continue to have it on your resume until the end of time if it's not really a skillset you can practice or have retained.

- Watch the word soup on your resume. If you write down skills and keywords to help people search for your resume, make sure you put down technologies and skills you feel comfortable talking about for 15-20 minutes. For example, if you put down "IS-IS" under technical skills but the only knowledge you have of it is reading a chapter on it years ago and you don't have a foggiest clue on how to configure it or the difference between Level 1 and Level 2, it has no place being on your resume. Take it off.

- How you present yourself is more than just what's on your resume. Make sure your hygiene is good, you don't look sloppy, your hair is combed, don't shower yourself in cologne, etc. Don't look like a slob.

- Soft skills are important for surviving the interview and the job. If you have a good friend or know someone in management, it might be good to do some mock interviews so you don't seem overly nervous and you get comfortable answering hard questions or whiteboarding in front of a group of people you're interviewing with. This will be uncomfortable at first but how you sell yourself in interviews personality-wise and getting along with the hiring manager is important. You can have all the skills in the world and be the most technical guy and still not be hired if you have a toxic personality in the interview. Practice introducing yourself and how you'll answer common interview questions (i.e. "What would you say your greatest weakness is?") with your peer until it becomes second nature.

- Don't be afraid to dress up for interviews. Maybe some random weird company is going to dock you points if you wear a suit but that would be a deviation from the norm. You should be dressing to impress UNLESS they asked you to dress down. This is a no-brainer yet it seems to confuse so many people and there are endless threads on forums where people are constantly asking about what to wear in an interview.

- Make an interview battlecard. This one really well-articulated here in this video by Humphrey Cheung (also known as www.mostinterestingasian.com): https://www.youtube.com/watch?v=N0XMnN1c1V0

- Do some research on the company before you go for the interview. For example, if you know you're about to interview for a new CISO role and you do a quick google-search of the company to find out they've recently have a very public compromise which led to some public missteps in their incident response, wouldn't understanding that help factor into the interview if you are asked about incident response? More than that: Understand the business and how they make money. Understand how technology and your job in particular can potentially factor into that.

- Do some research on the environment and culture of the company. While every review on Glassdoor might not be correct or accurate, if the company has 50+ reviews from ex-employees and they're all 1-star, that should cause some red flags to raise.

- Do some research into salary. I typically like to ask about salary ranges upfront. Do your research into what's fair for that role, with your experience, and the location. It's a lot harder to take large leaps in salaries after you accept a role than it is to ask for what you're worth upfront.

- Don't make it a hard and fast rule that you will not disclose your previous salary. I used to say no to doing this but in hindsight, I realized that almost every company I worked for would have me sign a background check that would authorize them to contact my previous employer to verify employment and salary.

- Don't be afraid to negotiate. Going of what I just said, if you made $80K at your last job and you're applying for a role that should pay your $120K based on your experience and skillset and you just happen to get someone in HR who thinks it's ok to offer $90K because that's a sizable bump from your last job - push back. Explain why you're worth more and fight for it. You can easily explain that there were a multitude of reasons you took the previous job at a lower pay rate because you didn't have ABC certifications, you had 2 years less experience, etc but after your last role, you have experience doing Z projects, earned X certifications, and gained a couple years of experience so based on that added value, so you know you are worth $120K based on market research and other offers you are getting. If they continue to lowball you, walk. They'll end up either having to hire someone at a higher rate later or they'll have a revolving door on that position because no one was loyal to the company when they're getting underpaid.

- If you can't answer a technical question on the interview, be honest about it. There's nothing worse than someone BSing an answer and if the interviewer is about to go down a vein of questioning that you're not strong on, it's better to state it outright and divert to a more core strength than to dig yourself into a hole in the middle of an interview. That being said, take a note of the question you didn't know and when you go home later, find the answer and email it to the people who were interviewing you. You may not be strong on that particular technology but you're demonstrating that you're willing to research and find the answer even for one questions asked during an interview.

- Send a thank you email as a follow-up. If you really want the job, sending an email to thank them for your time keeps you fresh in their mind. Always try to followup in a few days after that if they haven't contacted you back. Even if they've decided not to hire you, ask for their input and take it with an open mind and without bitterness because it might help you get that next amazing new job.

- Take feedback seriously and attack your weaker points. If you're being told time and time again that you're weak in Layer 3 or something else but you're intimidated by that subject. If it's critical that you know it to achieve the job or the pay you want, then make it your life mission to make it a core strength instead of avoiding it and trying to find a job that won't make you learn it. It's possible to find that job but if you keep getting the same feedback over and over again, the most direct path is going to be to conquer it.

- There are good and bad recruiters but they shouldn't be dismissed just because they're not direct hire. I got half my jobs in IT because I took a risk and started as a contractor first. Sometimes some companies won't hire direct because it's less legal risk to them if the employee doesn't work out. There's advantages to the "try before you buy" approach for employers and you can't really blame then given the litigious society we live in. Also they might not have the budget for a permanent expense (FTE role) but they might have one for a contractor in the meantime or be contracting for just a single project which will still get you good experience.

- Just because the company's website advertises the job doesn't mean it exists. This is going off of the last bullet point. I've seen the advice given that people should hang up on recruiters and apply directly to the company. This might work in some cases but one thing to keep in mind is that you might never get a call back if you see a similar opening on the company's direct site. Why? They might have a FTE role for an engineer that they intend of filling with a current contractor but some states legally require that they post the job ad for X amount of weeks before they onboard to give other people a chance. The management already has their person picked but they have to comply with the law. If that's the case, this might not be the role that the recruiter was calling you about. I'm not saying to not apply directly with the company if you can but I'm saying not to burn any bridges with the recruiters since that might be the only way to get your foot in the door at your dream job.

- Stop rushing to get the piece of paper and make sure you're learning something. This comes up in forums over and over again where people want to rush to get a certification hoping it opens doors into the prospective field but they don't slow down to lab, commit and truly learn the content. Ok, so you got a CCNA in under a month. What's the point of getting a CCNA if you didn't commit anything to your long term memory?

- Do something you enjoy and you're passionate about. I find the people who go the furthest in terms of technology and certifications do so because they actually enjoy it - not because they're just chasing the thing that will make them the most $$$. I think the majority of CCIEs will tell you that they couldn't have gotten through 1000+ hours of the labbing and studying this stuff if they felt "lukewarm" about the entire track. The same goes for the job you want to eventually wind up in. For the first couple years of my career, I didn't know if I wanted to go into systems, security, etc. I had an interest in all of them but when I started working on my CCNA, it just clicked for me and I knew what I would enjoy doing. Find something you can see yourself learning more about in your free time because in your career, you're going to spend a lot of free time learning so it might as well be something you enjoy.

- Generalize early, specialize later. Being a jack of all trades, master of none is great starting out because you'll learn the foundations of multiple technologies and even if you specialize later, it's good to have those foundations. If you become a network engineer, it's going to help you in troubleshooting if you have an understanding of virtualization and Active Directory. If you're a security engineer who needs to configure domain services or PKI on appliances, that knowledge of Active Directory Certificate Services is going to come in handy. I can tell you that I never really used my MCSE in terms of professionally being a systems admin but if you take a look around my blog, that MCSE is paying for itself.

- Getting your foot in the door is hard but don't let your mouth write a check your skills can't cash. It's better to get hired on your passion, explaining what you're doing to teach yourself and that fact that you're quick to learn. Trust me, it's relieving for anyone interviewing you to see someone who loves what they do and just wants the chance to learn and thrive. It may not be every company out there that likes this but knock on enough doors, you'll find plenty of opportunities.

- Volunteer for any project once you get into the field you want. A good way I got ahead in my career was taking on a lot of the crappy projects no one else wanted. As I progressed and management saw that I was willing to take on more, I was given more responsibility.

- A good hard worker might not warrant a promotion when you're in entry-level IT. This might sound like I'm contradicting myself from the above but it's actually mostly applicable in the lower tiers of IT work. i.e. if you're a helpdesk person and you do double as many calls as someone else and they don't need to hire an additional person because you do enough work, you might not get promoted off the helpdesk like you want to. You should be looking to escape these positions ASAP. On the other hand, if you're a system engineer or network engineer who works hard and volunteers to take on extra projects, you do have a better shot of getting promoted and given more responsibilities.

- There are no cheat codes, short cuts, or silver bullets in life. You're not going to be able to get XYZ combo of certification to make $100,000.If you cheat on certifications, you'll get your butt handed to you in a technical interview or you'll get your butt handed to you in the real world. You'll wonder why you can't move up or why people won't give you any responsibilities at work. If you think having a CISSP, CCNP, MCSE, VCP, etc obligates anyone to give you full control of their environment on pretty paper alone, you will quickly learn that most larger companies and desirable jobs don't work that way.

- Don't lie about your experience, references or skills. It's bad karma but on top of that, let's say you nailed the interview and the background check starts. There's so many ways to get caught. What if you give them the name of someone and their phone number and that HR person looks them up on Linkedin to find out they weren't working as your manager? What if they like watching Catfish or just use one of the many free tools out there do to a reverse lookup of that number and realize that the name doesn't match the name you gave? What if the HR person just decides to not pay attention to that number you gave and they directly call your former company and ask for that person by name? Ok... let's say all these things didn't happen and you started the job. What happens if your resume wrote a check that your skills can't cash? You're extremely likely to cause a "Resume Generating Event" and depending on the size of the company and visibility in the industry, a "Career Limiting Move." Ask yourself: are you looking for a couple large paychecks before you get fired or are you looking for a career?

- The higher you go, the more you will run into people again as you move jobs. There are tons and tons of helpdesk and lower tier IT folks out there - there aren't as many intermediate or senior folks. It's easier to burn bridges early on as a junior, not so much later in your career without it affecting you. If you piss them off or burn enough bridges locally, you may have to move to get a more senior role if you have a reputation. I actually seen someone with senior level skills and experience who developed a very horrible reputation for himself creating outages with people's environments here in California - It was so bad that the VARs, a couple CIOs, and senior engineers spread the word about what a disaster he'd be in the industry and that gentleman still struggles with finding a job to this day despite his depth of skill.

- Force yourself to be uncomfortable. If you aren't in your dream role/job title and you haven't moved up in 2 years, don't be afraid to jump ship to get to that next jump in pay/responsibilities. If you've been at your job for a couple years and you're getting paid nicely but you have nothing more to learn, jump ship or transfer to another team. Staying is how people become siloed and they lose their different skillsets. Being good at only ONE task might make you great at that one job but if they ever automate your job away and you don't have any fresh skills to offer the job force, you're effectively starting from scratch. Play chess with your career: May risky but smart moves. Even when they make you uncomfortable.

- Network with people. Jump on meetup.com and find people with similar interest or careers. Start attending user groups. Go to conferences, vendor events, free training courses, etc. Bring business cards - even if you have to print your own out and get your name out there. Having these connections could help you find your next job. Even better, you might get a great mentor out of it.

- As you progress in your career, keep notes about accomplishments. I wish I had followed this early on in my career. If you make employee of the month, write it down in a file and save it. If you get a company-wide congratulations on a job well-done from the CEO, forward it to a personal email and save it in a folder. If you complete a large project, make a note of it. These are things to add to your Linkedin or resume later or to articulate in an interview. This is something I wish I did earlier because it's easy to forget

- Build an online portfolio later in your career. One of my acquaintances who did this very well was Mr Jeffrey Sicuranza: jeff portfolio

Just based on his online portfolio, you can see he's articulate, has attention to detail, creates amazing documentation, done a variety of projects and well-researched. Of course, make sure you strip out any proprietary or client-revealing information and not breaking any NDA when you do so.

- Don't be afraid to do things to get your name out there and give back to the community. Form study groups, free training, a blog, etc. Don't be embarrassed or afraid to put yourself out there. Sometimes I cringe when I look back on early attempts but there's still a lot I learned out of it and I don't regret it at all. At the end of the day, it helps you get your name out there and it's just good karma.

- Always be learning. Even if you've progressed to a point in your career that you feel that certifications don't matter to you anymore, remember that technology is always changing. To stay relevant, you should be reading whitepapers, keep your eyes on changes and trends in the industry, architectural trends, etc.

- Don't turn into the grumpy old man who wants the kids to get off your lawn. This kind of goes off my previous point. It's easy to get comfortable and stick with what you know. If you were that guy REALLY good at token ring years ago and someone wants to come in and change your network to something different, the answer shouldn't be to just dig you heels in automatically because it makes you feel uncomfortable. This is the same with all new technology and architecture. Things change and you should have an open mind to change because you might get passed by if you don't or you might be doing a disservice to your environment if you're making the best choice based on familiarity instead of what's best to your business.

- Be mindful of your social media and Google yourself often. You have the freedom of speech, not a freedom from consequences from it. We all have personal lives and people understand this. However, utilize your privacy settings on things about your personal life that should be kept private. You may feel particularly polarized in terms of politics, religion, etc but if you get the wrong set of folks seeing that, they may dismiss your resume on worries about your publicly perceived professionalism - especially if you're in a client-facing position and they decide to Google you or look you up on Facebook. Also, Linkedin is for business. BUSINESS. Not the sharing of your favorite jokes, math problems that only 5% of people will get right, political messages, religious speak, etc. Set up Google alerts for your name: http://itarsenal.com/setup-google-alert-setup-google-alert/