IT Job Market 2017 – profiles, skills, demands
In September and October of 2016 we analyzed over 100 Calgary IT Jobs postings. Below is a summary of the positions and skills required from those I.T. job ads. In the past 2 decades, information technology career opportunities have surged and continue to grow. All industries rely somehow on IT – telecommunications, manufacturing, banking, medicine, education, government and military operations. Forecasts say that in 2017 every graduate in computers science/ engineering will have 3 open positions from which to choose. Also by 2022, the U.S. will have more than 220,000 open positions for software engineers. In this article we present current and future trends of career profiling in the IT sector, and it could help potential graduates decide where to focus their future specializing.
The common aspects of all listed occupations are the candidate’s skills; they all require at least a Bachelors Degree in computer engineering (science), and relevant soft skills: team-work, analytic, inter-personal and communication skills.
Calgary IT Job profiles and required skills (education/ training)
- Tech Support (help desk analyst)
Provide technical support to end users via website (chat), e-mail and phone. Resolve technical issues related to the installation, deployment and maintenance of hardware and software technology. Document, report and follow through with undesirable product conditions and/or issues. Knowledge of operating systems (Linux, Windows), as well network technologies (protocols, services, security) is required. Experience in different business environments: ERP (enterprise resource planning), CRM (customer relationship management) etc.
- System (Network) Administrator
Perform network administration and maintenance – configuring network devices (routers, switches, printers). Administration of the operating system (Windows, Linux), users’ access, users’ permissions management. Installation, configuration and maintenance of system and application software (including database and web servers). Knowledge of Virtual machine (VMware), network security (certificates, PKI, antivirus protection). Knowledge of Cloud based platforms (Amazon AWZ, Google Cloud, Microsoft Azure), is required; knowledge of DevOps and data analytics is desirable.
- Web developer (front end)
- Back-end (database) developer
Developing scalable applications and API-s. Programming, debugging, bug-fixing in different platforms (languages). Server side technologies include: PHP, Java, .NET, Ruby, Python, and databases include: Oracle, MySQL, SQL Server, Postgres etc. Also experience in version control systems is needed (SVN, Git hub); experience with frameworks – Legacy, Zend, Symphony, and in deployment of application on different servers: Apache (Linux, UNIX), IIS (Windows). Knowledge of data security and encryption, as well as application’s scaling (horizontal, vertical).
- Web (UX, UI) designer
- Business analyst
This occupation is part of the project (software) development team. Business analyst’s duties are to gather, analyze, review and prioritize the client’s requirements, to model the business process, to create concept prototypes and mock-ups. He will communicate with the development team and the client on a daily basis. The business analyst should possess knowledge in software development life-cycle, UML, project management as well as strong analytic and inter-personal skills. Knowledge of JIRA, MS Project, and a certificate from CBAP, or CCBA are pluses.
- Quality assurance analyst (tester)
Perform unit testing – testing of software units; checking the software behavior in defined border cases to see if the building parts of the final product work on their own; Integration testing – testing the interfaces between the solution’s components; System testing – testing of the complete system; System integration testing – check system integration with external (3rd party) systems; User Acceptance testing – testing generally performed at the clients’ location – to check whether the supplied product meets their needs and whether the level of product quality is sufficient for introduction into production.
- Database administrator
Design, development and maintenance of databases (SQL Server, Oracle, MySQL, MongoDB); Ensuring the data accuracy; Ensuring the reliability and consistency of the data; Enabling quick and efficient accessibility of data regardless of the user’s location; knowledge in the field of database disaster recovery and business continuity (DR / BCP), extraction, transformation and transmission of data to other systems (ETL), migration or expansion of the system, cleaning and sorting quality data (DQM) and built-in reporting solutions (OLAP, BI – business intelligence).
- Data warehouse/ business intelligence developer
Know and apply hosting and analytics tools (Hadoop, Cognos) to predict some things that “ordinary” business tools can’t do, and this is mostly related to a better understanding of customers, products and partners in order to identify potential risks and opportunities for the company. Monitor and report the business trends, based on the change of different business rules and carried out by placing directed queries and analysis of results. Perform analysis and diagnosis, based on OLAP tools, and perform iterative finding and analysis of the information obtained.
- Software architect (IT solution architect)
- Mobile developer
Ability to design and quickly develop a mobile application with the highest development standards. Using extensible building tools (Java, Objective C, Swing), build the projects in the IDE, or on the integration servers. Perform management of the build configurations, across the entire workflow of the project. Enable Android/ iOS tools / Windows Mobile access to online services – some of these services could be Cloud based – which can be imported directly in the IDE, and ADT/ iOS translation plugin which can help the developer’s team to localize the apps.
- IT Project Management
Coordination and work discipline between the different organizational units, and adapt to the changing and uncertain environment and other external factors. Identify processes as a set of interrelated actions and activities carried out to achieve a pre-specified product, result or service. Identify the project’s inputs, tools and techniques to be applied, as well as its outputs. Provide expertise during all project management phases (process groups): launch of the project, project planning, execution, monitoring and control, project closure. Support for different project management techniques (PMP, MS-Project, JIRA, ITIL, 6Sigma, etc.).
- No experience (recent graduates, or internship program) – these candidates are with lowest payment rates, but they are eager to learn in a real-world environment and to gain the necessary experience for further career development.
- Beginners – candidates with 1-3 years experience. These candidates have initial experience in one platform (hardware/ software) and want to switch to a more challenging position (better payment scale, career benefits etc.).
- Intermediate level – candidates with 3-6 years experience. These candidates have proven track of participation in different projects. Some of them switch to achieve career promotion, such as a team leader position, project manager etc.
- Highly experienced (experts) – more than 6 years experience. Some of the employers (finances, process industry) search for more than 10 years experience and knowledge of particular tools and platforms. These candidates possess in-depth knowledge in several platforms (hardware/ software) and have proven track of project participation in one or more industries. They could easily fit in positions such as software architects, team leaders, or upper managing positions.