Wassim Rached

Hello, My name is Wassim Rached. I am a dedicated software developer from Tunisia with a deep interest in backend development. My journey in web development began at 17, and over the years, I've grown passionate about exploring new technologies and frameworks. I thrive on learning and continuously strive to stay updated with the latest industry trends.

Background and Education

I began my journey into software development in 2021, learning on my own and quickly developing a passion for the field. Currently, I am pursuing my studies at the Higher Institute of Technological Studies in Charguia, focusing on backend development and software architecture.

  • 2021

    I started learning web development independently, mastering HTML, CSS, JavaScript, and exploring Node.js and React frameworks.

  • 2022

    Enrolled in IT program at Higher Institute of Technological Studies, gaining practical software development experience.

  • 2023

    In my second year of IT studies, I specialized in Information Systems Development, focusing on software development, DBMS, and system architecture.

  • Present

    I specialize in backend development and software architecture, ensuring secure, scalable solutions through the application lifecycle.

Learning Approach

To stay current in the rapidly changing world of technology, I utilize various learning resources:

  • Documentation: I find official documentation the most useful resource for deep understanding and accurate information.
  • Books: Comprehensive and in-depth, books provide a solid foundation and detailed explanations.
  • Blogs: Insightful articles help in grasping real-world implementations and best practices.
  • Reading Direct Source Code: Examining source code offers practical insights into how technologies are implemented.
  • Interactive Platforms: Hands-on learning through interactive coding platforms solidifies my knowledge through practice.
  • Courses: Structured courses offer guided learning and cover complex topics in an organized manner.
  • Lectures and Presentations: Non-technical lectures and presentations provide insights into design choices, programming principles, and software architectures.

These resources have been incredibly helpful in my learning journey, giving me a lot of knowledge and practical insights. They've really boosted my understanding of different technologies.

Passions

My passion for learning and tech has led me to develop a variety of interests:

  • Continuous Learning: Always eager to learn new technologies, languages, and methodologies.
  • Problem Solving: Enjoy tackling complex problems and finding efficient solutions.
  • Open Source Contribution: Passionate about contributing to open source projects.
  • Mentorship: Helping others by sharing knowledge and mentoring new developers.
  • Software Development: Love creating clean, efficient, and maintainable code.
  • Innovation: Interested in exploring innovative ideas and cutting-edge technology.
  • Community Engagement: Active participation in tech meetups, conferences, and online forums.

Aspirations

Looking ahead, I'm interested in several exciting possibilities in the tech field. Here are some goals I'm looking forward to pursuing:

  • Cloud Engineer: Aim to master cloud technologies and become a certified cloud engineer.
  • Software Architect: Aspire to design scalable and robust software architectures.
  • Technical Lead: Lead and manage a team of developers to deliver high-quality software.
  • Entrepreneur: Start and run a successful tech company or startup.
  • Author: Write a book or create comprehensive tutorials on software development.
  • Conference Speaker: Speak at tech conferences and share insights on software development and architecture.
  • Advanced Degrees: Pursue further education, such as a master‘s or Ph.D. in computer science or a related field.

The Complete Tech Journey

Early 2021 - Beginning of My Software Development Journey

My journey into web development began when a relative, who works in the tech industry, mentioned that even my aging PC could run code, albeit slowly. Intrigued by this possibility, I started exploring:

  • Learning about the information technology field, which sparked my interest in web development.
  • Mastering HTML and CSS mostly through YouTube tutorials.
  • Overcoming challenges with JavaScript and completing small design projects.

This revelation opened up a new world of possibilities, inspiring me to dive deeper into web development despite the limitations of my hardware.

Summer 2021 - Full-Stack Exploration

To advance beyond HTML and CSS, I began learning frameworks. During this time, I focused on:

  • Node.js and Pug.js for building dynamic websites.
  • React to create interactive full-stack applications.
  • MongoDB for database management in conjunction with the MERN stack.
  • Deploying servers to Heroku and deploying both frontend and backend applications.

Additionally, I gained insights into server addresses, ports, and other important infrastructure concepts. This period of exploration helped me expand my skills and prepared me for more complex development tasks ahead.

Summer 2022 - High School Graduation

After graduating from high school, I dedicated my summer to advancing my technical skills through various projects. Key accomplishments during this period include:

  • Learned PostgreSQL, SQL for database management.
  • Explored Next.js for server-side rendering and Docker for containerization.
  • Familiarized myself with Redis for caching, and honed UI/UX skills using Figma, Tailwind CSS, and Bootstrap.
  • Learned GraphQL for efficient data fetching and management.
  • Developed a comprehensive Reddit clone project, showcasing most of my newly acquired skills.

These skills significantly enhanced my ability to create more dynamic and scalable solutions, particularly in backend and full-stack development.

Late 2022 - Higher Education at Charguia

This period marked the beginning of my formal education in Information Technology at the Higher Institute of Technological Studies in Charguia. Here are the key areas I focused on:

  • Deepened understanding of binary computer hardware, CPU architecture, RAM, logic circuits, and assembly language.
  • Focused on algorithms and algorithmic thinking, enhancing problem-solving skills.
  • Self-studied Python, C, C++, and object-oriented programming principles through books and competitive programming on platforms like CodeChef.

Exploring low-level hardware and binary systems, alongside understanding pointers and algorithms, significantly broadened my perspective and deepened my problem-solving skills.

Early 2023 - Expanding Technical Knowledge

I wanted to expand my technical knowledge, so:

  • Learned more about networking and various protocols.
  • Applied my Python knowledge and began learning Django to diversify my backend development options.
  • Studied good practices for building better REST APIs.
  • Gained a deeper understanding of SQLite and real-time sockets.

I found Django particularly exciting. coming from Express.js, the extensive documentation and built-in features were a game-changer. This experience opened up new possibilities for choosing the right backend solutions for different projects.

Late 2023 - Expanding Skills and Knowledge

During this period, I focused on broadening my technical expertise and deepening my understanding of various development tools and methodologies:

  • Gained proficiency in Angular, enhancing my frontend development skills.
  • Deepened my understanding of Git and GitHub, mastering different types of Git workflows for efficient version control.
  • Started studying Java and UML for better software design, diagramming, and architecture planning.
  • Enhanced my database management skills by learning SQL with Oracle.

This phase was dedicated to continuous learning and skill enhancement, preparing me for more complex and challenging projects.

Early 2024 - Advanced Technologies and Skill Development

This period was dense with new frameworks and learning more about software architecture and planning. Here are the key areas I concentrated on:

  • Mastered Spring and Spring Boot for robust web applications, including security, RESTful APIs, and data handling, through official documentation.
  • Advanced Docker skills for containerization and explored Symfony for full-stack development, alongside software architecture principles from university and online resources.
  • Enhanced proficiency in Java and PHP, and mastered UML for advanced diagramming and software design.
  • Learned More on Python to improve performance, maintainability, and follow design principles.
  • Explored GitHub Actions for CI/CD pipelines, concentrating on pipeline design and integrating methodologies such as FDD, TDD, DDD, and Agile development.
  • Gained insights into software architecture, including best practices for scalable and maintainable applications.

All these skills together finally fixed my biggest problem: planning for big scalable projects. Now, I am confident in my solutions for the real world, which led me to start planning for my next big platform project, QuizHub.

Summer 2024 - Seeking Opportunities In Software Development

In the summer of 2024, I planned, designed, developed, tested, deployed, and maintained all aspects of QuizHub, following the complete DevOps cycle. During this time, I also learned more about design patterns, clean code, and planning for future projects. I gathered feedback, refined the project, and successfully released the first live version. Currently, I am working on my profile to search for a job, aiming to gain experience at the enterprise level and looking forward to meeting and collaborating with my future team to start reaping the benefits of my continuous learning journey.