<?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: Jordan Burroughs</title>
    <description>The latest articles on DEV Community by Jordan Burroughs (@jburroughs).</description>
    <link>https://dev.to/jburroughs</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%2F706259%2F8bb55f32-ccfd-4c18-bca0-9e93c9ac4c77.jpg</url>
      <title>DEV Community: Jordan Burroughs</title>
      <link>https://dev.to/jburroughs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jburroughs"/>
    <language>en</language>
    <item>
      <title>6 Tips That Will Fix Your Interview Anxiety</title>
      <dc:creator>Jordan Burroughs</dc:creator>
      <pubDate>Tue, 19 Oct 2021 15:44:28 +0000</pubDate>
      <link>https://dev.to/jburroughs/6-tips-that-will-fix-your-interview-anxiety-2md1</link>
      <guid>https://dev.to/jburroughs/6-tips-that-will-fix-your-interview-anxiety-2md1</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Interviewer: "What are your strengths?"&lt;/p&gt;

&lt;p&gt;Me: "...I'm hard-working I guess?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ever since I first started interviewing for part-time jobs, I dreaded the behavioral interview. &lt;/p&gt;

&lt;p&gt;But years since then, I have grown to usually enjoy the interview. The enjoyment comes from experience and by implementing a few simple techniques to help guide you through the process.&lt;/p&gt;

&lt;p&gt;My goal is to explain the methods that helped me grow more comfortable in interviews (as well as land a few jobs 😏). After all, the more comfortable and confident you are in the interviews, the more likely you will clearly articulate your points and come off as the perfect person for the job. &lt;/p&gt;

&lt;p&gt;First I will explain the impact of the behavioral interview, then I will describe six ways to level up your interview skills. &lt;/p&gt;

&lt;h2&gt;
  
  
  Impact of the Behavioral Interview
&lt;/h2&gt;

&lt;p&gt;If you have not already jumped straight to the tips below, I think it is best to explain just how important the behavioral interview is. &lt;/p&gt;

&lt;p&gt;I value the behavioral interview higher than the technical. Granted I am not the greatest in technical interviews, but behavioral skills will have the greatest impact on the team and company you are joining. &lt;/p&gt;

&lt;p&gt;At some point the value of technical skills fade because it is usually comes down to "either know something, or you don't". Once you do, however, you can adapt to new patterns and practices easily.&lt;/p&gt;

&lt;p&gt;For example, in my current role everyone knows Java to some extent. I may not be &lt;em&gt;as&lt;/em&gt; advanced as one of my teammates, but it won't be too hard to catch up given that I have a firm grasp on the fundamentals. It mainly comes down to how good I am at learning something, which is a behavioral skill.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Technical skills are necessary to excel in any profession, but behavioral skills are the foundation of who you are as a professional.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now that you see the importance of the behavioral interview, let's jump into the tips. 😁&lt;/p&gt;

&lt;h2&gt;
  
  
  ⒈ Relax, View it as a Conversation
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhhl2fj4gs32pln7a2sh7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhhl2fj4gs32pln7a2sh7.gif" alt="Will Ferrell Relax GIF" width="336" height="224"&gt;&lt;/a&gt;&lt;br&gt;
Early on I thought of the interview as a test the interviewer puts upon me. It is actually a test for both you &lt;strong&gt;and&lt;/strong&gt; the interviewer. &lt;/p&gt;

&lt;p&gt;They are "testing" you to see if you fit the role and you are "testing" them to see if you want to work for them! &lt;/p&gt;

&lt;p&gt;Although, in reality it is just a conversation. This changed my perception about interviews. Have you ever watched a celebrity interview where there is no connection between the celebrity and the host? It comes across as inauthentic and even painful to watch at times. &lt;/p&gt;

&lt;p&gt;When you notice that there &lt;strong&gt;is&lt;/strong&gt; a connection between the host and celebrity everyone is having a great time! The host is thrilled and going off-script, the celebrity guest is relieved that "this isn't the &lt;em&gt;usual&lt;/em&gt; interview, and the audience is loving the authenticity and personality of the guest. &lt;/p&gt;

&lt;p&gt;Wouldn't you rather have a job interview like the second scenario?&lt;/p&gt;

&lt;p&gt;Removing the idea that this is supposed to be testing you immediately eases the pressure you face in the interview. &lt;/p&gt;

&lt;h2&gt;
  
  
  ⒉ Smile 😁
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnmg1zdcz3vq4g8fzb245.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnmg1zdcz3vq4g8fzb245.gif" alt="Smile GIF" width="325" height="244"&gt;&lt;/a&gt;&lt;br&gt;
Seriously, smile 😀. It is amazing that doing something this simple provides such a great benefit. You will come off as more excited, cheerful, and personable. Who wouldn't want that in a worker?&lt;/p&gt;

&lt;p&gt;Why do we love dogs and babies so much? Because of that irresistible smile that infects us even when we may be in the worst mood.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;One of my favorite books "How to Win Friends and Influence People" by Dale Carnegie covers just how important putting on a happy face is. Check it out, it's a classic 🔥&lt;/em&gt; &lt;/p&gt;

&lt;h6&gt;
  
  
  What if my interviewer is all business, and doesn't even hint at a smile?
&lt;/h6&gt;

&lt;p&gt;Don't get intimidated! Smiling eases tension and eventually they will give in. I have had countless cold-mannered people crack by just staying positive and continuing to smile. Deep down we all want to. &lt;/p&gt;

&lt;p&gt;Smiling makes us all feel good and will even put &lt;strong&gt;you&lt;/strong&gt; in a wonderful mood. Even when you are talking on the phone, smile. Trust me, it is easy and can make all the difference.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⒊ Have Points-of-Conversation Prepared
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2xk5kxjvptzuyvonvba.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2xk5kxjvptzuyvonvba.gif" alt="Checklist" width="269" height="336"&gt;&lt;/a&gt;&lt;br&gt;
Early on, one of the biggest issues that made interviews hard for me was not having much practical experience to talk about. That is why you should have points-of-conversation prepared ahead of time. These should be 3-4 projects or instances that demonstrate different skills you have applied to achieve certain results. &lt;/p&gt;

&lt;p&gt;For example, using Java and Spring Boot to develop a user service on a small team or the process of initializing, planning, and executing a presentation to incorporate a new technology in an existing application. Find points to discuss from your résumé; instances that you can discuss in fairly strong detail and comfortably answer questions about.&lt;/p&gt;

&lt;p&gt;In behavioral interviews, questions are usually the same (minus the weird outliers about the company itself or "how many windows are there in NYC"). Typical questions will revolve around your strengths, weaknesses, problem solving skills, and communication/team skills. When looking at the list of points you can discuss, you will be able to extract these skills from them.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⒋ Use SAR
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquzd9248606j0fpk5wm9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquzd9248606j0fpk5wm9.png" alt="SAR acronym" width="240" height="228"&gt;&lt;/a&gt;&lt;br&gt;
Once you have your points-of-conversation, you will quickly find out that you need a way to organize and articulate your thoughts. We all know the feeling where we are excited to know all the information, but it comes out as a jumbled mess (like the first drafts of my blogs) because we did not take our time and organize our thoughts. &lt;/p&gt;

&lt;p&gt;That is why it is crucial to use a procedure like SAR to formulate a good response. SAR stands for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Situation&lt;/strong&gt; - outline the situation by providing general background information to help set the scene. This includes the project name, what kind of group you were in, what you were assigned to do, etc. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Action&lt;/strong&gt; - explain the actions &lt;strong&gt;you&lt;/strong&gt; took. This should be an easy to follow, step-by-step process that begins to address the question the interviewer asked. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Result&lt;/strong&gt; - describe the result. Tie everything together and clearly answer the posed question.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Note: SAR is sometimes called STAR where the "T" means "Task" (which extends "S" is SAR)&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;SAR is analogous to writing - introduction, body, and conclusion.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;One book I &lt;em&gt;highly&lt;/em&gt; recommend is "Cracking the Coding Interview" by Gayle Laakmann McDowell. (I talk more about it &lt;a href="https://dev.to/jburroughs/4-books-every-junior-software-developer-should-read-3oi7"&gt;here&lt;/a&gt;. In the "Behavioral Questions" chapter, Gayle goes more in depth about how to approach the interview and explains SAR with with great examples. &lt;/p&gt;

&lt;h2&gt;
  
  
  ⒌ Focus on Yourself and Highlight Successes
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82weiz9udtgpjj6k83o6.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82weiz9udtgpjj6k83o6.jpeg" alt="Person Celebrating" width="384" height="256"&gt;&lt;/a&gt;&lt;br&gt;
This is a pretty quick one. Interviewers are not there to hear what specific thing your partner did on the project. You are the one being interviewed, not your past teammates!&lt;/p&gt;

&lt;p&gt;Also, the interviewer wants tangible, quantitative evidence of success. It is easy for anyone to say that they updated an existing REST API, but it will put them over the top if they add that "efficiency increased by 30% and load in the database decreased by 15%". &lt;/p&gt;

&lt;p&gt;Lastly, if you received some kind of recognition, awards, or certifications, let them know! You are selling yourself. They want to hear that stuff and will put you over the edge 😎.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⒍ Ask Good, Open-Ended Questions
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fvfchidxer1vu32jant.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fvfchidxer1vu32jant.png" alt="Question marks" width="800" height="327"&gt;&lt;/a&gt;&lt;br&gt;
I wanted to end with this tip because it is how every interview finishes: the Q&amp;amp;A section. After all that stress they put on you, the tables have turned - you are interviewing them 😈.&lt;/p&gt;

&lt;p&gt;Take advantage of this part! The interview is not over. You should expect 5-15 minutes for your questions to be answered and try to use as much of that time as possible.&lt;/p&gt;

&lt;p&gt;This part is crucial because you can now steer the conversation in whatever direction you want and leave a lasting impression with the interviewer. You can Google for an endless number of great questions to ask, but just make sure they are open-ended and can lead to follow-up questions. Thus adding to the conversation and increasing the rapport between you and the interviewer.&lt;/p&gt;

&lt;p&gt;Final thoughts about the Q&amp;amp;A: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you know who your interviewer is ahead of time, ask questions related to their role or personal career.&lt;/li&gt;
&lt;li&gt;Instead of asking "&lt;strong&gt;Is&lt;/strong&gt; something...?", ask "&lt;strong&gt;How&lt;/strong&gt; is something...?" to make it open-ended.&lt;/li&gt;
&lt;li&gt;Know basic facts about the company you are interviewing for. Don't ask something that can be answered by Google.&lt;/li&gt;
&lt;li&gt;Keep a long list of questions to ask ahead of time. You can also add to that list &lt;strong&gt;during&lt;/strong&gt; the interview.&lt;/li&gt;
&lt;li&gt;Have fun and take advantage of the opportunity.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Take the tips explained above and try them in your interviews. If you have a tip, leave it as a comment below.&lt;/p&gt;

&lt;p&gt;Also, don't totally disregard the technical side! It is easy be focused on either just the behavioral or just the technical side, and not both! Make sure to give yourself enough time prior to interview day to properly prepare for &lt;strong&gt;both&lt;/strong&gt; portions.&lt;/p&gt;

&lt;p&gt;Maybe, once I get better at technical interviews, I will blog some tips for those... 🤔. Until then, see ya.&lt;/p&gt;




&lt;h3&gt;
  
  
  Thanks for reading! If you want more tech tips, software stuff, and bussin' blogs, you can throw me a follow on &lt;a href="https://www.twitter.com/JBurroughsTech"&gt;Twitter&lt;/a&gt;🔥🤘🏽🐶
&lt;/h3&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>interview</category>
      <category>behavioral</category>
    </item>
    <item>
      <title>Stay in the L(OOP) with Object-Oriented Programming Basics</title>
      <dc:creator>Jordan Burroughs</dc:creator>
      <pubDate>Sat, 09 Oct 2021 13:22:01 +0000</pubDate>
      <link>https://dev.to/jburroughs/stay-in-the-l-oop-with-object-oriented-programming-basics-1dn</link>
      <guid>https://dev.to/jburroughs/stay-in-the-l-oop-with-object-oriented-programming-basics-1dn</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;"Object-oriented programming is an exceptionally bad idea which could only have originated in California."&lt;br&gt;
-Edsger Dijkstra&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Whether you love it or hate it object-orientated programming (OOP) is one of the dominant models in the field. In college, the meaning and concepts of OOP were constantly drilled into my mind. Even in some job interviews I was expected to know these fundamentals off the top of the head. That's why I think it's important to discuss them now.&lt;/p&gt;

&lt;p&gt;Presenting these concepts will allow me to introduce a newbie to crucial high level knowledge, and provide a quick refresher to anyone who is already aware of these ideas (and even help myself achieve a deeper degree of understanding).&lt;/p&gt;

&lt;p&gt;In this blog I will briefly describe OOP and broadly explain its 4 main concepts: abstraction, encapsulation, inheritance, and polymorphism. I come from a Java background so I will sprinkle some Java in to expand on some points.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: My aim is for the following explanations to be general. Rather than showing the same examples and code that everyone uses, I'm going to present from a different perspective.😁&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9h8u6qp0eq9r6z7g574s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9h8u6qp0eq9r6z7g574s.png" alt="Spongebob OOP" width="280" height="273"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Object-Oriented Programming?
&lt;/h2&gt;

&lt;p&gt;OOP is a computer programming model that organizes software design through the use of &lt;em&gt;objects&lt;/em&gt; and &lt;em&gt;classes&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Objects&lt;/em&gt; are the basic units of OOP. They can emulate real-world entities, like a dog, table, or car. That means they can hold data and perform behaviors. &lt;/p&gt;

&lt;p&gt;An object's data is implemented using &lt;strong&gt;fields&lt;/strong&gt;, and behaviors are implemented using &lt;strong&gt;methods&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Classes&lt;/em&gt; are simply blueprints for an object. They define the state and behavior that the objects can invoke.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Objects are instances of classes&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here is a quick example to show these relationships:&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq926dojhwqyfbbban1qp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq926dojhwqyfbbban1qp.png" alt="Classes, objects, fields, and methods example" width="800" height="647"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Abstraction
&lt;/h2&gt;

&lt;p&gt;The process of abstraction hides unnecessary details from an object and shows only essential attributes. Therefore, a limited amount of information is exposed to the user for interaction.&lt;/p&gt;

&lt;p&gt;For example, when driving a car, you don't worry about inner workings of the engine or understanding how the tires steer your car. All of that is behind the scenes. &lt;/p&gt;

&lt;p&gt;You simply interact with the basic mechanisms (provided by the interface) to do what the car is supposed to do, like pressing the gas and turning the wheel. You don't care &lt;em&gt;how&lt;/em&gt; these operations are carried out.&lt;/p&gt;

&lt;p&gt;It is the same in OOP. For example, if you instantiate an Airplane object and invoke its function to &lt;code&gt;prepareForTakeoff()&lt;/code&gt;, all you know is that the Airplane will prepare for takeoff. However, in the code, other things could be happening as well, such as testing the wings and running diagnostics on the engines.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5dlg4o48x3meqelqz2i7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5dlg4o48x3meqelqz2i7.png" alt="Abstraction airplane example" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Abstraction is achieved through the use of abstract classes and interfaces in Java.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Abstraction == Implementation Hiding&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  2. Encapsulation
&lt;/h2&gt;

&lt;p&gt;Encapsulation protects object data by wrapping it in a single unit, allowing for modification and visibility to be controlled. Rather than directly accessing the data, you must invoke a function that modifies or retrieves it for you. This adds a crucial layer of security for the object.&lt;/p&gt;

&lt;p&gt;For example, if you have a table object with public fields, you would be able to set the fields any time you want. You may think that it wouldn't matter, but what if you set &lt;code&gt;table.legs = null&lt;/code&gt; somewhere accidentally? That could break the entire object and application (because it's no longer a table).&lt;/p&gt;

&lt;p&gt;However, if you encapsulate that field in a setter (&lt;code&gt;setLegs(null)&lt;/code&gt;), you can add a check that ignores setting "legs" to null, thus hardening the application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feg2w28a4zr0kkewt8pjk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feg2w28a4zr0kkewt8pjk.png" alt="Encapsulation table example" width="800" height="278"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Encapsulation is achieved through the use of access modifiers (i.e. public, private, protected) and getters/setters in Java.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Encapsulation == Information Hiding&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  3. Inheritance
&lt;/h2&gt;

&lt;p&gt;Inheritance allows one class to derive data and behaviors from another class. The main benefit of this is for reusability, thus saving time and effort while making the code more readable.&lt;/p&gt;

&lt;p&gt;For example, a Student class and a Teacher class can be children of a Person class. The Student and Teacher inherit fields (&lt;code&gt;firstName&lt;/code&gt;, &lt;code&gt;lastName&lt;/code&gt;, &lt;code&gt;dateOfBirth&lt;/code&gt;) and methods (&lt;code&gt;doWork()&lt;/code&gt;, &lt;code&gt;goToSchool()&lt;/code&gt;) from the Person class. &lt;/p&gt;

&lt;p&gt;The Student or Teacher classes now have access to the  Person data and methods. So any objects that instantiate these two classes can invoke them as well (if they are public).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3lxoq60hdb5ew0d1urv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3lxoq60hdb5ew0d1urv.png" alt="Inheritance student-teacher example" width="800" height="504"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In Java, inheritance is achieved by "extending" the parent class.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Polymorphism
&lt;/h2&gt;

&lt;p&gt;Poly-what?? Honestly, it sounds cooler than it actually is.&lt;/p&gt;

&lt;p&gt;Polymorphism is the condition of occurring in several different forms.&lt;/p&gt;

&lt;p&gt;In OOP, polymorphism allows data or methods with the same name mean different things in different contexts. But what does that even mean?&lt;/p&gt;

&lt;p&gt;Take a look at the inheritance example once again. Since both Student and Teacher inherit &lt;code&gt;doWork()&lt;/code&gt; from the Person class, they can both call it. We can also have them implement their own way to "doWork". &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Teacher can grade papers&lt;/li&gt;
&lt;li&gt;A Student can study&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjsbp9xdy1iam5ddw0l8j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjsbp9xdy1iam5ddw0l8j.png" alt="Polymorphism student-teacher example" width="800" height="574"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is known as &lt;em&gt;overriding&lt;/em&gt; the method from the parent class. Now whenever a Teacher object is created and the &lt;code&gt;doWork()&lt;/code&gt; function is called, the Teacher will "grade papers". And if a Person object was created and calls &lt;code&gt;doWork()&lt;/code&gt;, it would just "read a book". &lt;/p&gt;

&lt;p&gt;Another case where you will see polymorphism at work is through &lt;em&gt;overloading&lt;/em&gt; a method. Overloading is achieved by changing the number of arguments and/or changing the type of arguments in a method.&lt;/p&gt;

&lt;p&gt;For example, in a class called House you can have the following methods:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;paint()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;paint(String color)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;paint(String color1, String color2)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;paint(boolean usePrimer)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The explanations for these four concepts are very general because I wanted to make these as simple as possible. Leave a comment below with any other words of wisdom regarding these topics, or OOP as a whole. Thanks!&lt;/p&gt;

&lt;p&gt;If you want a deeper insight on how these ideas are implemented programmatically check out these links from "GeeksforGeeks":&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.geeksforgeeks.org/abstraction-in-java-2/"&gt;Abstraction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geeksforgeeks.org/encapsulation-in-java/"&gt;Encapsulation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geeksforgeeks.org/inheritance-in-java/"&gt;Inheritance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.geeksforgeeks.org/polymorphism-in-java/"&gt;Polymorphism&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Thanks for reading! If you want more tech tips, software stuff, and bussin' blogs, you can throw me a follow on &lt;a href="https://www.twitter.com/JBurroughsTech"&gt;Twitter&lt;/a&gt;🔥🤘🏽🐶
&lt;/h3&gt;

</description>
      <category>computerscience</category>
      <category>java</category>
      <category>oop</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Don't Use Create React App Until You Know This</title>
      <dc:creator>Jordan Burroughs</dc:creator>
      <pubDate>Sun, 03 Oct 2021 15:10:36 +0000</pubDate>
      <link>https://dev.to/jburroughs/don-t-use-create-react-app-until-you-know-this-1a2d</link>
      <guid>https://dev.to/jburroughs/don-t-use-create-react-app-until-you-know-this-1a2d</guid>
      <description>&lt;p&gt;The other day a co-worker noticed something interesting about our production code: You could view our original, perfectly formatted code in the browser. At first I was like, "But I built it for production, and therefore it &lt;em&gt;should&lt;/em&gt; be minified and unreadable, right?"&lt;/p&gt;

&lt;p&gt;I always thought &lt;a href="https://create-react-app.dev/" rel="noopener noreferrer"&gt;Create React App&lt;/a&gt; (CRA) handled that for me. Have I been lied to the entire time?&lt;/p&gt;

&lt;p&gt;Source maps.&lt;/p&gt;

&lt;p&gt;Yes, source maps were the reason. So I learned about them and thought it would be nice to shed some light on them so others, like myself, become aware of them and make more informed decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are source maps?
&lt;/h2&gt;

&lt;p&gt;When building React apps with CRA, you are basically using webpack and babel to transpile, minify, and bundle the JavaScript/TypeScript code you wrote for deployment. During this process your files are manipulated in a way that they need a mapping to be put back together in the original form. That's where source maps come into play.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source maps are just JSON files that essentially rebuild what the bundlers and transpilers changed. Their main purpose is to help debug your built, optimized code.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It makes sense that if you have a bug and view the stack trace, you want to see &lt;em&gt;your&lt;/em&gt; code and not the gibberish that webpack and babel spit out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does The Browser Show Everything?
&lt;/h2&gt;

&lt;p&gt;The environment variable &lt;code&gt;GENERATE_SOURCEMAP=true&lt;/code&gt; by default in CRA. That means once you build, the generated folder there will be extra ".map" files generated. It will look something like this:&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%2Fumy47vb64q3o08g0vlhr.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%2Fumy47vb64q3o08g0vlhr.png" alt="Build folder with .map files"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The browser can then use the .map files to reconstruct the original code, and become viewable in browser dev tools.&lt;/p&gt;

&lt;p&gt;When &lt;code&gt;GENERATE_SOURCEMAP=false&lt;/code&gt;, the same code would look like this:&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%2F6psrp816kuts4pgkofgi.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%2F6psrp816kuts4pgkofgi.png" alt="Build folder without .map files"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's what the CRA docs say: &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%2Fgslwov09z5wao5lk223j.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%2Fgslwov09z5wao5lk223j.png" alt="Create React App documentation on GENERATE_SOURCEMAP"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Should I Generate The Source Maps?
&lt;/h2&gt;

&lt;p&gt;In the end, what am I going to do? Leave the source maps in or take them out. &lt;/p&gt;

&lt;p&gt;Personally, I believe it depends on your requirements, but mostly yes. I think CRA has it correct (as in by default, they are generated, &lt;strong&gt;but&lt;/strong&gt; can be overwritten).&lt;/p&gt;

&lt;p&gt;Below I've identified some points about generating source maps to help make your choice: &lt;/p&gt;

&lt;p&gt;For not having them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A savvy user could see your source code 😬&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For having them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;So what if they see your code? What are &lt;em&gt;they&lt;/em&gt; gonna do with it? 🤷🏽‍♂️&lt;/li&gt;
&lt;li&gt;It helps debug in production.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Yep, that's basically it. It seems to come down to whether you care if users see your source code and if you want to have the ability to debug in production.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Important Note: If you generate source maps, there are going to be extra .map files created. Although, these do **not&lt;/em&gt;* add to the bundle size because these files are only requested by the client when dev tools are open 😏*&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Let me know how you feel about generating source maps for production. Do you disable them, or leave them be?&lt;/p&gt;

&lt;p&gt;Also, if you want to fact check me, I'm all ears to understand more about source maps.&lt;/p&gt;

&lt;p&gt;Check out these resources I used to get learn about source maps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/oyetoket/is-it-safe-to-ship-javascript-source-maps-to-production-34p8"&gt;Dev.to post by Oyetoke Toby (see the comments too)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.html5rocks.com/en/tutorials/developertools/sourcemaps/" rel="noopener noreferrer"&gt;General info about source maps by Ryan Seddon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.sentry.io/platforms/javascript/guides/react/sourcemaps/" rel="noopener noreferrer"&gt;Sentry.io docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Thanks for reading! If you want more tech tips, software stuff, and bussin' blogs, you can throw me a follow on &lt;a href="https://www.twitter.com/JBurroughsTech" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;🔥🤘🏽🐶
&lt;/h3&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>webpack</category>
      <category>react</category>
    </item>
    <item>
      <title>Bookmark These 8 Front-End Websites Now!</title>
      <dc:creator>Jordan Burroughs</dc:creator>
      <pubDate>Wed, 29 Sep 2021 12:46:07 +0000</pubDate>
      <link>https://dev.to/jburroughs/bookmark-these-8-front-end-websites-now-gl0</link>
      <guid>https://dev.to/jburroughs/bookmark-these-8-front-end-websites-now-gl0</guid>
      <description>&lt;p&gt;Now that I've been working with front-end web frameworks professionally for over 2 years, I can confidently say that I &lt;em&gt;mostly&lt;/em&gt; know what I'm doing. &lt;/p&gt;

&lt;p&gt;Through this journey I've come across many useful resources and websites that have been extremely valuable to my success. &lt;br&gt;
Here is a list of useful resources that I recommend every front-end developer has bookmarked (especially for those new in the space 😊):&lt;/p&gt;




&lt;h3&gt;
  
  
  ⒈ &lt;a href="https://css-tricks.com/"&gt;CSS-Tricks&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bq3i0g6vvulnbg3spz0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bq3i0g6vvulnbg3spz0.png" alt="CSS Tricks Logo" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This website has all things CSS, including articles, videos, and my favorite, the &lt;a href="https://css-tricks.com/guides/"&gt;guides&lt;/a&gt;. Every time I'm designing UI, and forget how flexbox or grid works, I regularly come back to the guides on the subjects that provide fantastic visuals and simple explanations.&lt;/p&gt;

&lt;p&gt;Always comes in handy.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⒉ &lt;a href="https://cssreference.io/"&gt;cssreference.io&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft42vcb3yd1epfy6q3ieg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft42vcb3yd1epfy6q3ieg.png" alt="css reference logo" width="800" height="187"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The name says what it is, but ccsreference.io isn't your old, boring documentation. They get straight to the point by showing many CSS properties in a neat and clean format that's easy on the eyes. &lt;/p&gt;

&lt;p&gt;Each CSS property is given numerous examples right beside them to help you efficiently get the information you came for.&lt;/p&gt;

&lt;p&gt;What else do you need from reference docs?&lt;/p&gt;

&lt;h3&gt;
  
  
  ⒊ &lt;a href="https://coolors.co/"&gt;Coolors&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9x9wguobxwa5z8oe89r4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9x9wguobxwa5z8oe89r4.png" alt="Coolors Example" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Liven up your personal website with a unique and alluring color scheme. This website has grown ever since I started using it, but the main feature I use is creating your own palette (see above).&lt;/p&gt;

&lt;p&gt;Experiment with random colors to find the combination that you like best and then use the provided hex colors to implement them in your own projects. Not only is this useful when working with front-end apps, but any time you're designing and styling &lt;strong&gt;anything&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⒋ &lt;a href="https://unsplash.com/"&gt;Unsplash&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn4anv9t9avnfqf92iwfb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn4anv9t9avnfqf92iwfb.png" alt="Unsplash Homepage" width="800" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We've all been there. You got to the point where you have all the scaffolding done for your app and you need to start adding content. It's easy to add "Lorem ipsum..." for text, but for images, you have to go through the process of Googling for images ensuring they're the correct size, free, ecetera. &lt;/p&gt;

&lt;p&gt;Unsplash helps you by providing high-quality, "freely-usable" images that are easy to add to any project or blog (like this one 😀). When downloading images you can also choose the size (small, medium, large) to fit your need.&lt;/p&gt;

&lt;p&gt;Amazing resource for every front-end app 💯.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⒌ &lt;a href="https://alligator.io/"&gt;Alligator.io&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhrm5ffj9vkywtqklptxj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhrm5ffj9vkywtqklptxj.png" alt="Alligator.io Logo" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alligator.io was a recent find for me. It's like a front-end technical blog with many contributors. The topics include React, Angular, Vue, CSS, JavaScript, etc. &lt;/p&gt;

&lt;p&gt;Stay up-to-date on current technology trends along with guides and tutorials to level-up your front-end skills. Definitely worth a bookmark.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⒍ &lt;a href="https://github.com/sindresorhus/awesome#front-end-development"&gt;Awesome&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ima58gq9uca3ayebfe1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ima58gq9uca3ayebfe1.png" alt="Awesome Logo" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What? A Github repo? Okay, calm down and explore the rest of the README to see the priceless resources this repo provides.&lt;/p&gt;

&lt;p&gt;This is the end-all-be-all in resource lists. Basically, it is an endless, community-curated list of resources. And it isn't just one repo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/topics/awesome"&gt;Here&lt;/a&gt; you can find other repos where people have their own topical "awesome" lists ranging from Nodejs and Python to ones about interview questions and design. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;I shouldn't say this, but rather than searching through blogs like this (which I greatly appreciate btw 🙂), check out "awesome" because it has been curated over for years by many, many kind and knowledgable people&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ⒎ &lt;a href="https://brandpalettes.com/"&gt;Brand Palettes&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw7jdffcv1a85maint4zi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw7jdffcv1a85maint4zi.png" alt="Google Brand Palette" width="800" height="645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Brand Palettes is a database of brands and their colors. That's pretty much it. Nonetheless, it is an cool resource to have in your back pocket.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⒏ Documentation! 📄📄📄
&lt;/h3&gt;

&lt;p&gt;To be honest, from all of the online material I have cycled through, there is (usually) no substitute for the actual documentation of whatever technology you're using.&lt;/p&gt;

&lt;p&gt;For any technology you use (i.e. a framework, library, etc.), take some time and actually read their documentation. It's usually not too extensive and you will discover things about the product that you've never noticed before. Doing this will help you re-think your current, future, and past projects because of the ability to leverage a feature you never knew existed.&lt;/p&gt;

&lt;p&gt;I've read through React, Angular, and React-Query docs (just to name a few) and continue to do so with other tools. Just trust me. You won't regret it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: Some docs are great and some are terrible. Some are too complex and some are too simple. But, it is usually the most up-to-date and accurate information you can get.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;It's very easy to read the docs and still not understand a topic. That's why I like using the docs as a roadmap for learning. Once I hit a topic I don't fully comprehend, I use other online resources like videos and articles to fill in the gaps. Then when I return to the docs, I get that "aha" moment we all love.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;There are endless amounts of useful resources out there, so if you have any recommendations, let everyone know in the comments. I would love to add a few more bookmarks myself.&lt;/p&gt;




&lt;h3&gt;
  
  
  Thanks for reading! If you want more tech tips, software stuff, and bussin' blogs, you can throw me a follow on &lt;a href="https://www.twitter.com/JBurroughsTech"&gt;Twitter&lt;/a&gt;🔥🤘🏽🐶
&lt;/h3&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
    <item>
      <title>1 Tip to Double Your Productivity in Postman</title>
      <dc:creator>Jordan Burroughs</dc:creator>
      <pubDate>Sun, 26 Sep 2021 00:04:57 +0000</pubDate>
      <link>https://dev.to/jburroughs/1-tip-to-double-your-productivity-using-postman-3bdm</link>
      <guid>https://dev.to/jburroughs/1-tip-to-double-your-productivity-using-postman-3bdm</guid>
      <description>&lt;p&gt;I've noticed when testing authenticated endpoints in Postman that every time my token expired, I needed to take a new token from my POST /authenticate endpoint and copy-and-paste it into each of my requests. This can quickly become a tedious process when your token's TTL is very short.&lt;/p&gt;

&lt;p&gt;So I came across a quick-fix that has helped me save time by completing this process in just one click, and I wanted to share it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution
&lt;/h2&gt;

&lt;p&gt;1) Start using environment variables!&lt;/p&gt;

&lt;p&gt;Rather than explicitly entering the value into fields, take advantage of Postman's environment variables. There are different levels of variables (see &lt;a href="https://learning.postman.com/docs/sending-requests/variables/"&gt;here&lt;/a&gt;, but I like to keep my projects organized by creating different environments.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;You can even set up for different environments (i.e. dev, sandbox, prod)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6dx3pipc3mhasn6zkpc6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6dx3pipc3mhasn6zkpc6.png" alt="Add Environment" width="800" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz0b705wrqd83y7srhvt8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz0b705wrqd83y7srhvt8.png" alt="Add Variables" width="800" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To add to a field, just surround the variable name with double curly brackets: &lt;code&gt;{{token}}&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1abrfuicmq3w6019m6pf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1abrfuicmq3w6019m6pf.png" alt="Add Variables to Fields" width="800" height="197"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now all of your variables live in one place.&lt;/p&gt;

&lt;p&gt;2) Create a post-request script&lt;/p&gt;

&lt;p&gt;Now you can set the environment variable using a post-request script. Under the endpoint tab where you get your token (usually a POST to an authentication endpoint), click the "Tests" tab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff90ekexq063euyhlgsfn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff90ekexq063euyhlgsfn.png" alt="Click on Tests tab" width="800" height="194"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is where you can do all kinds of things (check out the snippets on the right side). However, in this case, we are just setting an environment variable. &lt;/p&gt;

&lt;p&gt;Add this script to the panel:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const token = pm.response.json().token;
pm.environment.set("token", token);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz2l0lv7ke1t9nauopol1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz2l0lv7ke1t9nauopol1.png" alt="Enter Script into Panel" width="800" height="286"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: Your authentication endpoint response may have a different structure so make sure in Line 1 you are referencing the correct token property.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now any time your token expires, you just call this endpoint and the token returned will be used everywhere it is referenced (i.e. all your protected endpoints).&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I understand that this probably isn't the best way to do this. Please share a better solution in the comments! It would be extremely helpful for everyone. &lt;/p&gt;

&lt;p&gt;Also, I know that I never use Postman to its full potential, so if you have any useful tips on Postman in general, please share those as well!&lt;/p&gt;




&lt;h3&gt;
  
  
  Thanks for reading! If you want more tech tips, software stuff, and bussin' blogs, you can throw me a follow on &lt;a href="https://twitter.com/JBurroughsTech"&gt;Twitter&lt;/a&gt;🔥🤘🏽🐶
&lt;/h3&gt;

</description>
      <category>postman</category>
      <category>productivity</category>
      <category>webdev</category>
      <category>tips</category>
    </item>
    <item>
      <title>Git vs Subversion</title>
      <dc:creator>Jordan Burroughs</dc:creator>
      <pubDate>Wed, 22 Sep 2021 16:06:13 +0000</pubDate>
      <link>https://dev.to/jburroughs/git-vs-subversion-3c42</link>
      <guid>https://dev.to/jburroughs/git-vs-subversion-3c42</guid>
      <description>&lt;p&gt;Git isn't the only option! &lt;/p&gt;

&lt;p&gt;When I was first posed this statement, I was completely caught off guard. What do you mean Git isn't the only option? How else could someone track their changes and work on source code as a team? In my short software engineering career, I've always assumed that Git was the best and &lt;em&gt;only&lt;/em&gt; answer in the realm of version control systems (VCS). &lt;/p&gt;

&lt;p&gt;That was until at my job, I was made aware that one of our projects used Subversion, or SVN for source control. What even is that?&lt;/p&gt;

&lt;p&gt;The main difference between Git and SVN is that &lt;strong&gt;Git is distributed and SVN is centralized&lt;/strong&gt;. The way these two architectures are implemented amplify what the real differences are.&lt;/p&gt;

&lt;p&gt;In this post, I'm going to explain what Git and SVN are, give a brief history of each system, analyze some of their advantages, and address some common questions that I personally had about them.&lt;/p&gt;

&lt;p&gt;Quick note: &lt;em&gt;There are other version control systems out there, but these are two of the most popular and relevant to me. I will briefly identify some alternatives later on.&lt;/em&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  What is a VCS?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A version control system is software that helps developers efficiently communicate and track code changes over time.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Using a VCS provides numerous benefits such as improved code transparency (who made the change, what exactly was changed, when the change was made), faster product development, and assists in disaster recovery.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdn4u1jpe3zarur7kutou.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdn4u1jpe3zarur7kutou.jpeg" alt="Git Logo" width="273" height="164"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Git?
&lt;/h2&gt;

&lt;p&gt;Ah, the one we all know and kind of love? I personally have a love-hate relationship with Git. It annoys me when can't remember what and how "set-upstream" works, but I always appreciate that it has my back when need to trace that bug that was introduced in a previous commit weeks ago. &lt;/p&gt;

&lt;p&gt;Git was created in 2005 by Linus Torvalds and other developers of the Linux kernel. Yes, &lt;strong&gt;The&lt;/strong&gt; Linus Torvalds creator of Linux. After Linus found that current source-control management systems could not meet the scale of the Linux kernel, he prompted the start of Git development.&lt;/p&gt;

&lt;p&gt;Git is a &lt;em&gt;distributed&lt;/em&gt; VCS, meaning that you have to clone the entire &lt;em&gt;central&lt;/em&gt; repository (repo) to make a change. This ensures that when making your changes, you have the entire history of the code in your newly cloned &lt;em&gt;local&lt;/em&gt; repo. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nkf6kxig9yrlordzbnz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nkf6kxig9yrlordzbnz.png" alt="Distributed VCS" width="300" height="198"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you have made your changes, you can merge them with the branch that everyone refers to as the 'main' branch on the central repo. For anyone that now wants the latest code changes, they need to update &lt;em&gt;their&lt;/em&gt; local version of the code by pulling the new changes from the central repo. &lt;/p&gt;

&lt;p&gt;Git focuses on the file changes and metadata, rather than the entire file tree. It uses optimized algorithms and sophisticated compression techniques to ensure great performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  So Git is Github, right?
&lt;/h3&gt;

&lt;p&gt;Nope. Although they may sound the same, these guys are completely different. In short, &lt;strong&gt;Git is a system for managing source code changes and Github is a cloud provider for hosting Git repos&lt;/strong&gt; (among many other features). &lt;/p&gt;

&lt;p&gt;Anyone can implement Git in some way, but one of the services Github provides is hosting your central repo. So as long as Github is online (&lt;em&gt;knocks on wood&lt;/em&gt;), all of your code and its history are safe on their servers and can be accessed anywhere you have an internet connection.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftzde08dzx2yzr12bhria.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftzde08dzx2yzr12bhria.png" alt="SVN Logo" width="300" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Subversion?
&lt;/h2&gt;

&lt;p&gt;So what is this Git alternative you speak of? Well it's called Subversion, or SVN for short. &lt;/p&gt;

&lt;p&gt;Predating Git by 5 years, the SVN project was started in 2000 by CollabNet to create an open-source VCS. It aimed to improve upon the revision control system called Concurrent Version System (or CVS). Since 2010, SVN has been developed by Apache Software Foundation as well as becoming a part of the Apache Top-Level Projects.&lt;/p&gt;

&lt;p&gt;SVN is a &lt;em&gt;centralized&lt;/em&gt;, network-aware VCS. Therefore, all of your data is stored on a central server and the only way to access it, is via a network connection. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffj7xznq7nv2l00y7duwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffj7xznq7nv2l00y7duwl.png" alt="Centralized VCS" width="800" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The process of making code changes is slightly simpler than Git, with one less step. Rather than cloning the entire repo, you get a working copy directly from the central repo. Then you commit those changes to the repo where you can merge them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pros of Git
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stashing Work&lt;/strong&gt;. Git allows users to take their current code changes and "stash" them to be accessed at a later time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;I've used this feature many times when working on one thing and something with a higher priority comes through the pipeline. I simply stage and stash my changes, complete the new task, and pop and apply my stashed changes to continue where I left off.&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Easier merging&lt;/strong&gt;. This is what Git was made to do. It was built for teams and communities to better manage all of their code changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Works offline&lt;/strong&gt;. Unlike SVN, when you have the entire repo on your own machine, you don't have to be connected to a server to make any changes. You simply can make the changes without connection to the central repo, then once back online, you can then merge your changes with the central repo.  &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Pros of Subversion
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Handles binary files&lt;/strong&gt;. Both SVN and Git use a model called Copy-Modify-Merge. This is fine for mergeable files, but SVN also uses the model of &lt;strong&gt;Lock-Modify-Unlock&lt;/strong&gt; which is perfect for un-mergeable assets like binary files. No concurrent modifications can then be made on these files.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Simpler&lt;/strong&gt;. SVN removes the step to clone the entire repo to a client's local machine before making changes, eliminating a huge step in the Git process. Your team all works from &lt;em&gt;one&lt;/em&gt; repo. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Access Control&lt;/strong&gt;. (This is my favorite feature of SVN) &lt;br&gt;
Have you ever noticed that everyone with access to a Git repo all have the same user permissions? In certain enterprise settings this is a huge no-no. SVN actually allows for &lt;strong&gt;granular path-based user permissions&lt;/strong&gt; enabling you to allow/deny users to read/write specific folders and files.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Why is Git so popular?
&lt;/h4&gt;

&lt;p&gt;There are many aspects that could contribute to the popularity of Git. Those include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The dominance of Github influenced many users to naturally adopt Git &lt;/li&gt;
&lt;li&gt;Its fast branching and merging capabilities&lt;/li&gt;
&lt;li&gt;Its ability to enable users to work on code offline&lt;/li&gt;
&lt;li&gt;Its scalability&lt;/li&gt;
&lt;li&gt;Linus Torvalds started it&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What are some other VCSs?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Mercurial - a free, distributed source control management tool.&lt;/li&gt;
&lt;li&gt;CVS (Concurrent Versions System) - a centralized VCS.&lt;/li&gt;
&lt;li&gt;Fossil - a simple, high-reliability, distributed software configuration management system.&lt;/li&gt;
&lt;li&gt;GNU Bazaar - a distributed and client–server revision control system sponsored by Canonical.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;So which should you use? I can't be the one to tell you that, but I can tell you that I prefer Git for almost everything. &lt;/p&gt;

&lt;p&gt;Although, it's good to know the useful alternatives out there that utilize the centralized and distributed architectures. &lt;strong&gt;There's always a good solution depending on your use case.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If you are a beginner, I would just start with Git because it is the most widely used VCS. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you've been using Git for a while, try investigating some of the other VCS mentioned. Just knowing they exist can be very helpful if there comes a time when your looking for one for a specific use case.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgmte8a7htvnilt8gvll1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgmte8a7htvnilt8gvll1.png" alt="VCS Meme" width="537" height="504"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Thanks for reading! If you want more tech tips, software stuff, and bussin' blogs, you can throw me a follow on &lt;a href="https://www.twitter.com/JBurroughsTech"&gt;Twitter&lt;/a&gt;🔥🤘🏽🐶
&lt;/h3&gt;

</description>
      <category>technology</category>
      <category>git</category>
      <category>subversion</category>
      <category>github</category>
    </item>
    <item>
      <title>4 Books Every Junior Software Developer Should Read</title>
      <dc:creator>Jordan Burroughs</dc:creator>
      <pubDate>Thu, 16 Sep 2021 01:59:59 +0000</pubDate>
      <link>https://dev.to/jburroughs/4-books-every-junior-software-developer-should-read-3oi7</link>
      <guid>https://dev.to/jburroughs/4-books-every-junior-software-developer-should-read-3oi7</guid>
      <description>&lt;p&gt;If you decide to click away after seeing that I recommend the same titles that every other article tells you to read, I wouldn't blame you. Although, there is a reason why these books resonate with nearly all software developers that read them (and not only beginners).&lt;/p&gt;

&lt;p&gt;This post will be different because I will be giving you a brief explanation on why you should read them and what you, as a new software developer, should expect to get out of them. &lt;/p&gt;

&lt;p&gt;This is a post that I know would have been helpful to me when I first started looking to enhance my new career not too long ago.&lt;/p&gt;

&lt;p&gt;So I was (and still am) in your shoes. Without further ado, here's what you came for:&lt;/p&gt;

&lt;p&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%2Fgnp5z322in6no0gc75lb.jpg" 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%2Fgnp5z322in6no0gc75lb.jpg" alt="Cracking the Coding Interview Cover"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Cracking the Coding Interview
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;by Gayle Laakmann McDowell&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Whether you are currently looking for a job or whether you are perfectly happy in your current role, this book is an absolute must for any dev, especially juniors. &lt;/p&gt;

&lt;p&gt;Not only are there endless amounts of practice problems with detailed solutions, but the first sections of the book dissect the entire interview process and give quick concept overviews that anyone could find useful for reference, or even last minute cramming (which I would &lt;strong&gt;NOT&lt;/strong&gt; recommend doing, but it doesn't hurt to fill that need).&lt;/p&gt;

&lt;p&gt;I first got this book in college to prep for internship interviews and ever since then, I see myself always referring back to it whenever another interview is coming up, or when I need a quick refresher on certain topics.&lt;/p&gt;

&lt;p&gt;From behavioral and technical interview tips to data structures and algorithms, this one has it all. 13/10 would recommend.&lt;/p&gt;

&lt;p&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%2F7ivx3kmbqikn59nidfyj.jpeg" 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%2F7ivx3kmbqikn59nidfyj.jpeg" alt="Living by the Code Cover"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Living by the Code
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;by Enrique López Mañas, Ray Wenderlich&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;This one was pretty interesting and unique. The authors basically interview top developers and innovators in the tech space and they give advice to young developers. &lt;/p&gt;

&lt;p&gt;What else do I need to say? You get advice straight from the horse's mouth.&lt;/p&gt;

&lt;p&gt;But here's what I love the most:&lt;/p&gt;

&lt;p&gt;Each interviewee is usually asked questions related to their specific field or domain, but there is also a set questions that the interviewer asks &lt;strong&gt;everyone&lt;/strong&gt;. Among those is: "What are the 3 books (or resources) that have had a lasting impact on how you do your work?" The authors then list that person's recommendations at the end of each interview!&lt;/p&gt;

&lt;p&gt;In the end, you have an endless amount of resources that you can use to spawn new areas of interest and help naturally guide you in the beginnings of your career. From this book alone, my reading list has expanded tenfold and yours can too, as soon as you pick up this book.&lt;/p&gt;

&lt;p&gt;Good starting point to boost your career. 12/10&lt;/p&gt;

&lt;p&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%2Fbfi6rqlrtwkio3or46u0.jpeg" 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%2Fbfi6rqlrtwkio3or46u0.jpeg" alt="Clean Code Cover"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Clean Code: A Handbook of Agile Software Craftsmanship
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;by Uncle Bob (Robert C. Martin)&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Ah yes... the quintessential classic. This book appears on every software dev book recommendation list. It is pretty much the bible for clean code that is a must read for everyone in the field.&lt;/p&gt;

&lt;p&gt;I read this coming out of college and for me, it was a revelation. In school they teach you the basics of programming, computer theory, and maybe even some assembly. But, Uncle Bob teaches you importance of clean code and the advantages of adjusting your style to fit it.&lt;/p&gt;

&lt;p&gt;Hallelujah! 14/10&lt;/p&gt;

&lt;p&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%2Fjxpm2ikp0wdatzlomjoy.jpg" 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%2Fjxpm2ikp0wdatzlomjoy.jpg" alt="The Pragmatic Programmer Cover"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. The Pragmatic Programmer: From Journeyman to Master
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;by Andy Hunt, Dave Thomas&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Let's finish off with yet another classic. With a seemingly endless series of topics (and smaller tips within those) the authors analyze many different aspects of software development and how to think beyond if-statements and for-loops. &lt;/p&gt;

&lt;p&gt;From the perspective of a beginner, you can't get much better than this. There are so many tidbits of information, that any time you reread this book, you'll learn something new to apply directly to your code and career. &lt;/p&gt;

&lt;p&gt;Learn exactly what it means to be a Pragmatic Programmer, you won't regret it. 13/10 - exceptionally pragmatic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;One common theme with all of these books is the idea that you will always find your way back to them throughout your career. That is why it is crucial to get them in your library ASAP.&lt;/p&gt;

&lt;p&gt;There are many other books I have read that didn't make this list (including some non-technical books that can make an &lt;strong&gt;overall&lt;/strong&gt; impact on your life), but let's start with these guys for now. &lt;/p&gt;

&lt;p&gt;I'm always open to book suggestions, so leave a comment with some of your good reads.&lt;/p&gt;

&lt;p&gt;Remember that it is never the wrong choice to invest in your education! The time and money you spend to better yourself now, will always payoff big in the long run. 😀&lt;/p&gt;




&lt;h3&gt;
  
  
  Thanks for reading my first ever blog! If you want more tech tips, software stuff, and bussin' blogs, you can throw me a follow on &lt;a href="https://www.twitter.com/JBurroughsTech" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;🔥🤘🏽🐶
&lt;/h3&gt;

</description>
      <category>beginners</category>
      <category>books</category>
      <category>career</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
