<?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: Lucas Otaño</title>
    <description>The latest articles on DEV Community by Lucas Otaño (@lucasota).</description>
    <link>https://dev.to/lucasota</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%2F626183%2F99539808-56b0-46dc-bc06-73d68dcb1ebb.jpg</url>
      <title>DEV Community: Lucas Otaño</title>
      <link>https://dev.to/lucasota</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lucasota"/>
    <language>en</language>
    <item>
      <title>My Digital Nomad work setup</title>
      <dc:creator>Lucas Otaño</dc:creator>
      <pubDate>Sun, 27 Nov 2022 12:42:18 +0000</pubDate>
      <link>https://dev.to/lucasota/my-digital-nomad-work-setup-335e</link>
      <guid>https://dev.to/lucasota/my-digital-nomad-work-setup-335e</guid>
      <description>&lt;p&gt;You like to travel or to work from wherever you please, that's the reason why you've clicked on this post. Here I'll give you my thoughts on the matter, things that I take into consideration while choosing my tools/equipment and also how to get used to it.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 Disclaimer:&lt;br&gt;
On this article and the following I will be sharing my thoughts based on my own experience and knowledge. I'm not the owner of the truth and no one is, although I firmly believe that we all have interesting points of view, that's why I'm sharing mines and I would love to know yours as well.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  My transition to Minimalism
&lt;/h2&gt;

&lt;p&gt;When I started my studies on software development I bought my first laptop (HP 250 G5). After a while I “borrowed" and old monitor from my uncle and when I got my first job I started buying a lot of stuff: a second external monitor, audio speakers, external keyboard and mouse, then a mechanical keyboard. I'm also a huge fan of audio stuff so I had a bunch of headphones, speakers, USB audio interface, etc.&lt;/p&gt;

&lt;p&gt;I thought and convinced myself that I needed all of that gear, contradictorily I knew that one of my goals was to travel, working from a train, cafes, coworking places, airbnb, hotels, wherever I wanted to be.&lt;/p&gt;

&lt;h3&gt;
  
  
  What was the issue?
&lt;/h3&gt;

&lt;p&gt;Wherever I tried to work on a cafe, or on a friend's house or during a trip I usually was "uncomfortable” taking out the focus from the actual tasks that I had to do and saying things like: "I can't work properly with just one screen”, "I miss my Shure headphones and USB interface to listen to music”, "This screen is too small”, "I'm not used to this keyboard, I like the external one better”. It's just inconvenient having too much stuff in you backpack with you. &lt;br&gt;
Yeah, I know what you are probably thinking: “Those are not real issues, stop crying”. I totally agree with you, I'm just sharing with you what was on my mind back then.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to overcome a similar situation?
&lt;/h3&gt;

&lt;p&gt;First you should know what your workflow looks like or how it could evolve once you start moving around and working from everywhere, also know your priorities and know what could you give up. In my case I mainly work as a developer, all the music related stuff was not required at all, I play the guitar but I never got into recording and producing. My laptop keyboard was fine, I don't have any  issues on my wrists or any “health restriction” of any kind, another thing less. Depending on your laptop an external mouse is required (unless you are one of those "Mouse's or trackpads are for newbie's” guy, I really envy you), the trackpad on my old HP was trash, but then I purchased a Dell XPS and then a Macbook and those are enjoyable to use.&lt;/p&gt;

&lt;p&gt;And lastly the monitors, I know that there are some roles in programming or professions that can not give up a second, third or even fourth monitor, but I believe that's a really small percentage of professions. I was already used to having a couple of screens: one with chats and music, another with terminals or code, another one with the rendered UI, documentation or a tutorial. The way to adapt  that workflow on a single screen is to start using virtual Desktops (that feature is available on every OS), with a simple swipe gesture or key combination you can easily swap  between desktops and it will soon become as natural as if you were just moving your head to look to another monitor. Right now I use four of them: one with personal related things (browser (Chrome), WhatsApp, Spotify, etc), another for the work specific browser (&lt;a href="https://brave.com/" rel="noopener noreferrer"&gt;Brave&lt;/a&gt; ❤️) and chats, a third one for Postman and VS Code (Native windows on Mac is a must use) and the last one just with terminals (iTerm2 on full screen split as needed).&lt;/p&gt;

&lt;h2&gt;
  
  
  Enough &lt;strong&gt;verbiage, let's get into the gear&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I don't mean to brag here or anything similar, I just want to share what currently works for me. I'm more than satisfied with my current setup, so much that being as consumerist as I'm, I'm not thinking of what to change or upgrade although there are "better” or newer alternatives.&lt;/p&gt;

&lt;h3&gt;
  
  
  Laptop
&lt;/h3&gt;

&lt;p&gt;I currently own a &lt;a href="https://amzn.to/3V7OcMu" rel="noopener noreferrer"&gt;14” M1 Pro Macbook Pro&lt;/a&gt; with 16Gb of ram and 1Tb of storage.&lt;/p&gt;

&lt;h4&gt;
  
  
  Why this laptop?
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Is the perfect size/resolution for me: it took me a couple of days to get used to the size reduction from my Dell XPS 9500, but now I'm used to it.&lt;/li&gt;
&lt;li&gt;Is not too heavy: the previous one was stupidly heavy, but I've also used a &lt;a href="https://amzn.to/3gI4tc7" rel="noopener noreferrer"&gt;Lenovo Thinkpad X1 Carbon&lt;/a&gt; and that one was unbelievable on this aspect.&lt;/li&gt;
&lt;li&gt;Amazing screen: if you are reading this, it's more likely that your computer is your work tool, you are spending way too many hour looking at this device. Your eyes will thank you if you use a decent screen.
&lt;em&gt;Note: There's a debate on whether blue light filters are useful or not. I don't need glasses, but I bought a pair just for the filter and I couldn't be happier with the results.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Battery: it will last a lot depending on your workflow, tools and how many hours you are on the computer. In my case I can trust the battery life to work a whole day without a charge.&lt;/li&gt;
&lt;li&gt;Reliability: unlike Linux and Windows (at least in my experience) everything works out of the box, always, and that's what truly matters if this is your work tool. There's not weird surprise updates, blue screens and there's not need to manually download and build a sketchy controller from some repo to make your keyboard work.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Alternatives
&lt;/h4&gt;

&lt;p&gt;If for some reason you can't use a Macbook I think that a really good alternative would be the &lt;a href="https://amzn.to/3gI4tc7" rel="noopener noreferrer"&gt;Lenovo Thinkpad X1 Carbon&lt;/a&gt;: great battery life, nice build quality, very lightweight (from 1,13 kg/ 249 pounds), also very customisable to fit your needs. And also if you need or prefer Linux, the Thinkpad line is very well known for it's Linux compatibility.&lt;/p&gt;

&lt;h3&gt;
  
  
  Smartphone
&lt;/h3&gt;

&lt;p&gt;I don't think this is important, we all carry a smartphone on a daily basis, it's important to have a good plan not to worry on the data usage. &lt;a href="https://amzn.to/3i5z17R" rel="noopener noreferrer"&gt;iPhone&lt;/a&gt; and Mac integration is beautiful and very convenient, it's cool but it's not a must have.&lt;/p&gt;

&lt;h3&gt;
  
  
  Headphones
&lt;/h3&gt;

&lt;p&gt;Well, I have two pairs: &lt;a href="https://amzn.to/3GL5cE1" rel="noopener noreferrer"&gt;Sony WH-1000XM4&lt;/a&gt; (Headset) and &lt;a href="https://amzn.to/3XAP65O" rel="noopener noreferrer"&gt;Sony WF-XB700&lt;/a&gt; (Earbuds). The most important one is the headset: amazing battery life, good sound quality, multi-device, VERY comfortable and they have a really good active noise cancellation which is a must have if you will work on a public space. They are also affordable, lightweight and foldable (unlike the Apple Airpods Max).&lt;/p&gt;

&lt;p&gt;The Earbuds are pretty good too: nice sound quality, inexpensive, comfortables and they have a great passive noise cancellation. I use them when I don't feel like having a big headset, when I have very few space on my backpack or when I'm somewhere where I want to be low key and avoid being robbed or something.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;I think the idea here is to understand your needs and goals, then find the gear that best suits your needs on your budget trying to get the most value possible. In my case I mostly do FullStack web development, I don't have any technical limitation (I could easily work on a 8Gb Intel I3 windows laptop, which I did for a long time) so I focus mainly on reliability, battery life, screen quality and weight (in that priority order). So this is my dream gear right now.&lt;/p&gt;

&lt;p&gt;I would love to hear your thoughts. Would you change something? Was this useful for you in some way? What's your setup and why it fits you?&lt;/p&gt;

&lt;p&gt;Thanks for reading, may the force be with you.&lt;/p&gt;

</description>
      <category>tutorial</category>
    </item>
    <item>
      <title>Slack: boost your team's productivity</title>
      <dc:creator>Lucas Otaño</dc:creator>
      <pubDate>Wed, 19 May 2021 12:54:23 +0000</pubDate>
      <link>https://dev.to/cloudx/slack-boost-your-team-s-productivity-1ibc</link>
      <guid>https://dev.to/cloudx/slack-boost-your-team-s-productivity-1ibc</guid>
      <description>&lt;p&gt;Let’s suppose the following scenario: you started working in a five person startup; Slack was a bit messy, but it worked for you. After a while the company grows up, now there are 90 employees and the chat is full with random conversations, pets' pics, the important information is somewhere in there.&lt;br&gt;
If you are in a similar situation, or you just have an OCD with management like me, you must fix that.&lt;br&gt;
Slack can be funny (and it should, we are no robots), but primarily it’s a work tool meant to improve the productivity and the communication.&lt;br&gt;
In this post I want to propose some tips that improved the workflow in the different companies and teams where we've used it.&lt;/p&gt;

&lt;h1&gt;
  
  
  Table of Content
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Don’t be afraid of creating channels&lt;/li&gt;
&lt;li&gt;Prioritize information at first glance&lt;/li&gt;
&lt;li&gt;An emoji is worth a thousand words&lt;/li&gt;
&lt;li&gt;We are not tailors, but please, let's use more threads&lt;/li&gt;
&lt;li&gt;@channel vs @here &lt;/li&gt;
&lt;li&gt;Custom status&lt;/li&gt;
&lt;li&gt;Standardize message formats&lt;/li&gt;
&lt;li&gt;Remove previews&lt;/li&gt;
&lt;li&gt;One Single Message&lt;/li&gt;
&lt;li&gt;Avoid Direct Messages when talking about the project&lt;/li&gt;
&lt;li&gt;Adopting these practices is a team work&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id="create-channels"&gt;Don’t be afraid of creating channels&lt;/h2&gt;

&lt;p&gt;In a company there are a lot of different people (thank god!), with different interests, hobbies, tolerance to other human beings, and so on. It’s very probable that not everyone in the company wants to see a picture of your new puppy or your brand new custom mechanical keyboard full of RGB magic for more FPS, but there are for sure a lot of people that would love to see those things. Go and create new channels &lt;code&gt;#puppies_lovers&lt;/code&gt; &lt;code&gt;#hardware_fans&lt;/code&gt; &lt;code&gt;#music&lt;/code&gt; &lt;code&gt;#coffee&lt;/code&gt; (you can be a little more creative than me with the names).&lt;br&gt;
This way you can create little communities of people with similar interests without disturbing/spamming general channels.&lt;/p&gt;

&lt;p&gt;Another useful proposal I have for you is to have a side channel for your current team. Sometimes there are roles that work on several teams at the same time, so they might not want to scroll over memes or conversations about the Snyderverse to look for useful information (or maybe they do, in that case they can join your side channel).  And as I love consistency, you could use the same notation for every side channel. Example: &lt;code&gt;#cms_team&lt;/code&gt; (main channel) and &lt;code&gt;#cms_team_theFunSide&lt;/code&gt; (side channel to make memes competitions and to spoil your teammates).&lt;/p&gt;

&lt;h2 id="prioritize-information"&gt;Prioritize information at first glance&lt;/h2&gt;

&lt;p&gt;Let’s come back to that role that works with different teams, or that developer immersed on &lt;a href="https://lifehacker.com/what-is-the-zone-anyway-5920484" rel="noopener noreferrer"&gt;“The Zone”&lt;/a&gt;. They might want to see only the important information, and leave the rest for "later" (yes, like that bugfix 🤫).&lt;br&gt;
Overcoming this situation is very simple, just use custom emojis at the beginning of the message:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🟢 Green circle: represents information that won’t change anyone’s responsibilities, priorities or tasks.
E.g, if you are writing an update on a thread about a task, or if you are going to the bank for a couple of hours.&lt;/li&gt;
&lt;li&gt;⚠️ Yellow triangle:  you need someone else’s attention, or action, help, etc.
E.g., a code review, a mail review, a cry for help inside a task thread, a concern about something.&lt;/li&gt;
&lt;li&gt;🟥 Red square: requires urgent attention, something must be done immediately. 
E.g, the production server is down, a high priority email from a client, a client meeting being moved or cancelled, or maybe even a PR/mail that needs to be ready ASAP. Whenever you see this, please, go to read the message. &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: it’s important to use those colors to quickly distinguish  between them, but it is also necessary to use different shapes for color-blind people.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/drive/folders/1cp-F9m-01zCvjOpGkzXfN0AdjoSgZ5wN?usp=sharing" rel="noopener noreferrer"&gt;Here&lt;/a&gt; you have some emojis I've created and others that I've downloaded from &lt;a href="https://slackmojis.com/" rel="noopener noreferrer"&gt;slackmojis.com&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id="emojis"&gt;An emoji is worth a thousand words&lt;/h2&gt;

&lt;p&gt;We are seeking productivity increases here, let’s use emojis to achieve this! How?&lt;br&gt;
Scenario: let’s suppose that you are the Scrum Master and you ask the following question to your team, what would you prefer?&lt;br&gt;
&lt;em&gt;Option A&lt;/em&gt;&lt;br&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%2Fuploads%2Farticles%2F5vunokg39mhofvhvl2h4.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%2Fuploads%2Farticles%2F5vunokg39mhofvhvl2h4.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Option B&lt;/em&gt;&lt;br&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%2Fuploads%2Farticles%2Fdktyh8oz854f3umyvj0a.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%2Fuploads%2Farticles%2Fdktyh8oz854f3umyvj0a.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think the answer is quite obvious, there can also be a discussion on a thread, but having the emojis as the final answer. Also, if there are only :no: emojis, you can use a :cancelled: emoji on the thread to let everyone know that it has been cancelled.&lt;/p&gt;

&lt;p&gt;Short answers are very likely to be replaced with an emoji: yes, no, I don’t know (IDK), thanks, solved, merged, done. It might sound quite robotic or impersonal for you, but remember, this is a work tool that seeks for productivity increases, you can still do funny things on the side channel that I proposed earlier.&lt;/p&gt;

&lt;h2 id="threads"&gt;We are not tailors, but please, let's use more threads 🧵&lt;/h2&gt;

&lt;p&gt;Following the idea of finding relevant information at first glance, imagine a message starts a long conversation and you don't use a tread. If you need to find a message sent before that conversation, you'll have to scroll a lot. Apart from that, the channel would turn into a mess. Wouldn't it be better to have a thread that only people involved on that matter will open?&lt;br&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%2Fuploads%2Farticles%2Fbg2ahpohluut0fxas5j0.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%2Fuploads%2Farticles%2Fbg2ahpohluut0fxas5j0.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Besides, it’s not only about having a nice and well organized chat, but also not to disturb team members not involved in the conversation. Just imagine a conversation of 30 messages between 2 persons on the team channel (or even worse, on a general channel), there  will be a lot of people being disturbed  with 30 notifications unnecessarily.&lt;/p&gt;

&lt;h2 id="tags"&gt;@channel vs &lt;a class="mentioned-user" href="https://dev.to/here"&gt;@here&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Keeping in mind the idea of not disturbing people when it’s needless, we have to explain the difference between these two tags. It’s very simple, @channel will notify all channel’s members whether they are active or not, &lt;a class="mentioned-user" href="https://dev.to/here"&gt;@here&lt;/a&gt; will notify only the active members. You can work with people in different time zones, so you don’t  want to bother them (or at least you shouldn’t) on their non-working hours, or to disturb the ones on holidays or on a day off, unless it’s critical to let them know. You can learn more about this &lt;a href="https://slack.com/intl/en-ar/help/articles/202009646-Notify-a-channel-or-workspace#:~:text=%40everyone%20notifies%20every%20person%20in,they're%20used%20in%20threads" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sorry &lt;a class="mentioned-user" href="https://dev.to/here"&gt;@here&lt;/a&gt; I didn't mean to tag you 😬 &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id="custom-status"&gt;Custom status&lt;/h2&gt;

&lt;p&gt;The idea behind this point is not to micromanage your company but to let your colleagues know whether you are available or not. You may need to go to the grocery store, help your kid with something, cook lunch, go to the bathroom (💩), etc. If a teammate needs your help when you are active and you don’t answer within 10/30 minutes or more, he might think you are ignoring him, or that he is bothering you,  or he might infer that you are doing something else. Anyways, we can’t know what the others may think, for that reason  with two clicks we can set our custom status as “AFK” (Away From Keyword), “Lunch”,  “Coffee break”. This way you can avoid misunderstandings or hard feelings!&lt;/p&gt;

&lt;h2 id="standarize-messages"&gt;Standardize message formats&lt;/h2&gt;

&lt;p&gt;This can be a little too much for some of you, but remember that we are trying to boost our team performance by adopting some habits on Slack. Look at the following example:&lt;br&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%2Fuploads%2Farticles%2Fpj69588p7dbfdxxyp5a2.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%2Fuploads%2Farticles%2Fpj69588p7dbfdxxyp5a2.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&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%2Fuploads%2Farticles%2Fbupi02twq2srsxpjugh9.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%2Fuploads%2Farticles%2Fbupi02twq2srsxpjugh9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the first image some colleagues may ask for the ticket link, or story number, also they don't know whether you're blocked or not. On the other hand, in the second image we already provide information that’s very likely to be useful for our teammates. This way, by investing some clicks and seconds beforehand , we can save time to our partners and get a response quicker.&lt;br&gt;
This might seem like a waste of time, but I consider that it helps to have a very clean and well organized chat, and also, as I mentioned, save time in the mid term (once everyone gets acquainted with that message format).&lt;/p&gt;

&lt;h2 id="remove-previews"&gt;Remove previews&lt;/h2&gt;

&lt;p&gt;Unless you have a Jira bot integration (for example) that adds value to a link preview, I consider that a preview is just a waste of space and it interferes with a clean chat. I’ll leave an example below.&lt;br&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%2Fuploads%2Farticles%2Fpt2opxa208582o9aza45.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%2Fuploads%2Farticles%2Fpt2opxa208582o9aza45.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Also, regarding links, by avoiding pasting an entire link on the message will help having a clean message, just add the link to a word that references it, or just simply write  “Link here” and put the link in those words.&lt;br&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%2Fuploads%2Farticles%2Fn4t4p8bme4ke8c6ffpw3.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%2Fuploads%2Farticles%2Fn4t4p8bme4ke8c6ffpw3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&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%2Fuploads%2Farticles%2Fhkxvg3vfdz4r4pridozn.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%2Fuploads%2Farticles%2Fhkxvg3vfdz4r4pridozn.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id="one-single-message"&gt;One Single Message&lt;/h2&gt;

&lt;p&gt;There are a couple advantages on writing a single message:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Less notifications to your colleagues: not much to explain here, one message is equal to one notification; information spread on four separate messages means four notifications for each one on the channel.&lt;/li&gt;
&lt;li&gt;Also talking about notifications, if the whole information is reduced to a single message your partners can read it from the notification pop-up. If you split the information you are forcing them to open the chat to know what you are talking about.&lt;/li&gt;
&lt;li&gt;Organization and readability: if you write down and send messages as you are thinking of an idea, you are very likely to forget something, or maybe that information makes nonsense all spread out. If you take some more seconds and read the message before sending it, it’ll guarantee you that you’re not sending loose thoughts.&lt;/li&gt;
&lt;li&gt;If you send several messages to express an idea, where should your teammates start the thread in order not to lose relevant information. It might not seem that serious, but imagine someone tags you on a thread created three days ago and you only have partial information on the initial message, you’ll be forced to scroll the chat to find some messages from a couple days ago. Pretty annoying, isn’t it?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="avoid-dms"&gt;Avoid Direct Messages when talking about the project&lt;/h2&gt;

&lt;p&gt;This is a very common practice (or at least it was in the companies I worked on so far), to start a DM conversation between a few members of the team, or just to DM a partner to talk about something you don’t understand about the project or to make a decision.&lt;br&gt;
Avoiding this practice by starting a conversation on the team channel (you can also tag the people you consider relevant for that matter) brings several advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The team knows what you are dealing with / working on.&lt;/li&gt;
&lt;li&gt;Maybe people that you thought were not relevant can help you, or can bring an interesting solution to the problem, give their opinion, etc. (You are a team! This is a key aspect)&lt;/li&gt;
&lt;li&gt;Maybe you are working on something that overlaps with a task that a teammate is working on and you didn’t know.&lt;/li&gt;
&lt;li&gt;Even if you are talking about something very technical that you think is just a matter of the frontend dev team, you might not know the whole team and some  from QA or backend knows about the framework you are working on. DO NOT underestimate anyone on the team.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="team-work"&gt;Adopting these practices is a team work&lt;/h2&gt;

&lt;p&gt;Before adopting one of the tips written in this article on your team or organization, you might want to discuss it with the rest of your team. After that, it will be a process to fully adopt it: some colleagues will forget to start a thread or to use a :yes: emoji reaction instead of writing the answer. In those cases you can use the :start_a_thread: emoji, or :use_emojis: , or :thats_a_paddlin: to help your partners to get used to it.&lt;br&gt;
It is useless if only a few people do it.&lt;/p&gt;

&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;It's possible that some of this tips don't apply to your company. You might need to ignore some of them, change others or simply create new ones to match your use cases.&lt;br&gt;
I really want to know what you think, and if you adopt one these I want to hear about the results it provided to your organization.&lt;br&gt;
Here you have some useful resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://slackmojis.com/" rel="noopener noreferrer"&gt;Slackmojis&lt;/a&gt;: this is a very long compilation of useful and funny Slack Emojis.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://maketext.io/" rel="noopener noreferrer"&gt;Cool Text Generator&lt;/a&gt;: when I need to create a text emoji I use this very simple, yet useful, website.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://drive.google.com/drive/folders/1cp-F9m-01zCvjOpGkzXfN0AdjoSgZ5wN?usp=sharing" rel="noopener noreferrer"&gt;Emojis named through this post&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Thanks &lt;a class="mentioned-user" href="https://dev.to/navarroaxel"&gt;@navarroaxel&lt;/a&gt; for providing the images and &lt;a class="mentioned-user" href="https://dev.to/nachosource"&gt;@nachosource&lt;/a&gt; for the corrections of the writing. Please go to check their very interesting blogs!&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>productivity</category>
      <category>startup</category>
      <category>todayilearned</category>
      <category>functional</category>
    </item>
    <item>
      <title>React: thoughts from an Angular developer</title>
      <dc:creator>Lucas Otaño</dc:creator>
      <pubDate>Wed, 05 May 2021 19:49:55 +0000</pubDate>
      <link>https://dev.to/cloudx/react-thoughts-from-an-angular-developer-hbb</link>
      <guid>https://dev.to/cloudx/react-thoughts-from-an-angular-developer-hbb</guid>
      <description>&lt;p&gt;After two years working with &lt;a href="https://angular.io/"&gt;Angular&lt;/a&gt; I was assigned to a project where the frontend stack was &lt;a href="https://reactjs.org/"&gt;React&lt;/a&gt;, &lt;a href="https://nextjs.org/"&gt;Next.js&lt;/a&gt; and &lt;a href="https://chakra-ui.com/"&gt;Chakra UI&lt;/a&gt;. I started without any prior React experience nor knowledge. After three months in this project I’ve decided to put my thoughts of this technology change into a post.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Disclaimer: this won’t be a full Angular vs React post, but my thoughts about what I like and don’t like about React, what I miss from Angular, etc. Also take into consideration that I’ve only been working with React for 3 months.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  From a Framework (Angular) to a Library (React)
&lt;/h1&gt;

&lt;p&gt;This was one of the biggest changes for me, Angular already provides you a way to do things, elements to help with authentication (Guards), endpoints handling (Interceptors), Routing, Pipes, tools (such as the beloved Angular CLI), etc.&lt;br&gt;
As React is just a library, it’s on you to generate all those things, or to search another external tool or library.&lt;/p&gt;

&lt;h2&gt;
  
  
  In React most features must be created from scratch
&lt;/h2&gt;

&lt;p&gt;Let’s suppose that we need to show an alert on our application every time an endpoint returns an error.&lt;br&gt;
In Angular we can just go to the &lt;a href="https://angular.io/cli"&gt;CLI&lt;/a&gt;, create a new Interceptor with the logic of reading the error and calling an alert, then use the interceptor from the app.module and we are ready to go.&lt;br&gt;
On the other hand, React doesn't provide us with built-in magic to do this. We could use &lt;a href="https://redux-saga.js.org/"&gt;Redux-Saga&lt;/a&gt;, create an architecture for it to be reusable, in conclusion: think everything from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Routing
&lt;/h2&gt;

&lt;p&gt;Since I haven’t worked with pure React, but with Next.js, I’m going to compare its &lt;a href="https://nextjs.org/docs/routing/introduction"&gt;routing system&lt;/a&gt; to the &lt;a href="https://angular.io/guide/router"&gt;Angular Router&lt;/a&gt;.&lt;br&gt;
Nextjs handles routing based on the folder structure inside the &lt;em&gt;pages/&lt;/em&gt; directory, this is very easy to learn and doesn't need any configuration at all. For simple projects I look at it as a great advantage.&lt;br&gt;
I consider that the Angular Router is a much more powerful and versatile tool, with it you can handle Lazy Loading as you need, and redirection is much easier than in Nextjs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;In my case, I don’t have a lot of experience in development and even though I was able to start several Angular projects by myself and not die trying since it provides you a way to organize directories (even though you can customize it based on your needs). &lt;br&gt;
Oppositely, if I had to create a relatively big application by myself with React in this moment of my career, it would be very painful for me to create something well organized and scalable (now that I’ve worked on a project with a lovely architecture created by very experienced React developers it would be easier for sure).&lt;/p&gt;

&lt;h1&gt;
  
  
  Javascript after Typescript
&lt;/h1&gt;

&lt;p&gt;Before I started working with React, I loved &lt;a href="https://www.typescriptlang.org/"&gt;TS&lt;/a&gt; and I thought that it was a must to have within any application. I learned that it isn’t correct, you can work in a very well organized way by using only javascript and a good Text editor or IDE. Also, if you don’t use Typescript well, it can become a real pain in the neck.&lt;br&gt;
I don’t  think Typescript is useless, I still believe that there are many scenarios in which TS can be a real lifesaver (really big projects, or projects with a lot of different entities).&lt;br&gt;
Another thing that I’ve noticed when using React is that I had to learn much more about javascript, ES6 syntax is a must, also I wasn’t used to work with &lt;code&gt;.map&lt;/code&gt; or generator functions.  (This can be also because in this project I’ve worked with real javascript lovers) &lt;/p&gt;

&lt;h1&gt;
  
  
  I really miss the Angular CLI
&lt;/h1&gt;

&lt;p&gt;The ability to create any element you need (Module, Component, Service, you name it) in a single prompt command without having misspelling errors in the code is a real time saver, also by using it, you don’t have to worry about the file structure, which imports you need, etc.&lt;/p&gt;

&lt;h1&gt;
  
  
  Simpler files
&lt;/h1&gt;

&lt;p&gt;If you create a new component in Angular, by default it creates three files (and a fourth one if it`s a module) one for the template (HTML), one for styles and the other one to handle all the logic. You can reduce it into one sometimes, but I think that React, by using JSX, handles this in a much more efficient and cleaner way.&lt;br&gt;
Also, by having less files, the project is more maintainable, cleaner and less intimidating to new developers.&lt;/p&gt;

&lt;h1&gt;
  
  
  Learning curve
&lt;/h1&gt;

&lt;p&gt;I had heard that React’s learning curve was smaller than Angular’s, but I didn’t understand why until I started with React. If you had to create a simple website with few pages, with React it would be very easy and simple as you don’t need to know a lot of stuff. On the other hand, to do that on angular you’ll have to learn first: Typescript, Routing, Modules, Services, Interceptors, Guards, Pipes, among others things you may require based on your needs.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;I still have a lot to learn about both technologies, but now I know that both have pros and cons, different use cases and it is not one or the other. The next time I have to create a new project I’ll surely be doing a deep research and evaluation before choosing between Angular or React (or other frameworks or libraries that I haven’t tested yet).&lt;br&gt;
I hope this has been in some way helpful for you. May the force be with you.&lt;/p&gt;

</description>
      <category>react</category>
      <category>angular</category>
    </item>
  </channel>
</rss>
