My Journey @42 Wolfsburg
From Coding Novice to Software Engineer
About My Journey
My journey into the world of coding began with SheCodes, where I developed a strong foundation in web development. The experience honed my problem-solving skills, allowing me to tackle complex coding challenges with confidence. At SheCodes, I learned the importance of collaboration, working alongside fellow coders to create innovative projects and share knowledge.
My passion for coding brought me to 42 Wolfsburg, a unique school focused on peer learning and project-based education. There, I expanded my creativity through challenging projects, deepening my technical skills and commitment to growth.
Throughout my coding journey, I have embraced the values of empowerment and diversity. I believe that coding is a powerful tool that can drive positive change in the world.
As I continue to grow as a developer, I am committed to leveraging my skills to create impactful solutions. I am excited to take on new challenges, collaborate with diverse teams, and contribute to projects that make a difference. My coding journey is a testament to the power of passion, dedication, and the endless possibilities that come with a growth mindset.
About 42 Wolfsburg
42 Wolfsburg is a coding school that offers a unique, project-based curriculum. It's a place where you can learn to code, collaborate with others, and build real-world projects.
Free
Peer-to-peer Pedagogy
Gamified Curriculum
Campus Open 24/7
Student Life Support
My timeline at 42:
A bit of context: The 1st step into the 42 Word is the registration process, which involves completing a series of online challenges to demonstrate problem-solving skills and logical thinking.
The 2nd is the Piscine, a 4-week intensive bootcamp that serves as an introduction to the school's pedagogy and community. After completing the Piscine, students are eligible to enroll in the core curriculum, which consists of a series of coding projects that cover a wide range of topics and technologies.
The core curriculum at 42 is structured to be completed within 12 to 24 months. The curriculum is divided into circles, each representing a set of progressively complex projects that build on the skills acquired in the previous circles.
- Piscine
- Core Kick Off
- Finished Libft
My 1st project - Finished 1st circle
BornToBeRoot, Get_Next_Line and Ft_Printf - Finished 2nd circle
Pipex, Push_swap, and So_Long - Finished 3rd circle
Minishell, Philosophers - Finished 4th circle
Cub3D, CPP Modules(0 to 4) and NetPractice - Finished 5th circle
IRC and Inception - Finished 6th circle
Transcendence - Core Completion! ๐
Some projects:
So_Long
A small 2D game using minilibx. Learned about textures, sprites, and game design basics.
Minishell
Built a simple Unix shell, which deepened my understanding of process management and pipes.
Cub3D
Inspired by the first FPS ever, I used ray-casting to create a dynamic 3D environment.
Transcendence
Designed and developed a full-stack web application with a focus on user experience and real-time features.
So_Long
So_Long was my first graphical project at 42 Wolfsburg and taught me a lot about textures, sprites, and game design basics.
The project is written in C and utilizes the minilibx library for rendering graphics. It features a grid-based map where the player navigates through a maze to collect items and reach the exit. The game employs basic 2D rendering techniques to draw the map, player, and collectibles. It includes handling keyboard inputs for player movement, collision detection to prevent the player from walking through walls, and logic to track and display the player's progress. The project also covers the implementation of game states, such as winning the game after collecting all items and reaching the exit.
Recreation of So_Long in JS
Use the arrow keys to move the player and collect all the pink circles and exit through the white hole!
Congratulations!
You collected all cherries!
Minishell
Minishell is a simple Unix shell that I built as part of the 42 Wolfsburg curriculum. The project deepened my understanding of process management, pipes, and system calls in C.
The shell supports basic commands such as ls, echo, pwd, and cd, as well as environment variables, signal handling, and error management.
Cub3D
Cub3d is written in C and utilizes the minilibx library for rendering graphics. It employs ray-casting, a technique used to simulate a 3D perspective within a 2D map, similar to the rendering technique used in classic games like Wolfenstein 3D. The game features texture mapping for walls and sprites, allowing for a more immersive visual experience. It includes handling keyboard inputs for player movement and mouse inputs for camera rotation, providing a smooth and interactive user experience. The project also covers collision detection to prevent the player from walking through walls, and the implementation of a game loop to manage rendering and game logic efficiently. Additionally, it involves parsing and loading map files, managing game states, and optimizing rendering performance to ensure smooth gameplay.
Transcendence
Transcendence is a comprehensive web application project that showcases a wide range web development techniques and best practices. The project is built using Django as the backend framework, providing a robust and scalable foundation for the application. For the frontend, Bootstrap is utilized to create a responsive and visually appealing user interface.
The backend leverages PostgreSQL as the database, ensuring efficient data management and retrieval. The application includes standard user management features such as authentication, user profiles, and user management across tournaments. Remote authentication is implemented to enhance security and user convenience.
In addition to the core functionalities, the project introduces a secondary game, Stone, Paper, Scissors, with user history and matchmaking capabilities. Users can customize their gaming experience with various options, and an AI opponent is available for single-player mode. The application also supports Two-Factor Authentication (2FA) and JSON Web Tokens (JWT) for secure user sessions.
Transcendence is designed to be accessible on all devices, with expanded browser compatibility and features to support visually impaired users. The basic Pong game has been replaced with a server-side version, providing a more interactive and engaging experience. The application supports five languages, making it accessible to a broader audience.
What This Journey Means to Me
Completing the Core at 42 Wolfsburg was more than just learning to codeโit was a transformative experience.
Gallery
Get in Touch
Let's connect and chat about coding, tech, or anything else!