Posts

A quick overview on Git and Github

Hacktoberfest is here and it is an awesome moment to contribute to open-source! However, Git and Github can be quite scary, so let’s talk a bit about the basics of these two extremely useful tools! Versioning Git is a versioning system that was designed focusing in code versioning. It basically helps us to handle file modification in an easy and painless way. Github, on the other side, is a company that implemented a system that allows you to use git to version your code while storing the code in their cloud.

From Oceanographer to self-taught developer working at Stripe

Leticia is a Brazilian developer who changed career to web development four years ago. She previously worked as an Oceanographer but caught the coding bug! Now she works as a developer at the payments solution company Stripe. She is a great example of a software engineer without a CS degree who has a successful career.

How I deal with my impostor syndrome

As the years went by, I developed a framework to deal with my impostor syndrome in different scales it occurs. It is not something super complex or with a deep theoretical background, but it worked for me and I’ve been using it for the past year.

We need to talk about Julia language

Julia is a programming language that I heard a lot for some time now and I knew it deserved my attention. However, a number of libraries and frameworks for machine learning and deep learning keep emerging and I ended up prioritizing them first.

Predicting victims on national roads in Brazil - Part I

This week, I finished my Nanodegree in Machine Learning Engineer by Udacity. To finish the course, I had to create a final study. Talking with a dear friend of mine, Pedro, he said that the National Highway Police of Brazil had a dataset on car accidents in federal roads. I decided to study this dataset, and try to predict which types of victims an accident would have based on the local, hour and accident characateristics.

10 tips for switching from Matlab to Python

I started to study programming logic when I came across problems that required knowledge in Matlab. After a while studying Matlab I was suggested to switch to Python for its ease, simplicity and for being able to be applied to numerous areas (besides being free).

How to run parallel processes?

This week I ran into a case were I should run several scripts with analysis that could run simultaneously. The analysis results would then be used as basis for another analysis, that could only run after all other scripts ended.

My first year as a developer

One year ago I started my new job as a Backend Python Developer. I have dropped a career, a profession and I almost drop my master degree. When everything happened, I think I didn’t understand the proportions that decision would have in my life. Now, one year later, I want to tell you a little bit about what happened this year.

Dev for dummies

Few months ago I decided to drop my career as an oceanographer and decided to become a backend developer with Python, as I told some of you here. After my blog post circulates on the internet, I got an invitation to talk on the Caipyra conference, in Ribeirão Preto (thanks Marco Rougeth).

There is just too much information..

Hey!

On the last post I have written some tips for those who are starting in the world of programming, but today I want to talk something that happened to me before, and is happening to me now: There is just too much information on the internet! You will say that this is an obvious observation, but when you want to study something, this is just overwhelming!

Awesome (free) contents to study computer science

I didn’t study computer science in college and I never took a “formal” programming course. Without going into too much detail, I want to reaffirm that, looking at the past, I by no means believe that having gone to another college (different from the profession I have today) was a waste of time. <! - more -> A university teaches many things that you cannot learn by yourself, behind a computer, sinking in a sea of content.

What does it mean to test software?

Although we think of a software as being this one massive thing that does a lot of things, we can thing of a software as a huge pile of small functions that work together. A function is basically something that receives inputs, work with them internally and returns an output.

Why should your company be in technology communities?

My participation in technology communities over the last 3 years, lead me to notice that it’s always tricky to show to companies which don’t interact with this technology ecosystem, how beneficial it is for them to get involved. Many people (developers or not) struggle within their companies, trying to show how much they could benefit from this.

Outreachy Report V

This is the fifth post on my internship on the Outreachy Program with Project Jupyter. The previous posts are available and should be read in order if you want to understand the big picture: Outreachy I Outreachy II Outreachy III Outreachy IV Increasing documentation Native Authenticator was pretty advanced, but we still needed more information available on the documentation. And this got me thinking: what is relevant to make a good documentation?

Predicting victims on national roads in Brazil - Part II

This is the second part of my study on predicting the type of victims an accident can have based on the data from the National Highway Police (Polícia Rodoviária Federal), in Brazil. This was my final report for my Machine Learning Engineer Nanodegree and my first technical diploma in the computer science field (yey!).

My favorite testing tools on Django

In today’s development, tests are a fundamental tool for keeping things nice and easy and to keep programmer’s sanity. I’ve been using a set of tools for developing my web applications with Django and it is time for me to share a little bit about them.

The Ambicious women

The lovely Pyladies-Salvador asked for a text to debut their blog and told me that they would publish it on Women’s Day. I reflected a lot on what to write, what I could somehow add to that day that has so much meaning, and decided that I would like to talk to you about ambition. How ambitious do you consider yourself?

My favorite Python tricks

I was recently helping a friend who was transitioning from Matlab to Python. Giving him some tips, I realized that many of the cool nuances I learned in Python were taught me by someone in a “do you know that?” style or to solve a very specific problem that could be solved more simply. When helping this friend who is there on the other side of the world, I remembered the time when there was no one to teach me a cool trick and, in fact, I didn’t even know it could exist.

My experience with blogs, websites and my posts

Writing is a good way to evolve your career. You can go deep in studies you are doing, can generate content to people that may be needing a more friendly view and it is a good way to gain visibility (thinking in future jobs). Once you decided to start a new blog, a doubt pops up: where am I going to post this content?

Using MongoDB with Python and MongoEngine <3

I started working with MongoDB for fun and for some side projects in the last year. The main idea of using MongoDB is its flexibility. The pymongo library is really nice for getting some information, but on a project more complex, we may need something a little more intense. A nice alternative is the MongoEngine library, which is an Object-Document Mapper (ODM), which treats MongoDB documents as a kind of ORM.

Class Based Views on Django

This post could also be called what comes after the tutorials :)

In several Django tutorials, we learn how to receive requests and return responses with html pages having several information. This is very easy to start understanding the process that Django does: receiving requests and returning templates. But what happens after that?

How to review someone else's code

Code review is a complicated task and can become overwhelming, specially when you have no idea how to do it. However, code review can be a powerful tool to increase code quality and assure “healthy” deploys.