<?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: Azmain Adel</title>
    <description>The latest articles on DEV Community by Azmain Adel (@azmainadel).</description>
    <link>https://dev.to/azmainadel</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%2F330520%2F2662b8fd-4dcd-4e4d-a169-a14719e6b027.jpg</url>
      <title>DEV Community: Azmain Adel</title>
      <link>https://dev.to/azmainadel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/azmainadel"/>
    <language>en</language>
    <item>
      <title>Replication in Distributed Database Systems</title>
      <dc:creator>Azmain Adel</dc:creator>
      <pubDate>Thu, 26 May 2022 15:40:26 +0000</pubDate>
      <link>https://dev.to/azmainadel/replication-in-distributed-database-systems-2f64</link>
      <guid>https://dev.to/azmainadel/replication-in-distributed-database-systems-2f64</guid>
      <description>&lt;h3&gt;
  
  
  Brewer's CAP Theorem
&lt;/h3&gt;

&lt;p&gt;In theoretical computer science, the CAP theorem, also named Brewer's theorem after computer scientist Eric Brewer, states that &lt;strong&gt;any distributed data store can only provide two of the following three guarantees&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;C&lt;/strong&gt;onsistency:
Every read receives the most recent write or an error.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A&lt;/strong&gt;vailability:
Every request receives a (non-error) response, without the guarantee that it contains the most recent write.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;P&lt;/strong&gt;artition tolerance:
The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In a distributed database system, we have network partitions (P in CAP) by default.&lt;br&gt;
So we get to pick only one of&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A&lt;/strong&gt;vailability&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;C&lt;/strong&gt;onsistency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this post, I am focusing on the AP combination and I will briefly discuss availability is ensured using database replication.&lt;/p&gt;

&lt;h3&gt;
  
  
  Availability using Replication
&lt;/h3&gt;

&lt;p&gt;Availability in a distributed system ensures that the system remains operational 100% of the time. Every request gets a (non-error) response regardless of the individual state of a node.&lt;/p&gt;

&lt;p&gt;There are two types of database replications:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Active replication - &lt;strong&gt;Push&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Passive replication - &lt;strong&gt;Pull&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Active Replication
&lt;/h4&gt;

&lt;p&gt;In active replication each client request is processed by all the servers. So all of the distributed data storage gets updated &lt;em&gt;actively&lt;/em&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Passive Replication
&lt;/h4&gt;

&lt;p&gt;In passive replication there is only one server (called primary) that processes client requests. After processing a request, the primary data storage updates the others &lt;em&gt;passively&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;How do the data stores do this?&lt;/p&gt;

&lt;h3&gt;
  
  
  Passive Replication Methods
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Master-Slave replication&lt;/li&gt;
&lt;li&gt;Tree replication&lt;/li&gt;
&lt;li&gt;Master-Master replication&lt;/li&gt;
&lt;li&gt;Buddy replication&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  1. Master-Slave Replication
&lt;/h3&gt;

&lt;p&gt;A generic replication method.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Master (primary storage) gets the latest data.&lt;/li&gt;
&lt;li&gt;Slaves (secondary storages) replicate the data internally.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---RQK31ya--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fzuv7hotif1s09z92bme.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---RQK31ya--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fzuv7hotif1s09z92bme.png" alt="Master-Slave replication" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Tree Replication
&lt;/h3&gt;

&lt;p&gt;A structure similar to a tree is maintained. In this case, all the parent nodes are masters and the child nodes are slaves.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Master (tree root) gets the latest data.&lt;/li&gt;
&lt;li&gt;Child masters and their slaves replicate the data internally.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VsGndm_L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/07j4kle9macsfids8tn4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VsGndm_L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/07j4kle9macsfids8tn4.png" alt="Tree replication" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Master-Master Replication
&lt;/h3&gt;

&lt;p&gt;Every storage is maintained as primary or master.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every master storage can get latest data.&lt;/li&gt;
&lt;li&gt;They replicate each other to stay updated.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A_bir7z2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/32shrv3fu393mi58h362.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A_bir7z2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/32shrv3fu393mi58h362.png" alt="Master-Master replication" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Buddy Replication
&lt;/h3&gt;

&lt;p&gt;A ring topology of data storage servers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each node stores the backup of the previous node on the chain.&lt;/li&gt;
&lt;li&gt;The backup is performed using replication.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Hb76W8tF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/794tkqqhgo5wulgdxlsa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Hb76W8tF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/794tkqqhgo5wulgdxlsa.png" alt="Buddy replication" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But what if a node goes offline?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The solution is easy.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Store extra backup.&lt;/li&gt;
&lt;li&gt;Update the replication chain.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DReg2dAs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hlw7y8bhyfhq9ueolifv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DReg2dAs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hlw7y8bhyfhq9ueolifv.png" alt="Buddy replication offline server solution" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Cover image taken from &lt;a href="https://undraw.co/"&gt;unDraw&lt;/a&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>devops</category>
    </item>
    <item>
      <title>The 6 R's: Strategies for Cloud Application Migration</title>
      <dc:creator>Azmain Adel</dc:creator>
      <pubDate>Thu, 26 May 2022 15:37:32 +0000</pubDate>
      <link>https://dev.to/azmainadel/the-6-rs-strategies-for-cloud-application-migration-26p6</link>
      <guid>https://dev.to/azmainadel/the-6-rs-strategies-for-cloud-application-migration-26p6</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;“How emigration is actually lived — well, this depends on many factors: education, economic station, language, where one lands, and what support network is in place at the site of arrival.” -Daniel Alarcón&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  1. Re-host
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Lift and shift&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is moving your application from one host to another &lt;strong&gt;without making any changes&lt;/strong&gt;. This migration is usually done by large-scale, business-oriented organizations who want to migrate their application quickly to meet business objectives. These migrations are mostly done by automated migration tools.&lt;/p&gt;

&lt;p&gt;Similar to &lt;code&gt;Ctrl+X&lt;/code&gt; and then &lt;code&gt;Ctrl+V&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Re-platform
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Lift, modify and shift&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is moving your application from one host to another and &lt;strong&gt;making some changes&lt;/strong&gt;. Let's say you are moving your large-scale application to another cloud platform and want to change the DB while you are at it. This will be considered re-platforming.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Refactor/Re-architect
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Change the existing environment&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Redesign the architecture&lt;/strong&gt; of your application driven by a strong business need to add new features or upgrade performance. This is performed when the requirements are difficult to achieve in the current architectural states.&lt;/p&gt;

&lt;p&gt;An example can be moving from monolithic architecture to microservices.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Re-purchase
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Move to a new product&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This migration commonly refers to &lt;strong&gt;moving to the SaaS&lt;/strong&gt; (software-as-a-service) model. This is changing perpetual licenses to services that will make the application more robust. &lt;/p&gt;

&lt;p&gt;For example, using &lt;em&gt;salesforce.com&lt;/em&gt; instead of manual CRM.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Retire
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Get rid of&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This means &lt;strong&gt;removing or turning off applications&lt;/strong&gt; that are no longer functional. These savings can boost your business case, direct your team’s attention to the applications people use.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Retain/Revisit
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Keep that matters the most&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This means &lt;strong&gt;keeping the applications that are vital&lt;/strong&gt; to the system or not migration priority to and migrating the others through re-platforming or refactoring. One should only migrate what makes sense for the business.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TTN47FUn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/58kpdhc9i1iooidhgxha.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TTN47FUn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/58kpdhc9i1iooidhgxha.png" alt="The 6 R's" width="770" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Image taken from &lt;a href="https://aws.amazon.com/whitepapers/"&gt;AWS Migration Whitepaper&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>cloudskills</category>
      <category>migration</category>
      <category>devops</category>
    </item>
    <item>
      <title>AWS Fundamentals Course</title>
      <dc:creator>Azmain Adel</dc:creator>
      <pubDate>Thu, 26 May 2022 15:35:07 +0000</pubDate>
      <link>https://dev.to/azmainadel/aws-fundamentals-course-11ic</link>
      <guid>https://dev.to/azmainadel/aws-fundamentals-course-11ic</guid>
      <description>&lt;p&gt;I recently completed the four-course AWS Fundamentals specialization on &lt;em&gt;Coursera&lt;/em&gt; conducted by the AWS team. Beginners can start this one but some basic backend and system design knowledge are necessary.&lt;/p&gt;

&lt;p&gt;Link to the course:&lt;br&gt;
&lt;a href="https://www.coursera.org/specializations/aws-fundamentals"&gt;AWS Fundamentals Specialization&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Brief Introductions to the four courses:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Going Cloud Native:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This course will introduce you to AWS core services and infrastructure.&lt;/p&gt;

&lt;p&gt;Topics: &lt;em&gt;EC2, S3, VPC, Gateways, ELB, EFS, EBS, Lightsail, RDS, DynamoDB, Cloudwatch.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Addressing Security Risks:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This course will give you an overview of security best practices when developing and managing applications on AWS.&lt;/p&gt;

&lt;p&gt;Topics: &lt;em&gt;AWS Shared Responsibility Model, Security Hub GuardDuty, Secrets Manager, IAM.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Migrating to the Cloud:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This course focuses on analyzing your current environment, planning your migration, AWS services that are commonly used during a migration, and the actual migration steps.&lt;br&gt;
There are optional lab works but access to that is limited to paid enrolled students. Thanks to BUET I got a paid Coursera access.&lt;/p&gt;

&lt;p&gt;Topics: &lt;em&gt;DMS, Migration policies, Direct Connect&lt;/em&gt;, etc.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Building Serverless Applications:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This course will introduce you to the AWS serverless architecture. Through demonstrations and hands-on exercises you'll learn skills by building and deploying a serverless website &amp;amp; a chat bot.&lt;/p&gt;

&lt;p&gt;Topics: &lt;em&gt;Lambda, API Gateway, Cloudfront, DynamoDB, Lex, Poly.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>coursera</category>
      <category>mooc</category>
      <category>course</category>
    </item>
    <item>
      <title>GitHub Repos You Should Star</title>
      <dc:creator>Azmain Adel</dc:creator>
      <pubDate>Thu, 26 May 2022 15:33:18 +0000</pubDate>
      <link>https://dev.to/azmainadel/github-repos-you-should-star-5465</link>
      <guid>https://dev.to/azmainadel/github-repos-you-should-star-5465</guid>
      <description>&lt;p&gt;GitHub is the best place for frameworks, libraries, projects, documentation, and collections of many things. &lt;/p&gt;

&lt;p&gt;Here I've listed some GitHub repos that might interest you. I've found these from reading articles, study purposes, suggestions from other people, random repo surfing adventure, and from the curiosity of learning new tools &amp;amp; frameworks. &lt;/p&gt;

&lt;p&gt;You can  learn and build new things, study for interviews and make yourself a better developer from these. This is not only for software developers, CS students can also gain something from this list. Hope this helps.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://github.com/sindresorhus/awesome"&gt;Awesome&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;What is awesome? This is the unofficial wiki of the most awesome GitHub repositories. The categorized and detailed lists include tutorials, libraries, documentation, etc.&lt;br&gt;
Well, this repo is truly awesome indeed.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/EbookFoundation/free-programming-books"&gt;Free Programming Books&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Alongside a huge collection of programming-related books, this repo has free online courses, interactive programming tutorials, programming podcasts, etc. &lt;/p&gt;

&lt;p&gt;Moreover, there is support for many languages. A must-have repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/jwasham/coding-interview-university"&gt;Coding Interview University&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;From the repo creator's own words who got hired by &lt;em&gt;Amazon&lt;/em&gt; after following this study plan,&lt;/p&gt;

&lt;p&gt;"This is my multi-month study plan for going from a web developer (self-taught, no CS degree) to software engineer for a large company. This is meant for &lt;strong&gt;new software engineers&lt;/strong&gt; or those switching from software/web development to software engineering (where computer science knowledge is required)."&lt;/p&gt;

&lt;p&gt;That sums it up really well. Follow this repo and study hard.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://yangshun.github.io/tech-interview-handbook/"&gt;Tech Interview Handbook&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub: &lt;a href="https://github.com/yangshun/tech-interview-handbook"&gt;Tech Interview GitHub&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is a wonderfully curated repo that will help you with not just the technical studies, but also in applying for jobs, resume writing, interview processes, behavior tips, etc. This has &lt;em&gt;practical&lt;/em&gt; content that covers all phases of a technical interview, from applying for a job to passing the interviews to offer negotiation. A must-have.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/donnemartin/system-design-primer"&gt;System Design Primer&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The absolute best resource for learning how to design scalable systems. System design is a broad topic. There is a vast amount of resources scattered throughout the web on system design principles.&lt;/p&gt;

&lt;p&gt;This repo is an organized collection of resources to help you learn how to build systems at scale.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/danistefanovic/build-your-own-x"&gt;Build Your Own X&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The first thing on the repo,&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"What I cannot create, I do not understand"&lt;/em&gt; - Richard Feynman&lt;/p&gt;

&lt;p&gt;Prefer learning a new language, framework, game engine by practical usage first? Then this repo if for you. This is a great collection of video tutorials, articles grouped by the 'X' technology you love.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/ripienaar/free-for-dev"&gt;Free For Dev&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This is a list of software (SaaS, PaaS, IaaS, etc.) and other offerings that have free tiers for developers. Need some free services or APIs or dev tools for your pet project? Search for it here and most of the time you will be lucky.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/kamranahmedse/developer-roadmap"&gt;Developer Roadmap&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The roadmap to becoming a (web) developer in 2020. You will find a set of charts demonstrating the paths that you can take and the technologies that you would want to adopt in order to become a frontend, backend, or DevOps engineer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do check out another great repo by the same author: &lt;a href="https://github.com/kamranahmedse/design-patterns-for-humans"&gt;Design Pattern for Humans&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/jlevy/the-art-of-command-line"&gt;The Art of Command Line&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Whatever your environment is, whether you are developing or doing some research-work, the command line is something you face every day. Fluency on the command line is a skill often neglected. This is a selection of notes and tips on using the command line in subtle ways.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/public-apis/public-apis"&gt;Public APIs&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A great list of free APIs for use in software and web development. Build demo apps, test your systems, play with data by calling these free APIs. They're here for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/MaximAbramchuck/awesome-interview-questions"&gt;Awesome Interview Questions&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Feeling confident after studying so much? This repo will help you in understanding what types of questions are asked during tech interviews. The grouped list and the huge collection will help you practice and enrich your knowledge.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/papers-we-love/papers-we-love"&gt;Papers We Love&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This repository serves as a directory of some of the best papers scattered across the web on academic computer science. The contributors from around the world have created a beautifully curated list on many fundamental and modern topics.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/TheAlgorithms"&gt;The Algorithms&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This is actually not a single repo. This is a collection of repos that includes almost every data structure and algorithm implemented in multiple languages like &lt;em&gt;Java, C++, Python&lt;/em&gt;, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/dylanaraps/pure-bash-bible"&gt;Pure Bash Bible&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;This repo includes commonly-known and lesser-known methods of doing various tasks using only built-in &lt;code&gt;bash&lt;/code&gt; features. Using the snippets from this repo can help remove unnecessary dependencies from scripts and in most cases make them faster.&lt;/p&gt;




&lt;p&gt;Thanks for reading. &lt;/p&gt;

&lt;p&gt;Please do leave a comment or knock me if you have any queries regarding this post.&lt;/p&gt;

</description>
      <category>github</category>
      <category>githunt</category>
      <category>resources</category>
    </item>
    <item>
      <title>Getting the SFC™ Certification</title>
      <dc:creator>Azmain Adel</dc:creator>
      <pubDate>Thu, 26 May 2022 15:29:53 +0000</pubDate>
      <link>https://dev.to/azmainadel/getting-the-sfc-certification-1p88</link>
      <guid>https://dev.to/azmainadel/getting-the-sfc-certification-1p88</guid>
      <description>&lt;h2&gt;
  
  
  Scrum
&lt;/h2&gt;

&lt;p&gt;Most of you have already heard of the term &lt;em&gt;Scrum&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;Scrum is one of the most popular &lt;em&gt;Agile&lt;/em&gt; methodologies. It is an adaptive, iterative, fast, flexible, and effective methodology designed to deliver significant value quickly and throughout a project. Scrum ensures transparency in communication and creates an environment of collective accountability and continuous progress. &lt;/p&gt;

&lt;p&gt;To get the basics, you can watch this short &lt;a href="https://youtu.be/aP3TBpWWwJ8"&gt;video&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Aw1W02PB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/as5wwb6fe0upsibggmp7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Aw1W02PB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/as5wwb6fe0upsibggmp7.png" alt="Scrum Flow" width="880" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  SFC?
&lt;/h2&gt;

&lt;p&gt;SFC™ stands for &lt;strong&gt;Scrum Fundamentals Certified&lt;/strong&gt;. This certification is provided by &lt;a href="https://www.scrumstudy.com/"&gt;SCRUMstudy&lt;/a&gt; which is owned by VMEdu. They have a broad coverage of Scrum certification:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Scrum Fundamentals Certified (SFC)&lt;/li&gt;
&lt;li&gt;Scrum Developer Certified (SDC)&lt;/li&gt;
&lt;li&gt;Scrum Master Certified (SMC)&lt;/li&gt;
&lt;li&gt;SCRUMstudy Agile Master Certified (SAMC)&lt;/li&gt;
&lt;li&gt;Scrum Product Owner Certified (SPOC)&lt;/li&gt;
&lt;li&gt;Expert Scrum Master Certified (ESMC)&lt;/li&gt;
&lt;li&gt;SCRUMstudy Certified Trainer (SCT)&lt;/li&gt;
&lt;li&gt;SCRUMstudy Certified Agile Coach (SCAC)&lt;/li&gt;
&lt;li&gt;Certified Implementation Expert (CIE)&lt;/li&gt;
&lt;li&gt;Scaled Scrum Master Certified (SSMC)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;SFC is tailored to help anyone interested to know more about Scrum; learn about key concepts in Scrum, and to get a basic understanding of how the Scrum framework works in delivering successful projects. &lt;/p&gt;

&lt;p&gt;Although this is a &lt;strong&gt;free certificate&lt;/strong&gt;, this provides the necessary knowledge on Scrum fundamentals.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;I always believed that to become a better software engineer, even if you are going to code most of the time during the initial years, knowledge of team &amp;amp; project management is a MUST. This can be gained through experience and what I have understood, that is absolutely the best way to go. But extra knowledge always helps and I wanted to explore an organized methodology of managing projects.&lt;/p&gt;

&lt;p&gt;If you are new to the software industry or currently in your final year of graduation, this course will definitely help you.&lt;/p&gt;

&lt;p&gt;This certification helped me to learn many topics of such a methodology, Scrum.&lt;/p&gt;

&lt;p&gt;If you are to take the exam, you will know these topics anyway. Also, the SBOK guide has described these perfectly. So I am just pointing out the topics I got to learn from studying for the exam.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The origin story of Scrum&lt;/li&gt;
&lt;li&gt;Benefits of Scrum&lt;/li&gt;
&lt;li&gt;The six Scrum principles&lt;/li&gt;
&lt;li&gt;Scrum Flow&lt;/li&gt;
&lt;li&gt;Scrum Aspects&lt;/li&gt;
&lt;li&gt;Scrum Phases and Processes&lt;/li&gt;
&lt;li&gt;Scrum Scaling&lt;/li&gt;
&lt;li&gt;The 19 fundamental Scrum processes, along with inputs and outputs&lt;/li&gt;
&lt;li&gt;Scrum Roles&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting the certification
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Registration
&lt;/h3&gt;

&lt;p&gt;To get access to the course contents and exam portal, you need to register on the &lt;a href="https://www.scrumstudy.com/Account/Register"&gt;SCRUMstudy registration page.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will get access to a student portal where you will find the course contents, downloadable study materials, exam portal and other necessary stuff.&lt;/p&gt;

&lt;h3&gt;
  
  
  How and what to study?
&lt;/h3&gt;

&lt;p&gt;Now this is a tricky part. &lt;/p&gt;

&lt;p&gt;First, let's see the official guideline to prepare for the exam:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Attend the instructor-led training webinar&lt;/li&gt;
&lt;li&gt;Watch the course videos and take test exams on SCRUMstudy student portal&lt;/li&gt;
&lt;li&gt;Study the SBOK guide&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For only the SFC this is way too much. But, to know Scrum and become a master, do follow all of the above methods.&lt;/p&gt;

&lt;p&gt;I personally found it hard to keep concentration during the 4-hour webinar. Also, the timezone of Bangladesh was a problem as I had to sit through boring lectures from 9 PM to 1:30 AM including breaks. As the training presentation slides will be provided beforehand, reading that should cover the webinar in my opinion.&lt;/p&gt;

&lt;p&gt;So, the primary study material will be the course videos and the SBOK guide. Watch the videos and read the relevant topics from the guide book. As the SFC covers the key concepts and principles of Scrum, you do not need to finish the whole book for this certification. I finished the videos on a weekend and took another couple of days to study the SBOK guide to get the confidence for attending the exam.&lt;/p&gt;

&lt;h3&gt;
  
  
  The exam
&lt;/h3&gt;

&lt;p&gt;The format of the exam is as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple choice&lt;/li&gt;
&lt;li&gt;40 questions&lt;/li&gt;
&lt;li&gt;One mark awarded for every right answer&lt;/li&gt;
&lt;li&gt;No negative marks for wrong answers&lt;/li&gt;
&lt;li&gt;30 questions need to be answered correctly to pass&lt;/li&gt;
&lt;li&gt;60 minutes duration&lt;/li&gt;
&lt;li&gt;Online unproctored exam&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If I had to rate how tough the exam was, I would give it 4/10. In other words, easy!&lt;/p&gt;

&lt;p&gt;But, please do not attempt the exam without studying. Actually this study beforehand will benefit you the most as knowing and understanding Scrum will help in the long run.&lt;/p&gt;

&lt;h3&gt;
  
  
  Certificate
&lt;/h3&gt;

&lt;p&gt;After finishing the exam successfully you will get your SFC certificate. Keep it clean and tidy, forget about it, show it off or do whatever you seem is sensible. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remember, the knowledge you acquire is your biggest achievement.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By the way, here is the one I got! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1u8DdFbM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h5bakk6numuh2j90q2qf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1u8DdFbM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h5bakk6numuh2j90q2qf.jpg" alt="My SFC Certificate" width="880" height="680"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Thanks for reading. &lt;/p&gt;

&lt;p&gt;Please do leave a comment or knock me if you have any queries regarding this post.&lt;/p&gt;

</description>
      <category>scrum</category>
      <category>certification</category>
      <category>free</category>
    </item>
  </channel>
</rss>
