We are looking for Software Engineers and Senior Software Engineers to join our team in building the desktop and web interfaces for our End-to-End Encrypted (E2EE) Messaging Platform. You will be part of a mission to create a communication tool that is not only highly secure but also incredibly fast and visually stunning. This is a unique opportunity to solve fascinating challenges at the intersection of cryptography, multi-modal real-time data (audio, video, and group calls), and a premium user experience.
Key responsibilities:
- Feature Development: Directly implement and maintain pixel-perfect, responsive UI components using React and TypeScript, ensuring a high-fidelity and butter-smooth user experience.
- State Management: Execute complex application state logic using Redux and handle asynchronous side effects with Thunk to ensure predictable data flows.
- Performance Mastery (Senior Only): Deeply optimize the Critical Rendering Path (Layout, Paint, Composite) and manage the execution of high-frequency real-time data to prevent UI jank.
- Data & State Orchestration (Senior Only): Design and implement scalable Redux state containers and comprehensive data management strategies using Local DB, ensuring seamless data synchronization and integrity.
- Comprehensive Data Management: Work with local storage and databases (e.g., IndexedDB) to manage complex data structures, ensuring robust offline-ready functionality.
- Real-Time Conversations: Implement and optimize WebSocket connections to deliver sub-second latency for messages, audio/video calls, and real-time group interactions.
- Build Infrastructure (Senior Only): Customize and optimize the build pipeline (Vite, Webpack). Manage bundle efficiency, environment configurations, and the transpilation layer (e.g., Babel).
- Desktop Integration: Develop the desktop application environment using Electron, utilizing Node.js APIs and IPC patterns to bridge web code with native OS features.
- System Integration & Security (Senior Only): Master the Electron IPC bridge and Node.js integration, ensuring the desktop app is hardened against vulnerabilities.
- Diagnostics & Root Cause Analysis (Senior Only): Act as a technical anchor, leveraging deep knowledge of V8 internals to analyze memory leaks, profile performance, and solve complex race conditions.
- Code Quality & Excellence: Write clean, modular, and testable code. For Senior candidates, this includes leading rigorous code reviews and championing SOLID principles.
Qualifications:
- Education: Bachelor's degree in Computer Science, Engineering, or a related field.
- Professional Experience: 3+ years for Software Engineer / 5+ years for Senior Software Engineer with substantive engineering experience.
- Core Tech Stack: Deep proficiency in ReactJS, TypeScript, and Redux (Async/Thunk).
- Advanced Styling: Proficiency in modern styling approaches (CSS-in-JS, CSS Modules, Sass/Less) and experience working with or implementing UI Design Systems.
- Browser Fundamentals: Strong understanding of how browsers render content (DOM, Paint) and handle complex network requests.
- Runtime & API Deep-Dive (Senior Only): Deeply understand how the Browser and Node.js execute code (Event Loop, Microtasks, Memory Management) to ensure maximum efficiency.
- Data Management Mindset: Understanding of data modeling and local-first patterns. Senior Only: Proven ability to architect complex data persistence strategies.
- Engineering Mindset: A proactive learner with the ability to quickly adopt new technologies and follow internal best practices (SOLID, DRY).
- Problem Solving: Exceptional analytical skills to troubleshoot complex UI/UX bugs and investigate deep-seated architectural bottlenecks.
Nice to have:
- Domain Expertise: Previous experience in developing messaging platforms or working with the XMPP protocol.
- Open Source Contribution: Active contributions to reputable open-source projects or community-driven technical initiatives.
- Advanced Performance: Experience with Web Workers, Service Workers, or WebRTC for specialized processing.
- Build Tools & Transpilation: Understanding of the transpilation process and tools like Babel to ensure cross-platform compatibility.
- Modern Tooling (Senior Only): Proficiency in WebAssembly (Wasm) for high-performance cryptographic operations.
- Excellent problem-solving and analytical abilities.
- Good communication and collaboration skills.
- Passion for building high-quality, user-centric web applications.
- Fluency in English; Vietnamese proficiency is a plus.