What I've built and learned in 2019Uzay-G
This post is a recap of everything I've learned and done in 2019 and the projects I was and am building. I've included links to all the amazing resources I used to become a better programmer.
This year is the one I truly started programming. It all started on a rainy day in January when I was sitting at my desk with an English assignment. What I had to do was robotically scan a text for literary techniques and to be honest, I was downright bored out of my mind. So, although my coding knowledge was very limited. I had the idea to build a website that would scan a text and return all literary techniques so no one would have to do it again. And for a novice programmer, that is a difficult task. But the fact that I had this motivation is what allowed me to get somewhere with this project. You can view the codebase for the project named Litscan on Github (keep in mind I was a beginner if you look at it :] ).
Although the project did not get to deployment or production, I am so happy I did it because it sparked my interest in coding and taught me so much! I went from coding static html pages all the way to learning NLP and building my first webserver.
Working on this and learning about all the components took a bit of time but I then did an internship at Tweag. I was mentored by Matthias Meschede and Arnaud Spiwack and I also had the opportunity to learn from Guillaume Bouchard and Kris Jenkins. They opened my eyes to what it's like being a professional developer and different paths you can take to become one.
I then started completing the open source Odin Project curriculum for web development. It's an awesome resource built with the help of volunteers and open source maintainers. I recommend it and I believe it's one of the best resources to get from zero to hero in webdev. It made me discover Ruby and it's Rails framework that I love using. It also introduced me to the world of open source and developed my knowledge of git.
As a part of this curriculum, I followed Michael Hartl's in-depth Ruby On Rails tutorial. Once again, I decided to apply the methods of project based learning. Instead of building the sample app of the book, I decided to follow the same outline but instead build Metadigest. Metadigest is a newsletter I built in Rails that scrapes different APIs to get the the most popular tech content for the week. I then curate these articles and send the digest! Through this, I learned about encryption, api requests and also how to setup a production rails website with an AWS ec2 container.
Flash forward to now, I'm learning a lot about computer science, hacking and AI with these great resources: - Free Programming Books, a collection of amazing programming books for pretty much everything. - Tech Interview Handbook, tips and tricks to hack your coding interview - Hacker101, a great free intro to hacking. - Elements of AI, an open MOOC introducing people to AI built by the Swedish government.
While I learn with this free content, I am also launching Devolio, an open platform for developers to share, discuss and create. This is my biggest project for now and I can't wait to see what it turns into :)
The idea of open-sourcing the code for Devolio is very alluring. I know that if I can grow an open source community the project will become amazing because the ability for any dev to just contribute and use their creativity to make the tool better for like-minded people is extremely powerful.
Vue, WebAssembly and Node
I think learning more about ethical hacking could be a very interesting subject to explore with this hacker101 course. Once I complete that, I want to try my hand at their Capture the flag mock exercises and bug bounties.
Design is a fun part of webdev and I want to get better at making beautiful websites and mockups with Figma. Here are some of the appealing sites I've found: - Igma.im - vincentsaisset.com - burakaslan.me - davideperozzi.com
Open Source Organizations
I'm currently working with different open-source organizations as part of the Google CodeIn and I love coding with others on an open source project and the collaboration that is required for building complex tools. I want to find more orgs that I can contribute to and develop. Do you know any welcoming ones?