<?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>Forem: Badecz</title>
    <description>The latest articles on Forem by Badecz (@edersonbadeca).</description>
    <link>https://forem.com/edersonbadeca</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%2F75554%2F48fd546b-c012-46d5-8903-cc47cd13f46e.png</url>
      <title>Forem: Badecz</title>
      <link>https://forem.com/edersonbadeca</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/edersonbadeca"/>
    <language>en</language>
    <item>
      <title>I don't study frameworks</title>
      <dc:creator>Badecz</dc:creator>
      <pubDate>Mon, 17 Dec 2018 13:46:01 +0000</pubDate>
      <link>https://forem.com/edersonbadeca/i-dont-study-frameworks-1clb</link>
      <guid>https://forem.com/edersonbadeca/i-dont-study-frameworks-1clb</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fc2.staticflickr.com%2F8%2F7118%2F7527328892_a57e6af800_b.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fc2.staticflickr.com%2F8%2F7118%2F7527328892_a57e6af800_b.jpg" alt="Hello"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By the passing of time working with software development, I used to study a bunch of libraries and frameworks to get more proficient on that specific approach.&lt;/p&gt;

&lt;p&gt;Nowadays I don't give a penny to study any framework or library especially if it's about web applications architecture.&lt;/p&gt;

&lt;p&gt;When we talk about web applications, the workflow that usually companies want is something like this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CRUD service and a place to display the info.&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Crud Service
&lt;/h4&gt;

&lt;p&gt;This computational generation like to use the microservice architecture with is basically a crud from somewhere. it could be a database, a queue, a file, another service or any other data management system.&lt;/p&gt;

&lt;h4&gt;
  
  
  A place to display the info
&lt;/h4&gt;

&lt;p&gt;With the multiple platforms connect on the internet (laptops, pcs, mobile devices, microwaves, cars, medicinal robots, even some parts of our body can be connected on the internet). We need a beautiful way to show the information correctly. It can be a queue, a single page application, an embedded component, a display in a car, a monitor to a doctor in a surgery, or any kind of crazy stuff that our imagination can create.&lt;/p&gt;

&lt;p&gt;Taking all that, why should I spend time and somebodies(mine, company, mate..) money to learn how create these things in a different way? Is that the way I want to grow? by being some tool user? or I want to know how to implement these solutions and after that, choose what I must take to get the job done?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fstatic.techspot.com%2Fimages%2Fteaser%2Flazy-coder.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fstatic.techspot.com%2Fimages%2Fteaser%2Flazy-coder.jpg" alt="Lazy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let' pick up an example: &lt;/p&gt;

&lt;p&gt;You have to build software that will help some researchers to understand the cancer growth in a specific region of Brazil.&lt;/p&gt;

&lt;p&gt;You have to create a web application that collects this information by import some csv/excels files that already have been analyzed by the data science team also your application must have a Restful API for the data engineers team, to put and consult the information from the pipelines jobs.&lt;/p&gt;

&lt;p&gt;You know what to do by this time. You need to build some microservices and a spa. &lt;br&gt;
your microservices will use the MVC design pattern or pub-sub approach? which programming language the do company want this solution? Java? Python? Elixir? Golang? Php? Nodejs?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/lgRNj0m1oORfW/giphy-downsized-large.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/lgRNj0m1oORfW/giphy-downsized-large.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You know how these solutions must work: It must have resources that will be accessed by some HTTP operation, must have some authentication/roles. &lt;br&gt;
Let's use Java as our programming language. &lt;/p&gt;

&lt;p&gt;By a simple google search, we reach the best web framework for the current year is useful to create Restful Apis services.&lt;/p&gt;

&lt;p&gt;So at this point, I must know to use in Java properly, if I do, leaning in a week how to use a framework won't be that painful. Usually, the frameworks have a good documentation and a start guide, that will help you to be proficient in a short time.&lt;/p&gt;

&lt;p&gt;So I used my time to improve my skills of using Java instead of learning some framework that I might use someday or not.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/26ufdipQqU2lhNA4g/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/26ufdipQqU2lhNA4g/giphy.gif" alt="Hello"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Okay but you are not teaching me anything with this post. Alright, the conclusion is important to improve your skills of programming the must. &lt;br&gt;
If you take your time to learn some tools, such as frameworks, it better you used right away, otherwise, you will spend energy with a bunch of knowledge that maybe will be deprecated when you need it, besides, nowadays there a huge types of frameworks, and I am sure that you will not bust your capabilities by leaning them, &lt;br&gt;
All you need to do is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Know what which frameworks are trying to solve.&lt;/li&gt;
&lt;li&gt;Deeply understand the concepts of your programming paradigms&lt;/li&gt;
&lt;li&gt;Know where to search&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fmrgwlp921esj1a8f6m42.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fmrgwlp921esj1a8f6m42.jpg" alt="Hello"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>carrear</category>
      <category>programming</category>
      <category>learn</category>
      <category>knowledgesharing</category>
    </item>
    <item>
      <title>We are getting used to work with "Legacy Code"</title>
      <dc:creator>Badecz</dc:creator>
      <pubDate>Tue, 09 Oct 2018 13:33:48 +0000</pubDate>
      <link>https://forem.com/edersonbadeca/we-are-getting-used-to-work-with-legacy-code-bfa</link>
      <guid>https://forem.com/edersonbadeca/we-are-getting-used-to-work-with-legacy-code-bfa</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fmrgwlp921esj1a8f6m42.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fmrgwlp921esj1a8f6m42.jpg" alt="Hello"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In work days we often don't have time for improves our stack and platform because of the business that we have to run to pay the bills and the product is almost more important then the platform that we are building.&lt;br&gt;
Especially if you are working in a startUP the rush to prove values is indispensable.&lt;/p&gt;

&lt;p&gt;This can cause a big Headache because in this case we are building a huge six mouth code base legacy if we don't look to the application with care.&lt;/p&gt;

&lt;p&gt;Recently I stepped into this scenario, I was working with a bunch of technologies and everything was good, until the day that I realise the some of the applications was using deprecated and unsupported packages. With out time to investigate I just take a look into the problem, that was a bad decision.&lt;/p&gt;

&lt;p&gt;I found a big list of vulnerability and gaps in the architecture that gap was letting us without logs, and it was overlapping background jobs.&lt;br&gt;
decide to brake the rules and fail our "Scrum Sprint" to solve this issues but I got a &lt;strong&gt;Big fat NO!&lt;/strong&gt; from the product team and my own team, because we were in our commitment and fail sprint to solve a technical issue could cost the trusty from the Stakeholders.&lt;/p&gt;

&lt;p&gt;I'd accepted the team decision because we are a team, but I ask for help to others teams to solve this issues without success, because every team was dealing with their own commitment and don't have time for this.&lt;br&gt;
Well, ladies and gentlemen we are building a &lt;strong&gt;huge six months code base legacy&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That's fine for that moment don't reason about that issues, until the day that we actually facing the effects of the issue, when we are trying to debug a production problem without logs and spend a few days on it.&lt;/p&gt;

&lt;p&gt;It was time to check the issue out and the whole team not just my squad, decided to fix it. But unfortunately it was too late. We let this go for too long and the fix cause a bunch of work with a several teams. time that could be saved if we have fix the issue earlier.&lt;/p&gt;

&lt;p&gt;The most of time, we work with other people code, improving and maintain it and it's normal to us, look at the code that we writing in the moment. Yeah we do our best with that, Write clean code, create unit, integrations tests to make sure that our code is working properly, but, sometimes it just hard to look forward especially when you don't have time.&lt;/p&gt;

&lt;p&gt;What we all need to remember is that is our responsibility to refactoring and fix gaps codes, because one day, we will face this gaps again.&lt;/p&gt;

&lt;p&gt;It is easy to say that, but how we can actually fix this in day by day?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Starting with the real value of your software.&lt;br&gt;
Don't try to create a elegant code that took a lot of read to understand.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Planning every step that you will do.&lt;br&gt;
You need to reason for every single task that have to be made before you actually work on it because, when you don't know exactly what is your job, There is a good chance of you put some bugs in there.       &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Testing the whole application.&lt;br&gt;
Beyond your feature, there is a application and you need to ensure that is everything is working perfectly right.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Don't be shy - Communicate yourself&lt;br&gt;
You know that moment, that you realize that you will not gonna make it?&lt;br&gt;
It can be because a problem that that nobody saw, personal problems, or something else. You must ask for help!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Don't forget your code on production&lt;br&gt;
I think this is the most important item of this list, once we have finished our &lt;br&gt;
feature, we pass to another feature/product, but we can forget our code. we need to look into it's behavior to make sure that everything is good.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is a lot more but this is the basic things that you can do to avoid creating a legacy code.&lt;/p&gt;

&lt;p&gt;Badecz, &lt;/p&gt;

</description>
      <category>legacy</category>
      <category>code</category>
      <category>agile</category>
      <category>products</category>
    </item>
  </channel>
</rss>
