Engineering Manager – Backend – Global Tiket Network – Indonesia
Engineering Manager – Backend – Indonesia – Indeed.com
“),r.close()),!r)throw Error(“base not supported”);var a=r.createElement(“base”);a.href=n,r.getElementsByTagName(“head”)[0].appendChild(a);var i=r.createElement(“a”);return i.href=t,i.href}finally{e&&e.parentNode.removeChild(e)}}());var s=a(t||””),f=function(){if(!(“defineProperties”in Object))return!1;try{var e={};return Object.defineProperties(e,{prop:{get:function(){return!0}}}),e.prop}catch(t){return!1}}(),h=f?this:document.createElement(“a”),m=new i(s.search?s.search.substring(1):null);return m._url_object=h,Object.defineProperties(h,{href:{get:function(){return s.href},set:function(e){s.href=e,o(),u()},enumerable:!0,configurable:!0},origin:{get:function(){return”data:”===this.protocol.toLowerCase()?null:”origin”in s?s.origin:this.protocol+”//”+this.host},enumerable:!0,configurable:!0},protocol:{get:function(){return s.protocol},set:function(e){s.protocol=e},enumerable:!0,configurable:!0},username:{get:function(){return s.username},set:function(e){s.username=e},enumerable:!0,configurable:!0},password:{get:function(){return s.password},set:function(e){s.password=e},enumerable:!0,configurable:!0},host:{get:function(){var e={“http:”:/:80$/,”https:”:/:443$/,”ftp:”:/:21$/}[s.protocol];return e?s.host.replace(e,””):s.host},set:function(e){s.host=e},enumerable:!0,configurable:!0},hostname:{get:function(){return s.hostname},set:function(e){s.hostname=e},enumerable:!0,configurable:!0},port:{get:function(){return s.port},set:function(e){s.port=e},enumerable:!0,configurable:!0},pathname:{get:function(){return”/”!==s.pathname.charAt(0)?”/”+s.pathname:s.pathname},set:function(e){s.pathname=e},enumerable:!0,configurable:!0},search:{get:function(){return s.search},set:function(e){s.search!==e&&(s.search=e,o(),u())},enumerable:!0,configurable:!0},searchParams:{get:function(){return m},enumerable:!0,configurable:!0},hash:{get:function(){return s.hash},set:function(e){s.hash=e,o()},enumerable:!0,configurable:!0},toString:{value:function(){return s.toString()},enumerable:!1,configurable:!0},valueOf:{value:function(){return s.valueOf()},enumerable:!1,configurable:!0}}),h}var l,c=e.URL;try{if(c){if(“searchParams”in(l=new e.URL(“http://example.com”))){var s=new u(“http://example.com”);if(s.search=”a=1&b=2″,”http://example.com/?a=1&b=2″===s.href&&(s.search=””,”http://example.com/”===s.href))return}”href”in l||(l=undefined),l=undefined}}catch(h){}if(Object.defineProperties(i.prototype,{append:{value:function(e,t){this._list.push({name:e,value:t}),this._update_steps()},writable:!0,enumerable:!0,configurable:!0},”delete”:{value:function(e){for(var t=0;t1?arguments[1]:undefined;this._list.forEach(function(n){e.call(t,n.value,n.name)})},writable:!0,enumerable:!0,configurable:!0},toString:{value:function(){return n(this._list)},writable:!0,enumerable:!1,configurable:!0},sort:{value:function m(){for(var e=this.entries(),t=e.next(),n=[],r={};!t.done;){var a=t.value,i=a[0];n.push(i),Object.prototype.hasOwnProperty.call(r,i)||(r[i]=[]),r[i].push(a[1]),t=e.next()}n.sort();for(var o=0;o-1?e:t}function p(t,e){if(!(this instanceof p))throw new TypeError(‘Please use the “new” operator, this DOM object constructor cannot be called as a function.’);e=e||{};var r=e.body;if(t instanceof p){if(t.bodyUsed)throw new TypeError(“Already read”);this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new i(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,r||null==t._bodyInit||(r=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||”same-origin”,!e.headers&&this.headers||(this.headers=new i(e.headers)),this.method=y(e.method||this.method||”GET”),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,(“GET”===this.method||”HEAD”===this.method)&&r)throw new TypeError(“Body not allowed for GET or HEAD requests”);if(this._initBody(r),!(“GET”!==this.method&&”HEAD”!==this.method||”no-store”!==e.cache&&”no-cache”!==e.cache)){var o=/([?&])_=[^&]*/;if(o.test(this.url))this.url=this.url.replace(o,”$1_=”+(new Date).getTime());else{var n=/?/;this.url+=(n.test(this.url)?”&”:”?”)+”_=”+(new Date).getTime()}}}function l(t){var e=new FormData;return t.trim().split(“&”).forEach(function(t){if(t){var r=t.split(“=”),o=r.shift().replace(/+/g,” “),n=r.join(“=”).replace(/+/g,” “);e.append(decodeURIComponent(o),decodeURIComponent(n))}}),e}function b(t){var e=new i;return t.replace(/r?n[t ]+/g,” “).split(“r”).map(function(t){return 0===t.indexOf(“n”)?t.substr(1,t.length):t}).forEach(function(t){var r=t.split(“:”),o=r.shift().trim();if(o){var n=r.join(“:”).trim();e.append(o,n)}}),e}function m(t,e){if(!(this instanceof m))throw new TypeError(‘Please use the “new” operator, this DOM object constructor cannot be called as a function.’);e||(e={}),this.type=”default”,this.status=e.status===undefined?200:e.status,this.ok=this.status>=200&&this.status-1};i.prototype.append=function(t,e){t=r(t),e=o(e);var n=this.map[t];this.map[t]=n?n+”, “+e:e},i.prototype[“delete”]=function(t){delete this.map[r(t)]},i.prototype.get=function(t){return t=r(t),this.has(t)?this.map[t]:null},i.prototype.has=function(t){return this.map.hasOwnProperty(r(t))},i.prototype.set=function(t,e){this.map[r(t)]=o(e)},i.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},i.prototype.keys=function(){var t=[];return this.forEach(function(e,r){t.push(r)}),n(t)},i.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),n(t)},i.prototype.entries=function(){var t=[];return this.forEach(function(e,r){t.push([r,e])}),n(t)},E.iterable&&(i.prototype[Symbol.iterator]=i.prototype.entries);var _=[“DELETE”,”GET”,”HEAD”,”OPTIONS”,”POST”,”PUT”];p.prototype.clone=function(){return new p(this,{body:this._bodyInit})},d.call(p.prototype),d.call(m.prototype),m.prototype.clone=function(){return new m(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new i(this.headers),url:this.url})},m.error=function(){var t=new m(null,{status:0,statusText:””});return t.type=”error”,t};var g=[301,302,303,307,308];m.redirect=function(t,e){if(-1===g.indexOf(e))throw new RangeError(“Invalid status code”);return new m(null,{status:e,headers:{location:t}})},t.DOMException=v.DOMException;try{new t.DOMException}catch(B){t.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}w.polyfill=!0,v.fetch=w,v.Headers=i,v.Request=p,v.Response=m,t.Headers=i,t.Request=p,t.Response=m,t.fetch=w,Object.defineProperty(t,”__esModule”,{value:!0})});}})(‘object’ === typeof window && window || ‘object’ === typeof self && self || ‘object’ === typeof global && global || {}); ]]>
Leading the team in designing architecture for new features or new microservices.
Seeks excellence in all engineering disciplines inclusive of data processing, quality assurance, application development, analytics, and algorithms
Working closely with other managers and VP and report to them day by day, weekly and monthly
Research new technology and solution alternatives to find the best solutions based on business needs and problems
Administer facets of personnel administration including hiring, performance management, resource allocation and associate development
Ensure the optimal application of engineering resources in order to meet product development and tiket.com customer requirements and ensures the implementation of agile processes that support site/software development processes
Min. Bachelor Degree in Computer Science or equivalent
Min. 6 years experience in the same or related field
Experience working with MongoDB, MySQL, and Postgre
Experience with Redis and Memcached, Elastic Search, Linux Syntax, CI/CD, Docker, Kafka, RabbitMQ, Refactor or Rewrite system
Experience with TDD (Test Driven Development)
Experience with pair programming
Good leadership skill, can inspire and aspire teammates
Have a good sense of prioritization
Strong in managing & leading a team
Anda harus membuat akun Indeed sebelum melanjutkan ke situs web perusahaan untuk melamar.