<?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: Camila Lenis</title>
    <description>The latest articles on DEV Community by Camila Lenis (@ladivaloper).</description>
    <link>https://dev.to/ladivaloper</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%2F430228%2F5d931ef7-0604-4a69-9dee-ed0525269e78.jpeg</url>
      <title>DEV Community: Camila Lenis</title>
      <link>https://dev.to/ladivaloper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ladivaloper"/>
    <language>en</language>
    <item>
      <title>I graduated, now what? Camila Coded in 2022</title>
      <dc:creator>Camila Lenis</dc:creator>
      <pubDate>Mon, 07 Mar 2022 03:26:12 +0000</pubDate>
      <link>https://dev.to/ladivaloper/i-graduated-now-what-camila-coded-in-2022-10f5</link>
      <guid>https://dev.to/ladivaloper/i-graduated-now-what-camila-coded-in-2022-10f5</guid>
      <description>&lt;p&gt;Hello world, I'm Camila Lenis, a software developer from Colombia 😁 and just as you I have a story to tell... &lt;/p&gt;

&lt;h2&gt;
  
  
  How this began?
&lt;/h2&gt;

&lt;p&gt;I can't even remember when I felt in love with tech world. I was so young. Then, I started in collage when I was 17, with many insecurities and many dreams.&lt;/p&gt;

&lt;p&gt;I can't deny that beign the only woman in the room was so intimidated. But instead of telling you about all the times I felt lost, I'll tell you about the times I felt I had a place in this world. &lt;/p&gt;

&lt;h2&gt;
  
  
  My biggest technical achievements are…
&lt;/h2&gt;

&lt;p&gt;I had the opportunity to work in a start up since I was in collage. That lead me to meet the most amazing and talented people I've ever met. But it also taught me that to have a place in the world I had to raise my voice. &lt;/p&gt;

&lt;p&gt;This is a memory of one of my first webinars in Colombia for the anniversary of a community called CaliSharp. Being the only woman in the middle of so many people with so much experience and feeling that I also had something valuable to say taught me that just as I can learn from them, they can learn from me. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jxf51pcaireg2pypdvi.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jxf51pcaireg2pypdvi.jpeg" alt="Calisharp anniversary webinar" width="688" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My biggest technical goals are…
&lt;/h2&gt;

&lt;p&gt;A few days ago I graduated from college. Now I want to learn as much as I can in an early stage start up and improve my backend development skills. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjjqw3mz70kdxoasob5ru.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjjqw3mz70kdxoasob5ru.jpg" alt="Camila Lenis's graduation" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  I pledge to break the bias in tech by…
&lt;/h2&gt;

&lt;p&gt;Content creation.&lt;/p&gt;

&lt;p&gt;One thing that helped me to feel that there were more women like me in the world was social networks. I met a lot of communities of women who were not only technically good, but were moms, athletes, artists and whatever they wanted to be. &lt;/p&gt;

&lt;p&gt;I share my journey in the tech world so that more women can see that they can do both and more! You can find me &lt;a href="https://www.instagram.com/camilaleniss/"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Throughout my career, I have overcome…
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Sexist comments&lt;/li&gt;
&lt;li&gt;Discrimination&lt;/li&gt;
&lt;li&gt;Depression&lt;/li&gt;
&lt;li&gt;Mansplaining &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the list could continue. &lt;/p&gt;

&lt;h2&gt;
  
  
  Advocating for myself looks like
&lt;/h2&gt;

&lt;p&gt;Self love is not hot baths and masks. It's getting up every day and doing what you know is best for you to become the person you want to be. &lt;/p&gt;

&lt;h2&gt;
  
  
  I pledge to support women, non-binary folks, and other minorities in tech by…
&lt;/h2&gt;

&lt;p&gt;Using my voice to tell you that you're not alone. And of course to clap them in their success 👏🏼&lt;/p&gt;

&lt;h2&gt;
  
  
  I’m excited about
&lt;/h2&gt;

&lt;p&gt;The challenges that I hava this year in my new job in a Brazilian start up. &lt;/p&gt;

&lt;p&gt;And I'm excited to hear about you! If you ever been told that you don't belog here, let me tell you that you deserve a seat in the tech table. Period. &lt;/p&gt;

</description>
      <category>wecoded</category>
      <category>codenewbie</category>
      <category>go</category>
    </item>
    <item>
      <title>The Code Review Guide</title>
      <dc:creator>Camila Lenis</dc:creator>
      <pubDate>Tue, 06 Oct 2020 22:24:34 +0000</pubDate>
      <link>https://dev.to/ladivaloper/the-code-review-guide-4gfo</link>
      <guid>https://dev.to/ladivaloper/the-code-review-guide-4gfo</guid>
      <description>&lt;p&gt;Code reviews are a common pratice in tech industry. When you do a Pull Request / Merge Request someone has to review it, give feedback, and approve it when it’s ready to be part of master branch - if that is the branch to which the PR is directed, of course -&lt;br&gt;
&lt;br&gt;&lt;br&gt;
When it’s your first time being a reviewer, maybe you’ve already learned a little from the comments you’ve received. &lt;strong&gt;Don’t be scared, it’s not a big deal&lt;/strong&gt;. Code reviews are also made to learn. You’re not attacking your teammates, &lt;em&gt;it’s not a personal thing&lt;/em&gt;. You’re questioning their code, looking at how to improve it.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Remember that code reviews are not just for looking at what’s wrong, but for learning from others.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;With this mindset let’s see how to do that:&lt;/p&gt;
&lt;h2&gt;
  
  
  Have context
&lt;/h2&gt;

&lt;p&gt;Every PR has a purpose. It could be part of a proposal, a bug fix, a new feature and so on. &lt;strong&gt;Make sure to read and understand the caption of the PR before looking at the code&lt;/strong&gt;.&lt;br&gt;
It will give you better picture of what you are going to review. You can help by looking at which files were modified to give you more context of their scope.&lt;br&gt;
Make sure that the modified files are part of what that PR is supposed to do &lt;em&gt;(maybe they suddenly uploaded a file by mistake)&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;Ok, we already know what the PR is suppose to do. Let’s see the code. You can review it by two approaches: &lt;em&gt;readability and functionality.&lt;/em&gt;&lt;br&gt;
No matter what approach you choose, always keep these two questions in mind:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How could I improve that?&lt;/li&gt;
&lt;li&gt;What could go wrong?&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Reviewing by readability
&lt;/h2&gt;

&lt;p&gt;Maybe this is the most superficial way you can begin to review it, but it ensures that &lt;strong&gt;the code is easily maintained over time&lt;/strong&gt;. If you can’t understand that code now, in one year you won’t get it either.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Every piece of code you write has a price: maintenance. Do others a favor and check carefully.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These are some of the things you can review:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Look for typos -they happen all the time- in variables and functions names, in comments descriptions or even in files names.&lt;/li&gt;
&lt;li&gt;Class and functions are well-named. The responsibility of the function goes according to the name.&lt;/li&gt;
&lt;li&gt;Descriptive and well-written comments. This does not mean it should be long, be assertive.&lt;/li&gt;
&lt;li&gt;Consistency. The code is not written as an isolated piece in the repository. Make sure it is consistent with the practices. Try to make sure that the code you are reviewing is in line with the rest.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, it happens with case styles:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="c1"&gt;// camelCase&lt;/span&gt;
&lt;span class="c1"&gt;// PascalCase&lt;/span&gt;
&lt;span class="c1"&gt;// snake_case&lt;/span&gt;
&lt;span class="c1"&gt;// kebab-case&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;See that all the code has harmony and that the piece they are going to add doesn’t make noise.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No print statements. Maybe they forgot it while debuging.&lt;/li&gt;
&lt;li&gt;Avoid unnecessary nested statements.&lt;/li&gt;
&lt;li&gt;Return early whenever you can
If you see code like this:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;myVar&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"I am a variable"&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;strings&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ContainsAny&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"a"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;myVar&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
   &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;myVar&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="no"&gt;nil&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can refactor it doing this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="n"&gt;myVar&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"I am a variable"&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;strings&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ContainsAny&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"a"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;myVar&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
   &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;myVar&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="no"&gt;nil&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Suggest anything you think is necessary to make the code better understood.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reviewing by functionality
&lt;/h2&gt;

&lt;p&gt;As a reviewer you’re also responsible for the &lt;strong&gt;quality of the code that the company ships to production&lt;/strong&gt;. Please pay attention to the detail, scalability and especially security.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does the flow makes sense?&lt;/li&gt;
&lt;li&gt;Are there innecessary validations, loops, whatever?&lt;/li&gt;
&lt;li&gt;Single responsability for methods and classes. So testing can be more atomic.&lt;/li&gt;
&lt;li&gt;Is it susceptible to failure? For example, make sure that it’s checking the length of the array before accessing it. Or at least ensure that it will not end up in an error -NullPointer alert-&lt;/li&gt;
&lt;li&gt;How would I have done it? Is it my way better? Could that logic improve the current one?&lt;/li&gt;
&lt;li&gt;Tests are not changing without a reason. For example, if the test was used to validate that the function is not throwing an error, but then it’s validating that the function throws and error, ask why. Maybe there will be breaking changes that affect the operation.&lt;/li&gt;
&lt;li&gt;Don’t delete tests without a reason. Ask why if you don’t get why the test has been deleted. Isn’t it necessary anymore? Why?&lt;/li&gt;
&lt;li&gt;The tests are enough to fulfill the impact of the change. And also, review that tests are asserting what they should.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What should I do when I don’t know the language of the code?
&lt;/h2&gt;

&lt;p&gt;This is a classic. You don’t know about a certain coding language or technology and you have to review it.&lt;br&gt;
First, don’t be scared. Make sure that the other reviewers know the language just because they can detect things that you can’t. And ask them if it’s necessary.&lt;br&gt;
A good starting point is the &lt;em&gt;superficial review&lt;/em&gt;: look for typos and well-name of variables.&lt;br&gt;
If you want, you can search for other code in the repository of the same language and try to discover patterns. Remember that you can ask if something isn’t clear.&lt;/p&gt;




&lt;p&gt;And the most important advice: &lt;strong&gt;Don’t follow the “Best Practices” blindly&lt;/strong&gt;. Always think first. Each piece of code is trying to add value to the product. Think how it could add value and make life easier for the developer who will maintain that code later, maybe it’s you.&lt;/p&gt;

&lt;p&gt;This article was first posted in &lt;a href="https://medium.com/@camilaleniss/the-code-review-guide-9e793edcd683"&gt;Medium&lt;/a&gt; &lt;br&gt;
Thanks for reading :)&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>software</category>
      <category>programming</category>
      <category>codequality</category>
    </item>
    <item>
      <title>Two Soft Skills That Are Not That Soft</title>
      <dc:creator>Camila Lenis</dc:creator>
      <pubDate>Thu, 16 Jul 2020 03:07:27 +0000</pubDate>
      <link>https://dev.to/ladivaloper/two-soft-skills-that-are-not-that-soft-48k7</link>
      <guid>https://dev.to/ladivaloper/two-soft-skills-that-are-not-that-soft-48k7</guid>
      <description>&lt;p&gt;Soft skills are the hardest ones to develop. They make you stand out in your team, either because you own them or because you are missing them.&lt;/p&gt;

&lt;p&gt;And most of the time they are not a gift that you were born with it, but skills that you can learn and apply.&lt;/p&gt;

&lt;p&gt;This time I will show you two essential soft skills that are tough enough to make the difference between an assertive person and a sloppiness one.&lt;/p&gt;

&lt;h1&gt;
  
  
  Straight Talk
&lt;/h1&gt;

&lt;p&gt;Communication is the key. If you are not capable of saying things in a way that other people can fully understand your concerns, you are lost.&lt;/p&gt;

&lt;p&gt;Your message has to be clear, transparent and direct. A formula that people often use to develop clear communication is to build the sentence like&lt;/p&gt;

&lt;h5&gt;
  
  
  Context + Problem + Request
&lt;/h5&gt;

&lt;p&gt;You don’t have to build an entire talk to request something. That’s a waste of time, omit intro, get to the point. That doesn’t mean that you have to be petty and rude, people will thank you if you give their time the value that it deserves.&lt;/p&gt;

&lt;h2&gt;
  
  
  Give direct feedback
&lt;/h2&gt;

&lt;p&gt;When you are giving someone else feedback give it in a way that they completely understand the message. If you are trying to minimize their chances of getting better by not making them feel bad, you’re not helping them.&lt;/p&gt;

&lt;p&gt;Remember that truths without empathy are only cruelties. Give clear feedback with the intention that others grow, don’t take away their mistakes. Be honest and assertive, you won’t gain anything if they just feel dejected.&lt;/p&gt;

&lt;h1&gt;
  
  
  Grit
&lt;/h1&gt;

&lt;p&gt;If you are going to make something, do it great. That means there could appear problems, obstacles and questions, but you have to be strong enough to take them and build a stairway to your goal.&lt;/p&gt;

&lt;p&gt;When you quit a task just because you don’t know how to solve it yet, you are missing the opportunity to learn in a potential way.&lt;br&gt;
The more productive people are well learners. The time that you invest in searching for a solution today may be time saved on a future task. You can’t avoid them all your life.&lt;/p&gt;

&lt;p&gt;Soft skills may not be that soft but they are transversal. They will not fit in a job profile because they don’t depend on your career, they depend on you. Become a better version of yourself.&lt;/p&gt;

</description>
      <category>softskill</category>
      <category>career</category>
      <category>firstyearincode</category>
      <category>management</category>
    </item>
  </channel>
</rss>
