The Role
As our Senior Fullstack Engineer, you will be the primary architect and developer responsible for evaluating, redesigning, and implementing both backend and frontend systems to ensure scalability, efficiency, and seamless user experiences. You’ll design robust APIs, build responsive and interactive UI using frameworks like React and React Native, and ensure end-to-end integration across client applications. Collaborating with designers and other engineers, you’ll shape the technical direction of our fullstack architecture. Given our size, this role requires an independent and strategic thinker who can make long-term decisions about code, technology structure, and user-facing functionality.
Key responsibilities:
- Evaluate and Optimize Systems: Analyze the current backend to identify scalability and performance bottlenecks, and assess frontend performance to ensure a seamless user experience across client applications.
- Develop APIs and Integrate with Frontend: Create and maintain RESTful APIs and server-side events to support client applications, ensuring seamless integration with frontend frameworks, particularly React Native and React.
- Build and Enhance Frontend Interfaces: Design and implement responsive, user-friendly frontend interfaces using React and React Native, ensuring consistency with UI/UX designs and optimal performance across devices.
- Optimize Data Handling: Ensure efficient data retrieval and processing for large datasets, implementing backend database optimizations and frontend data rendering to reduce latency.
- Implement Security Measures: Apply authentication, role-based access control, and data protection best practices across both backend and frontend systems to ensure security and compliance.
- Integrate External Systems: Connect backend services with external customer systems and third-party APIs, ensuring compatibility with frontend applications for end-to-end functionality.
- Monitor and Maintain Performance: Debug and optimize workflows for both backend performance (e.g., server response times) and frontend rendering (e.g., page load speeds), ensuring a cohesive system.
- Drive Technical Decisions: Make key architectural decisions for both backend and frontend development, setting a foundation for scalable and maintainable systems.
- Collaborate on UI/UX Design: Work closely with designers to translate UI/UX wireframes into functional frontend components, ensuring accessibility and cross-browser compatibility.
- Perform Code Reviews: Review and provide feedback on both backend and frontend code to maintain quality, consistency, and adherence to best practices.
- Enhance Client-Side Features: Develop interactive features (e.g., real-time updates, dynamic forms) using frontend technologies to improve user engagement and application functionality.
Requirements:
- At least 5 years of experience as a Lead Backend Engineer or Senior Backend Engineer in a result-oriented and strong engineering team.
- Golang. Most parts of our backend are written in Go, so this is a requirement.
- Experience with Rust or C++ as we are using these languages to build our new decentralized peer-to-peer services.
- Strong software architecture skills and knowledge of software design patterns like MVC, MVCS, SOLID. You're able to think ahead and create modular and decoupled designs that make it easier to collaborate, iterate and grow.
- Experience building services that are capable of serving tens of thousands to millions of concurrent users.
- Experience with relational databases (we're using PostgreSQL), caches (Redis) and message queues.
- Well-proven knowledge of networking protocols like TCP, UDP, QUIC, WebSockets, WebTransport.
- Experience building asynchronous real-time services is a big plus.
- Experience with networking libraries such as libp2p and ZeroMQ is a big plus.
To apply for this position, please send your CV and portfolio to agnes@aukilabs.com or use our contact us form by pressing apply.
We are an equal opportunity employer and welcome applications from all qualified candidates. Information provided will be treated in strict confidence and will only be used for recruitment-related purposes. Information of unsuccessful candidates will be destroyed within six months.