Essential Cybersecurity Skills in 2021

Robert Beckley, Regional Director, Hays ANZ

Cybersecurity breaches continue to make global headlines. Malicious cyber activity has proliferated, and attacks have become ever-more sophisticated. As organisations have sought to increase their ability to protect, detect, and respond to cyberattacks, there has been a sustained need for cyber professionals, with demand often outstripping supply.

COVID-19 exacerbated these trends. Almost overnight organisations were forced to work remotely and entire business processes and models shifted online.

As IT departments scrambled to enable working from home, cybercriminals sought to capitalise on the crisis. Valuable data was left exposed, with many remote networks via VPNs hastily set-up prior to enforced lockdowns.

And a remote workforce, using their own Wi-Fi and devices – and prone to lapses in adhering to security guidelines – presented an ideal target to criminals.

With cybersecurity being a priority for business leaders, there has never been a better time to be a cybersecurity professional. But how is the function evolving, what are the key skills employers look for and what roles are available today?

What key skills do employers look for in a cybersecurity professional?

Cybersecurity roles have traditionally fallen into one of two categories: specific technical roles focused on the prevention of, and reaction to, cyber-attacks (such as Security Engineers, SOC Analysts and Security Architects) and roles focussed on governance, risk and compliance.

However, the distinction between ‘tech’ and ‘business’ is now blurring. Today, more roles require someone who is not only responsible for the technical implementation, maintenance and development of security systems, as well as the reaction to any breaches that occur, but someone who can also analyse incidents, processes and procedures. These professionals need to act as a bridge between IT security and the business and look at the risks associated with different business projects and the effect they have on security infrastructure. 

These roles, such as Security Analysts or Architects, span more than just the IT department. As a result, the following specific key skills and traits are required:

  • An understanding of current and emerging IT and security technologies, security standards, threats and trends; 
  • Knowledge of security, risk management and assessment methodologies and standards (e.g. ISO 27000 series, NIST, OWASP, PCI DSS), and the application of them, often in large enterprise environments; and
  • Professional certificates in IT and Security, such as from CISA or CISM. 

In addition, employers also require candidates with the following soft skills: 

  • Communication skills, including the ability to work closely with those who are not from an IT background; 
  • Analytical capabilities; 
  • The ability to work in complex matrix organisations that may transcend borders; and 
  • An aptitude for learning, since industry experience isn’t always a prerequisite, but the ability to learn quickly is. 

What projects are there for talented cybersecurity professionals?

Here at Hays, we’ve been placing candidates in numerous functions related to cybersecurity, including Security Analysts and Architects, IT GRC Consultants and Specialists on both Red and Blue teams. We’ve also placed professionals into soft-skill focused roles, such as Security Awareness Consultants and leadership positions up to CISO level. Both contract and permanent roles have been available. 

For all these roles, it has been the candidates who display a good mix of technical and soft skills who are in demand. As organisations look to uplift their security posture in a wide range of new areas, it is essential to get buy in from key stakeholders. Therefore, candidates who can communicate the importance of their work in a way that senior stakeholders understand are highly valued. 

In addition, when Covid-19 struck, organisations looked to make a quick transition to remote working, which meant a rapid uplift in their technical capacity. One key part of this was the implementation of new Identity Management solutions. Throughout the pandemic, we’ve helped numerous employers quickly grow their Identity Management teams to cope with this demand. Of these, most have opted to implement CyberArk and SailPoint as their desired solutions – making candidates with experience working on these technologies in high demand at present. 

So, whether you’re a cybersecurity professional interested in a new challenge or are looking for talented cybersecurity personnel to support your organisation, you can send us your CVregister your vacancy, or reach out to your local recruiter. 


About this author

Robert Beckley is a Regional Director based in Melbourne. Having worked in the Australian IT recruitment market since 2006, Robert leads the Hays Technology business in the ANZ region. Robert has a Master’s degree from the University of Birmingham, and two decades of industry experience.

Follow Rob on LinkedIn

00

More Blog Entries

thumbnail
thumbnail
An error occurred while processing the template.
Java method "com.sun.proxy.$Proxy54.getGroupVocabulary(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy54 object "com.liferay.portlet.asset.service.impl.AssetVocabularyLocalServiceImpl@24f6b355"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign vocabBlogType = assetVocabula...  [in template "20115#20151#3173716" at line 5, column 1]
----
1<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
2<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
3<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
4 
5<#assign vocabBlogType = assetVocabularyLocalService.getGroupVocabulary(propsUtil.get("EXPERT_RESPONSE_GROUP_ID")?number, "Content Type") /> 
6<#assign vocabBlogCat = assetVocabularyLocalService.getGroupVocabulary(propsUtil.get("EXPERT_RESPONSE_GROUP_ID")?number, "Blog Categories") /> 
7<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")> 
8 
9<#assign plid = layout.getPlid()> 
10<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
11<#assign nodeId = layoutLocalService.getLayout(plid).getExpandoBridge().getAttribute("NodeId")> 
12 
13<#assign siteLang = themeDisplay.getLocale().getLanguage() /> 
14<#assign urlAppender = ""> 
15<#if currentURL?index_of("/" + siteLang + "/") gt -1> 
16	<#assign urlAppender = "/" + siteLang /> 
17</#if> 
18<#if themeDisplay.getLanguageId() != 'en_US'> 
19	<#assign urlAppender = urlAppender + "/web" + themeDisplay.getScopeGroup().getFriendlyURL() /> 
20</#if> 
21 
22<#assign sections = layoutLocalService.getLayouts(themeDisplay.getScopeGroupId(), false) /> 
23<#assign friendlyURL = "" /> 
24	<#if !themeDisplay.isSignedIn()> 
25<#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>		 
26		 <#assign Siteproxyurl= GroupLocalService.getGroup(themeDisplay.getScopeGroupId()).getExpandoBridge().getAttribute("Siteproxyurl")> 
27		 	<#assign friendlyurl_new = friendlyURL?keep_after_last("/")/> 
28				 
29				<#assign friendlyURL=Siteproxyurl+"/"+friendlyurl_new/> 
30					</#if>	 
31<#list sections as layout1> 
32	<#assign nodeId1 = layout1.getExpandoBridge().getAttribute("NodeId") /> 
33	<#if nodeId1 == "blog-detail" > 
34		<#assign friendlyURL = urlAppender + layout1.getFriendlyURL(themeDisplay.getLocale()) /> 
35	</#if> 
36</#list> 
37 
38 
39<div class="container blog-detail-page-latest"> 
40	<h2>${languageUtil.get(themeDisplay.getLocale(), "lr_RecentBlog")}</h2> 
41<div class="row"> 
42<#if entries?has_content> 
43	<#list entries as curEntry> 
44		<#assign renderer = curEntry.getAssetRenderer()/> 
45		<#assign blogsEntry = renderer.getAssetObject() /> 
46		<#assign smallImageFileEntryId = blogsEntry.getSmallImageFileEntryId()?number/> 
47		 
48		 
49		<#assign groupid = blogsEntry.getGroupId()?number/> 
50		 
51				 <#assign siteurl= groupLocalService.getGroup(groupid).getDisplayURL( themeDisplay)?keep_after_last("/") > 
52				  
53				 <#assign sections_blog = layoutLocalService.getLayouts(groupid, false) /> 
54				 <#assign friendlyURL_page ="" > 
55				  
56<#list sections_blog as layout> 
57	<#assign nodeId = layout.getExpandoBridge().getAttribute("NodeId") /> 
58	<#if nodeId == "blogs" > 
59	<#assign language =languageUtil.getAvailableLocales(groupid)/> 
60	<#list language as language_new> 
61	<#assign friendlyURL_page =  layout.getFriendlyURL(language_new) /> 
62	<#assign friendlyURL = "/web/" +siteurl+ friendlyURL_page/> 
63	</#list> 
64				 
65	</#if> 
66</#list> 
67		 
68		 
69		 
70		 
71		 
72		 
73		<#assign dlFileEntry = ""/> 
74		<#if smallImageFileEntryId gt 0> 
75			<#assign dlFileEntry = dlFileEntryLocalService.getFileEntry(smallImageFileEntryId) /> 
76		</#if> 
77		<#assign docUrl = "" /> 
78		<#if dlFileEntry?has_content> 
79			<#assign fileAssetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) /> 
80			<#if fileAssetEntry??> 
81				<#assign assetRenderer = fileAssetEntry.assetRenderer /> 
82				${assetRenderer.getSummary()} 
83				<#if assetRenderer??> 
84					<#assign docUrl = assetRenderer.getURLDownload(themeDisplay) /> 
85					<#if docUrl?has_content> 
86					<div class="image-section col-8"> 
87					 
88					<#if !themeDisplay.isSignedIn()> 
89<#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>		 
90		 <#assign Siteproxyurl= GroupLocalService.getGroup(groupid).getExpandoBridge().getAttribute("Siteproxyurl")> 
91		 	<#assign friendlyurl_new = friendlyURL?keep_after_last("/")/> 
92				 
93				<#assign friendlyURL=Siteproxyurl+"/"+friendlyurl_new/> 
94					</#if>	 
95					 
96					 
97					<#assign viewURL_img = friendlyURL + "/-/blogs/" + blogsEntry.getUrlTitle()/> 
98					<#if themeDisplay.getSiteGroupId() == groupid> 
99					 
100						<a href="${viewURL_img}" target=""><img src="${docUrl}" alt="${curEntry.getTitle(locale)}"></a> 
101						 <#else> 
102						 <a href="${viewURL_img}" target="_blank"><img src="${docUrl}" alt="${curEntry.getTitle(locale)}"></a> 
103						 </#if>	 
104						  
105					</div>	 
106					</#if> 
107				</#if> 
108			</#if> 
109		</#if> 
110		<div class="content-section col-4"> 
111		<#assign assetEntry = assetEntryLocalService.getEntry("com.liferay.blogs.model.BlogsEntry", blogsEntry.entryId) /> 
112		<#assign categories = assetEntry.getCategories()/> 
113		<#if categories?has_content> 
114			<#list categories as category> 
115				<#if category.getVocabularyId() == vocabBlogCat.getVocabularyId()> 
116					<span class="cat_name">${category.getName()?upper_case}</span> 
117				</#if> 
118			</#list> 
119		</#if> 
120		 
121		 
122		 
123	 
124			 
125			<#assign viewURL = friendlyURL + "/-/blogs/" + blogsEntry.getUrlTitle()/> 
126			<div class="title-url">	 
127<#if themeDisplay.getSiteGroupId() == groupid> 
128								 
129				<a href="${viewURL}" target="">${curEntry.getTitle(locale)}</a> 
130				<#else> 
131				<a href="${viewURL}" target="_blank">${curEntry.getTitle(locale)}</a> 
132				</#if> 
133				 
134			</div> 
135			<#if categories?has_content> 
136				<#list categories as category> 
137					<#if category.getVocabularyId() == vocabBlogType.getVocabularyId()> 
138						<#switch category.getName()?upper_case> 
139							<#case "BLOG"> 
140								<div class="icon"> 
141									<img alt="blog/article" class="" src="${article_blog}" style="height: 40px; width: 40px;" /> 
142								</div>	 
143								<#break> 
144							<#case "CASESTUDY"> 
145								<div class="icon"> 
146									<img alt="casestudy" class="" src="${casestudy}" style="height: 40px; width: 40px;" /> 
147								</div> 
148								<#break> 
149							<#case "CHECKLIST"> 
150								<div class="icon"> 
151									<img alt="checklist" class="" src="${checklist}" style="height: 40px; width: 40px;" /> 
152								</div> 
153								<#break> 
154							<#case "EVENT"> 
155								<div class="icon"> 
156									<img alt="event" class="" src="${event}" style="height: 40px; width: 40px;" /> 
157								</div> 
158								<#break> 
159							<#case "GUIDE"> 
160								<div class="icon"> 
161									<img alt="guide" class="" src="${guide}" style="height: 40px; width: 40px;" /> 
162								</div> 
163								<#break> 
164							<#case "NEWS"> 
165								<div class="icon"> 
166									<img alt="news" class="" src="${news}" style="height: 40px; width: 40px;" /> 
167								</div> 
168								<#break> 
169							<#case "PODCAST"> 
170								<div class="icon"> 
171									<img alt="podcast" class="" src="${podcast}" style="height: 40px; width: 40px;" /> 
172								</div> 
173								<#break> 
174							<#case "VIDEO">								 
175								<div class="icon"> 
176									<img alt="video" class="" src="${video}" style="height: 40px; width: 40px;" /> 
177								</div> 
178								<#break> 
179							<#case "COURSE">			 
180								<div class="icon"> 
181									<img alt="course" class="" src="${course}" style="height: 40px; width: 40px;" /> 
182								</div> 
183								<#break> 
184							<#case "WEBINAR">					 
185								<div class="icon"> 
186									<img alt="webinar" class="" src="${webinar}" style="height: 40px; width: 40px;" /> 
187								</div> 
188								<#break> 
189								<#case "REPORT">			 
190								<div class="icon"> 
191									<img alt="report" class="" src="${report}" style="height: 40px; width: 40px;" /> 
192								</div> 
193								<#break> 
194							<#case "PRESS RELEASE">					 
195								<div class="icon"> 
196									<img alt="press_release" class="" src="${press_release}" style="height: 40px; width: 40px;" /> 
197								</div> 
198								<#break> 
199							<#default> 
200								 
201						</#switch> 
202					</#if> 
203				</#list> 
204			</#if> 
205		</div>	 
206	</#list> 
207	 
208</#if> 
209</div> 
210</div>