<?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: Nicolas Blanco</title>
    <description>The latest articles on DEV Community by Nicolas Blanco (@nicolasblanco).</description>
    <link>https://dev.to/nicolasblanco</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%2F164226%2Fa41b59ac-53b5-49b0-9f9f-b969cf2f7ba3.jpeg</url>
      <title>DEV Community: Nicolas Blanco</title>
      <link>https://dev.to/nicolasblanco</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nicolasblanco"/>
    <language>en</language>
    <item>
      <title>Let's disrupt the tech candidate hiring process 💣</title>
      <dc:creator>Nicolas Blanco</dc:creator>
      <pubDate>Tue, 07 Jul 2020 14:50:15 +0000</pubDate>
      <link>https://dev.to/nicolasblanco/let-s-disrupt-the-tech-candidate-hiring-process-3e68</link>
      <guid>https://dev.to/nicolasblanco/let-s-disrupt-the-tech-candidate-hiring-process-3e68</guid>
      <description>&lt;p&gt;There's something that has always annoyed me in the tech industry.&lt;/p&gt;

&lt;p&gt;Most of the time, the first step for tech candidates is to fill a boring form. First name, last name, CV, Linkedin, Github profile, a few usual questions, etc. Then the classical : "We'll be in touch soon if your profile interest us" final sentence 😐.&lt;/p&gt;

&lt;p&gt;It does not matter which software is used by the Human Resource team, it's most of the time the same kind of form and same questions for everyone.&lt;/p&gt;

&lt;p&gt;Being an engineer, I don't remember how many job forms I've filled...&lt;/p&gt;

&lt;p&gt;Recently I had to work as a CTO and decided to do things slightly differently. The Human Resource team did not want to change the job ads software, so I was kinda locked. But at the end I simply added to the workflow a small "secret" API that I developed.&lt;/p&gt;

&lt;p&gt;This API would simply "pre-screen" the public accounts given by the candidates. By screening the profiles sent by the candidate, the API would detect things like : high activity on public Github repositories, answers on Stackoverflow, etc.&lt;/p&gt;

&lt;p&gt;Then the system would send an email to the candidate thanking him or her for the contributions and engaging a small discussion about those.&lt;/p&gt;

&lt;p&gt;Of course this kind of system works better for senior or experienced developers with public contributions. But at the end, it was mostly a success for both us and the candidates 👏🏼.&lt;/p&gt;

&lt;p&gt;First, this system helped us filter the spam and the agencies. Secondly, most senior engineers were quite happy to discuss about their public contributions and we had more engagement. This lead us to more quality discussions with good and motivated candidates 🚀.&lt;/p&gt;

&lt;p&gt;I've decided to release the API on &lt;a href="https://wisedev.io"&gt;https://wisedev.io&lt;/a&gt;. You can try it on your own profiles if you want to see what could be your scoring.&lt;/p&gt;

&lt;p&gt;What's your opinion on this kind of technique? What are your biggest pains during the traditional tech hiring process? What would you disrupt?&lt;/p&gt;

</description>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>⏳💵 How I save time and money communicating with customers</title>
      <dc:creator>Nicolas Blanco</dc:creator>
      <pubDate>Tue, 05 May 2020 16:54:31 +0000</pubDate>
      <link>https://dev.to/nicolasblanco/how-i-save-time-and-money-communicating-with-customers-4bld</link>
      <guid>https://dev.to/nicolasblanco/how-i-save-time-and-money-communicating-with-customers-4bld</guid>
      <description>&lt;p&gt;As an independent engineer, I know that a big amount of my time is used in communication with my customers. But we developers, really love to spend our time working on new features. So it's a good thing to try to optimise the amount of time we spend in communicating, so we keep more time to do the stuff that we enjoy more 😎...&lt;/p&gt;

&lt;h3&gt;
  
  
  Have a top-notch Continuous Integration system and monitoring tools
&lt;/h3&gt;

&lt;p&gt;One of the key is to build &lt;strong&gt;trust&lt;/strong&gt; with customers, and it's almost impossible to build this trust without a &lt;strong&gt;good Continuous Integration system&lt;/strong&gt;. What I enjoy telling to my customers is that there will always be bugs and problems, but a good engineer will not only efficiently fix the problem but will also take care it won't happen again.&lt;/p&gt;

&lt;p&gt;The other part is to have good &lt;strong&gt;monitoring tools&lt;/strong&gt; to be proactive when some issues happen. There is nothing worst than to be contacted by your customers telling you that the site or some page has crashed.&lt;br&gt;
Some common issues when developing web apps are : the site being unreachable, some pages taking too much time to load, an exception raised on production on some page or even the whole site.&lt;/p&gt;

&lt;p&gt;To deal with those issues, I enjoy using &lt;a href="https://sentry.io"&gt;Sentry.io&lt;/a&gt;, to help me deal with exceptions on production, both backend side and frontend side.&lt;br&gt;
I sometimes use bigger tools like &lt;a href="https://www.newrelic.com"&gt;New Relic&lt;/a&gt; to monitor performance issues.&lt;/p&gt;

&lt;p&gt;An interesting feature is to plug the reports of those tools into the communication channel that I use with my customers. For example, I use a Slack plugin to plug both my CI system and exception monitoring system to a Slack channel.&lt;/p&gt;

&lt;p&gt;What other tools do you personally like to use to monitor your apps and exceptions? Share them in the comments 👌🏼.&lt;/p&gt;

&lt;h3&gt;
  
  
  Set the good way of reporting bugs and issues from start.
&lt;/h3&gt;

&lt;p&gt;All developers I think have already faced the terrible &lt;em&gt;"It does not work!"&lt;/em&gt; bug report 🤣. What does it mean? Is the page blank, is there an error message, is there nothing happening?&lt;/p&gt;

&lt;p&gt;To avoid all those useless back and forth in communication, it's always a good idea to set with the customer the &lt;strong&gt;good rules&lt;/strong&gt; of reporting issues from the start.&lt;br&gt;
I also like to emphasise with him the fact that in order to resolve a bug or issue, the developer likely needs to first &lt;strong&gt;reproduce&lt;/strong&gt; it. So any kind of information leading us to reproduce the bug more quickly is likely to save time and money.&lt;/p&gt;

&lt;p&gt;Depending on the project, one of the trick that I've already used is to encourage the customer to reproduce the problem while &lt;strong&gt;recording his screen&lt;/strong&gt; with a small screen-recording software.&lt;/p&gt;

&lt;p&gt;This way the customer does not have to share a lot more information.&lt;/p&gt;

&lt;p&gt;Sometimes the issue is only triggering with a certain set of production data. I usually have tasks to capture, download and restore the production data on my local environment. But this kind of procedure is not possible on all projects, it may also pose a problem with data security and data privacy if the production data contains users personal information. There's not really a solution working for all possible cases.&lt;/p&gt;

&lt;h3&gt;
  
  
  Have a system to allow your customer to request small text changes
&lt;/h3&gt;

&lt;p&gt;How many times have you heard your customers ask you to make small texts or labels changes in your application? Making small text changes takes time and it is time lost for the developer who is not working on a real feature.&lt;/p&gt;

&lt;p&gt;There are a lot of ways to allow non-developers people to make modifications of the text displayed in an application. Depending on the language or framework used, it’s also possible to use some Content Management System, localisation library or software, translation keys, etc.&lt;br&gt;
But those ways are sometimes complex and take time (and money) to setup and maintain.&lt;/p&gt;

&lt;p&gt;To handle this, I created a very minimalist Web interface. It allows non-developers to perform searches in a Git repository, changes in multiple files and creates Pull Requests. This way developers can review and merge the changes without being disturbed!&lt;/p&gt;

&lt;p&gt;This project's code-name is &lt;a href="https://quickfastchange.io"&gt;QuickFastChange (QFC)&lt;/a&gt; and it's currently free to use 🔥.&lt;/p&gt;

&lt;p&gt;Give it a try... and share with me in the comments the other productivity tricks you use with your customers to save time and money.&lt;/p&gt;

</description>
      <category>git</category>
      <category>productivity</category>
      <category>remote</category>
      <category>freelance</category>
    </item>
    <item>
      <title>How I save time by letting my customers use git (and they don’t even know it)</title>
      <dc:creator>Nicolas Blanco</dc:creator>
      <pubDate>Tue, 18 Feb 2020 18:59:56 +0000</pubDate>
      <link>https://dev.to/nicolasblanco/how-i-save-time-by-letting-my-customers-use-git-and-they-don-t-even-know-it-16fo</link>
      <guid>https://dev.to/nicolasblanco/how-i-save-time-by-letting-my-customers-use-git-and-they-don-t-even-know-it-16fo</guid>
      <description>&lt;p&gt;TLDR; The small static text changes requested by my customers lead me to create a custom small web app for Git where they can make those changes themselves (&lt;a href="https://quickfastchange.io"&gt;https://quickfastchange.io&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;How many times have you heard your customers, QA team or managers ask you or the developers team to make small texts or labels changes in your application? Sometimes, as developers, we feel like we’re losing a lot of time making small changes in the markup of our views or templates instead of spending the time making new real features.&lt;/p&gt;

&lt;p&gt;There are a lot of ways to allow non-developers people to make modifications of the text displayed in an application. Depending on the language or framework used, it’s also possible to use some Content Management System, localisation library or software, translation keys, etc. Nevertheless, those ways are sometimes complex and take time (and money) to setup and maintain.&lt;/p&gt;

&lt;p&gt;Very often, most of the static text is directly hard-written inside the templates and views and versioned in Git.&lt;/p&gt;

&lt;p&gt;In one of my latest projects, I managed to explain to a non-developer collaborator how to use the Github interface to make searches and use the “Edit file” feature to directly make changes in the project repository.&lt;/p&gt;

&lt;p&gt;He took me some time to explain her how to use this Github feature, but after that it saved us a lot of time. Every time she wanted to make a small text change in a view, she would first try to find the text she wanted to change with a search, use the Edit file feature and create a Pull Request. Even if she was not really used to HTML, it was most of the time easy enough to just change a text, label or title inside the markup.&lt;/p&gt;

&lt;p&gt;It was a good and successful experience, but still, the process of doing that with Github was kind of complex to explain to a non-developer person. It requires multiple mouse clics and navigation to multiple pages to search, then edit a file, and finally create a pull request. There’s new technical vocabulary to introduce to a person who is maybe new to Git (“commit”, “pull request”, etc.). Also the Edit File feature of Github only allows to make changes in one file at a time.&lt;/p&gt;

&lt;p&gt;At this time, I had a small idea : why not create a very minimalist Web interface that would allow non-developers to perform searches in a Git repository, changes in multiple files and Pull Requests to allow developers to review and merge the changes… all that in a single page! Project code-name QuickFastChange (QFC) was born.&lt;/p&gt;

&lt;p&gt;For the first version, I decided to create a prototype using only the Github API and a Github Application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Nf2MxOqy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://quickfastchange.io/images/screenshot_changes-cc880810b4f6e141e535db9cea2ed652.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nf2MxOqy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://quickfastchange.io/images/screenshot_changes-cc880810b4f6e141e535db9cea2ed652.png" alt="screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eventually the prototype is there and it looks like I stayed in the constraints of my idea. My customer was able to search terms in the repository of her project, make small changes and create pull requests in just a few seconds, and while staying on the exact same page. The prototype was quickly validated by both my collaborator and me!&lt;/p&gt;

&lt;p&gt;So if you feel like you want to save time by allowing changes from your collaborators, customers and managers on your repositories, give it a try today on: &lt;a href="https://quickfastchange.io"&gt;https://quickfastchange.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the technical details, the prototype was created using Elixir and the Phoenix Web framework. The interactive single page to make the changes was created using the LiveView library. I was very happy with those choices and will definitely make a technical feedback later to those who are interested.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>git</category>
      <category>github</category>
      <category>projectmanagement</category>
    </item>
  </channel>
</rss>
