Produkte
Bewertungen & Auditwesen
Lieferantenbewertung
Eigenbewertung
Audit Management
Qualitätsprüfung
Wareneingangsprüfung
Fertigungsprüfung
Warenausgangsprüfung
Prüfmittelmanagement
Statistische Prozesskontrolle | SPC-Analyzer
Messmittelintegration
Chargenverfolgung
Abweichungsmanagement
Abweichungsmanagement allgemein
Reklamation Lieferant
Reklamation Kunde
Reklamation intern
Fehleranalyse / CAPA
Produkt- & Prozessentwicklung
FMEA
CAD-Integration
Produktionslenkungsplan
APQP
Erstmusterprüfung
Prozessmanagement
Qualifikationsmanagement
Webportal
Lieferanten-WA-Prüfung
Lieferantenbewertung
EMPB-Prüfung Lieferant
Reklamation Lieferant
EMPB-Prüfung Kunde
Reklamation Kunde
Intranet Portal
GxP
GxP
Qualified Person
Softwarevalidierung
Audit-Trail
Elektronische Signatur
Entwicklungsprojektmanagement
Basis
Maßnahmenmanagement
Dokumentenmanagement / SOP
Business Intelligence
ERP-Integration
Mobiles
Allgemeine Funktionen
Branchen
Referenzen
ERP-Integration
Aktuelles
Unternehmen
Über QSC
Familienunternehmen
Geschäftsführung & Management
Standort
Kontakt
Karriere
Produkte
Bewertungen & Auditwesen
Lieferantenbewertung
Eigenbewertung
Audit Management
Qualitätsprüfung
Wareneingangsprüfung
Fertigungsprüfung
Warenausgangsprüfung
Prüfmittelmanagement
Statistische Prozesskontrolle | SPC-Analyzer
Messmittelintegration
Chargenverfolgung
Abweichungsmanagement
Abweichungsmanagement allgemein
Reklamation Lieferant
Reklamation Kunde
Reklamation intern
Fehleranalyse / CAPA
Produkt- & Prozessentwicklung
FMEA
CAD-Integration
Produktionslenkungsplan
APQP
Erstmusterprüfung
Prozessmanagement
Qualifikationsmanagement
Webportal
Lieferanten-WA-Prüfung
Lieferantenbewertung
EMPB-Prüfung Lieferant
Reklamation Lieferant
EMPB-Prüfung Kunde
Reklamation Kunde
Intranet Portal
GxP
GxP
Qualified Person
Softwarevalidierung
Audit-Trail
Elektronische Signatur
Entwicklungsprojektmanagement
Basis
Maßnahmenmanagement
Dokumentenmanagement / SOP
Business Intelligence
ERP-Integration
Mobiles
Allgemeine Funktionen
Branchen
Referenzen
ERP-Integration
Aktuelles
Unternehmen
Über QSC
Familienunternehmen
Geschäftsführung & Management
Standort
Kontakt
Karriere
contactnewsletterphone
Junior Software Entwickler Java (m/w/d)
Praxiswissen trifft Innovation: Lerne von den Besten, entwickle unsere marktführende QM-Software aktiv mit und übernimm von Tag eins an Verantwortung. Profitiere von echtem Mentoring und einer flexiblen 4-Tage-Woche.
Startseite
Junior Developer
Dein neuer Job im Überblick
Als Marktführer für QM-Software vereint QSC ein innovatives Team und modernste Technologien, um über 400 internationale Kunden erfolgreich zu betreuen. Als Junior Software Entwickler Java (m/w/d) bist du von Tag eins an mittendrin statt nur dabei. Du steigst direkt in die Praxis ein und lernst, wie ein komplexes Produkt stetig erweitert wird. Wir setzen auf aktuelle Technologien und geben dir den Raum, Neues auszuprobieren und dich kontinuierlich weiterzuentwickeln. Ein strukturiertes Mentorenprogramm sorgt dafür, dass du jederzeit optimal begleitet wirst.
Bereit für den nächsten Schritt in einem familiären, aber hochprofessionellen Umfeld?
Die Rolle auf einen Blick
Standort: Krems an der Donau (inkl. großzügiger Home-Office-Lösung)
Gehalt: ab 34.400 € brutto p.a. (Bereitschaft zur Überbezahlung)
Arbeitszeit: Vollzeit (38,5h) inkl. Möglichkeit der 4-Tage-Woche
Start: Ab sofort / nach Vereinbarung
Zum Quick-Check
Deine Aufgaben
Entwicklung unserer Standardsoftware: Du programmierst an unserer Software QS1 mit und lernst in der Praxis, wie ein komplexes Produkt stetig erweitert wird.
Mitgestaltung von Kundenlösungen: Du begleitest Konzeption und Entwicklung individueller Modifikationen und siehst direkt, wie dein Code Prozesse beim Kunden unterstützt.
Technische Konzepte & Architektur: Im Team übersetzt du Anforderungen in saubere Konzepte und Architekturbeschreibungen als solides Fundament für die Umsetzung.
Moderner Tech-Stack & Innovation: Du hast bei uns Raum, Neues auszuprobieren und dich kontinuierlich weiterzuentwickeln.
Daten- und Objektmodellierung: Du übernimmst analytische Aufgaben, strukturierst Systemanforderungen und lernst, wie man komplexe Datenmodelle sauber für die Entwicklung vorbereitet.
Unsere Wünsche an dich
Abgeschlossene technische Ausbildung (HTL, FH, Universität oder vergleichbar).
Erste Programmierkenntnisse in Java oder C#.NET.
Teamfähigkeit, Kommunikationsstärke und Verantwortungsbewusstsein.
Strukturierte Arbeitsweise und hohes Qualitätsbewusstsein.
Freude am Programmieren, Interesse zu lernen und immer wieder Neues in der Software-Entwicklung mit zu machen.
Du übernimmst Verantwortung für deine Aufgaben und arbeitest lösungsorientiert.
Sehr gute Deutschkenntnisse, Englisch von Vorteil.
Nice to have: Kenntnisse mit WPF, Blazor, .NET Framework, MS-SQL-Server, ORACLE.
Familiengeführt
> 50 Mitarbeiter
> 25 Jahre Erfahrung
Die Flexibilität
Das Team & Soziales
Echte 4-Tage-Woche für die optimale Balance zwischen Code und Freizeit
Flexible Zeiteinteilung ohne starres Stechuhr-Denken
Großzügige Home-Office-Lösung, perfekt an deinen Alltag angepasst
Volles Vertrauen in deine Arbeitsweise und deinen Output
Schließen
Echtes Miteinander durch flache Hierarchien und ein kollegiales DU vom ersten Tag an
Regelmäßige "Social Breaks": Ob entspanntes Beisammensein, Brettspiele oder eine Runde Darts nach Feierabend
Gemeinsame Teamevents und Aktivitäten für den perfekten Ausgleich zum fokussierten Code-Alltag
Attraktive Meal Vouchers für gemeinsame Mittagessen im Team
Schließen
Dein Workspace
Karriere & Perspektive
Moderner, heller Arbeitsplatz direkt an unserem Standort in Krems
Attraktiver Hardwarebonus für dein persönliches Wunsch-Setup
Unlimitierter Nachschub an Kaffee, Tee, frischem Obst und Süßem
Ruhige Zonen für Deep Work und offene Bereiche für den Austausch
Schließen
Maßgeschneidertes Mentorenprogramm für deinen reibungslosen Einstieg
Klare Perspektive: Übernahme der fachlichen Leitung für 2–3 Personen
Maximaler Freiraum, um eigene technische Standards und Architektur-Ideen umzusetzen
Langfristige Stabilität und sicherer Arbeitsplatz beim Marktführer
Schließen
DEINE BEWERBUNG
In wenigen Klicks zu deinem neuen Job in Krems.
Klassische Bewerbungsprozesse sind oft unnötig starr. Wir machen es dir leicht: Klick dich unten einfach durch unseren kurzen Quick-Check. Wähle per Mausklick deinen Antwort und teile uns deine Erfahrungswerte mit – ganz ohne mühsames Anschreiben. Am Ende werden deine Antworten mit nur einem Klick automatisch als Bewerbung an uns übermittelt. So finden wir schnell heraus, ob wir technologisch und menschlich zusammenpassen. Passt alles? Dann melden wir uns direkt bei dir!
QSC Karriere-Check: Junior Java Entwickler : root { -qsc-blue: #244a86; -qsc-dark: #0f2c58; -qsc-mid: #1d4c8f; -qsc-orange: #f4a51c; -qsc-orange-light: #ffc45b; -text: #132033; -muted: #63748a; -glass: rgba(255, 255, 255, 0.58); -border: rgba(255, 255, 255, 0.72); -shadow: 00px0pxrgba(15, 44, 88, 0.22); -shadow-soft: 00px0pxrgba(15, 44, 88, 0.13); -radius-xl: 0px-radius-lg: 0px} * { box-sizing: border-box; } html { min-height: 100%; } body { margin: 0; min-height: 100vh; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; color: var(-text); background: radial-gradient(circle at 8% 8%, rgba(244, 165, 28, 0.25), transparent 27%), radial-gradient(circle at 88% 10%, rgba(36, 74, 134, 0.23), transparent 32%), radial-gradient(circle at 76% 92%, rgba(126, 165, 216, 0.36), transparent 34%), linear-gradient(145deg, #f9fbff 0%, #edf4fb 50%, #f7f9fc 100%); overflow-x: hidden; } body::before, body::after { content: ""; position: fixed; pointer-events: none; z-index: -1; border-radius: 0pxborder: 0pxsolid rgba(255,255,255,0.56); backdrop-filter: blur(20px); } body::before { width: 0pxheight: 0pxleft: 0pxtop: 17vh; background: rgba(255,255,255,0.22); } body::after { width: 0pxheight: 0pxright: 0pxbottom: 0pxbackground: rgba(244,165,28,0.12); } .page { width: min(1040px, calc(100% - 28px)); min-height: 100vh; margin: 0 auto; padding: 0px0; display: grid; place-items: center; } .shell { width: 100%; overflow: hidden; border-radius: var(-radius-xl); background: rgba(255,255,255,0.54); border: 0pxsolid var(-border); box-shadow: var(-shadow); backdrop-filter: blur(30px) saturate(155%); -webkit-backdrop-filter: blur(30px) saturate(155%); position: relative; } .shell::before { content: ""; position: absolute; inset: 0; background: linear-gradient(145deg, rgba(255,255,255,0.72), rgba(255,255,255,0.12) 44%, rgba(36,74,134,0.06)); pointer-events: none; } .hero, .main { position: relative; z-index: 1; } .hero { padding: 0px0px0pxdisplay: flex; align-items: center; justify-content: space-between; gap: 0pxborder-bottom: 0pxsolid rgba(255,255,255,0.55); } .brandText { display: flex; flex-direction: column; gap: 0pxflex: 0 0 auto; } .brandText a { color: var(-qsc-blue); text-decoration: none; font-size: 0pxline-height: 1; font-weight: 900; letter-spacing: 0px} .brandText .brandText span { display: block; color: #8b98a8; font-size: 0pxletter-spacing: 0pxfont-weight: 700; } .heroText { text-align: right; max-width: 0px} .pill { display: inline-flex; align-items: center; gap: 0pxpadding: 0px0pxborder-radius: 0pxbackground: rgba(36,74,134,0.09); border: 0pxsolid rgba(36,74,134,0.12); color: var(-qsc-dark); font-weight: 800; font-size: 0px} .pillDot { width: 0pxheight: 0pxborder-radius: 0pxbackground: var(-qsc-orange); box-shadow: 0 00pxrgba(244,165,28,0.9); } .hero h1 { margin: 0px0 0; color: var(-qsc-dark); font-size: clamp(24px, 2.7vw, 38px); line-height: 1.05; letter-spacing: 0px} .main { padding: 0px0px0px} .progressCompact { display: grid; gap: 0pxmargin-bottom: 0px} .progressTop { display: flex; align-items: center; justify-content: space-between; gap: 0pxcolor: var(-muted); font-size: 0pxfont-weight: 800; } .progressTop strong { color: var(-qsc-dark); font-weight: 900; } .dots { display: flex; gap: 0pxalign-items: center; justify-content: flex-end; flex-wrap: wrap; } .dot { width: 0pxheight: 0pxborder-radius: 0pxbackground: rgba(36,74,134,0.18); transition: 0.2s ease; } .dot.done { background: rgba(244,165,28,0.86); } ..track { height: 0pxborder-radius: 0pxbackground: rgba(255,255,255,0.55); border: 0pxsolid rgba(255,255,255,0.65); overflow: hidden; box-shadow: inset 00px0 rgba(255,255,255,0.88), 00px0pxrgba(15,44,88,0.08); } .bar { height: 100%; width: 0%; border-radius: 0pxbackground: linear-gradient(90deg, var(-qsc-orange), var(-qsc-orange-light), var(-qsc-blue)); box-shadow: 0 00pxrgba(244,165,28,0.45); transition: width 0.28s ease; } .panel { min-height: 0pxpadding: clamp(22px, 3vw, 38px); border-radius: var(-radius-lg); background: var(-glass); border: 0pxsolid var(-border); box-shadow: var(-shadow-soft); backdrop-filter: blur(24px) saturate(160%); -webkit-backdrop-filter: blur(24px) saturate(160%); position: relative; overflow: hidden; } .panel::before { content: ""; position: absolute; inset: 0; background: linear-gradient(145deg, rgba(255,255,255,0.66), rgba(255,255,255,0.18)); pointer-events: none; } .stage { display: none; position: relative; z-index: 1; animation: rise 0.24s ease both; } .@keyframes rise { from { opacity: 0; transform: translateY(10px) scale(0.995); } to { opacity: 1; transform: translateY(0) scale(1); } } .questionHead { display: grid; grid-template-columns: auto 1fr; gap: 0pxalign-items: center; margin-bottom: 0px} .bigIcon { width: 0pxheight: 0pxborder-radius: 0pxdisplay: grid; place-items: center; color: white; background: linear-gradient(145deg, rgba(36,74,134,0.94), rgba(15,44,88,0.76)); border: 0pxsolid rgba(255,255,255,0.48); box-shadow: 00px0pxrgba(36,74,134,0.24), inset 00px0 rgba(255,255,255,0.45); } .bigIcon i { width: 0pxheight: 0pxstroke-width: 2.2; } .kicker { color: var(-qsc-orange); font-size: 0pxtext-transform: uppercase; letter-spacing: 0pxfont-weight: 900; margin-bottom: 0px} .title { margin: 0; color: var(-qsc-dark); font-size: clamp(27px, 3.1vw, 43px); line-height: 1.05; letter-spacing: 0px} .options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0px} .option { min-height: 0pxpadding: 0pxborder: 0pxsolid rgba(255,255,255,0.72); border-radius: 0pxbackground: rgba(255,255,255,0.56); box-shadow: 00px0pxrgba(15,44,88,0.11), inset 00px0 rgba(255,255,255,0.8); color: var(-text); cursor: pointer; text-align: left; position: relative; overflow: hidden; backdrop-filter: blur(22px) saturate(150%); -webkit-backdrop-filter: blur(22px) saturate(150%); transition: 0.18s ease; } .option::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 16% 8%, rgba(255,255,255,0.95), transparent 22%), linear-gradient(145deg, rgba(255,255,255,0.58), rgba(255,255,255,0.12)); pointer-events: none; } .option::after { content: ""; position: absolute; right: 0pxbottom: 0pxwidth: 0pxheight: 0pxborder-radius: 0pxbackground: rgba(36,74,134,0.06); transition: 0.18s ease; } ...option.selected { color: white; background: rgba(36,74,134,0.88); border-color: rgba(255,255,255,0.78); box-shadow: 00px0pxrgba(15,44,88,0.26), inset 00px0 rgba(255,255,255,0.35); } .option.selected::before { background: radial-gradient(circle at 16% 8%, rgba(255,255,255,0.25), transparent 22%), linear-gradient(145deg, rgba(36,74,134,0.92), rgba(15,44,88,0.76)); } .option.selected::after { background: rgba(244,165,28,0.24); } .optionTop, .optionText { position: relative; z-index: 1; } .optionTop { display: flex; justify-content: space-between; gap: 0pxalign-items: flex-start; } .optionIcon { width: 0pxheight: 0pxborder-radius: 0pxdisplay: grid; place-items: center; color: var(-qsc-blue); background: rgba(255,255,255,0.76); border: 0pxsolid rgba(255,255,255,0.76); box-shadow: inset 00px0 rgba(255,255,255,0.9), 00px0pxrgba(15,44,88,0.08); } .optionIcon i { width: 0pxheight: 0px} .check { width: 0pxheight: 0pxborder-radius: 0pxdisplay: grid; place-items: center; color: transparent; background: rgba(255,255,255,0.48); border: 0pxsolid rgba(36,74,134,0.18); } .check i { width: 0pxheight: 0pxstroke-width: 3; } .option.selected .optionIcon { color: white; background: rgba(255,255,255,0.16); border-color: rgba(255,255,255,0.25); } .option.selected .check { color: white; background: var(-qsc-orange); border-color: rgba(255,255,255,0.35); } .optionText { display: block; margin-top: 0pxfont-size: 0pxline-height: 1.25; font-weight: 850; letter-spacing: 0px} .nav { display: flex; justify-content: space-between; align-items: center; gap: 0pxmargin-top: 0px} .btn { min-height: 0pxborder: 0; border-radius: 0pxpadding: 00pxdisplay: inline-flex; align-items: center; justify-content: center; gap: 0pxcursor: pointer; font-size: 0pxfont-weight: 900; transition: 0.18s ease; white-space: nowrap; } ..btn: disabled { opacity: 0.38; cursor: not-allowed; } .btn i { width: 0pxheight: 0px} .btnPrimary { color: white; background: linear-gradient(145deg, var(-qsc-blue), var(-qsc-dark)); box-shadow: 00px0pxrgba(36,74,134,0.25), inset 00px0 rgba(255,255,255,0.25); } .btnSecondary { color: var(-qsc-dark); background: rgba(255,255,255,0.58); border: 0pxsolid rgba(255,255,255,0.72); box-shadow: 00px0pxrgba(15,44,88,0.1), inset 00px0 rgba(255,255,255,0.85); } .btnOrange { color: #2d1c00; background: linear-gradient(145deg, var(-qsc-orange-light), var(-qsc-orange)); box-shadow: 00px0pxrgba(244,165,28,0.30), inset 00px0 rgba(255,255,255,0.42); } .formGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0pxmargin-top: 0px} .field { display: grid; gap: 0px} .field.full { grid-column: 1 / -1; } label { color: var(-qsc-dark); font-size: 0pxfont-weight: 900; padding-left: 0px} input, textarea { width: 100%; border: 0pxsolid rgba(255,255,255,0.74); border-radius: 0pxpadding: 0px0pxfont: inherit; color: var(-text); outline: none; background: rgba(255,255,255,0.64); box-shadow: inset 00px0 rgba(255,255,255,0.85), 00px0pxrgba(15,44,88,0.08); backdrop-filter: blur(18px); transition: 0.18s ease; } textarea { min-height: 0pxresize: vertical; } input: focus, textarea: focus { background: rgba(255,255,255,0.84); border-color: rgba(36,74,134,0.34); box-shadow: 0 0 00pxrgba(36,74,134,0.09), inset 00px0 rgba(255,255,255,0.9); } .note { color: var(-muted); margin: 0px0 0; font-size: 0pxline-height: 1.45; } .error { display: none; margin-top: 0pxcolor: #b42318; font-weight: 800; background: rgba(180,35,24,0.08); border: 0pxsolid rgba(180,35,24,0.15); border-radius: 0pxpadding: 0px0px} .details { margin-top: 0pxborder-radius: 0pxbackground: rgba(255,255,255,0.5); border: 0pxsolid rgba(255,255,255,0.72); box-shadow: 00px0pxrgba(15,44,88,0.09); overflow: hidden; } summary { cursor: pointer; padding: 0px0pxfont-weight: 900; color: var(-qsc-dark); } .summary { margin: 0; padding: 00px0px0pxcolor: var(-muted); line-height: 1.55; } .sent { text-align: center; padding: 0px0px0px} .sentIcon { margin: 0 auto0pxwidth: 0pxheight: 0pxborder-radius: 0pxdisplay: grid; place-items: center; color: white; background: linear-gradient(145deg, #067647, #075e45); box-shadow: 00px0pxrgba(6,118,71,0.20); } .sentIcon i { width: 0pxheight: 0px} .sent h2 { margin: 0; color: var(-qsc-dark); font-size: clamp(30px, 4vw, 48px); letter-spacing: 0px} .sent p { max-width: 0pxmargin: 0pxauto 0; color: var(-muted); line-height: 1.55; font-size: 0px} @media (max-width: 720px) { body { background-attachment: fixed; } .page { width: min(100% - 14px, 1040px); padding: 0px0; place-items: start center; } .shell { border-radius: 0px} .hero { padding: 0px0px0pxalign-items: flex-start; flex-direction: column; gap: 0px} .brandText a { font-size: 0px} .brandText span { font-size: 0px} .heroText { text-align: left; } .pill { font-size: 0pxpadding: 0px0px} .hero h1 { font-size: 0pxletter-spacing: 0px} .main { padding: 0px0px0px} .progressCompact { margin-bottom: 0px} .progressTop { font-size: 0pxalign-items: flex-start; } .dots { gap: 0pxmax-width: 0px} .dot { width: 0pxheight: 0px} ..panel { min-height: auto; padding: 0px0px0pxborder-radius: 0px} .questionHead { grid-template-columns: auto 1fr; gap: 0pxmargin-bottom: 0px} .bigIcon { width: 0pxheight: 0pxborder-radius: 0px} .bigIcon i { width: 0pxheight: 0px} .kicker { font-size: 0pxmargin-bottom: 0px} .title { font-size: 0pxletter-spacing: 0px} .options, .formGrid { grid-template-columns: 1fr; gap: 0px} .option { min-height: 0pxpadding: 0pxborder-radius: 0px} .optionIcon { width: 0pxheight: 0pxborder-radius: 0px} .optionIcon i { width: 0pxheight: 0px} .optionText { margin-top: 0pxfont-size: 0px} .nav { flex-direction: column-reverse; align-items: stretch; margin-top: 0px} .btn { width: 100%; min-height: 0px} textarea { min-height: 0px} }
www.qsc-systems.com
with quality to success
Dein Karrierestart in wenigen Klicks
Werde Teil unseres Teams!
Frage 1 von 7
FRAGE 1
Zurück
Weiter
KONTAKT
Fast geschafft – wie erreichen wir dich?
Name *
Telefon-Nr. optional
E-Mailadresse *
Optionale Nachricht / Link zu GitHub etc.
Pflichtfelder sind Name und E-Mailadresse. Die Telefon-Nr. kannst du freiwillig ergänzen. Beim Klick auf „Senden“ wird dein E-Mail-Programm geöffnet und die Nachricht bereits fertig vorbereitet.
Bitte fülle Name und eine gültige E-Mailadresse aus.
Antwort-Zusammenfassung anzeigen
Zurück zu den Fragen
Senden
E-Mail wurde vorbereitet
Dein Mailprogramm sollte sich geöffnet haben. Bitte prüfe die Nachricht kurz und sende sie ab. Wir melden uns schnellstmöglich bei dir bezüglich der Junior-Position!
Neu starten
von ${total}' : 'Frage ${current + 1} von ${total}'; $("bar").style.width = '${now / total * 100}%'; renderDots(stage); } function renderQuestion() { const q = questions[current]; $("questionIcon").setAttribute("data-lucide", q.icon); $("kicker").textContent = 'Frage ${current + 1}'; $("title").textContent = q.title; const options = $("options"); options.innerHTML = ""; q.options.forEach((opt, index) = > { const btn = document.createElement("button"); btn.type = "button"; btn.className = "option" + (answers[current] === index ? " selected" : ""); btn.innerHTML = '
${opt[0]}
'; btn.addEventListener("click", () = > selectAnswer(index)); options.appendChild(btn); }); $("backBtn").disabled = current === 0; $("nextBtn").disabled = answers[current] === null; $("nextBtn").innerHTML = current === questions.length - 1 ? 'Zu den Kontaktdaten ' : 'Weiter '; updateProgress("questions"); drawIcons(); } function selectAnswer(index) { answers[current] = index; renderQuestion(); setTimeout(() = > { if (current < questions.length - 1) { current += 1; renderQuestion(); } else { showContact(); } }, 170); } function showContact() { $("questionStage").classList.remove("active"); $("sentStage").classList.remove("active"); $("contactStage").classList.add("active"); updateProgress("contact"); renderSummary(); drawIcons(); } function showQuestion() { $("contactStage").classList.remove("active"); $("sentStage").classList.remove("active"); $("questionStage").classList.add("active"); renderQuestion(); } function renderSummary() { const list = $("summary"); list.innerHTML = ""; questions.forEach((q, i) => { const li = document.createElement("li"); li.textContent = '${q.title}: ${answers[i] === null ? "Keine Auswahl" : q.options[answers[i]][0]}'; list.appendChild(li); }); } function isValidEmail(value) { return value.includes("@") && value.includes(".") && value.length > 5; } function emailBody(data) { const NL = String.fromCharCode(10); const lines = [ "Neue Kontaktanfrage \u00FCber den QSC Karriere-Fragebogen (Junior Position)", "", "Kontaktdaten", 'Name: ${data.name || "-"}', 'Telefon-Nr.: ${data.phone || "-"}', 'E-Mailadresse: ${data.email}', data.message ? 'Nachricht: ${data.message}' : "Nachricht: -", "", "Antworten" ]; questions.forEach((q, i) = > { lines.push('${i + 1}. ${q.title}'); lines.push('Antwort: ${answers[i] === null ? "Keine Auswahl" : q.options[answers[i]][0]}'); lines.push(""); }); return lines.join(NL); } $("backBtn").addEventListener("click", () = > { if (current > 0) { current -= 1; renderQuestion(); } }); $("nextBtn").addEventListener("click", () = > { if (answers[current] === null) return; if (current < questions.length - 1) { current += 1; renderQuestion(); } else { showContact(); } }); $("contactBackBtn").addEventListener("click", () => { current = questions.length - 1; showQuestion(); }); $("contactForm").addEventListener("submit", event = > { event.preventDefault(); const data = { name: $("name").value.trim(), phone: $("phone").value.trim(), email: $("email").value.trim(), message: $("message").value.trim() }; if (!data.name || !isValidEmail(data.email)) { $("error").classList.add("active"); return; } $("error").classList.remove("active"); const subject = 'Bewerbung Junior Java Entwickler - ${data.name}'; const mailto = 'mailto: ${recipient}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(emailBody(data))}'; window.location.href = mailto; $("contactStage").classList.remove("active"); $("sentStage").classList.add("active"); updateProgress("contact"); drawIcons(); }); $("restartBtn").addEventListener("click", () = > { current = 0; answers.fill(null); $("contactForm").reset(); $("error").classList.remove("active"); showQuestion(); }); renderQuestion();
Das sagen unsere Mitarbeitenden
"Bei der QSC hast du die Möglichkeit, selbständig Aufgaben innerhalb
toller, dynamischer Teams zu erledigen. Das Arbeitsklima ist
hervorragend und jeder einzelne Mitarbeiter hat die Freiheit, Ideen und
Verbesserungsvorschläge vorzubringen und umzusetzen. An meiner
Tätigkeit als Leiter des Client-Teams schätze ich vor allem die
abwechslungsreichen und fordernden Aufgaben, durch welche ich mich stets fachlich sowie persönlich weiterentwickeln und verbessern kann."
Lukas Höllriegl
"Freude und Spaß bei der Arbeit in einem wertschätzenden und
sympathischen Umfeld haben bei uns oberste Priorität! Wir feiern
regelmäßig unsere Erfolge und organisieren abwechslungsreiche
Firmenevents auf freiwilliger Basis. Dadurch kann man sich mit Kollegen auch auf privater Ebene austauschen. Das trägt zu unserem produktiven und entspannten Arbeitsklima bei!"
Oliver Bauer
"Bei uns herrscht eine sehr angenehme Arbeitsatmosphäre. Unsere
Tätigkeit ist sehr abwechslungsreich aufgrund der unterschiedlichsten
Branchen unserer Kunden. Es ist ein selbstverwirklichendes Gefühl zu
wissen, dass die Arbeitsprozesse unserer Kunden durch unsere Lösungen erleichert wird. Feedback, Wertschätzung und Zusammenhalt wird bei
uns gelebt – innerhalb des Teams und auch seitens der Geschäftsführung."
Raphael Baumgartner
Bereit für den nächsten Schritt?
Lass uns ganz unkompliziert herausfinden, ob wir zusammenpassen. Klick dich in nur zwei Minuten durch unseren kurzen Quick-Check – ohne mühsames Anschreiben oder lange Formulare. Zeig uns einfach, was du mitbringst und was dir wichtig ist!
JETZT BEWERBUNG STARTEN
Kontakt
Quality Software &
Consulting GmbH & Co KG
Dürnstein 51
3601 Dürnstein
T +43 (0) 22 36 677 128-0
[email protected]
Links
DownloadsStandorteSupportÜber QSC
Follow us
facebookinstagramxinglinkedin
© Quality Software & Consulting GmbH & Co KG Impressum Datenschutz