",i++)}this.list.innerHTML=e,this.d_built=!0,this.list.scrollTop=0},GetDropdown:function(){return this.d},ApplySearchFilter:function(t){return this.o.search_in_text?-1!==t.toLowerCase().indexOf(this.filter.toLowerCase()):0===t.toLowerCase().indexOf(this.filter.toLowerCase())},Update:function(){this.d_built=!1,$(this.e).trigger("destroy-dropdown"),this.UpdateSelect()},UpdateSelect:function(){var t=this.e[0].querySelectorAll("option:checked");if($(this.select).removeClass("ioselect-placeholder"),this.is_multiple)if(0'+this.o.value_format_function(t[i].text,t[i].value,this)+"");this.select.innerHTML=e;for(var s=$(this.select).find(".ioselect-selected-item"),i=0;i{t.actions.forEach(t=>{"add_class"===t.type&&(e[0].isIntersecting?$(i).addClass(t.params.class):t.params.toggle&&$(i).removeClass(t.params.class))})},e).observe(s)}),recaptcha_loading=!1,recaptcha_callbacks=[],RecaptchaLoaded=function(){for(var t=0;t')[0],$(this.form_element).append(t),""==this.site_key&&alert("Error: Recaptcha site key not set"),this.recaptcha_id=grecaptcha.render(t,{sitekey:this.site_key,callback:this.onValidate.bind(this),"expired-callback":this.onExpired.bind(this),"error-callback":this.onError.bind(this)}),$(this.form_element).find("[type=submit]").each(function(){null!==this.getAttribute("disabled")&&this.removeAttribute("disabled","")}),$(this.form_element).trigger("recaptcha:initialised")))},Validate:function(){this.form.SetValue("recaptcha_id",""),grecaptcha.reset(this.recaptcha_id),grecaptcha.execute(this.recaptcha_id),this.popup_iframe=!1,this.validating=!0,this.popup_interval=setInterval(function(){var t=$('iframe[src*="google.com/recaptcha/api2/bframe"]');if(0'),this.object.addClass("has-progress").append(this.progress)),this.progress.css({width:t.percent+"%"}))},Reset:function(){for(var t in clearTimeout(this.timer),this.GetAttributes())void 0!==this.attributes[t]?this.element.setAttribute(t,this.attributes[t]):this.element.removeAttribute(t);this.SetText(this.original_text)},GetText:function(){return"input"==this.element.nodeName.toLowerCase()?this.object[0].value:this.object[0].innerText},SetText:function(t){"input"==this.element.nodeName.toLowerCase()?this.object[0].value=t:this.object[0].innerText=t},ResetAttributes:function(){this.attributes=this.GetAttributes()},GetAttributes:function(){var t={},e=this.element.attributes;for(index in e)t[e[index].name]=e[index].value;return t}},function(t){this.isAdvancedUpload=("draggable"in(e=document.createElement("div"))||"ondragstart"in e&&"ondrop"in e)&&"FormData"in window&&"FileReader"in window,this.file_element=$(t),this.file_element.data("file-advanced",this),this.file_element.data("files",[]);var e="Drag and drop your file here",t=(void 0!==this.file_element.data("drag-drop-text")&&(e=this.file_element.data("drag-drop-text")),"Click to browse"),i=(void 0!==this.file_element.data("browse-text")&&(t=this.file_element.data("browse-text")),"or");void 0!==this.file_element.data("or-text")&&(i=this.file_element.data("or-text")),this.container=$('
")},Hide:function(){this.active&&(this.active=!1,$(window).off("keydown",this.listen_event),$(this.iframe)[0].setAttribute("src",""),$(this.iframe).remove(),this.mask.remove(),this.mask=null,this.iframe=null)}},$(function(){sCMS_MediaPopups.Init()}),{Init:function(){0!=$("form#form-candidateaccount").length&&(this.form=new ioForm("form#form-candidateaccount"),this.validator=new ioValidate("form#form-candidateaccount"),this.smart_button=new sCMS_SmartButton($("form#form-candidateaccount [type=submit]")),this.form.on("submit",this.Submit.bind(this)))},Submit:function(t){t.preventDefault(),this.smart_button.Set({text:"Saving",class:"c-smart-button--saving",attributes:{disabled:null}});var t=!0;(t=!!this.validator.DoFormValidation(this.form.GetElement())&&t)?((t=this.form.GetValues()).cv_file=this.form.GetValue("cv_file")[0],$.ajax("/api/1/Jobs/CandidateAccount",{method:"post",data:t,success:this.SaveSuccess.bind(this),error:this.SaveError.bind(this)})):this.smart_button.Set({text:"Unable to save",class:"c-smart-button--error",duration:4})},SaveSuccess:function(t){this.smart_button.Set({text:"Update successful, please wait",class:"c-smart-button--success",attributes:{disabled:!0}}),$(this.form.GetElement()).closest("#form-candidateaccount").removeClass("--show"),$("#candidateaccount-success").addClass("--show")},SaveError:function(t){if(this.smart_button.Set({text:"Unable to upload CV",class:"c-smart-button--error",duration:4}),t.errors&&0For each of the criteria below, rate which is most important to you. The more stars you assign to a particular factor, the more important it is.
",current:"
Now rate your current job according to how well it meets each of the criteria.
Rate how highly you think this job offer scores for each of the items below.
Remember, if you don't know how highly this particular job offer rates for a particular item, you can leave no rating and it won't affect the final score.
`):($("#step-description")[0].innerHTML=this.group_descriptions[t],$(this.form.GetElement()).removeClass("--offer")),this.UpdateGroup(),this.UpdateNavigation()},ShowStep:function(t){switch($(".c-job-offer-assessment__steps").find(".c-job-offer-assessment__step.--current").removeClass("--current"),$(".c-job-offer-assessment__steps").find(".c-job-offer-assessment__step#"+t).addClass("--current"),t){case"step-offers":this.current_step="offers",this.UpdateOffersList();break;case"step-results":this.current_step="results",this.UpdateResults();break;default:this.current_step=t.replace(/step\-/,"")}this.UpdateNavigation()},ShowResultTab:function(t){console.log($("[data-result-view]")),$("[data-result-view]").removeClass("--show"),$(`[data-result-view="${t}"]`).addClass("--show"),$("[data-result-tab]").removeClass("--current"),$(`[data-result-tab="${t}"]`).addClass("--current")},FormGoNext:function(){var t=!0;switch(this.current_group){case"priorities":step="step-current";break;case"current":step="step-offers";break;default:t=!1,step="step-offers"}if(t){var e,i=!1;for(e in this.fields)if(null===this.fields[e].GetValue()){i=!0;break}if(i)return void alert("Please rate all items before continuing.")}this.ShowStep(step)},UpdateGroup:function(){var t;if(void 0!==this.group_details[this.current_group]?t=this.group_details[this.current_group].title:(t="New Job Offer",0===this.current_group.indexOf("offer-")&&$("#step-new-offer-form").addClass("--show")),$(".c-job-offer-assessment__form-row").removeClass("--has-value"),void 0!==this.group_values[this.current_group])for(var e in this.fields){var i=parseInt(e.substring(9)),s=$(this.fields[e].GetElement()).closest(".c-job-offer-assessment__form-row");void 0!==this.group_values[this.current_group][i]&&null!==this.group_values[this.current_group][i]?(this.fields[e].SetValue(this.group_values[this.current_group][i]),s.addClass("--has-value")):void 0!==s.find("input:checked")[0]&&(s.find("input:checked")[0].checked=!1)}else{for(var e in this.fields)void 0!==$(this.fields[e].GetElement()).closest(".c-job-offer-assessment__form-row").find("input:checked")[0]&&($(this.fields[e].GetElement()).closest(".c-job-offer-assessment__form-row").find("input:checked")[0].checked=!1);this.group_values[this.current_group]=this.GetWeightingsValues()}$("#step-title")[0].innerText=t,0===this.current_group.indexOf("offer-")&&$("#step-title").addClass("--is-editable"),this.UpdateRatings(),this.UpdateNavigation()},Update:function(){this.group_values[this.current_group]=this.GetWeightingsValues(),this.UpdateGroup(),this.UpdateNavigation()},UpdateOffersList:function(){var t,e=[];for(t in this.group_values)0===t.indexOf("offer-")&&e.push(t);var i="";if(0
${this.group_details[r].title}
`}}$("#joam-offers-list .c-job-offer-assessment__offers-items")[0].innerHTML=i,$("#joam-offers-list .c-job-offer-assessment__offers-item-edit").on("click",function(t){t=$(t.target).closest("[data-offer]").data("offer");this.SetGroup(t)}.bind(this)),$("#joam-offers-list .c-job-offer-assessment__offers-item-delete").on("click",function(t){if(confirm("Are you sure you want to delete this offer?")){var e,i=$(t.target).closest("[data-offer]").data("offer");for(e in this.group_details)if(console.log(e),e===i){delete this.group_details[e],delete this.group_values[e];break}console.log(this.group_details),this.UpdateOffersList(),this.DoSubmitDetails()}}.bind(this)),(1
At Amida, we're more than just a group of recruiters – we're a family of driven individuals who share a passion for connecting talented candidates with exciting opportunities in the built environment.
Tom brings vast experience in recruitment and business development, with a background spanning industries like civil construction, mining and oil and gas. He’s got a knack for building long-lasting client relationships and always delivers by truly listening and engaging with everyone he works with.
With stints in both recruitment agencies and internally with big names like Laing O’Rourke and QGC/Shell, plus hands-on technical roles, Tom knows the ins and outs of what makes a business tick. His sharp strategic mind, strong negotiation skills, and ability to adapt to diverse and fast-paced markets make him a go-to person for getting results in even the most complex industries.
Tom believes that recruitment is about more than just matching skills on paper. It’s about understanding people, culture, and values – helping clients and candidates alike get the best outcomes. Whether you’re in the boardroom or on-site, Tom’s attention to detail ensures everyone’s voice is heard. And when it comes to candidates, he’s always ready with insights on company culture, expectations, and interview prep to help them shine.
For Tom, it’s all about making the right connections, not just filling a seat.
This website uses cookies to ensure you get the best experience. Please read our privacy policy and click the button below to agree to the use of cookies, and remove this message.