My First Week in a Startup with React and TypeScript -> Navigating Frontend Development, Version Control, and Team Collaboration.
Table of contents
- Introduction
- 1. React with TypeScript: The use of Strict Typing
- 2. Optimizing Code with Map Functions and UI Design
- 3. React-Developer-Tools: Debugging Made Easy
- 4. Setting Up with NVM
- 5. Git Mastery: Stash, Branching, and More
- 6. Creating Stunning Preloaders with GSAP
- 7. Rapid Development with Tailwind and Flowbite
- 8. SVGs: Mastering Paths and Colors
- 9. Collaboration with Microsoft Teams
- Conclusion
Introduction
Starting my journey at my first company has been an exciting blend of new experiences and challenges. In just one week, I've had the opportunity to dive into React with TypeScript, collaborate with a team of highly skilled and experienced professionals, and immerse myself in various tools and technologies. In this article, I'll share the key lessons I've learned and how they've shaped my early development as a software engineer.
1. React with TypeScript: The use of Strict Typing
Transitioning from JavaScript to TypeScript in React was one of the most significant shifts this week. I focused on converting JSX files into TSX, which allowed me to leverage TypeScript's strict typing to catch errors early and improve code quality.
React.FC in TSX: Using React.FC for defining functional components in TypeScript made my components more predictable and easier to debug.
State Persistence Hooks: I created custom hooks to manage state persistence, ensuring that the state is maintained across different components and re-renders.
Interfaces: Implementing interfaces helped me enforce consistent data structures, making my components more reliable and easier to manage.
2. Optimizing Code with Map Functions and UI Design
I learned how to optimize code by using map functions to iterate over arrays of objects. This approach allowed me to generate multiple elements from a single TSX file, streamlining the codebase and reducing redundancy. Additionally, I worked on enhancing the responsiveness and UI design of the application using Tailwind CSS. This experience not only improved my front-end development skills but also taught me the importance of clean and efficient code in delivering a polished user experience.
3. React-Developer-Tools: Debugging Made Easy
React Developer Tools became an invaluable asset in my toolkit. The ability to inspect the component hierarchy, monitor state changes, and track props helped me debug issues quickly and efficiently.
4. Setting Up with NVM
NVM (Node Version Manager) was a game-changer for setting up the application in my local machine environment. It allowed me to switch between different versions of Node.js seamlessly, ensuring compatibility.
5. Git Mastery: Stash, Branching, and More
Working in a team environment meant dealing with multiple branches and frequent code updates. I honed my Git skills, learning how to use commands like stash, stash-pop, and -u for managing branches, pulling updates, and resolving conflicts.
6. Creating Stunning Preloaders with GSAP
I delved into GSAP (GreenSock Animation Platform) to create a smooth and engaging preloader. GSAP's powerful animation capabilities allowed me to enhance the user experience right from the start.
7. Rapid Development with Tailwind and Flowbite
Tailwind CSS and Flowbite became my go-to tools for rapid development. Their utility-first approach and pre-built components enabled me to build responsive and aesthetically pleasing interfaces in no time.
8. SVGs: Mastering Paths and Colors
Working with SVGs opened up new possibilities for creating scalable and customizable graphics. I learned how to manipulate SVG paths and switch colors dynamically, adding a layer of interactivity to the application.
9. Collaboration with Microsoft Teams
Finally, collaboration is key in any project, and Microsoft Teams facilitated seamless communication with colleagues and team members. Whether it was discussing project requirements or sharing progress updates, sharing resources like documentation, etc. Teams kept us all on the same page.
Conclusion
My first week at my first company has been an enriching experience filled with learning and growth. From mastering TypeScript to working on responsive design and collaborating with skilled and experienced team members, every challenge has played a significant role in shaping my development as a software engineer. I’m excited about the journey ahead and the opportunities the coming weeks will bring.
If you're interested in similar topics or want to connect, feel free to reach out to me on linkedin.
Subscribe to my newsletter
Read articles from Pratyush Prakhar directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by