Banking & Financial Services jobs

We are the experts in recruiting qualified, professional and skilled people for the banking and financial services sector. We deal in front, middle and back office positions for investment banks, securities firms, asset management companies and retail banks both in Japan and overseas.
 
We have built strong business relationships with a range of financial institutions, including world-famous investment banks, firms and advisories, retail banks and high performance hedge funds.
 
This means that we have an inside track on the best banking and financial services jobs available, whether your specialism is investment management jobs, investment bank jobs, private equity jobs, boutique fund raiser or advisor jobs, hedge fund jobs or jobs in retail banks.
 
Search for banking jobs below or speak to a recruiting expert at your local Hays office to find out more about our services.
An error occurred while processing the template.
The following has evaluated to null or missing:
==> assetEntryLocalService.getjobs("keyword", specialismId, subSpecialismId, countJobs, locale)  [in template "20115#20151#81915" at line 66, column 32]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign getResponse = assetEntryLocal...  [in template "20115#20151#81915" at line 66, column 9]
----
1<#assign FeaturedEmployerTitle = FeaturedEmployerTitle.getData()> 
2<#assign PopularSearchesTitle = PopularSearchesTitle.getData()> 
3<#assign LatestJobsTitle = LatestJobsTitle.getData()> 
4<#assign tabsLabels = ""> 
5<#assign featuredCount = 0>  
6<#assign latestJobsCount = 0> 
7<#assign assignedCategoriesIds = ""> 
8<#assign assignedCategoriesNames = ""> 
9<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
10<#assign plId = layout.getPlid()> 
11<#assign layoutEntry = assetEntryLocalService.fetchEntry("com.liferay.portal.kernel.model.Layout", plId)> 
12<#assign assetCategories = layoutEntry.getCategories()/> 
13 
14<#assign keyword = ""> 
15<#assign subSpecialismId = "">  
16<#assign specialismId = ""> 
17<#assign parentPlid = layout.getParentPlid()> 
18 
19<#if FeaturedEmployerTitle != ""> 
20    <#assign FeaturedEmployerTitle += ','>  
21	<#assign featuredEmployerService = serviceLocator.findService("com.hays.employer.service.HaysFeaturedEmployerLocalService")  /> 
22	<#assign totalCount = 6 > 
23	<#assign groupIdVal = groupId?c > 
24	<#assign targetAudience = "common,jobseeker" > 
25	<#list assetCategories as cat> 
26       <#assign catName = cat.getCategoryId()> 
27       <#assign catName += '|'> 
28       <#assign assignedCategoriesIds += catName> 
29	</#list> 
30	<#assign assignedCategoriesIds = assignedCategoriesIds?keep_before("|")/> 
31	<#assign response = featuredEmployerService.getFeaturedEmployers(assignedCategoriesIds, groupIdVal, targetAudience, totalCount)> 
32	<#if response.EmpResult??> 
33		<#assign EmpResultArray = response.getJSONArray("EmpResult")> 
34		<#assign featuredCount = EmpResultArray.length()>	 
35		<#if featuredCount !=0> 
36			<#assign tabsLabels += FeaturedEmployerTitle>  
37		</#if> 
38	</#if> 
39</#if> 
40 
41<#if LatestJobsTitle != ""> 
42	<#assign LatestJobsTitle += ','> 
43	<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
44	<#assign nodeId = LayoutLocalService.getLayout(parentPlid).getExpandoBridge().getAttribute("NodeId")> 
45	<#list assetCategories as cat> 
46       <#assign catName = cat.getName()> 
47       <#assign catName += '|'> 
48       <#assign assignedCategoriesNames += catName> 
49	</#list> 
50	<#assign assignedCategoriesNames = assignedCategoriesNames?keep_before("|")/> 
51	<#if nodeId == "job-seeker"> 
52		<#assign specialismId = assignedCategoriesNames> 
53	<#else> 
54		<#assign subSpecialismId = assignedCategoriesNames>  
55	</#if> 
56	<#assign ucmLocaleKey = themeDisplay.getLocale()+"."+siteType+"."+"ucmLocale"> 
57	<#assign projectSURLKey = "Mobile_URL_" + locale.getCountry()> 
58	<#if (siteType != "Expert")> 
59		<#assign projectSURLKey = projectSURLKey + "_"+ siteType> 
60	</#if> 
61	<#assign locale = propsUtil.get(ucmLocaleKey)/> 
62	<#assign GCSLocales = propsUtil.get("GCSLocales")/> 
63	<#assign projectSURL = propsUtil.get(projectSURLKey)/> 
64	<#assign countJobs = "5"> 
65	<#assign assetEntryLocalService = serviceLocator.findService("com.hays.service.jobs.service.HaysJobsLocalService")/> 
66	<#assign getResponse = assetEntryLocalService.getjobs("keyword", specialismId, subSpecialismId, countJobs, locale)> 
67	<#if getResponse?? && getResponse.result??> 
68		<#assign getResponseResult = getResponse.result> 
69		<#if getResponseResult.resultCount gt 0> 
70			<#assign getResponseResultArray = getResponseResult.getJSONArray("jobs")> 
71			<#assign latestJobsCount = getResponseResultArray.length()> 
72			<#if getResponseResultArray.length() < 5> 
73				<#assign countJobs = getResponseResultArray.length()> 
74			</#if> 
75			<#if latestJobsCount != 0> 
76				<#assign tabsLabels += LatestJobsTitle> 
77			</#if> 
78		</#if> 
79	</#if> 
80</#if> 
81 
82<#if PopularSearchesTitle != ""> 
83	<#assign PopularSearchesTitle += ','> 
84	<#if Label.getSiblings()?has_content> 
85		<#assign tabsLabels += PopularSearchesTitle> 
86	</#if> 
87</#if> 
88	 
89<#if tabsLabels != ""> 
90	<div class="box"> 
91		<div class="hays-tabs"> 
92		<#assign tabsLabels = tabsLabels?keep_before_last(",")/> 
93		<@liferay_ui["tabs"] 
94		names=tabsLabels 
95		param=tabs2 
96		refresh=false 
97		type=tabs 
98
99		 
100		<#if FeaturedEmployerTitle != "" && featuredCount !=0> 
101			<@liferay_ui["section"] > 
102			<ul class="list emp-list"> 
103			<#list 0 ..< featuredCount as i> 
104				<#assign empTitle = EmpResultArray.get(i).title> 
105				<#assign empArticleId = EmpResultArray.get(i).articleId> 
106				<#assign empUrl = EmpResultArray.get(i).empUrl>  
107				<#assign empImage = EmpResultArray.get(i).image> 
108				<li class="${empArticleId}"><a href="${empUrl}" target="_blank"><img src="${empImage}" alt="${empTitle}"></a></li> 
109			</#list> 
110			</ul> 
111			<#assign privateLayout = false> 
112			<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
113			<#assign layouts = LayoutLocalService.getLayouts(groupId, privateLayout)> 
114			<#assign featureEmployerPageUrl =  "/"> 
115			<#if (layouts?size > 0)> 
116				<#assign featuredEmpSectionFound = 0> 
117				<#list layouts as layout> 
118					<#if layout?? &&  featuredEmpSectionFound == 0> 
119						<#assign nodeIdFeatured = layout.getExpandoBridge().getAttribute("NodeId")> 
120						<#if (nodeIdFeatured??)> 
121							<#if (nodeIdFeatured == "featured-employer")> 
122								<#assign featuredEmpSectionFound = 1> 
123								<#assign featureEmployerPageUrl = layout.getFriendlyURL()> 
124								<#assign portalurl= themeDisplay.getURLPortal() > 
125								<#if portalurl?contains("expertcontrib")> 
126									<#assign featureEmployerPageUrl= "/web"+themeDisplay.getSiteGroup().getFriendlyURL()+ featureEmployerPageUrl > 
127								</#if> 
128							</#if> 
129						</#if> 
130					</#if> 
131				</#list> 
132			</#if> 
133			<a class="btn" href="${featureEmployerPageUrl}">${languageUtil.get(themeDisplay.getLocale(), "lr_featuredEmployersTitle")}</a> 
134			</@> 
135		</#if> 
136		 
137		<#if LatestJobsTitle != "" && latestJobsCount != 0 > 
138			<@liferay_ui["section"]> 
139			<ul class="list sponsored-list"> 
140			<#list 0 ..< countJobs?number as i> 
141				<#assign JobUrl = getResponseResultArray.get(i).jobRequisitionId> 
142				<#if GCSLocales?contains(locale)> 
143					<#assign JobUrl += "?jobSource=HaysGCJ"> 
144				</#if> 
145				<#assign jobtitle = getResponseResultArray.get(i).title> 
146				<#if getResponseResultArray.get(i).getJSONObject("nonFilterableCustomFields").has("xLocationDescription")> 
147					<#assign location = getResponseResultArray.get(i).getJSONObject("nonFilterableCustomFields").getJSONObject("xLocationDescription").getJSONArray("values").getString(0)> 
148				<#else> 
149					<#assign location = ""> 
150				</#if> 
151				<li><a data-senna-off="true" href="${JobUrl}"><strong>${jobtitle}</strong><small><p>${location}</p></small></a></li> 
152			</#list> 
153			</ul> 
154			<a class="btn" href="${projectSURL}${propsUtil.get("SEARCH")}?q=hays&amp;specialismId=${specialismId}&amp;subSpecialismId=${subSpecialismId}"><span>${languageUtil.get(themeDisplay.getLocale(), "lr_latestAllJobs")}</span></a> 
155			</@> 
156		</#if> 
157		 
158		<#if PopularSearchesTitle != ""> 
159			<@liferay_ui["section"]> 
160			<#if Label.getSiblings()?has_content> 
161				<ul class="list arrow-list"> 
162				<#list Label.getSiblings() as cur_PopularSearchesContent> 
163				    <#if cur_PopularSearchesContent?? && cur_PopularSearchesContent.getData()?has_content> 
164                        <li > 
165                            <h3><a target="_blank" href="${cur_PopularSearchesContent.Link.getData()}">${cur_PopularSearchesContent.getData()}</a></h3> 
166                        </li> 
167					</#if> 
168				</#list> 
169				</ul> 
170			</#if> 
171			</@> 
172		</#if> 
173		</div> 
174	</div> 
175</@> 
176</#if> 
Woman smiling while holding a tablet in a modern office with colleagues in the background

Are you being paid what you're worth?

Whether you are looking for a new job or a pay rise, it helps to understand what your potential earnings could be.
 

Compare salary

Business people sitting at a table in a meeting with a laptop in the foreground

Salary Guide

A comprehensive report providing you salary and recruitment trends to guide your talent strategy for the year

Get your copy

Woman smiling with a notebook in her hands, standing in a bright office space

Register now

Start your job search by registering your CV and signing up to job alerts.
 
 
 
 

Register now

Career Advice

Our career advice pages cover all stages of the job search process, or contact a Hays consultant for further advice.
 
 
 

Read more