Onethread
Onethread offers a full stack of software for task management, real time communication and video conferencing with a project management tool at its core. If you want to learn more about Onethread check out this link (opens in a new tab).
Professional Experience as a Full Stack Engineer (Frontend Focused)
I spent a fulfilling year working as a full-stack engineer, primarily focusing on the frontend, after initially joining as an intern. This experience afforded me valuable insights into the product lifecycle, emphasizing the importance of strategic technology choices at different stages.
Rapid Development in a Startup Environment
Being a startup, we underwent a rapid development phase, constantly experimenting with new features and gathering user feedback. However, the pace of continuous feature development often resulted in accumulating technical debt. Optimized solutions were sometimes elusive before a feature gained user acceptance.
To address this, we adopted a strategy on the client side, constructing reusable components designed for flexibility and easy adaptation to different contexts. On the backend, we adjusted our models to align with evolving business requirements and ensure data consistency with user needs.
Application Optimization Efforts
As time progressed, we observed our application size steadily growing. To counter this, we invested extra effort in optimizing the application. After optimizing approximately 50-80% of the main layouts, our build size significantly reduced from 27MB to 12MB. Subsequent gzipping further minimized our JS bundle to around 3MB.
Technology Stack
Our primary tech stack for this product was MERN (MongoDB, Express.js, React, Node.js). While my role primarily involved overseeing the frontend, I also delved into backend tasks when necessary. We employed a diverse set of technologies for building the product, with a strong reliance on key services and libraries.
Frontend | Backend | Other Services |
---|---|---|
React | Node Js | Pusher |
Styled Components | Express | Hotjar |
Redux | MongoDB | Sentry |
Material UI | Mongoose | AWS |
Blueprint Js | Redis | Google Analytics |
React Table | Elasticsearch | Firebase |
AWS Services
In managing our server, we leveraged AWS services such as S3 for storage and EC2 for computing resources.
This journey has been instrumental in enhancing my skills, providing hands-on experience in making strategic technological decisions, and contributing to the development of a dynamic product in a startup environment.
© Shamim Fahad, 2024