<?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: Ricardo Enrique</title>
    <description>The latest articles on DEV Community by Ricardo Enrique (@ricardogeek).</description>
    <link>https://dev.to/ricardogeek</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%2F483112%2F2d116c13-5ba8-43f2-b645-d4ef4e49162f.jpg</url>
      <title>DEV Community: Ricardo Enrique</title>
      <link>https://dev.to/ricardogeek</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ricardogeek"/>
    <language>en</language>
    <item>
      <title>All About Javascript Bind</title>
      <dc:creator>Ricardo Enrique</dc:creator>
      <pubDate>Tue, 26 Jan 2021 02:42:38 +0000</pubDate>
      <link>https://dev.to/ricardogeek/all-about-javascript-bind-188n</link>
      <guid>https://dev.to/ricardogeek/all-about-javascript-bind-188n</guid>
      <description>&lt;p&gt;The &lt;code&gt;bind()&lt;/code&gt; method creates a new function, which when called, assigns its operator this the delivered value, with a sequence of arguments given preceding any given when the function is called.&lt;/p&gt;

&lt;p&gt;The value of this is ignored when the function is called with the new operator.&lt;/p&gt;

&lt;h1&gt;
  
  
  Syntax
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fun.bind(thisArg[, arg1[, arg2[, ...]]])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Parameters
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;thisArg&lt;/code&gt;&lt;br&gt;
It is a value that will be sent to the target function when the binding function is called. This value will be ignored if the binding function is constructed using the new operator.&lt;br&gt;
arg1, arg2, ...&lt;/p&gt;

&lt;p&gt;They are the arguments that will be sent in addition to those provided to the binding function when the target function is invoked.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://ricardogeek.com/bind-call-y-apply-en-javascript/"&gt;javascript bind&lt;/a&gt; function creates a new function (bound function) with the same body (internal call property in ECMAScript 5 terms) as the function to be called (the target function of the bound function) with the this reference associated to the first argument de bind (), which cannot be overwritten. bind () also accepts default parameters that will precede the rest of the specific parameters when the objective function is called. A bound function can also be constructed using the new operator: by doing so, it will act as if the objective function had been constructed instead.&lt;/p&gt;

&lt;p&gt;In the latter case, the corresponding parameter for this will be ignored, although the default parameters that will precede the rest will be provided for the emulated function.&lt;/p&gt;

&lt;p&gt;The simplest use of bind () is to make a function that, no matter how it is called, always points to the same object with the this reference. A common mistake for newer JavaScript programmers is that they get a reference to a method of an object, then they execute that method from the external reference and expect the reference to this to still point to the original object from which the method was obtained (e.g. when use that method in a callback). Without due care, the original item is commonly lost. Creating a bound function from the function using the original object neatly solves this problem:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;this.x = 9;
var module = {
  x: 81,
  getX: function() { return this.x; }
};

module.getX(); // 81

var getX = module.getX;
getX(); // 9, porque en este caso, "this" apunta al objeto global

// Crear una nueva función con 'this' asociado al objeto original 'module'
var boundGetX = getX.bind(module);
boundGetX(); // 81
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>What is a product manager anyways?</title>
      <dc:creator>Ricardo Enrique</dc:creator>
      <pubDate>Tue, 06 Oct 2020 01:03:04 +0000</pubDate>
      <link>https://dev.to/ricardogeek/what-is-a-product-manager-anyways-48p</link>
      <guid>https://dev.to/ricardogeek/what-is-a-product-manager-anyways-48p</guid>
      <description>&lt;p&gt;A couple of years ago, I was working for a well-known company, which I'm going to reserve the name, as a backend developer. In my team, a "functional" team, there were 2 more backend devs, one frontend dev, and 3, yes! 3! product managers. Not that my team managed 3 different products, but for some reason, there were 3 product managers. And at one point I saw myself coding while one of the product managers stood behind me for 3 hours straight. He was standing there watching what I was doing, stressing the heck out of me.&lt;/p&gt;

&lt;p&gt;So I began to question: what is it that these guys do that they have so much time in their hands. Why they can stand behind me and watch me code? Don't they have product management things to do?&lt;/p&gt;

&lt;p&gt;My perception was those product managers where some weird sort of project managers. They managed JIRA boards, created and assigned tasks, and responsibilities and lead scrum meetings. Yet when I checked the workday organizational chart, they appeared as "product manager". So I began to research what is a product manager, and how this role differentiates whit a project manager. &lt;/p&gt;

&lt;p&gt;My first action was to take a course in udemy called: "Product Management 101" which was a very ad-hoc name. The course was very solid and made me realize that there was no need for 3 product managers in my team. At must 1 is enough, and 1 project manager to get product management input and turn it into tasks. &lt;/p&gt;

&lt;h2&gt;
  
  
  What are product managers supposed to do?
&lt;/h2&gt;

&lt;p&gt;Turns out that the last thing a product manager should be doing is managing Jira or staring at you for 3 hours. Here is a list of capabilities that a product manager should have. &lt;/p&gt;

&lt;h3&gt;
  
  
  Market Intelligence
&lt;/h3&gt;

&lt;p&gt;At first product managers should gather market intelligence about the product. This includes but is not limited to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Market Analysis&lt;/li&gt;
&lt;li&gt;Profiling market segments&lt;/li&gt;
&lt;li&gt;Sizing market segments&lt;/li&gt;
&lt;li&gt;Analysing customers&lt;/li&gt;
&lt;li&gt;Analysing and monitoring competitors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, any knowledge that generates a competitive advantage is market intelligence. Product managers are responsible to gather this intelligence. &lt;/p&gt;

&lt;p&gt;For example, there was a fun story of a product manager in charge of a company selling home appliances in China. At one point one of their top-selling washing machines started to peak on faulty returns. So the product manager went to investigate and found that all the returns came from a single region. So he decided to go there and see what use the customers were making to the machines. The machine seemed to be working great until people decided to use it to wash freshly cropped potatoes. So he went back to HQ with this intel, and the further versions of this product came with potato washing support!&lt;/p&gt;

&lt;h3&gt;
  
  
  Product Strategy
&lt;/h3&gt;

&lt;p&gt;Now product strategy defines the objectives and vision of the product. Once the product strategy is ready product managers share it with the rest of the management. &lt;/p&gt;

&lt;h3&gt;
  
  
  New product development
&lt;/h3&gt;

&lt;p&gt;To me, this is the most fun area in product management. In new product development, product managers get to establish priorities and key objectives. Then roadmapping the product from documentation to release. Lots of discovery and delivery to have a successful product ready to begin its lifecycle. &lt;/p&gt;

&lt;h3&gt;
  
  
  Lifecycle management
&lt;/h3&gt;

&lt;p&gt;When I first saw that products also have lifecycle management I thought: Ja! that's it, this is where product managers meet JIRA and start to act as project managers, right? wrong. &lt;/p&gt;

&lt;p&gt;Turns out product lifecycle management is more than checking how are things going. It involves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Positioning and communication * Benefit trees &lt;/li&gt;
&lt;li&gt;Pricing and discounts&lt;/li&gt;
&lt;li&gt;Support to sales&lt;/li&gt;
&lt;li&gt;Growth&lt;/li&gt;
&lt;li&gt;Product support&lt;/li&gt;
&lt;li&gt;Obsolescence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So the way that I understand it, is that product managers, as the name implies, manages the product. And their communication should be to the project managers and engineering analysts. These teams of specialists bring products to life and worry about project management.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conlusion
&lt;/h2&gt;

&lt;p&gt;So the way that I understand it, is that product managers, as the name implies, manages the product. And their communication should be to the project managers and engineering analysts. These teams of specialists bring products to life and worry about project management.&lt;/p&gt;

&lt;p&gt;Ideally, a good product manager is not a project manager but does communicates effectively with them. Together with the development teams they achieve great products and conquer the markets.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
