← Back to all jobs

Find Your NextSoftware Job.| (function(){const text = "Software Job."; const uniqueId = "typing-ghtnhsxrb"; const delay = 100; const typingSpeed = 80; const cursorSpeed = 400; const hideCursorDelay = 5000; function initTypingEffect() { const typewriterElement = document.querySelector(`[data-typing-id="${uniqueId}"]`); const cursorElement = document.querySelector(`[data-cursor-id="${uniqueId}"]`); if (!typewriterElement || !cursorElement) return; let currentIndex = 0; let typingInterval; let cursorInterval; let startTypingTimer; let hideCursorTimeout; function startTyping() { // Reset typewriterElement.textContent = ""; cursorElement.style.opacity = "1"; currentIndex = 0; startTypingTimer = setTimeout(() => { typingInterval = setInterval(() => { if (currentIndex < text.length) { typewriterElement.textContent = text.substring(0, currentIndex + 1); currentIndex++; } else { clearInterval(typingInterval); hideCursorTimeout = setTimeout(() => { cursorElement.style.opacity = "0"; clearInterval(cursorInterval); }, hideCursorDelay); } }, typingSpeed); cursorInterval = setInterval(() => { cursorElement.style.opacity = cursorElement.style.opacity === "0" ? "1" : "0"; }, cursorSpeed); }, delay); } startTyping(); // Cleanup function return () => { clearTimeout(startTypingTimer); clearTimeout(hideCursorTimeout); clearInterval(typingInterval); clearInterval(cursorInterval); }; } // Initialize on page load const cleanup = initTypingEffect(); // Re-initialize after view transitions document.addEventListener('astro:page-load', () => { if (cleanup) cleanup(); initTypingEffect(); }); })();

Software Jobs · Posted 2026-08-28

Apply on the company site →