One thing about technology: it either works or it doesn't. A fancy brand name can't make up for a program that doesn't do what it's supposed to do. That pragmatic approach applies to degrees in STEM fields, too. A recent study found that for degrees in science, technology, engineering, and math, the "brand name" of the school granting the degree had less impact on long-term salaries than for degrees in liberal arts.
The reason for that is the skills that lead to success on the job are both standardized and easy to assess. Programming languages are the same whether they're learned at an Ivy League school or at a community college. And coding skills are easily evaluated through technical questions and small coding problems during the interview.
The high demand for STEM skills means even students who develop those skills in an untraditional setting find opportunity. Online courses, hackathons, and nanodegree programs provide job-oriented training outside of the college classroom. Industry finds graduates of these programs appealing because training through these programs often includes the latest programming tools that haven't been incorporated into school curriculums yet.
A degree from a top school will definitely open doors, but once you start working, it's your achievements on the job that matter more in STEM fields. Managers can easily track quality metrics tied to a specific employee, such as whether features are delivered on time and how many bugs were in their work. These metrics can impact the salary increases and bonuses employees receive.
The degree is also less important when switching employers after you've been working for a few years. Because technology changes so rapidly, the specific methods and techniques you learned in school are no longer relevant. It's important to take training and continuing education classes to become familiar with the new technologies in demand. In addition, employers value the nontechnical interpersonal and leadership skills that develop after working for several years. Employees who demonstrate up-to-date technical skills plus an understanding of how to get things done in a business environment will have a solid career no matter what it says on their diploma.
It takes years to learn all the ins and outs of any technology, but you don't need to know everything before putting the skill on your resume. Focus on the must-have skills first, then stand out from everyone else with the nice-to-haves. For Python engineers, the skills break down this way.
Must-Have Python Engineer Skills
You don't need to know every module, but you need to know the basics, including the differences between Python 2 and Python 3.
Almost no project today starts from scratch; most leverage an existing framework. Learn one of the common Python frameworks such as Django.
It's easier to connect an application to a database through an ORM rather than through writing SQL.
Understand multi-process architecture.
The ability to correctly write and manage threads and processes is key to developing high-performance applications.
Developing and using RESTful APIs.
Understanding how to use RESTful APIs is necessary to integrate your application with other components.
Building Python application.
Your team may have a build engineer, but you should know how to package up code for release and deployment.
Good communication skills.
Even in a purely programming role, you need to be able to communicate with teammates and to collaborate to resolve issues.
Good design skills.
You must be able to implement servers that are scalable, secure, and highly available.
Nice-to-Have Python Engineer Skills
Front-end developer skills.
Despite the importance of ORMs, it's beneficial to understand databases as well. Some performance issues may be best resolved directly in the database rather than in code.
Knowing system administration lets you solve problems at the system level rather than just the application level.
Along with systems administration, the ability to write shell scripts lets you control the server.
Other programming languages like Java or C++.
As useful a tool as Python is, it isn't appropriate for every programming project. Know other languages so you can use the best language to solve the problem.
Mobile application development is hot. According to Gartner, demand for mobile apps will grow five times faster than companies can deliver them. The salaries for mobile app developers reflect that, averaging around $102,000 and going up to $135,000. For developers who want to get in on the mobile development action, make sure you have the skills that will make employers notice you.
Know how to develop for Android.
Apple's iOS products get lots of great press, and there are plenty of jobs for iOS developers, but there's even more demand for Android developers. While the two platforms split the U.S. market almost evenly, Android has a far larger share of the global market. So make sure your resume has the skills you need for Android development, including the Android SDK, Android NDK, Java, and C++. If you can develop on multiple platforms, that gives you additional options, so learn Objective-C or Swift for iOS devices.
Build your own app.
There's no better way to demonstrate your capability to build a mobile app than demonstrating a mobile app that you built. You can point to an app that you built at your previous employer, but because company projects are team efforts, it's difficult to really claim credit. Instead, create your own sample app in your free time. The development tools are available for free on multiple platforms. If you take the app live, you'll learn the necessary skills for packaging it and publishing it in an app store. Taking your own idea from concept through deployment shows initiative and drive that impress potential employers beyond the technical skills you develop through the process.
Have skills that go beyond mobile.
Knowing the SDK for a specific platform is only part of knowing how to create a mobile app. Like any software project, you need to understand the business requirements, so business analysis skills and communication skills are still valuable. Databases were invented long before the smartphone, but mobile apps still store data in them, so understanding SQL and database technology is necessary. Many tools generate XML automatically these days, but it's still helpful to understand the syntax.
An MBA degree is a valuable credential, but it's not necessarily relevant to project managers in information technology. Project management certification attests to your knowledge in specific skills that project managers use on a daily basis. Obtain one of these certifications and you'll gain skills that help you do better at your current job as well as attract potential employers' attention when you list the credential on your resume.
Project Management Professional
Offered by the Project Management Institute (PMI), Project Management Professional (PMP) is one of the most well-respected project manager certifications. This credential isn't restricted to information technology, and requires mastery of skills that will help manage projects in any business domain. The requirements for obtaining the PMP certificate include several thousand hours of hands-on project management work, plus 35 hours of coursework. After these hours are completed, a difficult exam must be passed. Less experienced project managers can obtain the Certified Associate Project Manager (CAPM) certification, a more entry-level credential; PMI also offers additional certification for project managers in specialty areas such as business analysis and risk management.
If your workplace follows agile software development methodology, as more and more organizations currently do, you participate in scrums on a daily basis. The Scrum Master certification from the Scrum Alliance acknowledges your expertise in guiding your team through scrum practices. Obtaining the Certified Scrum Master (CSM) credential requires self-study of scrum practices, followed by a CSM course led by a certified trainer. That course is then followed by an online exam. Successfully obtaining the CSM also grants access to Scrum Alliance resources, including a profile on the Scrum Alliance website, plus a logo to highlight your achievement.
Certified Project Manager
Similar to the PMP certification, Certified Project Manager (CPM) is offered through the International Association of Program and Project Management. Before taking the exam, you should have expert-level knowledge of project management practices, obtained through at least four years of project management work and 36 hours of study on the CPM syllabus. This preparation is followed by a three-hour exam. More junior professionals can obtain the Certified Project Professional credential.
Going to be looking for a new job in the new year? Update your resume and brush up on your interviewing skills with these 10 tips:
1. Have good manners.
Be nice to everyone you meet during the hiring process, including the administrative assistants who schedule the interviews and bring you into the office. Even if the hiring process doesn't formally solicit their feedback, you can be sure any bad impression you make on them will find its way back to the hiring manager.
2. Don't focus solely on technology.
If you're interviewing for a leadership or managerial role, your job is more about people than tech. If you are looking for a technical job, you'll have to interact with co-workers and colleagues in other business departments. If you make it clear you enjoy those interactions, you'll appear more flexible than someone who wants to keep their head down and just code.
3. Be ready to explain how you'd get started.
Companies are often hiring because they have an urgent need. Be ready to explain how your skills, background, and approach will let you hit the ground running.
4. Dress appropriately.
It's rare to need a suit and tie when interviewing for a technical position, but you should still bump your style up a notch. In some startups, casual, even sloppy, dress may still be appropriate for an interview, but even if you're rumpled, you need to be clean.
5. Be ready to show your portfolio.
Particularly for positions that emphasize creativity, such as user interface design roles, you may be asked to show samples of your work. Be mindful of any confidentiality or nondisclosure agreements you have with your current employer, but bring examples of your work when possible. (Don’t force an uninterested interviewer to look at it, however!)
6. Be ready to ask questions.
You can plan questions in advance based on information you gather about the company online, but you'll make an even better impression if you ask relevant questions about the specific opportunity that relate to information the interviewer gave you.
7. Indicate your interest in continuing development.
No one can afford to stop learning, whether in a technical or managerial role. Express your interest in continuing to develop your capabilities, including technical and leadership skills, and the company will know that your value to them won't end just because a technology becomes obsolete.
8. Have your references ready.
Companies expect that you'll be able to provide references; not having a list of names handy makes you seem unprepared and can raise suspicions that you don't have anyone who will vouch for you. Make sure you let your references know you'll be giving their information out and they are willing to respond on your behalf.
You don't want to give canned answers to interview questions, but you don't want to ramble, either. Anticipate what you may be asked and think about your answers in advance. You can't anticipate specific technical questions, but you can brush up on the relevant technologies to refresh your memory.
10. Remember the evaluation process goes both ways.
Interviewing isn't just about you impressing the company; the company also needs to impress you. Pay attention to the facilities and people you see; do you think you'd fit in and enjoy working here? That's the most important interview question of all.
From an information security perspective, 2015 was a headline-making year, and not in a good way. Major breaches occurred at healthcare insurance companies, an online dating site, financial firms, and government agencies including the FBI. The challenges facing security pros are daunting. These are a few of the things they need to make their jobs easier:
• Integrated security tools.
There are plenty of security products out there, including firewalls, intrusion detection systems, data loss prevention tools, threat feeds, and security information and event management products, but they mostly provide independent services. Security pros wish for integrated tools that would provide a comprehensive view of the network security posture and work together to address threats.
• Increased security awareness.
Security doesn't make money for companies, so it often gets little attention—and money—until after a problem has occurred. Security pros wish consciousness of the importance of security would penetrate the entire business hierarchy, from the boardroom where strategic funding decisions are made to the lowest-level employees who are vulnerable to phishing and social engineering attacks.
• Security implemented throughout the technology stack.
It's no longer possible to secure corporate data by securing the network. Security needs to be built into applications and databases to defend against attacks that originate from within the network. Security concerns should be part of an application's earliest design phases, not an afterthought ineffectually bolted on at the tail end of the development process.
• Security focused on major risks.
It's impossible to provide effective security when you don't know where the biggest risks are. Companies need to perform risk analysis to understand which data is being used by which applications and where that data is being stored. Then security efforts can focus on protecting sensitive data which would do the greatest harm if exposed, rather than applying equal levels of protection across all applications regardless of risk.
• More security engineers.
There's a shortage of security professionals, so even when a business is committed to investing in security, it's hard to find employees with the skills to implement the necessary tools and policies. Engineers with solid training and up-to-date security certifications will find plenty of opportunity in the new year.
Front-end engineering is one of the most in-demand developer skills. With the need for applications to run on multiple devices, companies need skilled front-end developers to create interfaces that work on every platform. There's a lot of reward in the good feelings that come from creating attractive interfaces that are easy to use, but front-end developers also get the rewards of a competitive paycheck, especially at senior levels.
Senior Front-End Engineer Skills
Before you can become a senior front-end engineer, you need to have a couple of years experience with core skills, plus additional skills to round out your ability to contribute to a team.
Since front-ends are so dependent on images, the ability to manipulate images in Photoshop is also a useful skill.
At many companies, front-end developers pinch hit on the backend, and knowing a server-side technology like Python or .NET, in addition to front-end languages, increases your value to your employer.
Senior Front-End Engineer Salaries
Salaries vary across geographic regions and industries, but you can still find useful information. According to Glassdoor, the national average salary for front end engineers is more than $99,000. They also provide a salary breakdown by company, with Facebook's front-end engineers averaging more than $135,000 and Yahoo's front end engineers averaging about $111,000. Not surprisingly, the numbers go up when you add "senior" to the title; Glassdoor reports an average figure of close to $120,000 for senior front-end engineers at Yahoo.
Other surveys report even higher figures in specific locations. Indeed reports an average salary for senior front-end engineers of $105,000, but the same title in New York or San Francisco pulls an average salary of more than $140,000.
Most companies probably schedule your interviews to be 30 minutes or an hour long, so you have plenty of time to sell your strengths and get the job, right? Nope. It turns out you have precisely 385 seconds – less than seven minutes – before the interviewer makes up their mind. And a good part of the interviewer's opinion is based on their first impression of you, not how well your skills and education match the requirements for the position. Make the strongest first impression you can with these tips:
Be there on time.
Show up late and it's hard to overcome the impression that you just weren't interested or didn't care enough to make the effort to get to your interview on time.
Be happy to be there.
Smile and make eye contact with the interviewer. You need to look like you want to be there, not as if you want to hide. Another advantage of smiling? Smiling decreases stress levels. And the less stressed out you feel, the easier answering interview questions will be.
Offer a strong handshake.
Strong handshakes demonstrate self-assuredness and an eagerness to impress the interviewer. A candidate with a strong handshake is more likely to be remembered than a candidate with a weak, unconfident one.
Control your body language.
Your overall body language should demonstrate confidence, besides your handshake. Make sure your posture is upright – stand up straight when you walk, and sit up straight, too. Control nervous behaviors like fidgeting or twirling hair. Mirroring the interviewer's body language (they cross their legs, you cross your legs) can help give the impression you share the same feelings, as well as the same position.
How you speak is almost as important as what you say. Make sure you sound calm, relaxed, and not overly excited. You should anticipate typical interview questions and have the outline of an answer prepared, though you don't want to sound overly rehearsed.
Help your interviewer see how you'll fit in by looking like you'll fit in. Do some research to learn the dress code at the firm and plan your interview wardrobe accordingly. A suit and tie may be too much, but it’s always better to be too formal than too informal. And while casual may be OK, your clothes need to be clean. There's no environment where stains on your clothes leave a good impression.
Getting hired for any position depends on having the right education and experience. For site reliability engineers, more than many other positions, having the right experience is more important than the right degree.
The reason for this is that site reliability engineers need to keep critical applications running. This requires a level of understanding that only comes from real-world experience; book smarts just aren’t enough to provide the insights that let SREs resolve problems quickly.
Build Technical Experience
The SRE position also requires systems understanding that runs both deep and broad. SREs need to understand networking, systems administration, databases, applications development, and all the interactions between them. SREs can be involved in architecting the environment where the applications will run and need to know how to bring all the components together effectively.
Experience working with programming languages, including both high-level languages like Java and scripting languages like Python, is necessary to develop the tools SREs use. Writing a few "hello world" level programs doesn't offer deep experience to build and debug complex applications.
Develop Trouble-Shooting Skills
The more problems you solve, the better you get at solving problems. A large part of the SRE role is solving problems; often, they're solved by recognizing similarities to a previous issue. The more experience you have solving problems, the bigger the dataset you can apply pattern recognition to. You don't have to start solving every problem from first principles; you can jump right to the most likely sources of trouble. Shortcutting the problem-solving process means shortening the length of time the problem exists.
Another reason companies look for experience in their SREs is that the position requires interacting with other internal organizations to investigate and resolve problems as quickly as possible. Things get stressful fast; when a core application is down, business doesn't get done and companies lose money, as well as potentially taking a hit to their image. Developing the ability to stay calm and focused, and work through analyses when managers are losing their cool around you, is key to getting the job done. This kind of battle hardening only comes from living through complicated real-world problems and makes you more effective at your SRE job.
Are you a brand? Whether you realize it or not, you have a personal brand: the way others see you when they look you up online. When you're job hunting, you don't want your online brand to consist solely of your Facebook page and the funny posts you share with your friends. Building a professional brand on LinkedIn helps you stand out and impress recruiters and potential employers. Use these tips to turn your online profile into a brand that attracts attention.
1. Stand out from the start.
Your LinkedIn headline, like the headline in a newspaper article, needs to grab the reader's eye. It also needs to emphasize the main subject matter – easier to do for a news story than for your personal history. You've got limited space and characters to work with, so keep it tight. Provide your location, your title, and your primary skills or significant accomplishment.
2. Back up your headline claim.
Your headline makes a claim for how good you are; the rest of your profile needs to provide the details that prove it. Be sure to mention your awards, certifications, and other credentials that support your qualifications.
3. Get found.
For your profile to be found during searches, it needs to include the keywords that people search on. If there are multiple ways a key phrase might be worded, include all possibilities. Keywords can include things like titles, skills, or credentials, so include that information throughout the profile – in the headline, the summary, and other sections. Be sure to complete the “Skills” section completely. Adding additional custom sections for information like recent coursework is a great way to create more room for keywords.
4. Ask others to vouch for you.
Testimonials provide proof of the claims you make. Ask your former employers and colleagues for testimonials including the keywords you're emphasizing to add additional weight.
5. Participate in groups.
Post updates and contribute to group discussions to get your name and information "out there." The information you share online in LinkedIn should be professional; this isn't the forum for being outrageous. Present a professional image so that when others read your opinions, they can envision you working for their organization.