A conference, an influencer and a bold move

When I decided to try to write a book, the only certainty I had was that I was not an expert on a lot of topics I wanted to write about. So I knew that to make sure I was writing a book that was correct regarding the industry standard I would need to study… a lot. For instance, I have a whole chapter dedicated on software developers: expectations for each phase of the career, the myth of the superhero developer and the “soft” vs “hard” skills.

What do I do here, anyway?

This is the translation of the keynote talk I gave at Pycon Brazil 2022. The talk was about leading complex software engineering projects and what is the major skill needed for the job

I'm not the best

A chess board with the white pieces close and faded and the black pieces in focus.

All my career I worked in places where people were better than me. Like… way better, in one thing or another. They were truly exceptional people.

Awesome (free) contents to study computer science

A keyboard picture slightly faded

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?

A mountain tale

A guy is setting on the top of a mountain and watching a beautiful sunset. The light is so bright you almost can't see the landscape.

There are people who can play the piano wonderfully while others can’t even clap in rhythm (me). There are people who can express themselves well and people who cannot deal with the countless thoughts that flow through their brain. There are multiple types of intelligence. In the past few days I have had several philosophical conversations with people of all kinds. A recurring theme was a feeling of inability, of mediocrity, mixed with drops of sadness and a handful of blindness.

My favorite Python tricks

A photo of a computer with a vase with flowers and a coffee mug on each side

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.

Counting HTML tags with HTMLParser

a blackboard with 3 chalk lines

I fell into a case where I wanted to count the tags that were present in an HTML file and I didn’t want to download any library (like BeautifulSoup) to do so. I searched online and realized I could use the HTMLParser to do that.

The complete step-by-step guide to create and deploy your multi-language website - Part 1

A black and white picture of a staircase over a white wall

I’ve written over and over about why you should have a blog and write on it. I made this website using nothing but free tools. The only thing I paid was my domain (leportella.com) and I find this super cool! 🤩

When I created my website I realied on a lot of different tutorials, one for each part of it. Because the process of creating it can be quite tricky, I decided to create a full, step-by-step tutorial.

Should I speak at this event?

A black woman wearing glasses and a blazer is on a whiteboard while a blond woman in sitting looking to the whiteboard with a tablet on her hand

A friend of mine told me this week that she was invited to give a talk at a conference, and asked me what I thought about it. I told her all the things I consider when giving a talk and I discovered I consider a lot of things!

Learning the name of things: Ternary Operators

A paper tag tied together to a metal piece

One thing that I always say that is hard from learning computer science by yourself, is not knowing what you don’t know. I learned the name of a couple of concepts that I am going to share, so people know they exist 😊

When I started studying Python, if a new variable depended on another variable, I would write something like this:

A quick overview on Git and Github

A neon sign where you can read the word Change

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

A photo of a microphone with a retro-style and a faded background

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

a person sitting with their head down on a black background

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..


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!