Test & DevOps Engineer 80 - 100 % (m/w/d)

Állás info
Város
Winterthur
Cégnév
Kistler Instrumente GmbH
Céginfo
57 állás a cégnél
Cég címe
None None
Cég weboldal
Cég link
https://ch.indeed.com/cmp/Kistler-Instrumente-Gmbh
Hirdetés aktiválása
Dec. 21, 2022, 8:38 p.m.
Hirdetés utoljára aktív
Feb. 21, 2023, 3:36 p.m.
Link
https://ch.indeed.com/viewjob?jk=e90d4c50de5d2ca9
Farkas Kiss Endre Test & DevOps Engineer 80 - 100 % (m/w/d) bei  nudist vlogger
Pontszám
react
7
jquery
7
java
5
javascript
5
sap
-5
python
-10

Farkas Kiss Endre legjobb állása Kistler Instrumente GmbH

Kistler Instrumente GmbH email

Email tárgya

Bewerbung fur Vertriebsingenieur/Vertriebsmitarbeiter (m/w/d) im Außendienst - industrielle Mess- und Prüftechnik

Levél szövege

Lieber Kistler Instrumente GmbH!

Ich möchte mich bei Ihrem Unternehmen als Test & DevOps Engineer 80 - 100 % (m/w/d) bewerben. 
Ich bin ein Fullstack-Entwickler, bei dem ich meine 10-jährige Erfahrung mit verschiedenen Technologien einsetzen kann.

Ich habe meinen Lebenslauf an diese E-Mail angehängt.

Wir freuen uns darauf, von Ihnen zu hören!


Endre Farkas Kiss "Sodika"
Java and PHP Fullstack Developer, Nudist, Vlogger

https://www.linkedin.com/in/farkas-kiss-63bb9210a
https://sodika.org

Álláshirdetés szövege

Cloud Software Engineers
Die Kistler Gruppe ist Weltmarktführer in dynamischer Messtechnik. Entlang der Megatrends von Emissionsreduktion, Qualitätskontrolle, Mobilität und Fahrzeugsicherheit erbringen wir Spitzenleistungen für eine zukunftsfähige Welt.
Mit unseren digitalen Angeboten schaffen wir gemeinsam mit unseren Kunden die Voraussetzungen für Innovation, Fortschritt und Wachstum.

Wenn dich “buzz words” wie Industrie 4.0, (I)IoT, SmartFactory & Digitalisierung Neugierig machen, wenn C#, ReactJS, JavaScript, Python die Sprachen deiner Wahl sind und wenn du gerne moderne Messgeräte am Arbeitsplatz stehen hast, dann solltest du dich bei uns melden.
Demnächst beziehen wir den neuen Kistler Innovation Space im Zentrum von Winterthur. Für diesen weiteren Ausbau unserer agilen Teams suchen wir Verstärkung!
Software Engineers
Test Engineers
DevOps Engineers
Product Owner
Scrum Master

Haben wir dein Interesse geweckt? Dann melde dich und werde Teil unserer Cloud Mission! Gerne erwarten wir dein Profil via email oder LinkedIn. Für Fragen stehen wir auch telefonisch (+41 52 224 18 24) zur Verfügung.

"); });
', forceRevert: true, server: { url: BASE_URL, process: (fieldName, file, metadata, load, error, progress, abort, transfer, options) => { /* store file somewhere and call `load` when done */ let returns = preUploadFile(file, 'resume', progress); returns[0] .then(response => { load(JSON.stringify(response)); }) .catch(() => { // resumeUploaded = false; error(); }); return { abort: () => { returns[1](); abort(); } }; }, revert: { url: '/revert-pre-uploads', headers: { 'content-type': 'application/json', }, } }, }); const inputsElement = document.querySelector('#uploadAddDocs'); pondAddDocs = FilePond.create(inputsElement, { credits: false, required: false, dropOnPage: true, allowFileTypeValidation: true, maxFileSize: '10MB', maxFiles: 20, acceptedFileTypes: ['application/pdf', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'], fileValidateTypeLabelExpectedTypesMap: { 'application/pdf': '.pdf', 'application/msword': '.doc', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': '.docx' }, labelIdle: 'Fügen Sie Ihre zusätzlichen Dokumente ein oder Durchsuche', forceRevert: true, server: { url: BASE_URL, process: (fieldName, file, metadata, load, error, progress, abort, transfer, options) => { /* store file somewhere and call `load` when done */ let returns = preUploadFile(file, 'attachment1', progress); returns[0] .then(response => { load(JSON.stringify(response)); }) .catch(() => { error(); }); return { abort: () => { returns[1](); abort(); } }; }, revert: { url: '/revert-pre-uploads', headers: { 'content-type': 'application/json', }, } }, }); //delete pre-uploaded data if tab closed window.onbeforeunload = function () { if (!uploadId) { //TODO: check if already sumbitted? return; } else { jQuery.ajax({ url: BASE_URL + "/delete-pre-uploads", data: JSON.stringify({ uploadId: uploadId }), contentType: "application/json", success: function () { return; }, error: function () { return; }, method: "DELETE" }); return undefined; } }; function preUploadFile(file, fileType, progress) { let abortFunc = () => { }; let callback = new Promise((resolve, reject) => { getBase64File(file) .then(fileBase64 => { let payload = { fileName: file.name, fileContent: fileBase64.split(',')[1], fileType: fileType }; if (uploadId) { payload.uploadId = uploadId; execute(payload, progress, abortFunc) .then(resolve) .catch(oError => reject(oError)); } else { if (uploadPromise) { uploadPromise .then(() => { payload.uploadId = uploadId;; execute(payload, progress, abortFunc) .then(resolve) .catch(oError => reject(oError)); }) .catch(oError => reject(oError)); } else { uploadPromise = execute(payload, progress, abortFunc); uploadPromise .then(resolve) .catch(oError => { uploadPromise = undefined; reject(oError); }); } } }); }); return [callback, abortFunc]; function execute(payload, progress, abortFunc) { return new Promise((resolve, reject) => { let xhr = $.ajax({ method: 'POST', url: BASE_URL + "/pre-upload", data: JSON.stringify(payload), contentType: "application/json", success: function (data) { uploadId = data.uploadId; // resumeUploaded = true; // load(); resolve(data); }, error: function (jqXHR, textStatus, errorThrown) { console.log("error while sending data", jqXHR, textStatus, errorThrown); // resumeUploaded = false; // error(); reject(errorThrown); }, xhr: function () { var xhr = $.ajaxSettings.xhr(); if (progress) { xhr.upload.onprogress = function (e) { progress(e.lengthComputable, e.loaded, e.total); }; } return xhr; } }); abortFunc = xhr.abort; }); } } function revertUpload(payload, fileType) { return new Promise((resolve, reject) => { $.ajax({ method: 'DELETE', url: BASE_URL + "/revert-pre-uploads", data: payload, contentType: "application/json", success: function () { // resumeUploaded = true; // load(); resolve(); }, error: function (jqXHR, textStatus, errorThrown) { console.log("error while sending data", jqXHR, textStatus, errorThrown); // resumeUploaded = false; // error(); reject(errorThrown); } }); }); } }); let queryString; let redirectTimeout; $('document').ready(function () { $('.clear').hide(); // $('.applylink').empty(); // $('.visible-phone').empty(); }); function sendQuickApplyData() { var $btn = $('#submit-btn'); if (!checkRequiredInputs()) { $btn.removeClass('submit-animation animated'); // document.getElementById('submit-btn').style.animationPlayState = 'paused'; $btn.width(); $btn.addClass('submit-animation'); document.getElementById('submit-btn').style.animationPlayState = 'running'; return; } $btn.button('loading'); $("#thank-you").hide(); $("#error").hide(); let fileItem = pondCV.getFile(); let addFiles = pondAddDocs.getFiles(); let payload = { careerSiteUrl: document.URL, primaryEmail: document.querySelector('#email').value, firstName: document.querySelector('#firstName').value, lastName: document.querySelector('#lastName').value, candidate: { cellPhone: document.querySelector('#cellPhone').value, agreeToPrivacyStatement: document.querySelector('#chkDataPrivacy').checked.toString(), } }; if (jobReqCountry) { payload.candidate.country = jobReqCountry; } if (fileItem.status != 5) { payload.resumeName = fileItem.filename; //TODO: normal fallback payload.resumeContent = fileItem.getFileEncodeBase64String(); } else { payload.uploadId = uploadId; } let application = { jobApplicationQuestionResponse: { results: [] }, }; let comment = document.querySelector("#comment").value; if (comment && comment != "") { application.jobApplicationComments = { results: [ { content: comment, } ] }; } let sourcePrimary = document.querySelector("#sourcePrimary").value; if (sourcePrimary && sourcePrimary != "") { application.customSourcePrimary = { __metadata: { uri: "https://api12preview.sapsf.eu/odata/v2/PicklistOption(" + document.querySelector("#sourcePrimary").value + ")" } }; } payload.application = application; let attachments = { results: [] }; for (const file of addFiles) { if (addFiles.status != 5) { let obj = { __metadata: { type: "SFOData.Attachment" }, fileName: file.filename, fileContent: file.getFileEncodeBase64String(), module: "RECRUITING", moduleCategory: "ATTACHMENTS", ownerIdType: "CANDIDATE_ID", viewable: true, searchable: true }; attachments.results.push(obj); } else { payload.uploadId = uploadId; } } if (attachments.results.length) { payload.application.attachment1 = attachments; } $.ajax({ method: 'POST', url: BASE_URL + "/new-application", data: JSON.stringify(payload), contentType: "application/json", success: function (data) { console.log("success"); $("#thank-you").show(); $btn.button('reset'); redirectTimeout = window.setTimeout(redirect, 3000); }, error: function (jqXHR, textStatus, errorThrown) { console.log("error while sending data", jqXHR, textStatus, errorThrown); $("#error").show(); $btn.button('reset'); }, }); } function readFile() { return new Promise(function (resolve, reject) { let file = document.querySelector('#uploadFile').files[0]; var reader = new FileReader(); reader.readAsDataURL(file); reader.onloadend = function () { resolve({ file: reader.result, name: file.name }); }; reader.onerror = function (error) { reject(error); }; }); } function getBase64File(file) { return new Promise(function (resolve, reject) { var reader = new FileReader(); reader.readAsDataURL(file); reader.onloadend = function () { resolve(reader.result); }; reader.onerror = function (error) { reject(error); }; }); } function redirect() { let jobpage = document.referrer || "/viewalljobs/"; window.location.href = jobpage; } function checkRequiredInputs() { let inputsFilled = true; let firstName = document.querySelector('#firstName').value; if (firstName.length > 0) { $('#firstName').removeClass('is-invalid-input'); } else { $('#firstName').addClass('is-invalid-input'); inputsFilled = false; } let lastName = document.querySelector('#lastName').value; if (lastName.length > 0) { $('#lastName').removeClass('is-invalid-input'); } else { $('#lastName').addClass('is-invalid-input'); inputsFilled = false; } let email = document.querySelector('#email').value; if (email.length > 0 && email.includes('@')) { $('#email').removeClass('is-invalid-input'); } else { $('#email').addClass('is-invalid-input'); inputsFilled = false; } let cellPhone = document.querySelector('#cellPhone').value; let cellPhonePtrn = /\+[0-9]+/; if (cellPhone.length > 0 & cellPhonePtrn.exec(cellPhone) == cellPhone) { $('#cellPhone').removeClass('is-invalid-input'); } else { $('#cellPhone').addClass('is-invalid-input'); inputsFilled = false; } let checkbox = document.querySelector('#chkDataPrivacy').checked; if (checkbox) { $('#chkDataPrivacyLabel').removeClass('is-invalid-box'); } else { $('#chkDataPrivacyLabel').addClass('is-invalid-box'); inputsFilled = false; } let file = pondCV.getFile(); if (file && (file.status == 2 || file.status == 5 || file.status == 6)) {// 2-IDLE, 5 - PROCESSING_COMPLETE $('#uploadFile > .filepond-drop-label').removeClass('is-invalid-box'); } else { $('#uploadFile > .filepond-drop-label').addClass('is-invalid-box'); inputsFilled = false; } let files = pondAddDocs.getFiles(); if (files) { let filesOk = true; for (const addFile of files) { if (addFile.status != 2 && addFile.status != 5 && addFile.status != 6 && addFile.status != "") { //if not idle/finished - means error or still loading //TODO: ""? filesOk = false; break; } } if (filesOk) { $('#uploadAddDocs > .filepond-drop-label').removeClass('is-invalid-box'); } else { $('#uploadAddDocs > .filepond-drop-label').addClass('is-invalid-box'); inputsFilled = false; } } else { $('#uploadAddDocs > .filepond-drop-label').removeClass('is-invalid-box'); } let questionFields = document.getElementsByClassName("question-input"); for (let item of questionFields) { let question = $('#' + item.id)[0]; if (question.getAttribute('required') == 'true') { if (question.value.length > 0 && question.value != dropDownPlaceholder) { question.classList.remove('is-invalid-input'); } else { question.classList.add('is-invalid-input'); inputsFilled = false; } } } return inputsFilled; } function getPicklists() { return new Promise(function (resolve, reject) { $.ajax({ method: 'GET', url: BASE_URL + "/picklists", success: function (data) { resolve(data); }, error: function (jqXHR, textStatus, errorThrown) { console.log("error while getting picklist values", jqXHR, textStatus, errorThrown); reject(errorThrown); }, }); }); } function getJobReqField(sFieldId) { let payload = { fieldId: sFieldId }; if (jobReqId) { payload.jobReqId = jobReqId; } else { payload.careerSiteUrl = document.URL; } return new Promise(function (resolve, reject) { $.ajax({ method: 'POST', url: BASE_URL + "/get-job-req-field", data: JSON.stringify(payload), contentType: "application/json", success: function (data) { if (data && data[sFieldId]) { resolve(data[sFieldId]); } else { resolve(); } }, error: function (jqXHR, textStatus, errorThrown) { console.log("error while getting picklist values", jqXHR, textStatus, errorThrown); reject(errorThrown); }, }); }); } function preLoadReqId() { return new Promise(function (resolve, reject) { if (jobReqIdGathered || jobReqId) { resolve(); return; } else { $.ajax({ method: 'POST', url: BASE_URL + "/pre-decrypt-jobreq", data: JSON.stringify( { careerSiteUrl: document.URL }), contentType: "application/json", success: function (data) { resolve(); }, error: function (jqXHR, textStatus, errorThrown) { console.log("error while display control value", jqXHR, textStatus, errorThrown); // reject(errorThrown); }, }); } }); } function fillPicklists(aData) { if (!aData) { return; } for (const oPicklist of aData) { let oInput = document.querySelector('#' + oPicklist.id); if (!oInput) { continue; } let option = document.createElement('option'); option.innerHTML = dropDownPlaceholder; option.setAttribute('disabled', ''); option.setAttribute('selected', ''); option.setAttribute('hidden', ''); option.setAttribute('value', ''); oInput.appendChild(option); if (oPicklist.data && oPicklist.data && oPicklist.data.length > 0) { for (const oOptionData of oPicklist.data) { let option = document.createElement('option'); option.value = oOptionData.optionId; option.innerHTML = oOptionData["label_" + appLocale] || oOptionData["label_defaultValue"]; oInput.appendChild(option); }; } } }
Jetzt bewerben
Um Ihre Karriere bei Kistler zu beginnen, geben Sie einfach Ihre Informationen in das folgende Formular ein:
Vorname: *
Nachname: *
E-Mail-Adresse: *
Telefonnummer (mit Ländervorwahl): *
Lebenslauf: *
Zusätzliche Dokumente:
Wie haben Sie von dieser Stelle erfahren?:
Kommentar:
Ich habe die Datenschutzerklärung gelesen und akzeptiere sie.*
Absenden