<?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: Leira Sánchez</title>
    <description>The latest articles on Forem by Leira Sánchez (@leirasanchez).</description>
    <link>https://forem.com/leirasanchez</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%2F320897%2Fc2861085-61ec-4e67-9f29-1bc604632177.jpeg</url>
      <title>Forem: Leira Sánchez</title>
      <link>https://forem.com/leirasanchez</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/leirasanchez"/>
    <language>en</language>
    <item>
      <title>Pursuing a Software Career via Capital One Developer Academy</title>
      <dc:creator>Leira Sánchez</dc:creator>
      <pubDate>Tue, 01 Sep 2020 22:09:02 +0000</pubDate>
      <link>https://forem.com/leirasanchez/pursuing-a-software-career-via-capital-one-developer-academy-2oi0</link>
      <guid>https://forem.com/leirasanchez/pursuing-a-software-career-via-capital-one-developer-academy-2oi0</guid>
      <description>&lt;p&gt;&lt;strong&gt;This article was originally posted on &lt;a href="https://www.capitalone.com/tech/culture/my-journey-through-capital-one-developer-academy/"&gt;capitalone.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hi, I’m Leira! I’m a software engineer in &lt;a href="https://campus.capitalone.com/technology-program"&gt;&lt;em&gt;Capital One’s Technology Development Program&lt;/em&gt;&lt;/a&gt;. I joined Capital One through CODA - &lt;a href="https://campus.capitalone.com/coda-program/"&gt;&lt;em&gt;Capital One Developer Academy&lt;/em&gt;&lt;/a&gt;. While CODA is a six-month software engineering program, this isn't your average bootcamp. CODA associates are full-time Capital One employees that are expected to master full-stack development principles. This program is aimed at ramping up the coding skills of recent STEM grads who have an interest, but not a background, in software engineering. With my mechanical engineering degree and strong interest in coding, I was a perfect match for CODA! &lt;/p&gt;

&lt;h2&gt;
  
  
  From Automobiles to Software
&lt;/h2&gt;

&lt;p&gt;All I ever wanted to do since I was 13 years old was to become an automotive engineer. In school, I was part of the Solar Car and Baja (an all-terrain vehicle) projects from the Society of Automotive Engineers. I had the opportunity to work at two large automakers where I did engine calibration, body engineering, and research &amp;amp; development. Now, I have a patent-pending for a method of manufacturing thermoplastic filament. &lt;/p&gt;

&lt;p&gt;My internship sparked my interest in innovation and led me to join the Human-Centered Design R&amp;amp;D Lab at the University of Puerto Rico at Mayagüez as an undergraduate researcher. My experiments with virtual reality involved coding, which prompted me to pursue an MS in Computer Science. These experiences led me to my dream job offer as an automotive engineer. However, my interest in coding soon outgrew my desire to become an automotive engineer.&lt;/p&gt;

&lt;p&gt;While I was thinking over this offer, I received an email from a Capital One recruiter who wanted to interview me for the Capital One Developer Academy (CODA) program. CODA is a fully insourced six-month software engineering bootcamp targeting analytical non-Computer Science majors. Graduates of the program transition to the &lt;a href="https://campus.capitalone.com/technology-program"&gt;&lt;em&gt;Technology Development Program&lt;/em&gt;&lt;/a&gt; (TDP), a two-year rotational program, where associates work in two different roles across our tech LOBs. I didn’t know this kind of program existed, and I couldn’t pass up the opportunity!&lt;/p&gt;

&lt;h2&gt;
  
  
  Joining Capital One Developer Academy
&lt;/h2&gt;

&lt;p&gt;In February of 2019 I moved to DC to join CODA, which had 30 associates from different backgrounds. Our majors were Mechanical Engineering, Chemical Engineering, Music, Linguistics, Information Systems, Math, Biology, and many others. Most of us spoke multiple languages like Spanish, Korean, Mandarin, Cantonese, Russian, and Arabic. A third of us were women.&lt;/p&gt;

&lt;p&gt;My days in the CODA program alternated between instructor-led and individually-paced lessons. Half the afternoons were spent doing hands-on labs that challenged my learning. Fridays were spent on all-day projects covering everything taught that week. Then, at the end of each unit, there was a week-long project.&lt;/p&gt;

&lt;p&gt;Unit 1 got us started with front end development with HTML, CSS, JavaScript basics, and some JQuery. For the unit project we built a game that was then showcased to our mentors. Games ranged from text-based to full on Guitar Hero copycats.&lt;/p&gt;

&lt;p&gt;Unit 2 covered RESTful APIs with Node.js, Express, PostgreSQL &amp;amp; Sequelize, MongoDB &amp;amp; Mongoose. The unit project had us working in pairs to create a website of our choice that used a database. My partner and I made a tutorial website where users could post tutorials and interact with each other by posting comments.&lt;/p&gt;

&lt;p&gt;Unit 3 introduced front end frameworks with React and Redux, as well as an intro to Typescript. This time, we were tasked with forming teams of four or five to create a website that incorporated the framework. My team and I built a website for sharing and liking images, commenting, and communicating in real-time through direct messages.&lt;/p&gt;

&lt;p&gt;Unit 4 involved picking a technology we wanted to learn. In my case, I chose iOS development, but others studied topics such as GraphQL, Angular, Docker, Java, etc. We were also introduced to AWS and Jenkins. In this solo project, I created a War card game for iPhones.&lt;/p&gt;

&lt;p&gt;After completing our technical curriculum we had the opportunity to work with stakeholders to build products tackling business problems across the enterprise. During the five week mini-internship, referred to as “Dojo,” we applied the knowledge we gained throughout the program while learning the process of building products at Capital One in an Agile environment.&lt;/p&gt;

&lt;p&gt;One team built a mobile app to help Capital One associates migrate collaboration and productivity tools, another built a web scraper with machine learning, and my team built a full-stack website to house coding challenges for our Software Engineering Summit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A07SgAj2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cbhhncyxf9pvidyhiuu9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A07SgAj2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cbhhncyxf9pvidyhiuu9.png" alt="CODA-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Career After CODA
&lt;/h2&gt;

&lt;p&gt;Graduation came faster than any of us expected; it was hard to believe that just six months earlier all I knew about web development was some basic styling I learned during the MySpace era. Now I can build dynamic applications, APIs, and collaborate within teams using the Agile methodology.&lt;/p&gt;

&lt;p&gt;As a full stack web developer in the TDP, I now have firsthand experience writing code that thousands of people at Capital One use in their day to day. My primary work supports an enterprise communications platform that was developed by my team and is widely used by associates.&lt;/p&gt;

&lt;p&gt;Although I still feel passionate about mechanical engineering and the idea of working in the automotive industry continues to appeal to me, I have discovered a new passion of which I still have a lot to learn. I am thankful to Capital One, not only for the bootcamp, but for promoting a culture of self-development which gives me the space to continue growing as a software engineer.&lt;/p&gt;

</description>
      <category>career</category>
      <category>javascript</category>
      <category>watercooler</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How do you deal with your teammate's founder syndrome?</title>
      <dc:creator>Leira Sánchez</dc:creator>
      <pubDate>Wed, 12 Aug 2020 17:24:05 +0000</pubDate>
      <link>https://forem.com/leirasanchez/how-do-you-deal-with-your-teammate-s-founder-syndrome-2878</link>
      <guid>https://forem.com/leirasanchez/how-do-you-deal-with-your-teammate-s-founder-syndrome-2878</guid>
      <description>&lt;p&gt;If you join a project and you have to work closely with its founder how do you deal with his founder syndrome?&lt;/p&gt;

&lt;p&gt;This &lt;a href="https://www.forbes.com/sites/kevinready/2012/07/10/founders-syndrome-the-third-rail-of-the-startup-world/#2f40d40a40c2"&gt;article&lt;/a&gt; describes founder syndrome pretty well.&lt;/p&gt;

&lt;p&gt;From the article: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Often fail to share information about the inner details of their projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A founder intent on keeping total control of decision making.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>What are some good questions to ask when you're inheriting a codebase?</title>
      <dc:creator>Leira Sánchez</dc:creator>
      <pubDate>Wed, 25 Mar 2020 13:38:42 +0000</pubDate>
      <link>https://forem.com/leirasanchez/what-are-some-good-questions-to-ask-when-you-re-inheriting-a-codebase-ll9</link>
      <guid>https://forem.com/leirasanchez/what-are-some-good-questions-to-ask-when-you-re-inheriting-a-codebase-ll9</guid>
      <description>&lt;p&gt;When you are getting a project assigned that has a considerable codebase already, what are some good questions to ask to help you hit the ground running?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>CSS: Overlay Text Over Image</title>
      <dc:creator>Leira Sánchez</dc:creator>
      <pubDate>Thu, 12 Mar 2020 20:46:40 +0000</pubDate>
      <link>https://forem.com/leirasanchez/css-overlay-text-over-image-33f</link>
      <guid>https://forem.com/leirasanchez/css-overlay-text-over-image-33f</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--agH6gHV7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cchv9bzxxnqqfejp4jfj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--agH6gHV7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cchv9bzxxnqqfejp4jfj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This example is from the mobile version of a personal website I'm building with HTML/CSS and vanilla JavaScript.&lt;/p&gt;

&lt;p&gt;To overlay an element over another, we first need to understand &lt;code&gt;z-index&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Z-Index
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;z-index&lt;/code&gt; is a CSS property that sets the order of elements in a stack.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Only works on elements with positions other than static (the default position). They could be absolute, relative, fixed, or sticky.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's say your computer's screen is the back, the real world is the front, and every element on your app without a specified z-index is the default layer. If you want to throw something to the back, the z-index will be smaller than 0. The element with the smallest number will go furthest back. If you want to put an element over the default layer, then you use positive numbers. The bigger the number, the closer to the front it will be.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Elements are overlayed in ascending order.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The default layer is equal to &lt;code&gt;z-index: 0&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Negative values of z-index throw elements behind the default layer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The element with the smallest z-index value will be all the way to the back.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Positive values throw elements on top of the default layer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The element with the biggest number will be all the way to the front.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Example
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wCOzMU_j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fnlatdp6n1ynjbf9eebv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wCOzMU_j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fnlatdp6n1ynjbf9eebv.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, I sent the image to the back by setting the &lt;code&gt;z-index&lt;/code&gt; to -1. I didn't have to specify a &lt;code&gt;z-index&lt;/code&gt; value to my text because it is by default on layer 0, which is above layer -1.&lt;/p&gt;

&lt;p&gt;See it on &lt;a href="https://codepen.io/leira-sanchez/pen/YzXejqX"&gt;codepen&lt;/a&gt;! Disclaimer: I did not make this codepen responsive so it only looks good on desktop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Playground
&lt;/h2&gt;

&lt;p&gt;Here's a playground on &lt;a href="https://codepen.io/leira-sanchez/pen/ZEGxzpe"&gt;codepen&lt;/a&gt; or &lt;a href="https://repl.it/@leira_sanchez/OlivedrabEmptyTechnology"&gt;repl.it&lt;/a&gt; for you to experiment with. &lt;/p&gt;

</description>
      <category>css</category>
      <category>html</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Like `console.log` But Better</title>
      <dc:creator>Leira Sánchez</dc:creator>
      <pubDate>Wed, 26 Feb 2020 22:47:07 +0000</pubDate>
      <link>https://forem.com/leirasanchez/like-console-log-but-better-nhm</link>
      <guid>https://forem.com/leirasanchez/like-console-log-but-better-nhm</guid>
      <description>&lt;p&gt;Who hasn't peppered their code with console.logs in an attempt to find that pesky bug? The logs can get daunting and confusing. These will help you enhance your debugging experience with the console.&lt;/p&gt;

&lt;p&gt;Did you know the console has more properties than log? Try it yourself! Write this into your console and be amazed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(console);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I will go through the ones I find the most useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  console.table();
&lt;/h2&gt;

&lt;p&gt;This method displays your arrays and objects in a neat table. It takes in two parameters, the data, and the names (in an array) of the columns you wish to display (optional). Every element, or property, will correspond to a row in the table. &lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const array = [1, 2, 3, 4, 5];
const object = {
  name: "Leira",
  lastName: "Sánchez",
  twitter: "MechEngSanchez",
};

console.log('array: ', array); 
// array:  [ 1, 2, 3, 4, 5 ]

console.log('object: ', object); 
// object:  { name: 'Leira', lastName: 'Sánchez', twitter: 'MechEngSanchez' }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What is displayed when using table, is much more organized and easy to understand.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.table(array);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ft8jnieosxl0l36f9e6hk.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ft8jnieosxl0l36f9e6hk.png" alt="console.table(array)"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.table(object);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fr25ft9l30ra4fx32q8jy.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fr25ft9l30ra4fx32q8jy.png" alt="console.table(object)"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  console.count()
&lt;/h2&gt;

&lt;p&gt;This method keeps a count of how many times it has been called. I mostly use it to check that my functions are being called when I expect them to. You can provide it with a string as a parameter. It will serve as the label. If left blank, the default label is "default".&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let dev = '';
const followMe = (dev) =&amp;gt; {
    console.count('followers');
    return `${dev} is following you`;
}

followMe('John'); // followers: 1
followMe('Karen'); // followers: 2
followMe('Camila'); // followers: 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  console.assert()
&lt;/h2&gt;

&lt;p&gt;This method only writes to the console if the assertion is false. You will not see it if it's true. The first parameter is what it will make the check on. The second one is the error message you wish to display.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const sum = (n1, n2) =&amp;gt; {
    console.assert(n1 + n2 === 10, 'Not 10');
};

sum(3,2); // Assertion failed: Not 10
sum(5,5); //
sum(10,0); //
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Style the &lt;code&gt;console.log&lt;/code&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Labels
&lt;/h3&gt;

&lt;p&gt;A quick, easy way to organize and keep track of your console.logs is to add labels. Simply, add a string as the first parameter and whatever you want to log as the second. I also like to add a colon and a space for readability.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const firstName = 'Leira';
console.log('First Name: ', firstName); // First Name: Leira
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can add a string as every other parameter to add multiple labels to multiple values but I find that can get messy fast.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const lastName = 'Sánchez';

console.log('First Name: ', firstName, 'Last Name: ', lastName);
// First Name: Leira Last Name: Sánchez
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Messy, right?&lt;/p&gt;

&lt;h3&gt;
  
  
  Add Flair with CSS!
&lt;/h3&gt;

&lt;p&gt;Make your logs colorful and pretty. Just add '%c' to the front of a string as the first parameter. The second parameter will be the CSS styles as a string.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log("%cCLICKED!", "font-family:arial;color:green;font-weight:bold;font-size:3rem");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fq7k07brwy3k7rol32jfe.png" 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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fq7k07brwy3k7rol32jfe.png" alt="clicked"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know in the comments how else you use these or what other methods you find useful!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Useful Tools for Web Devs</title>
      <dc:creator>Leira Sánchez</dc:creator>
      <pubDate>Tue, 11 Feb 2020 22:10:38 +0000</pubDate>
      <link>https://forem.com/leirasanchez/useful-tools-for-web-devs-319e</link>
      <guid>https://forem.com/leirasanchez/useful-tools-for-web-devs-319e</guid>
      <description>&lt;p&gt;There are hundreds of tools for developers, both paid and free. It can be overwhelming to pick out which ones will actually benefit you. You also don’t want to clutter your workspace with every tool under the Sun. This is a list of the tools that have been helpful to me as I learned web development and in my job as a Software Engineer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fullstack&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VSCode Extensions

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2"&gt;Bracket Pair Colorizer 2&lt;/a&gt; - colors matching brackets so they are easier to pair&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-rename-tag"&gt;Auto Rename Tag&lt;/a&gt; - whenever you change an HTML/XML tag, this extensions automatically renames its pair&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight"&gt;TODO Highlight&lt;/a&gt; - leave yourself reminders throughout yoru code. Whenever you add TODO: it will highlight the phrase&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens"&gt;Gitlens&lt;/a&gt; - this extension has a lot of great features but I mostly use it as a way to see who wrote what line of code and when (git blame). Let me know in the comments what else you use it for!&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=bierner.markdown-preview-github-styles"&gt;Markdown Preview Github Styling&lt;/a&gt; VSCode's markdown preview is great but with this extension, your preview will resemble the Github styles more closely&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://eggerapps.at/postico/"&gt;Postico&lt;/a&gt; - edit your database using a friendly UI instead of dry commands&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.postman.com/"&gt;Postman&lt;/a&gt; - many uses for this app but I mostly use it to test APIs&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://bundlephobia.com/"&gt;Bundlephobia&lt;/a&gt; - compute how much your app will grow in size when adding an npm package to it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Design&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://coolors.co/"&gt;Coolors&lt;/a&gt; - free color palette generator&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.sketch.com/"&gt;Sketch&lt;/a&gt; - Sketch makes it super easy to create wireframes for your apps&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://appicon.co/"&gt;Appicon&lt;/a&gt; - generates icons and images for mobile apps right from your browser&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Productivity Stuff&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.spectacleapp.com/"&gt;Spectacle&lt;/a&gt; – easily arrange windows with custom keyboard shortcuts. Unfortunately, it is no longer being maintained. There are other apps like this one but I haven't experimented with them yet since Spectacle has been working great in Catalina&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://pomoday.app"&gt;Pomoday.app&lt;/a&gt; - keyboard-based task management app. It's very new but I already use it everyday. You can time how long a task takes and see a snapshot of your day &lt;/li&gt;
&lt;li&gt;Notes - this is the native notes app from Apple. I used to use OneNote but Notes is much cleaner and faster. You can search easily through them so I make sure to include keywords in my notes&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.habitbull.com/"&gt;HabitBull&lt;/a&gt; - Habitbull makes it easy to track my habits&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://overcast.fm/"&gt;Overcast&lt;/a&gt; - this is my go-to app for podcasts. I am so sad that there isn't an Alexa skill that works with it but it's still better than Spotify or Apple Podcasts. My favorite feature is the ability to create playlists made up of episodes from different shows&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.booksloth.com/"&gt;Booksloth&lt;/a&gt; - I am an avid reader and always keep my Goodreads up to date. However, Goodreads seems to be stuck in the past. Booksloth is beautifully designed and adds the ability to rate books based on badges such as "Story", "Worldbuilding", "Writing Style"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll have to experiment with what’s out there and make sure to keep only those that benefit you and your work. If you use any of these, comment on your experience with them or recommend me tools to use, and I’ll check them out. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>vscode</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
