A Tale of Recap: My Journey as a Computer Scientist in 2022 - Dev Retro 2022

Photo by Clark Tibbs on Unsplash

A Tale of Recap: My Journey as a Computer Scientist in 2022 - Dev Retro 2022

A journey of a thousand miles begins with a single step...

ยท

6 min read

When 2022 started I decided that I would seize it and that it would be the best year so far in terms of learning about new topics and opportunities that I would not let pass by. This is what I accomplished by trying as hard as ever in any period consisting of 365 days in my life.

I'm writing this right now with the hope that it serves as a motivation for those of you who want to take out the best of yourselves. And, long story short, the secret for it is no secret at all: just try every day to be better than the day before.

With that being said, here we go!

Software Developer

When it comes to the software developer in me, I think this year I indulged myself a lot. I tried to learn all I could from all the teams that I was working with at the moment, and the fact that I get to work in such different environments allowed me to get a better understanding of several areas of software development that I was not familiar with at the moment.

A non-exhaustive list of the roles that I have been involved in is:

  • Being a Back-End Developer in several types of projects such as e-commerce websites, booking services, and accessibility tools. These kinds of tasks allowed me to get deeper in my knowledge of frameworks such as Django and Node.js. These both are highly recommended if you want to get started in Back-End development.

  • Being a "Front-End Developer". And yes, here I use quotes :). And the reason is that even if I did have some experience doing some Front-End development I did not enjoy the tasks very much and I always ended up doing the easiest tasks that my team could give me. But still, I was able to collaborate on some landing pages here, some widgets there, etc... I don't regret the time I spent doing these jobs. It helped me a lot in deciding that these were not skills that I wanted to have at the moment and that I should be focusing on something that I enjoy more. And that is what I did! Even though, I have to say that React is a good library if you want to start with Front-End development.

  • Being an Automation Engineer. I don't know if this is the appropriate name for this role, but my tasks were mostly related to creating automated tests that tried some functionality on websites. This was an exciting role! I learned a lot about the theory behind testing and why it is such an important part of software development. Although I was mostly doing end-to-end testing this opened the path to other types of testing such as unit testing and integration testing. And, right now, testing is one of the topics that I'm more passionate about. My recommendation, if you want to get started with end-to-end testing, would be to use Cypress. It is a very powerful library that will allow you to take your tests to the next level.

  • Being a CI/CD Engineer. As before, I don't know if this is the name of the role, but that doesn't matter. The reason why I call it this way is that I get to work closely on creating deployment pipelines for other people's projects. It is a role where I have to keep myself up-to-date with Python and Ansible.

Data Scientist

This year was also when I took my first steps as a Data Scientist. I enjoy this area of Computer Science and I would like to do more of that shortly.

I started by taking most of the courses offered by Kaggle and some of the things I learned there allowed me to make actual progress in some real-life scenarios manipulating and interpreting geospatial data. I increased greatly my knowledge of libraries like GeoPandas and I started to use Jupyter Notebooks much more.

I would recommend everyone with an interest in programming to try and do some Data Science. There is a lot of value in the data and you can make a real impact on the world if you take the time to learn to interpret data correctly.

ICPC Problem setter

Being a former competitive programmer I find myself now on the side where I can collaborate creating good contests for the current competitors. This year was no exception.

I'm glad that I had the chance to collaborate with a group of wonderful people creating the problem set for The 2021 ICPC Caribbean Finals (Qualifier). This was a good way to keep my knowledge about algorithms and data structures fresh. Also, it allowed me to train my writing and code-reviewing skills, since we had to create statements in several languages and provide solutions for problems using several languages also (only this time I mean programming languages :)).

For those of you who don't know what Competitive Programming is, I would recommend it if you are looking for some algorithmic challenges. You can check about the World Finals held this year here.

Teacher

Last, but not least. This year I had the chance to teach courses about Data Structures and Algorithms and Introduction to Programming in Python. The first one was for students of Computer Science and the second was for high school students pursuing a major degree in Chemistry.

I would say that the teaching experience is one of the more gratifying I had this year. It pays off when you see your students improving after every lesson. And it comforts me that I might have been able to teach something useful to someone.

Also, because of my passion for teaching and spreading knowledge, this year I decided to start writing on a blog about topics that I found interesting. You can check it out here. Keep tuned for more articles in the future and don't be hesitant about giving some feedback. It will be much appreciated.

On top of that, I created this open-source repo Data Structures and Algorithms in Python. It was supposed to be a way for me to learn more about Python, but now we are trying to create a community to spread knowledge about Algorithms, Data Structures, Testing, Object-Oriented Programming, and Python. You are welcome to collaborate!

Conclusions

I have to say that for me it was one of the greatest years I've had in terms of personal growth. When I look back it seems like I've walked a long road. But it has only been the effort put on every day to become a bit better than I was the day before.

One last thing to consider though:

I was able to make this journey because I did not take it alone. The people that support you every day, your teammates, your loved ones... Your merits are theirs also in a great part. So, don't forget to thank them.

And that's it. When writing this I came across the idea that, to achieve many of the goals related to Computer Science, Software Development, etc... I had to change a set of habits in some aspects of my life. Maybe I will write about it shortly, so stay tuned if you want to know my experience about how some external factors can influence your ability to learn and achieve goals if you are a programmer.

Also, you might have noticed that I did not go too deep into details when listing some of my working experiences. In case you want to have a much more in-depth conversation about some particular topic (framework, library, work experience, or anything related) you can leave a comment or reach me directly. Maybe it will lead to some interesting debates. I sure hope so!


๐Ÿ‘‹ Hello, I'm Alberto, Software Developer at doWhile, Competitive Programmer, Teacher, and Fitness Enthusiast.

๐Ÿงก If you liked this article, consider sharing it.

๐Ÿ”— All links | Twitter | LinkedIn

Did you find this article valuable?

Support Alberto Gonzalez by becoming a sponsor. Any amount is appreciated!

ย