<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Adam Barreiro Costa | Software Engineer</title>
        <link>https://www.adambarreiro.com/</link>
        <description>Adam Barreiro Costa | Software Engineer</description>
        <generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>adambarreiro@protonmail.com (Adam)</managingEditor>
            <webMaster>adambarreiro@protonmail.com (Adam)</webMaster><lastBuildDate>Tue, 16 Nov 2021 00:00:00 &#43;0000</lastBuildDate>
            <atom:link href="https://www.adambarreiro.com/index.xml" rel="self" type="application/rss+xml" />
        <item>
    <title>How to execute Jenkins jobs programatically, part 2</title>
    <link>https://www.adambarreiro.com/2021-11-16-how-to-execute-jenkins-jobs-programatically-2/</link>
    <pubDate>Tue, 16 Nov 2021 00:00:00 &#43;0000</pubDate>
    <author>adambarreiro@protonmail.com (Adam)</author>
    <guid>https://www.adambarreiro.com/2021-11-16-how-to-execute-jenkins-jobs-programatically-2/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/posts/2020-06-03-how-to-execute-jenkins-jobs-programatically/jenkinsLogo.jpg" referrerpolicy="no-referrer">
            </div><p>In <a href="/2020-06-03-how-to-execute-jenkins-jobs-programatically/" rel="">this post</a> we saw how to trigger a Jenkins job in a programatic way, with a very simple source code snippet in Groovy to illustrate how to do it. In this post we&rsquo;ll revisit the same topic, but with a Bash script. As you&rsquo;ll see, the script is more <em>sophisticated</em> as it not only runs the job, but also waits the job to complete and retrieve an hypothetical file hosted as an artifact.</p>]]></description>
</item>
<item>
    <title>Tips for taking the CKA exam</title>
    <link>https://www.adambarreiro.com/2021-03-07-tips-for-taking-the-cka-exam/</link>
    <pubDate>Sun, 07 Mar 2021 00:00:00 &#43;0000</pubDate>
    <author>adambarreiro@protonmail.com (Adam)</author>
    <guid>https://www.adambarreiro.com/2021-03-07-tips-for-taking-the-cka-exam/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/posts/2021-03-07-tips-for-taking-the-cka-exam/cka.jpg" referrerpolicy="no-referrer">
            </div><p>Some days ago I decided to take the Certified Kubernetes Administrator exam, after postponing it for almost a year. My voucher was about to expire, and one of the reasons that I took so long was that the more I read about it the more scared I was to schedule it. Was this fear reasonable? Well, I scored 90% and I can assure you I&rsquo;m not a Kubernetes expert. With this post, I hope I help you to clear your doubts to pass the exam.</p>]]></description>
</item>
<item>
    <title>My experience with hiring processes</title>
    <link>https://www.adambarreiro.com/2021-02-11-my-experience-with-hiring-processes/</link>
    <pubDate>Thu, 11 Feb 2021 00:00:00 &#43;0000</pubDate>
    <author>adambarreiro@protonmail.com (Adam)</author>
    <guid>https://www.adambarreiro.com/2021-02-11-my-experience-with-hiring-processes/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/posts/2021-02-11-my-experience-with-hiring-processes/harold.jpg" referrerpolicy="no-referrer">
            </div><p>In some weeks I&rsquo;ll be starting a new adventure in another company. In this post I&rsquo;m sharing some tips and ideas about hiring processes after sending countless resumes, facing innumerable interviews, technical challenges, and finally being hired by a promising team.</p>
<h2 id="my-previous-experience">My previous experience</h2>
<p>Before I decided to leave my current employer I participated in no more than three hiring processes, so we can say that I had almost no experience at all in terms of how to behave and how to succeed. When I decided to start this journey I found that everyone was recommending the <em><a href="http://www.crackingthecodinginterview.com/" target="_blank" rel="noopener noreffer ">Cracking the Code Interview</a></em> book, so I decided to give it a try with a non-exhaustive diagonal read. If you have time I recommend you to do the same (or even better, to read it entirely). It contains a lot of worthy information even if you aren&rsquo;t looking for a job: it gives you behavioral recommendations, refreshes your knowledge about algorithms and data structures, and unveils the most common questions you will face during interviews.</p>]]></description>
</item>
<item>
    <title>Monoliths are bad... are they?</title>
    <link>https://www.adambarreiro.com/2020-07-03-monoliths-are-bad-are-they/</link>
    <pubDate>Fri, 03 Jul 2020 00:00:00 &#43;0000</pubDate>
    <author>adambarreiro@protonmail.com (Adam)</author>
    <guid>https://www.adambarreiro.com/2020-07-03-monoliths-are-bad-are-they/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/posts/2020-07-03-monoliths-are-bad-are-they/building.jpg" referrerpolicy="no-referrer">
            </div><p>Some things happened recently that made me write this post:</p>
<ul>
<li>
<p>First one, <a href="https://hey.com/" target="_blank" rel="noopener noreffer ">HEY</a> was released. If you are not from this planet and never heard about HEY, you only need to know that it is a new and peculiar email service that made a bit of noise in social networks due to <a href="https://www.theverge.com/2020/6/16/21293419/hey-apple-rejection-ios-app-store-dhh-gangsters-antitrust" target="_blank" rel="noopener noreffer ">some issues with Apple</a>. Anyway, the point is that <strong>David Heinemeier Hansson</strong> made some statements about its architecture on Twitter&hellip; he declared <a href="https://twitter.com/dhh/status/1275904559001464832" target="_blank" rel="noopener noreffer ">it was a monolithic application</a>. I think everyone was expecting it to be something really complex, but it turns out that <a href="https://m.signalvnoise.com/the-majestic-monolith-can-become-the-citadel/" target="_blank" rel="noopener noreffer ">all apps from Basecamp are monoliths</a>.</p>]]></description>
</item>
<item>
    <title>Domain-Driven Design: The cool parts (Part 2)</title>
    <link>https://www.adambarreiro.com/2020-06-10-ddd-the-cool-parts-2/</link>
    <pubDate>Wed, 10 Jun 2020 00:00:00 &#43;0000</pubDate>
    <author>adambarreiro@protonmail.com (Adam)</author>
    <guid>https://www.adambarreiro.com/2020-06-10-ddd-the-cool-parts-2/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/posts/2020-06-10-ddd-the-cool-parts-2/onion.jpg" referrerpolicy="no-referrer">
            </div><p>In the <a href="/2020-05-03-ddd-the-cool-parts-1/" rel="">first part</a> of this series we introduced the basic principles that serve as a core of the Domain-Driven Design: The ubiquitous language, the model and the layered architecture. In this post we&rsquo;ll review a first bunch of components used to model the domain: <em>Entities, Value Objects</em>, <em>Services</em>, <em>Modules</em> and <em>Aggregates</em>.</p>
<h2 id="entities-and-value-objects">Entities and Value Objects</h2>
<p>An <strong>Entity</strong> is the most basic kind of component in the set of tools to model your domain, and basically it&rsquo;s an object that represents something that has an <strong>unique identity</strong>, that is <strong>preserved</strong> over time and thorough different <strong>representations</strong>.</p>]]></description>
</item>
<item>
    <title>How to execute Jenkins jobs programatically</title>
    <link>https://www.adambarreiro.com/2020-06-03-how-to-execute-jenkins-jobs-programatically/</link>
    <pubDate>Wed, 03 Jun 2020 00:00:00 &#43;0000</pubDate>
    <author>adambarreiro@protonmail.com (Adam)</author>
    <guid>https://www.adambarreiro.com/2020-06-03-how-to-execute-jenkins-jobs-programatically/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/posts/2020-06-03-how-to-execute-jenkins-jobs-programatically/jenkinsLogo.jpg" referrerpolicy="no-referrer">
            </div><p>The most common usage of Jenkins is to trigger job builds automatically in response to changes in a source code repository. In some other cases you may need to trigger jobs because of any other reason. For example, imagine that you want to execute a Jenkins job after your alert management system detects something is wrong, so it can execute a pipeline that fixes everything and the alert is resolved. This is just an example, but the idea of this post is to be able to <strong>execute a Jenkins job programatically</strong>, and not using the GUI or anything related to Jenkins itself.</p>]]></description>
</item>
<item>
    <title>Domain-Driven Design: The cool parts (Part 1)</title>
    <link>https://www.adambarreiro.com/2020-05-03-ddd-the-cool-parts-1/</link>
    <pubDate>Thu, 05 Mar 2020 00:00:00 &#43;0000</pubDate>
    <author>adambarreiro@protonmail.com (Adam)</author>
    <guid>https://www.adambarreiro.com/2020-05-03-ddd-the-cool-parts-1/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/posts/2020-05-03-ddd-the-cool-parts-1/ddd-is-like-an-onion.jpg" referrerpolicy="no-referrer">
            </div><p>In this series of posts I&rsquo;ll try to summarize and distill the great and famous book written by Eric Evans, <em>&quot;<a href="https://dddcommunity.org/book/evans_2003/" target="_blank" rel="noopener noreffer ">Domain-Driven Design: Tackling Complexity in the Heart of Software</a>&quot;</em>, by explaining the concepts that I liked the most in an easy and friendly way. Hopefully it will also help someone that is reading the book as well.</p>
<p>In this first part I&rsquo;ll focus on explaining the Domain-Driven Design mindset, which is the core that needs to be understood by the people who want to apply the principles in their daily basis, and start programming using this approach.</p>]]></description>
</item>
</channel>
</rss>
