Technology changes fast, and developers need to keep their skills current to keep up with the marketplace. If you want the opportunity to work on the most challenging new projects, these are the skills you need to know now.
Companies are gearing up for big data projects, hoping to gain a competitive edge from analyzing the data collected by all their interactions with customers and suppliers. There's a vast range of skills needed to support big data work, ranging from engineering tasks that focus on managing and storing these giant collections of data, to analytical tasks that focus on understanding the business and using that data to create insights that drive business success. For the engineering-oriented jobs, focus on skills like Hadoop, Spark, and NoSQL databases like MongoDB. The analytical tasks require data science skills, such as statistical methods and text analysis, plus the ability to program in languages like R and Python.
More and more companies are implementing a "mobile first" development strategy. Because of the small screen size, strong UI and UX skills are needed to build an effective interface. Android is by far the dominant platform; iOS trails in second and Windows, Blackberry, and other mobile operating systems barely register. Learn the languages of choice for both Android and iOS development – Java and Swift, respectively – plus a cross-platform development framework such as Sencha will give you the most options for mobile application, and mobile career, development.
Float on a Cloud
Cloud computing is fast becoming a dominant method of application delivery. Learn the features and APIs for the major cloud platforms, including Amazon Web Service, Google Cloud, and Microsoft Azure. The cloud is also a major contributor to the growth of DevOps, opening up deployment and support career paths for those who understand how to automate the process and monitor deployed applications.
Work With a Staffing Agency
Working with a staffing agency like The Armada Group is a great way to explore the jobs your current skills prepare you for and help you identify the skills you need for the best jobs on the market. Search our jobs or contact us to learn how our services help you build your career, not just find a new job.
Big Data is one of the hottest technologies around, but companies are struggling to succeed in their Big Data projects. Bringing in developers with Hadoop and NoSQL skills isn't enough, so companies are now turning to data scientists to help them find value in their data.
Data Scientist Is a Top-Rated Job
As a result of that push, Data Scientist sat in the number one position in a recent Glassdoor survey of the best jobs in America. Not only does the job offer a high median base salary, the position provides plenty of opportunity and job satisfaction.
Data Scientist Skills and Responsibilities
Data Scientists help companies make sense of the structured and unstructured data collected by corporate information systems. Insights from this analysis can help companies identify new marketing opportunities to increase profits or improve manufacturing processes to reduce costs.
Creating those insights requires a combination of analytical and technical skills. Data Scientists need a strong background in advanced statistical, mathematical, and analytical methods. They may use methods such as textual analysis, machine learning, or data mining to search for meaningful patterns in very large databases.
Data Scientists work with tools to help them manage and manipulate large-scale databases, including SQL, NoSQL, and Hadoop. In some companies, the technical aspects of creating an infrastructure to store and retrieve large data sets is handled by the Data Scientists, while in other firms those responsibilities fall to an engineering team.
Data Scientists can fill the role of business intelligence or data analysis, writing reports against existing databases. They may write programs in statistical tools such as R and Matlab, as well as general purpose programming languages like C++, Java, and Python. Because a large part of their job requires presenting insights to business management, understanding data visualization and reporting technology is vital. Data Scientists need a strong understanding of the business domain to relate the connections found in the data to business operations. In many cases, the end product of a data science project is a computer program and data scientists often work as part of a team that incorporates their analytical methods into a production software application.
Given the varied responsibilities of a Data Scientist, it's important to understand exactly what you'll do on the job at any given company. Conduct an analysis of your own career interests to help you select the right Data Scientist job for you.
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.