Dev Retro 2022 - My Journey to Becoming a software engineer
How I started my journey as a self-taught software engineer and ML and how I started freelancing!
8 min read
Welcome to "Dev Retro 2022 - My Journey to Becoming a Software Engineer"! As the year of 2022 comes to a close, I want to share with you my journey to becoming a software engineer. From my early days as a computer enthusiast to my current role as a professional in the tech industry, I will be discussing the education, training, and experiences that have shaped my career path. I will also be sharing some of the personal and freelance projects that I have worked on, as well as the challenges and successes that I have encountered along the way. Along with these experiences, I will be sharing the lessons that I have learned during my journey. Whether you are just beginning your own journey to becoming a software engineer or you are simply curious about what it takes to succeed in this field, I hope that my story will provide some insights and inspiration. So, let's get started!
Personal background 🧑🔬
I'm a young software engineer currently working as a .NET & C# engineer at a consulting company in Paris. In addition to my full-time job, I am also a freelancer on Fiverr. Before my current position, I worked as a machine learning engineer at STMicroelectronics in Grenoble, France. My passion for both machine learning and software development has led me to pursue a career in these fields, and I enjoy writing blogs about my experiences and insights. Overall, my background and experiences have given me a diverse set of skills and knowledge that I bring to my work as a software engineer.
I began my formal education in 2017 when I started studying at the university. For the first two years, I focused on mathematics and physics. After that, I was accepted to study electronics at an engineering school in Bordeaux, France. While I was there, I became interested in software engineering and machine learning, and I began to teach myself these subjects using a variety of resources such as YouTube videos, paid courses, and blogs on platforms like Hashnode. Through this self-directed learning, I was able to gain a strong foundation in these areas and prepare myself for a career as a software engineer.
From a passion to a career... ❤️🔥
A man once said, "Consistency is one of the greatest factors of achievement and success". This quote has always resonated with me, and it has been a guiding principle in my engineering journey. I began my studies in mathematics and physics five years ago, but it wasn't until I discovered low-level programming that I truly found my passion. In 2019, I became fascinated by the endless possibilities of coding, and I realized that it was the perfect way for me to turn my passion into a career. I was drawn to the idea of being able to create my own software and work from anywhere, and I knew that programming was the path I wanted to pursue.
Over the course of 2022, I dedicated myself to consistently learning about software engineering and machine learning. Through this dedication, I was able to improve my skills and achieve some of my goals. I also began freelancing in these areas, building a successful side hustle as a student. My passion for coding, machine learning, and software development has driven me to work hard and pursue new opportunities, and I am excited to see where my journey takes me next.
If you have a passion for a particular field or career, I highly recommend pursuing it and starting ASAP! When you take your passion and turn it into your work, you are much more likely to succeed and achieve great things. It is better to spend a few months or years shifting to something you love than to spend your whole life doing something you don't enjoy. Trust your instincts and follow your heart – you will be much happier and more fulfilled in the long run. Don't be afraid to take risks and make changes in order to pursue your passion. It may not be an easy road, but it will be worth it in the end. So, don't wait – go out and chase your dreams!
Before continuing to read this article ... If you don't know me, my name is Hamza, and I am a C# and ML software engineer. If you want to start developing software and learn ML, as a software engineer, I will guide you in this adventure and give you tips every day, follow me and subscribe to my newsletter to receive my daily articles.
When I discovered Hashnode... ✍️
When I discovered Hashnode 7 months ago, I was thrilled to find such a supportive and informative community of developers and software engineers. I learned a lot from reading articles and engaging with other users on the platform, a special thanks to Edidiong Asikpo (Didi), Victoria Lo, Ayesha Sahar, Chris Bongers, Eleftheria Batsou and others for their content. I also enjoyed sharing my own experiences and knowledge with others. Hashnode was a great resource for me as I started writing articles on my blog and sharing my insights with a wider audience. It felt really fulfilling to be able to help others and share my knowledge, and I was especially proud when I reached 100 followers on the platform. Overall, Hashnode has played a significant role in my journey as a software engineer, and I am grateful to be a part of such a supportive and engaged community
How I learned software dev and ML 🚀
To learn software engineering and machine learning, I first took online courses on Python and also focused on the courses taught by my engineering school. The school's courses were mainly focused on low-level programming in C and object-oriented programming in C++, while the machine learning courses were applied to images and signals. I considered the school courses to be a good way to master the basics of software engineering and machine learning, however, I needed to learn new technologies and frameworks instead of just mastering the theory. In addition to these courses, I tried to take several online courses that helped me improve my software engineering and machine learning skills, I first took Andrew NJ's Machine Learning course, this course provided me with a solid foundation in machine learning and gave me the tools to understand the theory behind machine learning models and neural networks. Then I turned to YouTube videos and articles on how to build machine learning models with scikit-learn and PyTorch. I quickly started putting my knowledge into practice by working on several projects that you can find on my GitHub. I used kaggle to search for available datasets, then developed algorithms to process and visualize my data, then train my model and visualize the results.
What I gained from this journey? 💰
Then I felt that I had acquired enough machine learning skills to start freelancing, I started working on fiver as a machine learning freelancer and was able to generate a good side income, the freelancing experience helped me develop my technical skills as well as other soft skills such as communication and time management, for more details on this experience you can check my previous article: My freelancing experience, how I earned more than $3000 in two months. By the way, if you need me to work on your software development and ML projects, don't hesitate to contact me!
After that, I started focusing on software development with C#, I took a Udemy course that helped me grow my skills in multithreading and object-oriented programming. In addition to this course, I took many free courses available on YouTube and read many blogs.
Freelancing on Fiverr has been a great experience for me as a software engineer. In addition to earning some extra money, I was able to learn a lot of new things through this work. For example, my English skills and communication skills improved significantly as I interacted with clients and communicated about my projects. Overall, freelancing on Fiverr has been a valuable part of my journey as a software engineer, and I am grateful for the opportunities it has provided me.
Csharp and Python 🖥️
Throughout my journey as a developer in this year of 2022, I have learned several programming languages including C# and Python, Python is a high-level, general-purpose programming language, that can be used for different tasks. Python is also one of the most used programming languages in the world, in my opinion, every developer should spend some time learning python because it's extremely easy for beginners, it can be used to develop basic algorithms quickly and without having to worry about the datatypes and other details. It's a popular language for data science, machine learning and deep learning. Python is also used for scientific and computational applications. For C#, developed by Microsoft, C# rose to fame in the 2000s for supporting the concepts of object-oriented programming. It is one of the most used programming languages for the .NET framework. Anders Hejlsberg, the creator of C#, says the language is more like C++ than Java. If you want to learn more about programming languages to learn in 2023, have a look at 5 Most Popular Programming Languages to Learn in 2023
If you are interested in python, Learn object oriented programming in python for beginners! Will help you for sure get into object-oriented programming, you can also have a look at Python - ARTICLES BY HAMZA where you can find my articles to learn python for beginners.
Future Plans ✨
Looking ahead, I am excited to continue to learn and grow as a developer. I'm especially interested in learning more about software development and ML, and I hope to use these technologies to solve problems that can have a big impact and create my own applications. I look forward to continuing to work on my blog to help other developers understand some of the concepts of software engineering and ML and also help them solve problems I've already faced. I also look forward to collaborating with other developers and working on projects that push the boundaries of what is possible with technology.
Thank you for reading, and let's connect! 🤝
Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on Twitter
If you like this article! Don't miss the upcoming ones, follow me and subscribe to my newsletter to receive more!
See you soon :)
Did you find this article valuable?
Support Hamza EL Yousfi by becoming a sponsor. Any amount is appreciated!