<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Andressa Cabistani</title>
    <description>The latest articles on DEV Community by Andressa Cabistani (@andressadotpy).</description>
    <link>https://dev.to/andressadotpy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F346292%2F24c0158b-d7f5-4803-a131-f641ddcb9ca3.jpg</url>
      <title>DEV Community: Andressa Cabistani</title>
      <link>https://dev.to/andressadotpy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/andressadotpy"/>
    <language>en</language>
    <item>
      <title>Twitter is ending, where do we go?</title>
      <dc:creator>Andressa Cabistani</dc:creator>
      <pubDate>Tue, 15 Nov 2022 02:38:23 +0000</pubDate>
      <link>https://dev.to/andressadotpy/twitter-is-ending-where-do-we-go-1g7a</link>
      <guid>https://dev.to/andressadotpy/twitter-is-ending-where-do-we-go-1g7a</guid>
      <description>&lt;p&gt;I don't believe moving to Mastodon is the only option, I would like to know more opinions&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>É bom conhecer o mundo</title>
      <dc:creator>Andressa Cabistani</dc:creator>
      <pubDate>Mon, 07 Nov 2022 22:41:20 +0000</pubDate>
      <link>https://dev.to/andressadotpy/e-bom-conhecer-o-mundo-4dhd</link>
      <guid>https://dev.to/andressadotpy/e-bom-conhecer-o-mundo-4dhd</guid>
      <description>&lt;h2&gt;
  
  
  E a cultura das pessoas que trabalham com você
&lt;/h2&gt;

&lt;p&gt;Eu geralmente gosto do desconforto de desconhecer algo. E aí eu passo a saber sobre essa coisa e eu fico totalmente enlouquecida para saber mais. E desde que eu comecei a trabalhar em empresas que têm todos os tipos de pessoas, eu tento absorver o máximo da cultura e das diferenças ao meu redor.&lt;/p&gt;

&lt;p&gt;Esses dias eu estava completamente obcecada com o &lt;em&gt;Diwali&lt;/em&gt;. O Diwali para quem não sabe é um festival na Índia que é conhecido por ser o festival das luzes e da felicidade. Todas as cidades se iluminam para comemorar a vitória da luz sobre à escuridão. E eu só fui capaz de saber tudo isso através dos meus coworkers, que estavam saindo viajar e se reunir com suas famílias para aproveitar o feriado e celebrar. Muitas pessoas dividiram também sobre as suas infâncias assistindo o anime &lt;a href="https://www.imdb.com/title/tt0259534/"&gt;Ramayana: The Legend of Prince Rama&lt;/a&gt; durante o feriado. &lt;/p&gt;

&lt;p&gt;Ah e durante o Diwali desse ano também aconteceu o grande jogo da Copa de Mundo de Cricket Paquistão x Índia, grandes rivais, pra alegrar ainda mais o feriado. O Cricket na Índia é como o Futebol aqui no Brasil, e Paquistão x Índia é como um grande jogo entre Brasil e Argentina!&lt;/p&gt;

&lt;p&gt;E é bom conhecer o nosso mundo como ele é: &lt;strong&gt;diverso&lt;/strong&gt;. Mas às vezes também incomoda muito porque no mundo existem diferenças que não são tão lindas , mas te faz conhecer pessoas incríveis. Mulheres incríveis como a que eu conheci hoje: &lt;strong&gt;Meital Avital&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Meital é uma manager na Red Hat e ela é de Israel. Mas além de uma manager incrível, que se preocupa até em escolher as palavras corretas para conversar com cada uma das pessoas diferentes que ela gerencia, ela também é uma mulher. Uma mulher israelita que lida com coisas que acontecem no próprio país dela com todas as mulheres.&lt;/p&gt;

&lt;p&gt;E então ela me contou: há 6 anos, o marido dela fugiu do país, abandonando ela e as crianças. "Ela vai se divorciar né", a gente pensa. Mas então ela me conta que por mais que ela queira muito se divorciar, ela como mulher não tem o direito de pedir o divórcio. É isso mesmo, ela está presa num relacionamento em que nenhum dos dois quer estar. &lt;/p&gt;

&lt;p&gt;Mas ela não se contentou por aí: ela começou a militar pelo direito das mulheres em Israel. Ela se tornou uma voz para as mulheres, num país em que o serviço militar é obrigatório para as mulheres, mas que não dá à elas o direito de se divorciar. E a voz dela tá fazendo efeito: ela já foi capaz de mudar até uma lei em Israel, que permite que mulheres divorciadas possam ter mais filhos após o casamento.&lt;/p&gt;

&lt;p&gt;E o que isso tem a ver com tecnologia? Nossos times são formados por pessoas e se o teu time for global como o meu, a cultura de cada uma dessas pessoas influencia em como elas são, o que elas fazem e o que elas acreditam. E um time só existe se relações existirem. Mas relações reais, por isso que eu absorvo tudo. Absorvo do Cricket até a injustiça de uma mulher incrível não poder se divorciar.&lt;/p&gt;

&lt;p&gt;Aprendo muito sobre o mundo, mas principalmente sobre as pessoas, porque tecnologia sempre será sobre as pessoas.&lt;/p&gt;

</description>
      <category>management</category>
      <category>community</category>
      <category>motivation</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>Acho que entendi meus porquês</title>
      <dc:creator>Andressa Cabistani</dc:creator>
      <pubDate>Wed, 19 Oct 2022 10:26:14 +0000</pubDate>
      <link>https://dev.to/andressadotpy/acho-que-entendi-meus-porques-2o4i</link>
      <guid>https://dev.to/andressadotpy/acho-que-entendi-meus-porques-2o4i</guid>
      <description>&lt;h2&gt;
  
  
  E porque isso me faz sentir viva trabalhando
&lt;/h2&gt;

&lt;p&gt;São 05:19 da manhã e já faz pelo menos 1h que leio freneticamente um dos livros indicados pelo meu mentor. Nem mesmo o remédio prescrito pra eu dormir a noite inteira consegue segurar a animação que ando sentindo nas últimas semanas em que ando me conhecendo e entendendo o porquê algumas pequenas coisas me animam tanto no trabalho.&lt;/p&gt;

&lt;p&gt;Você já se perguntou "por que eu tô aqui?" ou "porque entre tanta gente boa que concorreu comigo pela vaga, eu fui escolhida?"? Demorou um pouco para eu entender, mesmo que sempre estivesse na minha frente.&lt;/p&gt;

&lt;p&gt;Não me entendam mal. Eu sou muito boa tecnicamente. Eu amo tecnologia e amo aprender, e acredito que geralmente aprendo com uma facilidade maior que a média das pessoas (nitidamente não foi por minha modéstia).&lt;/p&gt;

&lt;p&gt;Mas tem algo que sempre esteve comigo: &lt;strong&gt;minha vontade de mudar as coisas&lt;/strong&gt;. Das políticas escolares como participação em grêmio estudantil, disputas nos DCEs na Universidade, formação de grupos de mulheres pra discutir nossa participação na tecnologia, eu sempre venho assim: como um ventinho de mudança.&lt;/p&gt;

&lt;p&gt;E acredito que minha própria cara expresse "essa mulher de 1 metro e meio pode me ajudar", porque no dia das crianças, enquanto minha filha pequena brincava na famosa cama elástica, as crianças chegavam em mim e diziam "tia, as crianças grandes não deixam eu pular". E lá ia eu resolver o problema do pula-pula. Ecoa até agora na minha cabeça as palavras do meu marido: "tu não consegue ir em um parquinho sem achar uma razão para lutar por alguém?"!&lt;/p&gt;

&lt;p&gt;E onde entra tudo isso no meu trabalho? É que encontrei aquilo que sou muito boa e que vai muito além das minhas automações de testes usando Go. &lt;strong&gt;Eu fico feliz ajudando os times a serem mais felizes.&lt;/strong&gt; E as pessoas sentem em mim essa confiança que podemos fazer a cultura do time melhorar.&lt;/p&gt;

&lt;p&gt;Nas últimas semanas nós começamos a implementar novas ideias no time, tanto pra abraçar mais a assincronia do trabalho remoto como para nos aproximarmos como time (mesmo em timezones bem diferentes). E a energia de ajudar algo a melhorar, ou piorar e planejar em grupo novamente como melhorar, é o meu porquê de estar aqui.&lt;/p&gt;

&lt;p&gt;Acho que faz sentido que o feedback que mais recebi de outros times na vida é que eu deixo as pessoas mais felizes. E você, sabe seu porquê?&lt;/p&gt;

</description>
      <category>teamwork</category>
      <category>career</category>
      <category>devjournal</category>
      <category>motivation</category>
    </item>
    <item>
      <title>The need for a post 2020 Agile</title>
      <dc:creator>Andressa Cabistani</dc:creator>
      <pubDate>Fri, 30 Sep 2022 01:14:34 +0000</pubDate>
      <link>https://dev.to/andressadotpy/the-need-for-a-post-2020-agile-3bmf</link>
      <guid>https://dev.to/andressadotpy/the-need-for-a-post-2020-agile-3bmf</guid>
      <description>&lt;h2&gt;
  
  
  Work dynamics has changed and so should our methods
&lt;/h2&gt;

&lt;p&gt;One of these days I was thinking how narcissistic of me it should be that the moments when I'm most present in a remote meeting is when I'm doing the talking. And then I started thinking about the word &lt;em&gt;present&lt;/em&gt;. &lt;em&gt;Being present&lt;/em&gt; means being really there in mind, not necessarily in body. And doesn't mean &lt;em&gt;camera open&lt;/em&gt; while read Twitter and run some tests in the Terminal. It means understanding, writing questions, asking those questions and getting completely engaged. &lt;/p&gt;

&lt;p&gt;And being present is hard. Sometimes I'm not with the mind for engaging in a subject at 10am during the meeting, but at 2pm I got some really good insights about it but the time box is now closed. I lost my opportunity to help (or not) with my comment. And let's be honest, in remote work it's hard enough even to get a response for "can you hear me ok?", we can't just miss opportunities of contribution.&lt;/p&gt;

&lt;p&gt;The adaptation of Agile that we did as soon as the pandemics started is not enough anymore. We can't continue having meetings for every subject in fixed hours while our team works in many different time zones. Remote and Hybrid work are now the future of work in Technology and Agile urgently needs to embrace an async format to get in sync with our true needs. &lt;/p&gt;

&lt;p&gt;Embrace async work is not going to be easy. We will change habits, and if it's hard to change a simple habit like drinking more water during the day, it will be harder to change the habit of having the answer to our questions right away. To accomplish this changes we will need to use a different format of conversation: &lt;strong&gt;TEXT&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And using text as our main format of communication guarantees two things that having remote meetings for everything don't give us: first thing is that more people can give their input, making &lt;strong&gt;decision making more inclusive&lt;/strong&gt; and the second thing is &lt;strong&gt;letting our decision process documented&lt;/strong&gt; to those who couldn't participate still get the context from the main source.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does that means we should use Slack for everything?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;NOOOOOOO!&lt;/strong&gt; Slack (and Gchat) is a business conversation app, things disappear there too easily, as soon as a new thread starts, the others immediately starts to get old. Slack is for punctual things like three people solving some confusion from a story in a thread and then &lt;em&gt;finito&lt;/em&gt;. I could revisit it after if I wanted to, but I would need to search for it because new conversations already took place and the thread is already &lt;em&gt;up up&lt;/em&gt; there.&lt;/p&gt;

&lt;p&gt;Gladly we do have some nice tools nowadays that could really help having some rituals async, like Miro and Jamboard.&lt;/p&gt;

&lt;p&gt;Thinking about Standups (dailies) for example, a nice Jamboard can be an awesome way to pass context between stories to all team, still with the same idea of letting people know if you need help or if you are nailing it and when you'll send that to code review. Of course we can timebox it like "everyone send updates till noon", but for example me, a person who got inspired at 3am and started working still can have my update in the board when the others are up and I got back to sleep.&lt;/p&gt;

&lt;p&gt;And what about async Grooming sessions? Still with a Jamboard, we can have a board full of cards asking and answering questions, and they will all be there for whomever needs clarification of the story, time independent.&lt;/p&gt;

&lt;p&gt;That's only the beginning of a conversation that I believe we need to have! Is your team already embracing async agile? I would love to know some cases here in the comments!&lt;/p&gt;

&lt;p&gt;I still believe we need to be Agile, but this slowness in debating and updating our methodology isn't very Agile of us.&lt;/p&gt;

</description>
      <category>agile</category>
      <category>discuss</category>
      <category>leadership</category>
      <category>community</category>
    </item>
    <item>
      <title>Thinking OOP</title>
      <dc:creator>Andressa Cabistani</dc:creator>
      <pubDate>Mon, 06 Apr 2020 20:15:19 +0000</pubDate>
      <link>https://dev.to/andressadotpy/thinking-oop-part-1-2c46</link>
      <guid>https://dev.to/andressadotpy/thinking-oop-part-1-2c46</guid>
      <description>&lt;p&gt;(I also posted this in my &lt;a href="https://andressa.dev/2020-04-06-understanding-oop-part-1/"&gt;blog&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Lately, I'm deepening my knowledge in Object-Oriented programming and reviewing some concepts about this paradigm. So, I decided to make a series of posts about OOP and &lt;em&gt;how to think&lt;/em&gt; in an Object-Oriented manner. I will be talking about some fundamental concepts that will help us design better Object-Oriented Software, such as &lt;em&gt;Abstraction&lt;/em&gt;, &lt;em&gt;Encapsulation&lt;/em&gt; and &lt;em&gt;Information Hiding&lt;/em&gt;. Also, I explain &lt;strong&gt;what is an object&lt;/strong&gt; and why choose the OO approach.&lt;/p&gt;

&lt;p&gt;I'm using as bibliography &lt;a href="https://www.amazon.com/Python-3-Object-Oriented-Programming/dp/1849511268"&gt;Python3 - Object-Oriented Programming&lt;/a&gt; and &lt;a href="https://www.amazon.com.br/Designing-Object-Oriented-Software-Rebecca-Wirfs-Brock/dp/0136298257"&gt;Designing Object-Oriented Software&lt;/a&gt;.  Both are very good books that I recommend reading. If you are studying Python, &lt;em&gt;Python3 - Object-Oriented Programming&lt;/em&gt; is an amazing book to read after having some basic knowledge about the language. I read it twice already and always use it when I need to remember something.    &lt;/p&gt;

&lt;h2&gt;
  
  
  Why Object-Oriented and what is Abstraction
&lt;/h2&gt;

&lt;p&gt;As developers we are always finding ways to make our applications more &lt;strong&gt;reliable&lt;/strong&gt;. It's not different for us when we choose an Object-Oriented approach. Software applications are big and complex, but they are not static. During its life cycle, Softwares are always being extended and modified, and we need to find a way to make these changes with &lt;strong&gt;as minimal side-effects as possible&lt;/strong&gt;, and OOP does that. An &lt;strong&gt;Object-Oriented Design intents for Software that can be easily reused, refined, tested, maintained and extended&lt;/strong&gt; and therefore &lt;em&gt;increases the application's life cycle and its reliability&lt;/em&gt;.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Abstraction is the key to designing good software."  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I believe &lt;strong&gt;abstraction&lt;/strong&gt; is the most important concept in this post and is our guide to understand everything that will follow. Abstraction allow us to deal with different levels of details to a given task. For example, a &lt;em&gt;computer user&lt;/em&gt; needs to deal with a different set of details that of a &lt;em&gt;computer engineer&lt;/em&gt;. A computer user doesn't need to know information about every piece inside its computer, but the engineer does. &lt;strong&gt;The computer user and the computer engineer deal with different interfaces because they have different intentions for the computer&lt;/strong&gt;. In this example, we can identify the computer as an &lt;strong&gt;object&lt;/strong&gt;, with two very different interfaces.   &lt;/p&gt;

&lt;p&gt;The use of abstraction makes it possible to model very complex problems. If we want a map from the city routes, for example, we don't need any more details than just the routes. Everything that isn't essential for the map is not in the map and all the important information is. In other words, the purpose is to abstract out information and &lt;em&gt;encapsulate it within objects&lt;/em&gt;. Objects are the basic components of the design.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Encapsulation and Objects
&lt;/h2&gt;

&lt;p&gt;I was thinking of a way to divide these topics and explain them separately, but as they are both related, I thought better and decided to talk about both of them together. An &lt;strong&gt;object&lt;/strong&gt; is a collection of &lt;strong&gt;information&lt;/strong&gt; &lt;em&gt;encapsulated&lt;/em&gt;. This information is &lt;strong&gt;data and their associated behaviors&lt;/strong&gt;. Data is what describes an object and the behavior are functions/methods associated with each object.  &lt;/p&gt;

&lt;p&gt;So, I like to think of Object-Oriented programming as a bunch of different objects interacting with others. Knowing the intention of the program makes it easier to find the objects we are dealing with and how they &lt;em&gt;relate&lt;/em&gt; with the others. After identifying the objects, the Object-Oriented Design structures responsibilities for each object by asking "what does this object &lt;strong&gt;do&lt;/strong&gt;?" and "what is the &lt;strong&gt;data&lt;/strong&gt; that this object holds?".  &lt;/p&gt;

&lt;p&gt;We are used to think of an object as a &lt;em&gt;touchable thing&lt;/em&gt;. Let's think about a &lt;em&gt;TV remote controller&lt;/em&gt;. There are very different TV remote controllers in the world, with &lt;strong&gt;different weight, colors and sizes&lt;/strong&gt;. Some of them, maybe have a few more buttons than the others (a Netflix button, for example) and have more &lt;em&gt;functionality&lt;/em&gt; than the others. But all of them are TV remote controllers. Their different weight, colors and sizes are their data attributes, that can be different for each one of them, but they all have this set of characteristics. Their similar functionality, changing TV channels, is a TV remote controller &lt;em&gt;general behavior&lt;/em&gt;, that means it applies for all TV remote controller objects. &lt;em&gt;Each TV remote controller is a different object&lt;/em&gt;, with different values for its data attributes and maybe extending or not the general changing channels behavior, but they are all grouped as TV remote controllers. Even though it's different when modeling computer programs, the thinking process is exactly the same.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Object-Oriented programming initially starts with a more abstract focus. It asks first about the &lt;strong&gt;intent&lt;/strong&gt; of the program: the &lt;em&gt;what&lt;/em&gt; and not the &lt;em&gt;how&lt;/em&gt;. It goals are to find  the objects and their connections. (...)"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In a way, it's easier to identify the &lt;em&gt;objects&lt;/em&gt; during the analysis as the &lt;strong&gt;nouns&lt;/strong&gt; of the program. The &lt;em&gt;methods&lt;/em&gt; of an object usually represents &lt;em&gt;actions&lt;/em&gt;: they are the &lt;strong&gt;verbs&lt;/strong&gt;. And the &lt;em&gt;data&lt;/em&gt; usually describes the objects and can be nouns, adjectives, etc.  &lt;/p&gt;

&lt;p&gt;As told before, the information is kept inside an object as a &lt;em&gt;capsule&lt;/em&gt; and it can be hidden from external view. The object has both a &lt;strong&gt;public&lt;/strong&gt; and a &lt;strong&gt;private&lt;/strong&gt; faces. The public interface shows only how other entities can interact with the object, not how the implementation works. The private side of the object, which is how the object performs the operation or compute the information, doesn't matter for the rest of the program. The process of hiding implementation increases abstraction and makes it easier to change the private side of an object without interfering in the public side. This process is known as &lt;em&gt;Information Hiding&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;This post was very theoretical and full of concepts but I do believe that understanding all of this is essential to create well written Classes. Here we talked a lot about how is the process of thinking an Object-Oriented Software. We didn't write any code, but I hope that when you were reading, you were thinking about how to improve your applications and apply this concepts better when writing a Software.  &lt;/p&gt;

</description>
      <category>oop</category>
      <category>python</category>
      <category>computerscience</category>
    </item>
  </channel>
</rss>
