Test & DevOps Engineer 80 - 100 % (m/w/d)
- 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

- 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