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.