Career advice for novice software developers, IT pros, and tech workers

I’ve compiled a list of advice from seniors in the tech industry ranging from general career advice, to job hunting and interviewing, and specializations.

About the job hunt

“Don’t be seduced by the candy cart. They roll that sucker out Friday afternoon to keep you working late.
If you can find the company that does something you believe in, the paycheck won’t matter as much but don’t kid yourself, you still have bills to pay. Don’t let any company use nice views and a low cost of living as justification for paying substandard salaries.”

“Don’t be afraid to ask them what it was about your resume or public profile that attracted them. And when they tell you it’s all the speaking and writing and volunteer work you did, be sure to ask them if you’ll still be able to do that when you’re working for them. I’ve seen a number of companies who hire people like that and then turn around and tell them they don’t want them doing that anymore.”
-Chris Williams

“Random thought: Interview the company. You need to get as much information/intel on them as they want to get on you. Ask them about their practices, their work environment, expectations, etc. If you get vague responses or responses bordering on sounding annoyed, run.”
Jason Bock

“Even if you are desperate for a job in the field, don’t just sign an employer agreement. Actually read it. Be aware that “employer agreements” may contain weird requests like “list your inventions” (which NDAs at other companies may prevent and it isn’t their business anyhow), “EVERYTHING you create – include stuff on your own time – is ours”, and other shadiness. If you don’t agree with it, challenge it, have the important conversations, and don’t sign it unless you absolutely agree with it.”
Sarah Dutkiewicz

“Oh, and one would think this doesn’t need to be said, but for early 20-something dudes, it probably does: leave the bro culture at home. Companies, especially large companies, are working harder than ever to be inclusive. Things in your online profile which are not, or things you say in an interview which are not, could hurt your chances to be on a team.”
Pete Brown

“To get the job: practice a lot, on a whiteboard, for months before the interviews.
To get better: read and write a lot of code, GitHub is a good place for that.
To remain sane: have your own pet project that you do just for yourself. This also helps getting better.”
Bertrand LeRoy

“You know who else shows up at User Groups and Code Camps? Recruiters and hiring managers. And don’t be afraid to introduce yourself as a developer looking for work when the leader goes around the room.”
-John Dunagan

“Never believe the “job requirements” when applying. What they post is their WISH LIST, not what they actually expect to get – so if they ask for 3-5 years, apply anyway even with 0 years. If you interview well, and are (kind of by definition) a lot cheaper than someone else, you may well get hired.”
Rocky Lhotka

“1. remember that a job interview is a two-way street. You ARE ALSO interviewing the company.
2. If a future team member is being a jerk while interviewing you, chances are he will continue to be a jerk after you take the job.
3. If you are part of an underrepresented group it is your responbility to send the elevator back down once you make it.
4. If after 3-4 rounds of interviews the company still has not made a decison and is making you wait an unreasonable amout of time, it’s time to move on. If I company really wants you, they should know within 2 weeks.
5. A company’s hiring process tells you a lot about what kind of company it is.”
Jose Luis Manners

Go to every interview you can, you must practice interviewing. Watch interviews online, practice with friends, and in real interviews. Ask for feedback from every interview you do and keep a notebook of parts you think went well and parts that didn’t.

Build a profile on LinkedIn, and create a blog. Use the blog as a journal of important skills you are learning.
-Rachel Appel

General Career Advice

“Google/Bing yourself from an inprivate/incognito session and see what comes up. Do it in various ways, like including your school name etc.

Many don’t realize how quickly the results can move your resume up or down in the pile. Also, just because high school seems like a million years ago to a college graduate doesn’t mean a potential employer will see it that way. Stuff you do online sticks with you.”
Pete Brown

“Whatever you do, own it, and do a fantastic job. It doesn’t matter if you’ve been asked to clean the teaspoons in the kitchen, sweep the floor, whatever, as part of your role at the bottom of the ladder.”
Jen Stirrup

“First of all – the absolute best advice I can share is to be part of the revenue stream. If you are in IT at a hospital or bank or retailer it’s surely important… but most will unfortunately still see you as a cost center – and you’ll usually be treated as such. My advice is to be in a role in a part of the org that either builds or sells the product or service that brings in the money.

The second piece of advice would be to always stay true to yourself… try to be in a role that you really enjoy – even if it’s not the tops in pay. We only live once, don’t spend too many days doing crap you hate.

Last piece of advice… be honest and humble. There’s always someone who is smarter than you. You can’t fake it all the time and people HATE liars.
Go Eagles! 
-Bill Zentmayer, manager at Microsoft

“At the beginning of your career, or even at the beginning of most new jobs, you are going to be completely useless, and that’s OK. It’s your job to learn as much as you can, and over time, you will become more useful. If a boss or a company doesn’t understand that, then that’s the wrong boss or company for you in the early stages of your career.”
-Charles Graham, Software developer

Find mentors. I recommend that young men have some women as mentors and that young women have some men as mentors. Find someone who is different than you, so that you can widen your perspective
-Rachel Appel

Sharpen those tech Skills

“Obsess about something that will make you stand out. Anytime I needed to master anything, it took dedication. So pick something relevant but something you love as well. In my history, it’s been drawing, 3D animation, photography, assembler programming, open source, CQRS/ES, #git. Each time you do this, you will generate a piece of a very strong foundation that can hold up, others, teams, organisations or entire communities. Doing that for #git gave me one of 2 gold version control badges on stack overflow.”
Adam Dymitruk

“Know your stack. know your design patterns, in general and for said stack(s). don’t sweat code syntax — know and speak to common industry design scenarios, popular libraries, and solutions that play to established (and emerging) architectures.”
-Doug Erickson, manager at Microsoft

More than tech skills

“Be human. Learn to communicate over coffee, etc. Build human relationships. Technology changes all the time but basic people skills (eye contact during a conversation, manners) are always “in vogue””
Brian Randell

“Learn to speak in public and write well. The people who advance don’t just have good ideas they share them. A lot of people think that tech careers are all about the tech stuff. The tech stuff is very important but you can stay in low level jobs forever if you can’t communicate. Most people are afraid to make public presentations – get over that fear and it will be a huge help to your career.”
Alfred Thompson

“For my preferences as a hiring manager of many years, i look for signs of: do you take on relevant challenges and see them through to completion? are you collaborative — do you have testimonials that use words like “helpful”, “respectful”, etc? i’m not looking for “drive” or “leader” (which are typically exclusionary words) as Iiam for a strong ethic around contribution and delivery, and a style that really enables others as well as elevating you.”
-Doug Erickson

“People skills are a must. Invest time in building people skills. Getting involved in tech meetups is a good way to do this.”
-Rachel Appel

Careers in the tech industry

“Go to networking groups like the Philly Tech Meetup and other groups that might have topics you are interested in. Find a mentor and a good recruiter as well”
-Tim Dodd

“What school you attend may help you get some interviews. But generally only your first job. After that you need to show accomplishments. If you are not at a big name school you will want to do some side projects – something impressive that you can share on your resume and at interviews.”
Alfred Thompson

“Do not neglect the power of community and networking with people. Since I started as an IT professional in 1998 – I got my first IT job “on my own”. Everything else has been through word of mouth, talking with people and being involved in the community.”
Lou Vega

“I believe it is important to realize that software development is not just about the cool technology, but rather is something that involves many “soft” (which for some of us are very hard) skills.
Over the 45+ years I have been in the game, things evolved. My initial interest was largely fueled by a desire to get away from people, and a machine that did exactly what I said fit the bill. For the first decade or so, programming was a back room skill, and I could disappear for weeks (occasionally months) into it. Then they invented users….
The technology I work with today is completely different than what I started with. Dave Noderer is 100% correct that it will be a lifelong learning experience that takes significant time.
But the technology is really secondary to the people, ranging from others on the team, to those responsible for defining the goal, to those who will interact with the resultant software.
If anyone is left reading this, and still considering such a career, then Welcome Aboard, you are in for the ride of your life. Speaking for myself, I could not imagine it being any other way.”
-David Corbin, Independent Consultant and MS MVP

“1. Question everything. When you get a “requirement” from a user, ask yourself if you really understand every bit of it (this also applies in interviews). Work out what assumptions you are making and ask for clarifications in this.

2. Be prepared to read outside your field. Unless you work for a few select companies, you’re generally going to be building solutions in areas that you have no prior experience in. If you want to be good at what you do and actually provide something that is of use to clients, one of the most important abilities you will pick up is the ability to learn new industries/jobs very quickly.”
Peter O’Hanlon, software developer

“The tech industry has specialties of expertise and sub-fields added to it constantly. When I started there were no Data Scientists, AI, or Machine Learning fields. Everything evolves, and rather quickly.
Look around for sub fields of interest and choose a specialty you think fits you well. Learn everything you can about it. A college degree is neither necessary nor important to many employers, if you know the core concepts about computing and can learn efficiently and quickly.

Regardless of your specialty, you absolutely need to learn a programming language. As already recommended, a scripting and compiled language is optimal. Learn hardware and networking basics as well.”
-Rachel Appel

On Learning

“Learn a modern language (whether it’s Powershell, Python, Java, C#, etc.) really well. Once you know the fundamentals of programing, and you know one language really well, the rest is just syntax if you need to do something with another language.”
Lou Vega

“Share. Don’t hoard your knowledge in the mistaken belief it makes you more valuable. Share it with your colleagues and listen to what they share with you.
Never stop learning, not just in your field. Every technology dies. Don’t risk being an expert in a dead-end field.”
-Bob Simms, IT industry trainer

“Watch and learn what the others do while you do that activity. If you can’t do that activity properly, and with care, you’ll never be asked to do anything else. So smile and get on with it. If you can’t do the small things, you won’t get the chance to show you can be trusted with the big things”
Jen Stirrup

“Never stop learning. I have learned a new programming language about once every three years for the last 45. I’m falling behind. Don’t fall behind.”
Alfred Thompson

“Listen and learn. If you’re in the early years of your career, there’s a lot to learn, no matter how high your grades were in school. And continuing learning for the rest of your career. Don’t go into an entry-level interview assuming the company is in shambles and is looking at you to save the day. You’re entry level, and you’re going to be working with people with years more experience than you.”
Jeff Cogswell, software developer

Lifelong learning and continuously poking at new areas is really important.
-Dave Noderer, MS MVP, South Fla Code Camp

Learning doesn’t stop when you get a diploma or degree. In the IT field, you either learn new subjects continuously or become obsolete quickly.
-Rachel Appel

The most given advice:

-Learn at least one or two programming languages in depth
-Be humble
Never stop learning.

What you need to know about the Microsoft MVP Award

Each turn of the Microsoft MVP award cycle raises many questions in the developer and IT Pro communities as to what the award is about, who gets the award, and why we have it. This post aims to answer those and other frequently asked questions.

About The Microsoft MVP Award program

images_8

The MVP Website states:

“The MVP Award recognizes exceptional technical community leaders from around the world who voluntarily share their deep, real-world knowledge about Microsoft technologies with others.”

Each quarter, selected nominees receive the MVP award for their contributions to Microsoft technical communities in the past year. One can become a Microsoft MVP by way of nomination process, and anyone can nominate someone for an MVP award. Nominations do not guarantee receipt of the award.

The Becoming an MVP page of the MVP Website gives some details as to what happens once someone is nominated for the award.

“To receive the Microsoft MVP Award, MVP nominees undergo a rigorous review process. A panel that includes members of the MVP team and Microsoft product groups evaluates each nominee’s technical expertise and voluntary community contributions for the past 12 months. The panel considers the quality, quantity, and level of impact of the MVP nominee’s contributions. Active MVPs receive the same level of scrutiny as other new candidates each year.”

The panel consists of members of the MVP program with input from product team members and the field. The MVP program admins then invite awardees to participate in the MVP Award Program benefits for a one year award cycle. If the awardee accepts the MVP award, they must adhere to both a code of conduct and an NDA (a non disclosure agreement, which is a legally binding contract).

Here is what the award welcome gift looks like for 2012 (placard on the left, certificate on the right).

 

WP_000202_2

There are some frequently confused sentiments about MVPs and the award program:

  • Obtaining the award one year does not guarantee or influence next year’s decision. Much like the Grammy’s or Oscars, or other awards, it’s an award based on work in a particular area, for the previous year.
  • There is no prescriptive way or particular set of actions to become an MVP, since a prescriptive guide means it’s a certification, not an award.
  • Open Source Software is not an award category, since awards are hosted by product teams. Contributions to OSS projects can be, but are not necessarily, taken into consideration for the award.
  • Criticism of Microsoft products does not disqualify people from becoming an MVP, nor does it cause MVPs to “lose their MVP”.
  • The MVP award is not the result of a competition. One person never wins the MVP award in favor of another.  
  • The MVP award is not a membership or club.

Read the full set of FAQs here! If you’re not familiar with the varying Microsoft awards, certifications, and other programs, it’s easy to confuse them.

Certifications, Insiders, & Regional Directors Programs

Because programs like certifications are often confused with the MVP program, here is a quick rundown of Microsoft programs & certifications:

Certificationss: Microsoft certifications exist for nearly every active product. Certifications are 100% prescriptive, so there will always be an exam, lecture, or other set predetermined activities, that one must complete, while meeting a quality metric (i.e., a minimum score). Since certifications require exams, the certification candidate must pay to take the related exams, whereas there are no costs associated with receiving the MVP award. For more on MS certs, see the Certification Overview page.

Insiders: Microsoft maintains relationships with customers and partners of all types, from an individual contributor to companies and organizations. The ASP Insiders (and other insider programs) are Microsoft sponsored programs whose members participate in by providing feedback to ASP.NET, Visual Studio, or other product teams.

Regional Directors are trusted experts that Microsoft engineers in the field rely on for help with directing the best technical solutions for both the RD’s and Microsoft’s customers. Read more about RDs at the RD Home Page.

Summary

Congratulations to all of our new and renewed MVPs! Thank you all very much for sharing your expertise, experiences, and knowledge with the technical communities surrounding technology. I know many MVPs who get the award each year and it is because of their passion for Microsoft technologies, and a love of sharing their expertise.

The fine print:

MVPs, RDs, and Insiders, are not employees of Microsoft.

Previous to joining Microsoft, I had received the MVP award for multiple years, and also participated as an ASPInsider, and an MCT. I hold multiple certifications from Microsoft and other tech companies.