<?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: Ananya</title>
    <description>The latest articles on DEV Community by Ananya (@manification).</description>
    <link>https://dev.to/manification</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%2F799877%2F509fa2fa-ac75-43c1-95dd-cdeb02a9bde5.jpg</url>
      <title>DEV Community: Ananya</title>
      <link>https://dev.to/manification</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/manification"/>
    <language>en</language>
    <item>
      <title>Ananya will #breakthebias in 2022</title>
      <dc:creator>Ananya</dc:creator>
      <pubDate>Wed, 09 Mar 2022 05:54:26 +0000</pubDate>
      <link>https://dev.to/manification/ananya-will-breakthebias-in-2022-10bj</link>
      <guid>https://dev.to/manification/ananya-will-breakthebias-in-2022-10bj</guid>
      <description>&lt;h2&gt;
  
  
  I pledge to break the bias by changing my brand to be the technical go-to-person in my team and organization.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;No more thankless jobs&lt;/strong&gt;&lt;br&gt;
In over four years of my software engineering experience I have been nudged towards thankless jobs like hosting social events and non technical work. Often I even volunteered to do it myself to increase like-abilty. I want to stop wasting my energy there and focus on what makes me technically competent. That involves checking in with the career ladder guide regularly and prioritizing my goals around them. I want to continue to read and learn outside work hours and not shy away from expressing my opinion based on the things that I've learnt.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get more visibility&lt;/strong&gt;&lt;br&gt;
I will continue to address subtle dismissal and questioning by coming prepared to discussions with clear and detailed documentation, and taking charge in conversations. I have been left out of discussions and not invited to meetings and one of the strategies that has worked for me is to actively make myself more visible. This can be done by organizing discussions, speaking up more in meetings or even writing documentation that other people refer to. Fulfilling my on-call responsibilities well and supporting partner teams is another opportunity to increase visibility with clients. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Believe in myself&lt;/strong&gt;&lt;br&gt;
I will trust my knowledge, preparation and sincerity. I will count others' appreciation towards me. I will believe in my intelligence and be brave about being me.&lt;/p&gt;

</description>
      <category>wecoded</category>
      <category>career</category>
      <category>womenintech</category>
      <category>motivation</category>
    </item>
    <item>
      <title>End-to-end principle with microservices</title>
      <dc:creator>Ananya</dc:creator>
      <pubDate>Sun, 06 Feb 2022 20:29:34 +0000</pubDate>
      <link>https://dev.to/manification/end-to-end-principle-with-microservices-j5f</link>
      <guid>https://dev.to/manification/end-to-end-principle-with-microservices-j5f</guid>
      <description>&lt;h2&gt;
  
  
  What is End-to-end principle
&lt;/h2&gt;

&lt;p&gt;It is a design framework in computer networking that guarantees certain application-specific features, such as reliability and security, reside in the communicating end nodes of the network. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y5UvezIm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fw9hqe5ot34ed0wxgsnk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y5UvezIm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fw9hqe5ot34ed0wxgsnk.png" alt="Image description" width="411" height="185"&gt;&lt;/a&gt;&lt;br&gt;
Fig: Node A is communicating with Node B through the internet&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is it favored in networks?
&lt;/h2&gt;

&lt;p&gt;Not all applications in the networks have the same functional requirements. Having application specific functions implemented in the networks comes with a cost, and the cost becomes a penalty to all the nodes that do not need those functions. It is better to implement the application specific protocols like &lt;em&gt;TCP(where reliability is important), UDP(where speed is more important)&lt;/em&gt; at the application level, that already has to implement these functions for correctness. &lt;/p&gt;

&lt;h2&gt;
  
  
  How is it relevant with microservices?
&lt;/h2&gt;

&lt;p&gt;Microservices architecture arranges an application as a collection of loosely coupled services. &lt;br&gt;
Just like computer network, different services have different functional requirements and contracts between each other that is not necessarily shared by all the services in the application. Neither are they needed in the shared communication channels in the application. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BYQMHS1j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k7csgmwxt0dkyzray4sj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BYQMHS1j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k7csgmwxt0dkyzray4sj.png" alt="Image description" width="301" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hence the architecture prefers &lt;a href="https://martinfowler.com/articles/microservices.html#SmartEndpointsAndDumbPipes"&gt;Smart endpoints and Dumb pipes&lt;/a&gt;. A dumb pipe can do one function only, and does not support sophisticated computation and logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is it favored in microservices?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Service contracts can grow independently of the communication channels between the services, since it is always evolving. &lt;/li&gt;
&lt;li&gt;Fast communication and feedback since the pipes are dumb and simple, thus not resource intensive. &lt;/li&gt;
&lt;li&gt;Reduces the need for central contract management in the application between the services.&lt;/li&gt;
&lt;li&gt;Dumb pipes are capable of supporting both request-response and observer communications, by adding the logic at end-points.&lt;/li&gt;
&lt;li&gt;Easier to test and detect failures in a system with simple components, when complex logic are only at services which can be tested independently.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>microservices</category>
      <category>networks</category>
      <category>architecture</category>
      <category>design</category>
    </item>
  </channel>
</rss>
