Job Description
At Attri, we are seeking a talented Fullstack engineer to join our dynamic team. We are a cutting-edge company, and we're looking for an individual who is passionate, inquisitive, and a self-learner to contribute to the success of our projects.
RESPONSIBILITIES
- Modern Web Development: Proficiency in HTML5, CSS3, ES6+, Typescript, and Node.js, with a strong emphasis on staying up-to-date with the latest technologies.
- TypeScript:Hands on with Generics, Template Literals, Mapped Types, Conditional Types
- Flexible Approach: Based on problem at hand apply appropriate solution while considering all the risks
- FrontendReact.js and Flux Architecture: Extensive experience in React.js and Flux Architecture, along with external state management to build robust and performant web applications.
- JS Event Loop: Understanding of event loop, criticality of not blocking main thread, cooperative scheduling in react.
- State Management: Hands on with more than one state management library
- Ecosystem: Ability to leverage vast JS ecosystem and hands on with non-typical libraries.
- BackendSQL - Extensive hands on with Postgres with comfortable with json_agg, json_build_object, WITH CLAUSE, CTE, View/Materialized View, Transactions
- Redis - Hands-on with different data structures and usage.
- Architectural Patterns - Backend for Frontend, Background Workers, CQRS, Event Sourcing, Orchestration/Choreography, etc
- Transport Protocols, such as HTTP(S), SSE, and WS(S), to optimize data transfer and enhance application performance
- Serialization Protocols - JSON and at least one more protocol
- Authentication/Authorization - Comfortable with OAuth, JWT and other mechanisms for different use cases
- Comfortable with reading open source code of libraries in use and understanding of internalsAble to fork the library to either improve, fix bug, or redesign
- Tooling: Knowledge of essential frontend tools like Prettier, ESLint, and Conventional Commit to maintain code quality and consistency.
- Dependency management and versioning
- Familiarity with CI/CD
- Testing: Utilize Jest/Vitest and React Testing Library for comprehensive testing of your code, ensuring high code quality and reliability.
- Collaboration: Collaborate closely with our design team to craft responsive and themable components for data-intensive applications, ensuring a seamless user experience.
- Programming Paradigms: Solid grasp of both Object-Oriented Programming and Functional Programming concepts to create clean and maintainable code.
- Design/Architectural Patterns: Identifying suitable design and architectural pattern to solve the problem at hand.
- Comfortable with tailoring the pattern to fit the problem optimally
- Modular and Reusable Code: Write modular, reusable, and testable code that enhances codebase maintainability.
- DSA: Basic understanding of DSA when required to optimize hot paths.
GOOD TO HAVE:
- Python: Django Rest Framework, Celery, Pandas/Numpy, Langchain, Ollama
- Storybook: Storybook to develop components in isolation, streamlining the UI design and development process.
- Charting and Visualization: Experience with charting and visualization libraries, especially ECharts by Apache, to create compelling data representations.
- Tailwind CSS: Understanding of Tailwind CSS for efficient and responsive UI development.
- NoSQL Stores - ElasticSearch, Neo4j, Cassandra, Qdrant, etc.
- Functional Reactive Programming
- RabbitMQ/Kafka
GREAT TO HAVE:
- Open Source Contribution: Experience in contributing to open-source projects (not limited to personal projects or forks) that showcases your commitment to the development community.
- Renderless/Headless React Components: Developing renderless or headless React components to provide flexible and reusable UI solutions.
- End-to-End Testing: Experience with Cypress or any other end-to-end (E2E) testing framework, ensuring the robustness and quality of the entire application.
- Deployment: Being target agnostic and understanding the nuances of application in operation.
QUALIFICATIONS:
- Bachelor's degree in Computer Science, Information Technology, or a related field.
- 5+ years of relevant experience in frontend web development, including proficiency in HTML5, CSS3, ES6+, Typescript, React.js, and related technologies.
- Solid understanding of Object-Oriented Programming, Functional Programming, SOLID principles, and Design Patterns.
- Proven experience in developing modular, reusable, and testable code.
- Prior work on data-intensive applications and collaboration with design teams to create responsive and themable components.
- Experience with testing frameworks like Jest/Vitest and React Testing Library.
Benefits
- Competitive Salary
- Support for continual learning (free books and online courses)
- Reimbursement for gym or physical activity of your choice
- Leveling Up Opportunities