What I've learned in 2020, as a developer. 
Tags: developer, devops, programming, mobile
Published: 2020-12-30 15:30:01

Although 2020 was like an alien attack to humanity from the beginning, it also had a lot of good opportunities for learning and experiencing new stuff. I know most of us experience loss of the loved ones, disease, economic disaster and the world almost survived possibilities of war and bigger and deadlier plagues. 

Fortunately, the world went that bad and nothing horrible happened besides the pandemic. So we could chill in our homes and learn new stuff. In this post, I will tell you what I've learned in 2020 and those can be the stuff you'll be learning in 2021! 

![2020 vs. Iron Man](https://dev-to-uploads.s3.amazonaws.com/i/lqv1lyznu08j8gnjkcte.jpg)

## Getting better at Ruby and Rails

Although I started learning Ruby in 2014, but I really needed to get better at the topic. Why? because it is fun. Despite the lack of documentation on deployment and maintenance, Rails is awesome. I always had the bottleneck of deploying and maintaining my projects, so I learned those as well. 

How? you may ask, I should say it was a very painful way to learn. It was mostly reverse engineering of what other projects like _Mastodon_ did. 

Finally, I made a few projects using RoR in 2020. I may make a huge one in 2021 as well, but I still doubt about doing that. 

## Learning Docker 

[Docker](https://docker.com) is awesome. It's really good to learn Docker and use it to manage, develop and deploy projects. Although I have a lot to learn, I added to my knowledge of Docker in 2020 and I won't regret that!

## Flutter

Mobile app development was never my call. But [Flutter](http://flutter.dev) did change my mind. How? Because it is really simple and the result is amazing. 

I always had a strong guard against _React Native_, why? firstly because it's a javascript library and secondly, because it's not really native despite the name. 

In flutter on the other hand, things work differently. It's still not that native, but has stronger bindings to the native libraries. It also uses _Dart_ as the programming language, which has a similar syntax to javascript (at least to me, it looks like JS). 

Flutter made me learn a bit of mobile app development and I have an _overview_ of the process now. 

# A.I. 

I made it a bigger(?) section 'cause I worked on different aspects of Artificial Intelligence. I'll explain what I've learned!

## Image recognition/Identification 

![Not Hotdog](https://dev-to-uploads.s3.amazonaws.com/i/zmf7jgpmon8l6endn3wu.jpg)

Remember that episode from season 4 of HBO's show _Silicon Valley_? The character Jian Yang, designed an application called _SeeFood_. What that app did was simply say something is or is not a hotdog. 

I learned the theory behind the app, and I also implemented a simple version of that as well. I think I need to learn about the whole thing a bit more, because it's really cool!

## Voice assistant 

_MCU_ (stands for _Marvel Cinematic Universe_) has a lot of ideas for you, if you __seriously__ want to create super hero stuff. 

There's the current-time representation of Edwin Jarvis, who served Howard Stark and later Tony Stark in the comic books as __J.A.R.V.I.S__, which is a smart assistant. 

Re-watching the whole franchise, gave me the idea of re-making it. I made my own personal assistant and I also called it Jarvis as well (but later I realized Jarvis is one of the most used names for assistants so I need a better name!). I added machine learning to my assistant and now it works very well! 


![Django Reinhardt](https://dev-to-uploads.s3.amazonaws.com/i/cjsg2p8oiwmyc3ffau70.jpg)

## And last, but not the least : Django and Django ReST framework

After years of _playing_ with Python, I did a lot with that amazing language. Besides A.I, I also started learning DRF. Why? Because it can help me find a job easier. I actually did not spend a lot of time on that, but I'm sure I can make a really _big_ project in DRF. And I may do it in weeks. 

# What should I do for 2021? 

I don't really know. I may learn PHP as well, I may learn React or Vue, there are always a lot of ways. For now, just have happy and nice holidays!