<?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: Samantha Bretous</title>
    <description>The latest articles on DEV Community by Samantha Bretous (@samanthabretous).</description>
    <link>https://dev.to/samanthabretous</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%2F357317%2F1e1d493f-0d1b-4460-95f3-5fea90f14b2a.jpg</url>
      <title>DEV Community: Samantha Bretous</title>
      <link>https://dev.to/samanthabretous</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/samanthabretous"/>
    <language>en</language>
    <item>
      <title>Career Guide: Is a Software Engineering Career Right For You?</title>
      <dc:creator>Samantha Bretous</dc:creator>
      <pubDate>Tue, 23 May 2023 02:08:27 +0000</pubDate>
      <link>https://dev.to/samanthabretous/career-guide-is-a-software-engineering-career-right-for-you-5f80</link>
      <guid>https://dev.to/samanthabretous/career-guide-is-a-software-engineering-career-right-for-you-5f80</guid>
      <description>&lt;p&gt;Software engineering is an exciting and rapidly growing field that offers plenty of opportunities for those looking to break into the tech world. It provides a unique opportunity to work with cutting-edge technologies and to develop innovative solutions that can enhance user experiences. With more companies relying on technology and software than ever before, the demand for professionals with programming and coding skills is high and is set to grow more over the next decade. &lt;/p&gt;

&lt;p&gt;There are many reasons to become a software engineer. However, it's not a decision to be made lightly. It’s important to know whether a career in software engineering is right for you. If you are aiming to figure out if this career is for you, you’ve come to the right place. &lt;/p&gt;

&lt;p&gt;I created a career guide for you that might answer the basic questions you have in mind before jumping into this rising field.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Software Engineering?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software engineering is a field that blends computer science, engineering, and mathematics to create software solutions to solve sophisticated problems. This field has a wide range of opportunities for those who have the technical skill and knowledge to enter the profession. &lt;/p&gt;

&lt;p&gt;With advances in technology continuing to shape the way we interact with computers and other digital devices; Software engineering remains an ever-evolving profession. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is a Software Engineer and what does it do?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A software engineer uses engineering principles and programming languages to build products and applications. They are usually an instinctive problem solver who is able to use tools such as the principles of applied mathematics and computer science to design to solve everyday problems. With a considerable amount of knowledge, they play an important role in making sure computers and mobile devices operate correctly. &lt;/p&gt;

&lt;p&gt;The software engineer applies the principles of engineering to every stage of the software development process just as a civil engineer is responsible for the safety and security of a bridge. For example, a software engineer must be accountable for delivering sound, functioning software.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are the must-have qualities of a Software Engineer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is indeed vital for software engineers to possess certain qualities to ensure that their work is of the highest quality. software engineering not only includes coding but entails a wide assortment of skill sets from non-programming skills, abilities, routines, and strategies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here’s a list of the must-have qualities and how it contributes to the success of a Software Engineer:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;[Identifying your own personal skills while relating it to this guide can help you expand your power and success in this career. ]&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem Solver&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Problem solving is an integral part of software engineering, as it helps to identify and address issues related to the product or a process. It is a critical skill that must be developed in order to be successful in this field — A successful programmer excels by coming up with a strategy that works regardless of the odds. Without the ability to think critically and come up with creative solutions to challenging programming problems, even the most talented engineers can struggle to make a successful career in this field.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick Learner&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Being able to rapidly acquire new knowledge and apply it in various contexts is essential for success as a software engineer. Fortunately, it is a skill that can be developed with practice. Those who are able to adapt quickly and learn new skills quickly have an advantage over their peers. &lt;/p&gt;

&lt;p&gt;Being a quick learner is a valuable asset for any software engineer, as it allows you to keep up with the changing technologies of the industry. The best software developers are independent self-learners, often mastering brand-new technologies effortlessly. They are not afraid of newer technologies and can collect disparate bits of information in less than a second.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Patience&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software engineering is a field that requires intense focus and dedication to ensure the development of quality products. As this work often involves many complex tasks, it is easy to become overwhelmed and frustrated when things don't go as planned. Patience is an important skill in this field since there are a lot of complex tasks involved in creating successful projects. &lt;/p&gt;

&lt;p&gt;Although it takes a great amount of effort to maintain patience during stressful situations, it can have significant benefits for software engineers — patience helps software engineers think critically and creatively to solve problems, manage difficult situations, and stay focused on the task at hand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Communication Skills&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the must-haves is effective communication. A software engineer needs to be able to effectively communicate their ideas, facilitate successful collaboration with team members, users, and other stakeholders throughout the software development process, and also generate meaningful results. &lt;/p&gt;

&lt;p&gt;Without it, software engineers will find it difficult to explain complex technical concepts and solve complex problems since effective communication is also essential for relaying ideas, troubleshooting, debugging, and negotiating deadlines. This skill also enables software engineers to understand complex requirements and effectively explain their solutions to others.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open for criticism&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Criticism can be an invaluable asset in the software engineering process, helping to identify potential problems, flaws, and areas of improvement. It can often be difficult to accept when others point out our flaws. As a software engineer, it is important to understand the importance of being open to criticism in order to evolve into a better professional. It is an opportunity for growth.&lt;/p&gt;

&lt;p&gt;Being open to criticism is not only beneficial for technical development, but also for building relationships and gaining respect from your peers. Constructive criticism helps us identify areas of improvement and fosters collaboration within the engineering team.&lt;/p&gt;

&lt;p&gt;By embracing criticism, software engineers can learn from their mistakes and continually strive to develop better products. It's also essential for them to take a critical look at their own work in order to identify any issues that need addressing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creativity&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One vital ingredient in software engineering is creativity. Creativity helps you think outside the box when approaching complex problems. As the field is constantly advancing and changing, it is through creative thinking that innovative ideas come, and new technologies emerge. It also allows for more options to choose from when developing software, giving developers greater flexibility in terms of how they approach their work. &lt;/p&gt;

&lt;p&gt;Without a focus on creativity, software engineers would struggle to keep up with industry trends and develop solutions to complex problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why is Software Engineering a good career?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s take a look on what makes software engineering such a good career and the perks of moving into this industry. The subjective nature of what makes a great career field is relevant to everyone, since people search for different things in their work. The following choices are generalized, but they are incredibly relevant to software development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Job security&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Good work security gives you peace of mind and lets you focus on your work without having to worry about losing it. software engineering is an excellent option for certain people seeking job security. Even though you may hear about layoffs during a “recession”, the tech industry is one of the fastest growing in the world, the outlook for the future is bright. It is set to expand rapidly as the latest technology broadens the range of possibilities open up to us. Hence, much more growth potential ahead. Currently there are more open software engineering jobs than there are software engineers to fill those roles. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Potential Salary&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It’s undeniable that most people look at potential salaries first before entering a certain industry. A good base salary allows you to get rid of financial concerns and look ahead to your future. It subsequently opens doors and improves your quality of life. &lt;/p&gt;

&lt;p&gt;The compensation that developers receive is often cited as a key reason why people want to switch careers in the tech world. A lot of programmers are earning six figures — Money isn’t everything, but it certainly makes life easier and makes the day-to-day at work more enjoyable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Perks&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A career in software engineering offers countless perks usually not offered in other jobs. Perks make &lt;a href="http://developerpitstop.com/is-software-engineering-fun/"&gt;&lt;/a&gt;software engineering *****&lt;strong&gt;&lt;em&gt;fun.&lt;/em&gt;&lt;/strong&gt;***** It allows you to appreciate your job more and utilize your time away from work effectively. Software engineers don’t only get money in form of salary, but they also earn money in form of various perks. &lt;/p&gt;

&lt;p&gt;From work-from-home set up, flexible working hours to the ability to take additional time off, these perks make software engineering not only more fun but also more practical and beneficial for your personal life. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interesting and Challenging work&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It can be an incredibly rewarding, yet challenging career. It requires creativity, problem solving and dedication to your work. The work is interesting and challenges you just enough to keep on your toes. Interesting problems arrive every day, which is perfect if you like to continually improve. It’s hard to get bored when new issues present themselves and require you to come up with imaginative tactics on your end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flexibility&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software engineers are generally given a lot of flexibility to go about their day. The amount of flexibility will be determined by the company you work for and their culture. But generally, you can expect a relaxed dress code, flexible working hours, and to manage your own time.&lt;/p&gt;

&lt;p&gt;Most software engineering roles are now being advertised as remote. This means you can work for an employer from anywhere or work just a few times a month onsite. Simply implied that you don't have to all be seated in the office together. Remote working is a huge time and money saver that just isn't an option in other career paths.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creativity &amp;amp; Fulfillment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Working in an unfulfilling job can make people feel they have chosen a poor career path. Doing something that gives you a sense of accomplishment is crucial for long-term happiness in a role. The variety in your workload means that you can always find innovative ways to solve problems and express yourself creatively. After all, a career in software engineering is perfect for those who enjoy being involved in a project right from the start and seeing things through to the end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is Software Engineering a good and stable career for the future&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The tech industry is booming and shows no sign of letting up as it creeps into every aspect of our lives. With this growth comes more opportunities for stable careers. No matter what industry you are in, nearly every business utilizes some sort of technology. Regardless of what kind of service you are running, you will most likely need to employ a computer programmer sooner or later.&lt;/p&gt;

&lt;p&gt;Generally speaking, this career is recession-proof. People are always going to be needed to develop the next batch of technology that will propel us forward. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In order to maintain a stable career as a software engineer, it is most important to keep up to date with recent developments in your field of interest and never lose your interest.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before starting a job, it’s good to know that the career you are jumping into has good long-term prospects. A good career is not just about the pay and perks. It should also offer a good work-life balance and keep you balanced. It opens doors to a fulfilling and stable career that is likely to stand the test of time. Not only will you be well compensated, but you’ll be intellectually stimulated throughout your working life.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Have you made up your mind?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Determining whether software engineering is a career you want to pursue can be difficult as figuring out the correct path is one of life’s greatest challenges. It takes time to figure out what type of job we want to pursue. &lt;a href="https://samanthabretous.com/quiz/quiz-which-career-in-tech-is-right-for-you"&gt;Take my quiz&lt;/a&gt; to help you determine that path for you. For those like you who is interested in the software engineering field, the decision-making process can become even more complex as the industry is constantly evolving. Picking a good career in this rising field can change your circumstances for the better.&lt;/p&gt;

&lt;p&gt;Hopefully, the information from this guide has helped you decide whether you should become a software engineer. It is important that you understood the basics of what it entails and what you can expect from the job. If the certain traits and interests in this career guide were a great match with your personality, then you may already be set to enjoy a career in software engineering.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Why Elevate Your Career to Become a Software Engineer?</title>
      <dc:creator>Samantha Bretous</dc:creator>
      <pubDate>Wed, 03 May 2023 02:15:36 +0000</pubDate>
      <link>https://dev.to/samanthabretous/why-elevate-your-career-to-become-a-software-engineer-2fm8</link>
      <guid>https://dev.to/samanthabretous/why-elevate-your-career-to-become-a-software-engineer-2fm8</guid>
      <description>&lt;p&gt;So you’re thinking about elevating your career to become a software engineer? Excellent choice! Software engineering is one of the most in-demand and highest-paying careers out there today.&lt;/p&gt;

&lt;p&gt;In this day and age, technology is king. The software engineer is the mastermind behind the technological advances that make our lives easier and more efficient.&lt;/p&gt;

&lt;p&gt;From developing computer programs to creating and maintaining websites, the software engineer is responsible for all things digital.&lt;/p&gt;

&lt;p&gt;If you’re looking for a challenging and rewarding career, one that will keep you on your toes and constantly learning, then becoming a software engineer may be right for you. In this article, we’ll take a closer look at what a software engineer does and why you should consider elevating your career to become one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So What Exactly Does a Software Engineer Do?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When it comes to high-paying, in-demand jobs, few can compare to that of a software engineer. With an average salary of $90,000 in the US and plenty of opportunities for career growth, a career in software engineering is one that is sure to provide stability and financial security.&lt;/p&gt;

&lt;p&gt;But what exactly does a software engineer do? In short, they are responsible for the design, development, testing, and maintenance of software applications. Some software engineers work as project managers while others are employed full-time at a company. Others develop on their own or run their own businesses out of their homes.&lt;/p&gt;

&lt;p&gt;A software engineer may be asked to develop an application from scratch or to assist in the development of an existing application. They must be able to think critically and creatively, be detail-oriented, and possess strong verbal and written communication skills. These are just a few of the many qualities required to become a software engineer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Software engineers are responsible for:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;They are involved in the development and implementation of software systems.&lt;/p&gt;

&lt;p&gt;Develop software applications.&lt;/p&gt;

&lt;p&gt;Test and maintain software.&lt;/p&gt;

&lt;p&gt;Write Code&lt;/p&gt;

&lt;p&gt;Analyze user requirements&lt;/p&gt;

&lt;p&gt;Research, design and write new software programs&lt;/p&gt;

&lt;p&gt;Create technical specifications&lt;/p&gt;

&lt;p&gt;Task tracking and estimates&lt;/p&gt;

&lt;p&gt;Advise managers on the best way to achieve desired software application goals.&lt;/p&gt;

&lt;p&gt;Given the ever-increasing demand for software engineers, now is the perfect time to consider making the switch to this in-demand career. If you’re curious about what it takes to become a software engineer, check out the &lt;a href="https://www.youtube.com/channel/UCT7r828zyIJjmZEO4S1QqJQ"&gt;Deeper Than Tech podcast&lt;/a&gt; for tips and tricks on how to break into tech.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It’s not all coding!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While coding is a major part of the job, a software engineer’s duties are more than just the creation of the code. For example, it may be necessary to design a database and create a user interface, and then test the application to ensure that it’s secure and efficient.&lt;/p&gt;

&lt;p&gt;Software engineers may also work with other members of a team, such as project managers, testers, and website designers, to ensure that a project meets all the requirements outlined by the client.&lt;/p&gt;

&lt;p&gt;Everyone finds their niche in the software engineer world. Some folks will focus more on coding and others will focus on the process. Currently at my job I am more of a technical lead. I help plan different projects and mentor other software engineers on my team. I haven't coded in 3 weeks. Some days I miss it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What skills do you need to be a software engineer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the most important things to think about when deciding whether or not to become a software engineer is what skills you need to possess. While some software engineers specialize in specific development languages, others are able to work in a range of different areas.&lt;/p&gt;

&lt;p&gt;In order to become a software engineer, you’ll need to possess strong communication skills and be able to work independently. In addition, you’ll need to have a solid understanding of software development processes and best practices. As a software engineer, you’ll need to be detail-oriented and have the ability to solve complex problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does it take to succeed as a software engineer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The skills you need to succeed as a software engineer are largely dependent on the type of company you work for. While some companies will only require that you be proficient in coding, others will also require that you have a strong understanding of the business side of things.&lt;/p&gt;

&lt;p&gt;Generally speaking, however, here are some of the skills you’ll need to succeed as a software engineer:&lt;/p&gt;

&lt;p&gt;Strong communication skills.&lt;/p&gt;

&lt;p&gt;The ability to work on your own or as part of a team.&lt;/p&gt;

&lt;p&gt;A can-do attitude.&lt;/p&gt;

&lt;p&gt;Highly developed problem-solving skills.&lt;/p&gt;

&lt;p&gt;A passion for learning new things.&lt;/p&gt;

&lt;p&gt;Although software engineering is an in-demand career, there will always be a demand for the skills that software engineers possess. In order to stay relevant in this changing and ever-growing industry, you’ll need to continuously learn new things.&lt;/p&gt;

&lt;p&gt;This means that you’ll need to study the latest technologies and keep up with the latest industry trends. In addition, it’s important that you’re constantly refining your skills so that you can stay ahead of the competition.&lt;/p&gt;

&lt;p&gt;In the future, software engineers will be expected to have an even wider variety of skills. According to the Bureau of Labor Statistics, software engineers will be expected to be proficient in a variety of different IT languages, including PHP, Python, C++, and Java.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Front-end or back-end?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Technology experts can work on both the front-end and back-end.&lt;/p&gt;

&lt;p&gt;Front-end software engineers work on the user interface or the look and feel of an application. The front-end engineer is responsible for creating the user interface of websites, mobile apps, and desktop software. They often work with a UX designer to create a user experience that is both functional and visually appealing.&lt;/p&gt;

&lt;p&gt;Back-end software engineers are responsible for creating the code which makes up the bulk of the application. This means they work with the back-end team to ensure that the code is secure and efficient. They often also work with a project manager or QA to ensure that the applications meet all the requirements set out by the client.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Software Developer vs Software Engineer – what gives?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first thing you should know about software engineer vs software engineer is the distinction between the two titles.&lt;/p&gt;

&lt;p&gt;Software engineers are responsible for everything from the programming, to the project management, to the testing and bug fixing.&lt;/p&gt;

&lt;p&gt;Software developers are focused on creating a product while software engineers focus on the product’s underlying architecture and stability. Shhhhh! I "stole" this definition from online. But honestly don't pay too much attention to the names, I use them interchangeable with other all the time. Not that many people who build software care. We care more about leveling (entry-level, mid-level, senior, staff++), since that determines our pay scale.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Industries that employ software engineers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Based on the job description there are many software engineering jobs out there. The industry and specific occupation that you will be in depends on the company or organization that you work for. You can find a job in any industry, from banking to video games to healthcare. It’s not necessarily the industry that you’re in that determines your salary, but what you do within that industry that can determine your salary. Below are a few of the most common industries that software engineers find themselves working for.&lt;/p&gt;

&lt;p&gt;Banking and finance&lt;/p&gt;

&lt;p&gt;Computers and gaming&lt;/p&gt;

&lt;p&gt;Communications and telecommunications&lt;/p&gt;

&lt;p&gt;Healthcare&lt;/p&gt;

&lt;p&gt;Legal&lt;/p&gt;

&lt;p&gt;Marketing and advertising&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why being a software engineer is rewarding&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Coding is a fun and rewarding activity. You can work on your own schedule, create your own hours, and you can make a living doing it. It’s the perfect work-life balance.&lt;/p&gt;

&lt;p&gt;The technology industry is diverse and ever-changing. If you’re looking to stay up to date on the latest trends and release cycles of the industry, you’ll find it in the software engineering industry.&lt;/p&gt;

&lt;p&gt;If you’re in the market for a new job, you’ll find that there are countless opportunities to work for different tech companies. From startups to Fortune 500 companies, there are many roles available.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is it hard to get a job as a software engineer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A software engineer’s duties, which can vary from one role to another, are constantly growing. New software projects are being developed every day, and the need for software engineers to work on these projects is growing. Due to the high demand of this in-demand career, many software engineers are finding it difficult to break into the field.&lt;/p&gt;

&lt;p&gt;That’s why it’s important to understand that becoming a software engineer is not a fast and simple process. The competition for these positions is fierce, and the salary is not the biggest incentive.&lt;/p&gt;

&lt;p&gt;Still not sure is software engineering is right for you. Take my &lt;a href="https://samanthabretous.com/quiz/quiz-which-career-in-tech-is-right-for-you"&gt;free quiz&lt;/a&gt; to find out which tech career path you should follow.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to be a successful developer without building a Web Portfolio</title>
      <dc:creator>Samantha Bretous</dc:creator>
      <pubDate>Tue, 02 May 2023 01:16:17 +0000</pubDate>
      <link>https://dev.to/samanthabretous/how-to-be-a-successful-developer-without-building-a-web-portfolio-48ge</link>
      <guid>https://dev.to/samanthabretous/how-to-be-a-successful-developer-without-building-a-web-portfolio-48ge</guid>
      <description>&lt;h2&gt;
  
  
  Is a resume or portfolio better for jobseekers?
&lt;/h2&gt;

&lt;p&gt;LinkedIn and your resume are great resources to have, but they really only focus on your work experience. If you're early in your career, hate to break it to you but you're not going to have that much work experience. On average, a corporate company will receive 250 resumes per job posting, and only at small percentage applicants will actually get the interview. And with companies only taking about 10 candidates per position, that's only 5% of applicants will get an interview, 5%! With so much competition, you have to stand out.&lt;/p&gt;

&lt;p&gt;A resume is a document that outlines your qualifications for employment. This document includes your education, work experience, and skills. It is typically submitted when applying for jobs. Your resume should be tailored to each job you apply for, highlighting the skills and experiences that are most relevant to the position. &lt;/p&gt;

&lt;p&gt;On the other hand, a portfolio is a collection of work that you have done over a period of time. It is where an individual can showcase their work as well as a way to market oneself and to attract potential employers or clients. Portfolios can be either digital or physical. It can be a website, blog, or even a printed book — The important thing is that it contains a collection of an individual's best work.&lt;/p&gt;

&lt;p&gt;Both can be used to show your qualifications for a job. However, a portfolio and a resume are two very different things. The portfolio is a collection of your best work and it is what you show to prospective employers to prove that you have the skills and experience to do the job. While a resume is a summary of your work history and it is what you use to apply for jobs. So, can a resume replace a portfolio? While they are both equally important tools in your job search arsenal — No, a resume cannot replace portfolio. In most cases, portfolio may be a better way to showcase your qualifications than a resume.&lt;/p&gt;

&lt;h2&gt;
  
  
  How a Portfolio Can Help You Advance in Your Career
&lt;/h2&gt;

&lt;p&gt;Having a portfolio provides you the opportunity to show potential employers a full walkthrough of your projects, as well as show them who we are as people, what we're passionate about — and just a whole bunch of awesomeness. In other words, a portfolio is a way to sell yourself and your talents. It can also help you stand out from the crowd and help you get the job or internship you want, and advance in your career.&lt;/p&gt;

&lt;p&gt;There are many benefits to having a portfolio, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Showcasing your skills and abilities: A portfolio allows you to showcase your skills and abilities to potential employers in a professional way.&lt;/li&gt;
&lt;li&gt;Demonstrating your commitment to your career: A portfolio demonstrates your commitment to your career and can help you stand out from other job applicants.&lt;/li&gt;
&lt;li&gt;Self assessment tool: While portfolio can be a record of achievement, it serve as self-reflection and growth. Allows an individual to identify their strengths and weaknesses.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  I’m a developer, but why don’t I have a developer portfolio website?
&lt;/h2&gt;

&lt;p&gt;Let me break it down for you. I have seen so many entry level developers spend countless hours building out their website instead of actually working on side projects. And it hurts me. because I did the same thing when I was trying to break into tech. I can't let the cycle keep happening.&lt;/p&gt;

&lt;p&gt;Your portfolio website is supposed to be a representation of who you are. Apparently, when I was building out my portfolio website, I learned that I was pretty indecisive. I kept changing the colors, the layout, the technology I was using. Instead, I could have been using that time to build something more useful. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Imagine this:&lt;/strong&gt; You're killing it in the job search and you finally make it to the onsite.&lt;/p&gt;

&lt;p&gt;One thing I can guarantee is that you're not gonna be talking to your interviewer about how you built your website. Nobody has time for that! So why are you spending so much time building out your portfolio website? Have you heard the saying “It's not on the outside but the inside that counts”? You can apply the same logic to your portfolio. The content and the projects that you are working on is where you need to focus and spend most of our time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tips to create a developer portfolio in no time
&lt;/h2&gt;

&lt;p&gt;Stop spending countless hours perfecting your portfolio site and stop changing the font. Honestly, just stop playing yourself. There are so many great tools and resources you can use to create a great portfolio website. If you want to build an awesome website but you're not great in design, no problem. There are tons of free templates that you can use.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to Find the Perfect Portfolio Template for You
&lt;/h3&gt;

&lt;p&gt;A website template is a pre-designed resource that shows the structure for a website. Website templates can be used to create websites of any size and complexity, from a simple personal blog to a large e-commerce site. There are many different types of website templates available, so finding the right one for your needs can take some time and research. Once you've found a template you like, you can customize it to fit your brand and content.&lt;/p&gt;

&lt;p&gt;Here’s an example of guide on how to get one:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Google free portfolio templates&lt;/li&gt;
&lt;li&gt;Download the template and plug in your content and your projects&lt;/li&gt;
&lt;li&gt;Push you project up to Github&lt;/li&gt;
&lt;li&gt;Deploy a Github Page&lt;/li&gt;
&lt;li&gt;You're good to go. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now that's what I like to call "Good artist borrow. Great artist steals”, ladies and gentlemen. My favorite thing about website templates are that they usually include responsive designs, and most of the time are pretty bug free.&lt;/p&gt;

&lt;p&gt;If a recruiter actually opens your portfolio website, one thing that they do not want to see is bugs, because that can actually hurt your chances of getting your job. &lt;/p&gt;

&lt;h3&gt;
  
  
  Is There an Alternative to Using Templates?
&lt;/h3&gt;

&lt;p&gt;If you don't wanna use a template, you can use a design system like Material UI, or Tailwind and build on top of that. Plus, you just added a new still to your resume.&lt;/p&gt;

&lt;h2&gt;
  
  
  Portfolio Essentials
&lt;/h2&gt;

&lt;p&gt;For job seekers in any field hoping to land a job, a portfolio is essential. But what should you include? The answer may depend on the industry you're in, but there are some basics that every portfolio should have.&lt;/p&gt;

&lt;h3&gt;
  
  
  Discover the person behind.
&lt;/h3&gt;

&lt;p&gt;At the very least, you want to include an about me section. This is one of the most important parts of your online presence. An about me section can help you share your story, build trust, and establish credibility. So go ahead - brag about yourself.&lt;/p&gt;

&lt;h3&gt;
  
  
  Get in touch!
&lt;/h3&gt;

&lt;p&gt;A way for potential employers to contact you:. Don't just include your social media links. Include your email - a mail to link is cool but an embedded form is even better.&lt;/p&gt;

&lt;h3&gt;
  
  
  Critical to your success
&lt;/h3&gt;

&lt;p&gt;Create a project section, that links out to individual pages. Each page gives the viewer more details about the project. If you are a beginner in tech you only need to include two projects.  But these two projects need to have substance. It's about quality, not quantity here.&lt;/p&gt;

&lt;p&gt;If you're a code newbie, sooner or later you're going to need a portfolio. But stop wasting time coding your portfolio. Instead spend your time building projects to include in your portfolio. It is important to remember that a portfolio is not a replacement for a resume and while both are important tools in the job search process, you should focus on creating a strong portfolio that will make you stand out from the competition.&lt;/p&gt;

&lt;p&gt;Hopefully by now I have convinced you to make a developer portfolio but to focus on the content within your portfolio first.  So what are you waiting for? Get started on your portfolio today! &lt;/p&gt;

&lt;p&gt;No time to look for templates? I got you!&lt;/p&gt;

&lt;p&gt;Luckily, I have created a collection of templates that you can download and use to create your own portfolio to help you get started. Just download the one that best suits your needs and start customizing it with your own contents and projects. With these easy-to-use templates, you'll be able to create your developer portfolio in no time.&lt;/p&gt;

&lt;p&gt;Download this freebie to get started on your portfolio today!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Tune Into These Top Podcasts for Women in Tech</title>
      <dc:creator>Samantha Bretous</dc:creator>
      <pubDate>Fri, 28 Apr 2023 00:30:00 +0000</pubDate>
      <link>https://dev.to/samanthabretous/tune-into-these-top-podcasts-for-women-in-tech-53p2</link>
      <guid>https://dev.to/samanthabretous/tune-into-these-top-podcasts-for-women-in-tech-53p2</guid>
      <description>&lt;p&gt;Technology has rapidly become an integral part of our lives, and as a result, the technology industry has grown to be one of the top industries today. Women have been making great strides in this field, but there is still much work to be done. With that in mind, this blog seeks to highlight some of the best podcasts for women working in tech.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deeper Than Tech&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The goal of this show is to help black women in tech understand how to navigate the tech space so that they can advance their careers as Software Engineers, UX Designers, Scrum Masters and so many more.&lt;/p&gt;

&lt;p&gt;Together they tackle topics like being a black woman in technology, How to progress in an industry that wasn’t designed for black women in mind and helping you build confidence in your career as a software engineer.&lt;/p&gt;

&lt;p&gt;Listen Here&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/deeperthantech"&gt;Twitter&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.instagram.com/deeperthantech/"&gt;Instagram&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/channel/UCT7r828zyIJjmZEO4S1QqJQ"&gt;Youtube&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#WomenInTech&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The #WomenIntech Podcast is hosted by WeAreLATech’s Espree Devora and features inspiring Women in Tech from Engineers, Female Founders, Investors, UX and UI Designers, Journalists all sharing their story how they got to where they are today.&lt;/p&gt;

&lt;p&gt;Espree is a superb host with an exceptional talent for eliciting excellent stories and thought-provoking insights from her guests. I hope to witness more of her amazing work! She is passionate, motivated, and committed to furthering the rights of women in tech worldwide. Impactful and inspiring!&lt;/p&gt;

&lt;p&gt;Listen Here&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/womenintechshow"&gt;Twitter&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.instagram.com/womenintechshow/"&gt;Instagram&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.facebook.com/womenintechshow"&gt;Facebook&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Marketplace Tech&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hosted by Molly Wood, Marketplace Tech explores how technology shapes our lives in unexpected ways. It offers context for listeners interested in the implications of technology, business, and the digital world.&lt;/p&gt;

&lt;p&gt;Molly Wood's thought-provoking podcasts make this show a must-listen. Expert guests provide valuable insights into the current state of the digital economy, making it an essential resource for tech fans!&lt;/p&gt;

&lt;p&gt;Listen Here&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/Marketplace"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Women Talk Tech Podcast&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every episode of this podcast is dedicated to highlighting the stories of women who have overcome great obstacles to succeed in tech. It sheds light on the various issues they face and the difficulties they encounter in their careers.&lt;/p&gt;

&lt;p&gt;I'm a regular listener and I think it's great! I'm grateful for the news about the progress being made in this field. The stories are always inspiring! Tune in to this podcast for 5-7 minutes and get a wealth of interesting information on noteworthy individuals, companies, issues, and trends in the tech world.&lt;/p&gt;

&lt;p&gt;Listen Here&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.instagram.com/womentalktechpodcast/?hl=en"&gt;Instagram&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/company/women-talk-tech-podcast/"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Startups Magazine: The Cereal Entrepreneur&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Grab a bowl &amp;amp; dig into this! Anna Flockett, editor of Startups Magazine interviews the most innovative startups of the moment. She’ll stir in some startup lessons &amp;amp; failure fables as well as a sprinkling of inspirational advice.&lt;/p&gt;

&lt;p&gt;This podcast explores how to thrive in the digital age while maintaining our humanity in the face of technological advances. It features lengthy conversations, making it an ideal choice for those seeking a top-notch tech review podcast.&lt;/p&gt;

&lt;p&gt;Listen Here&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/TheStartupsMag"&gt;Twitter&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.instagram.com/startupsmagazine/"&gt;Instagram&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.facebook.com/TheStartupsMag"&gt;Facebook&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/channel/UCccztX35OPFsyKBfPV-pB9Q"&gt;Youtube&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/company/startups-magazine/"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mums on Cloud Nine&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mums on Cloud Nine aims to inspire mums to progress their careers in tech from starting out to climbing the career ladder. They provide tips and insight on how to succeed in your career and overcome adversity that many women can face in the workplace. The podcast show is delivered by Heather Black, CEO of Supermums, a global brand supporting mums to upskill and transition into the tech sector.&lt;/p&gt;

&lt;p&gt;The show is enjoyable, but also avoids becoming too serious. If you're a fan of tech and want to learn more about programming and the software development community, you should tune in to the Cloud Nine podcast.&lt;/p&gt;

&lt;p&gt;Listen Here&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/SupermumsGlobal"&gt;Twitter&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.instagram.com/supermumsglobal/"&gt;Instagram&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.facebook.com/supermumsglobal/"&gt;Facebook&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/company/supermumsglobal"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;in:tech&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In:tech is the new diversity and inclusion podcast from the Tech Talent Charter (TTC). Hosted by Rebecca Donnelly, Senior Partner at Tyto and TTC board member, this podcast is for anyone who wants to make their organization more inclusive, diverse, and equitable but needs some help or advice.&lt;/p&gt;

&lt;p&gt;With a series of high-profile guests who are leaders in the DE&amp;amp;I and tech space, they provide practical insights and concrete takeaways to help you move the dial. Podcasts like these are a kind of evaluation, analysis, and review. These reviews can not only help you make a purchase, but can open up a whole new array of opportunities.&lt;/p&gt;

&lt;p&gt;The show is great because it is released regularly, ensuring listeners stay up to date on the latest news in the tech world.&lt;/p&gt;

&lt;p&gt;Listen Here&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/techcharteruk?lang=en"&gt;Twitter&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.instagram.com/techtalentcharter/"&gt;Instagram&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.facebook.com/techtalentcharter"&gt;Facebook&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/company/tech-talent-charter/"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There you have it, my pick of the podcasts I recommend you tune in to if you're thinking of starting in tech or shifting careers.&lt;/p&gt;

&lt;p&gt;What do you think of my list? Have you listened to these podcasts? If so, share this blog to let others know too.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>5 Tips to Building a Better Social Media Presence as a Software Engineer</title>
      <dc:creator>Samantha Bretous</dc:creator>
      <pubDate>Thu, 16 Feb 2023 02:54:49 +0000</pubDate>
      <link>https://dev.to/samanthabretous/5-tips-to-building-a-better-social-media-presence-as-a-software-engineer-55jp</link>
      <guid>https://dev.to/samanthabretous/5-tips-to-building-a-better-social-media-presence-as-a-software-engineer-55jp</guid>
      <description>&lt;p&gt;As a software engineer, having a social media strategy on Twitter is particularly important to remain competitive in the ever-changing industry. With its combination of powerful analytics and networking capabilities, Twitter is a great platform to gain visibility and establish your professional presence.&lt;/p&gt;

&lt;p&gt;A robust social media presence is essential for success as a software engineer. In order to keep up, many software engineers are turning to social media networks as a way to not only stay current but also showcase their skills and experience. Being tech famous on Twitter is no exception — and having an effective strategy is the key to standing out and making your mark in the software engineering industry.&lt;/p&gt;

&lt;p&gt;It can be difficult to make sense of all the noise, but it doesn't have to be! With the right plan in place, you can reach a wider audience and ultimately become tech famous on Twitter.&lt;/p&gt;

&lt;h2&gt;Make your mark in the Tweetosphere!&lt;/h2&gt;

&lt;h3&gt;1. Check Profile Optimization&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Optimize your Twitter profile.&lt;/strong&gt; If you want your audience to know what you have to offer, you need to make it unique with customized content your audience will recognize.&lt;/p&gt;

&lt;p&gt;There are a number of facets of your Twitter account that you can actually optimize to attract more followers, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Handle:&lt;/strong&gt; This is your username, like &lt;a class="mentioned-user" href="https://dev.to/samanthabretous"&gt;@samanthabretous&lt;/a&gt;, for example. Ideally, your handle should be your name that you want to be recognized with, so it’s easy to search for and find you on Twitter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Header:&lt;/strong&gt; Your header is your Twitter profile’s background image. You can display a unique image related to your niche or personality. Taglines may also be in this area.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Profile Picture:&lt;/strong&gt; Your Twitter profile picture is what users will see whenever you interact on Twitter. This image sits above your Twitter bio and can be your own logo, initials, or even a picture of yourself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bio:&lt;/strong&gt; A Twitter bio includes a summary of an introduction about yourself and what you do. Although Twitter has a 160-character limit, you’ll need to keep this summary short, engaging, and include all the important details about what you do.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Website URL:&lt;/strong&gt; Under your bio is a place to enter your website’s URL. This provides users with a direct link to your site.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Birthday (optional):&lt;/strong&gt; In the same palace as your URL, you can enter your birthday. This allows your audience to learn about your business on a more personal level.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;2. Try a best time to post on Twitter&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fapi.samanthabretous.com%2Fwp-content%2Fuploads%2F2023%2F02%2Fbest-tweet-times.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fapi.samanthabretous.com%2Fwp-content%2Fuploads%2F2023%2F02%2Fbest-tweet-times.jpg" alt="" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Compared to other social media platforms, like Facebook and YouTube, Twitter moves much faster. As a result, you’ll need to post regularly to keep your posts top of mind.&lt;/p&gt;

&lt;p&gt;Software engineers are likely to visit Twitter in the afternoon, when they are taking breaks and checking the social media for updates and entertainment. This is your opportunity to make the most of this high foot traffic on Twitter. With all social media platforms, engagement is key in order to grow. Twitter will expand the reach of a post when it sees a lot of users engaging with it. Retweets, comments, and like all play a huge part. When you're active on Twitter, try posting at the best possible time of the day, bearing in mind that a number of individuals might be using it at that time.&lt;/p&gt;

&lt;p&gt;So can you guess when I am going to log into Twitter as a software engineer? Here’s a study to support this strategy: &lt;a href="https://optinmonster.com/best-time-to-post-on-social-media/" rel="noopener noreferrer"&gt;Best Time to Post on Social Media for the Highest Engagement (optinmonster.com)&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;3. How often do you post on Twitter?&lt;/h3&gt;

&lt;p&gt;Now that you know when you should you be posting on Twitter. The next question is how often should you post per day?&lt;/p&gt;

&lt;p&gt;It is recommended to post 1-2 times per day. There are many accounts that post several times every day. So, if you have the time to tweet a lot, I am not going to stop you.&lt;/p&gt;

&lt;p&gt;Also remember that, however frequently you’re posting, the best practice is to cover interesting topics that would catch your audiences’ attention. Some of these topics are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tweets to promote your services&lt;/strong&gt; - ex. Blog promotion, Hosting services, Product launches&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Share personal stories&lt;/strong&gt; - ex. How your day at work went, Perks of working in tech and Life as a Black Software engineer&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retweet from other influencers&lt;/strong&gt; - ex. Book recommendations, Blog created by other people and Sharing other podcasts you like&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coding tips that motivate and encourage&lt;/strong&gt;- ex. How to be more productive, How to fix bugs and solving other field-related problems&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create Entertaining content&lt;/strong&gt; - ex. This could be a tech humor or even a media containing tech facts and trivia.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;4. Use the right Twitter hashtags&lt;/h3&gt;

&lt;p&gt;Tweets with hashtags get twice as much engagement as those without. With that in mind, including hashtags in your Twitter marketing strategy is a surefire way to expand your reach.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use hashtags unique to your field/industry so your followers can find you more easily.&lt;/li&gt;
&lt;li&gt;Use Twitter Analytics to find which hashtags perform the best and use them in future campaigns.&lt;/li&gt;
&lt;li&gt;Avoid overusing hashtags. Too many can look spammy so stick to 1 or 2 hashtags to ensure the best engagement.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once again — &lt;strong&gt;But don’t abuse hashtag!&lt;/strong&gt; I love using data to build software and to understand how my social media analytics. Even though the data shows hashtags are great, visually people don’t like seeing them everywhere. Twitter search engine has improved greatly over the years, so don’t worry if all your post don’t have hashtags.&lt;/p&gt;

&lt;h3&gt;5. Post more visual content&lt;/h3&gt;

&lt;p&gt;Tweets with images were found to be better than text messages, while videos were 6 times more likely to receive engagement than tweets without them.&lt;/p&gt;

&lt;p&gt;Videos and images provide an eye-catching and engaging aspect to your content that can make people pause as they scroll their feeds. Moreover, you can use visual content to promote products relevant to your audience and user-generated content to increase your brand’s authenticity.&lt;/p&gt;

&lt;h2&gt;Road to Tech Fame on Twitter&lt;/h2&gt;

&lt;p&gt;There you have it.&lt;/p&gt;

&lt;p&gt;Being tech famous on Twitter as a software engineer is an attainable goal. It requires an active presence, and a willingness to engage with people in your industry. With the right strategy and perseverance, anyone with a passion for coding can make their mark in the tweetosphere.&lt;/p&gt;

&lt;p&gt;Yet out of all of these strategies the number one tip is to &lt;strong&gt;put yourself out there&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You must also be willing to be vulnerable and share your progress and failures with the world. As you gain more followers, create valuable content, and interact with other experts, you can unlock the potential of Twitter for career growth. Finally, don't forget to keep track of your successes and failures so that you can adjust your strategy if necessary.&lt;/p&gt;

&lt;p&gt;Hopefully, my blog has helped you understand how to create an effective Twitter marketing strategy and locate some superb Twitter marketing tips for your brand.&lt;/p&gt;

&lt;p&gt;Still thinking about what to post? Here’s 5 topics you can use to start posting on Twitter. &lt;a href="https://api.samanthabretous.com/landing-page/five-topics-you-can-use-to-post-on-twitter/" rel="noreferrer noopener"&gt;Click here to download for free&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>This guide will help you score that job interview. No experience? No problem!</title>
      <dc:creator>Samantha Bretous</dc:creator>
      <pubDate>Thu, 05 Jan 2023 15:03:19 +0000</pubDate>
      <link>https://dev.to/samanthabretous/this-guide-will-help-you-score-that-job-interview-no-experience-no-problem-59el</link>
      <guid>https://dev.to/samanthabretous/this-guide-will-help-you-score-that-job-interview-no-experience-no-problem-59el</guid>
      <description>&lt;p&gt;Searching for a job in the tech industry can be intimidating if you don’t have coding experience. One of the biggest challenges for those who are new to coding is getting a job interview without real world coding experience. It can seem like an impossible task, but it isn’t!&lt;/p&gt;

&lt;p&gt;Are you looking to enter the tech industry but don't have any coding experience? Don't be discouraged; it is still possible for you to land a job in this competitive space. With the right attitude, skillset and preparation, anyone can get a job interview without coding experience.&lt;/p&gt;

&lt;p&gt;Whether you're a newcomer to the job search or a switcher with a dream of honing a brand-new skill set, the job search frequently feels exciting and nerve-racking. Your dream job is within reach but receiving it so handily can come with a learning curve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Anyone looking to enter the exciting world of coding may feel discouraged and may find it tough if they lack experience in the field. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here’s a common case scenario:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You’ve been applying to jobs but aren’t getting any callbacks. You might be wondering what you’re doing wrong. Chances are, it’s not anything you’re doing wrong. The job market is tough and there are a lot of qualified candidates out there. It can be really frustrating. I know how you feel. I was there a five years ago. I was a software engineer, and I couldn’t seem to get a job interview.&lt;/p&gt;

&lt;p&gt;But don’t give up just yet! While the competition is fierce and it seems like everyone has more experience than you, a lack of experience doesn’t mean you can’t land a job. It just means you have to go about the job search strategically. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;But how do you get your foot in the door even without any real-world coding experience?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you're stuck asking yourself this question, this guide is for you.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here, you will discover five simple ways to get a recruiter to call you, including some tips on how to stand out from the competition and impress potential employers. &lt;/p&gt;

&lt;p&gt;These tips have been crafted to help you do just that. Let's score you an interview!&lt;/p&gt;

&lt;h2&gt;
  
  
  Build a Strong Online Presence
&lt;/h2&gt;

&lt;p&gt;Nearly everyone is on the internet these days. Because of this, having a strong online presence is more important than ever. If you're not active online, you're missing out. Even if you do have an online presence, it is important to make sure that it is strong. A strong online presence is key for making your job search breeze and of course, landing a job interview.&lt;/p&gt;

&lt;p&gt;Post your work on different channels and make sure that you are updating each platform often. The best one to be on is Twitter. While it is the easiest platform to get started with, that is also where all the developers hang out. By sharing what you are working on with other professionals on twitter, you can gain valuable feedback, insights, and connections. Furthermore, sharing your work can help to build your credibility and expertise in your field.&lt;/p&gt;

&lt;p&gt;Companies understand the power of social media — when you are influential, recruiters will start reaching out to you.  If you want to get more followers or likes on social media, don't be afraid to learn in public. Try to be active and share what is happening in your life in real time. Let’s go!&lt;/p&gt;

&lt;h2&gt;
  
  
  Polish Your Resume
&lt;/h2&gt;

&lt;p&gt;For many entry-level candidates, landing a job is about much more than simply being the most qualified candidate. Landing a first job also requires a well-thought-out resume. &lt;/p&gt;

&lt;p&gt;Your resume is the first thing a hiring manager will read to get a sense of your experience. “It’s a sales pitch to the hiring manager.” Your resume needs to convey to the prospective employer that you are not only qualified but also ready for the job — this is your opportunity to highlight the value you can bring to your next employer. It also needs to be written in a way that showcases your skills and experience. &lt;/p&gt;

&lt;p&gt;With that in mind, here are some key things you can do to make sure your resume is as effective as it can be. You shouldn’t have a “generic” resume. Instead, tailor your resume to the job you’re applying for. Here’s some quick simple steps to tailor your resume:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create a “master” resume with the qualifications, experiences, and skills you feel need to be highlighted in the type of position you are interested in&lt;/strong&gt; - This process will help you to narrow down your experiences and target specific employers. Once you have created your master resume, you will be able to use it as a template for tailoring your resumes for specific jobs.&lt;/li&gt;
&lt;li&gt;Once you have identified positions that interest you, &lt;strong&gt;Break out your skills into different sections. Technical, Backend, Frontend, Soft Skills.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add a project section with two of your best projects -&lt;/strong&gt; If you don't have any previous projects, consider adding a personal project or two. Make sure to include a brief description of the project, your role, and the technologies used.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailor your cover letter&lt;/strong&gt; - emphasize the skills and experience you highlighted in your resume. Then apply and repeat for future positions. &lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Optimize Your LinkedIn Profile
&lt;/h2&gt;

&lt;p&gt;If you're looking for a way to stand out from the competition and get noticed by potential employers, then it's time to optimize your LinkedIn profile. &lt;/p&gt;

&lt;p&gt;In a job market that is more competitive than ever, your LinkedIn profile is one of your most powerful tools. It’s the first impression people have of you — so it should be as good as it can be. By taking the time to optimize your profile, you can make sure that you are putting your best foot forward and increasing your chances of impressing potential employers&lt;/p&gt;

&lt;p&gt;The most important thing you should do is to make sure your profile is complete and up-to-date. On your profile, make sure to include a strong thesis statement that tops the rest of your summary, and highlight your skills and experiences. This includes your work history, education, skills and experiences.&lt;/p&gt;

&lt;p&gt;Don’t forget to include a professional profile photo that makes you look good!&lt;/p&gt;

&lt;h3&gt;
  
  
  GETTING STARTED: Crafting a Linkedin Profile Resources
&lt;/h3&gt;

&lt;p&gt;There are many resources to help you craft a resume. Here, are some of the best:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://resumeworded.com/linkedin-review/optimize-linkedin-profile" rel="noopener noreferrer"&gt;Optimize Your LinkedIn Profile - Free AI-Powered Profile Optimization (resumeworded.com)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.hubspot.com/marketing/linkedin-profile-perfection-cheat-sheet" rel="noopener noreferrer"&gt;How to Craft the Perfect LinkedIn Profile in 2022: 21 Easy Steps (hubspot.com)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.learnhowtobecome.org/career-resource-center/how-to-create-linkedin-profile/" rel="noopener noreferrer"&gt;How to Create a LinkedIn Profile: Expert Tips &amp;amp; Examples (learnhowtobecome.org)&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Network, Network, Network
&lt;/h2&gt;

&lt;p&gt;The tech industry is one of the most promising and lucrative sectors to enter. However, it can be difficult to break into without the right connections. As the tech industry continues to grow, so does the need for networking. With so many different companies and products, it can be difficult to keep up with the latest trends. That's where networking comes in. In order to be successful in the tech industry, it is essential to network. By building relationships with other professionals, you can gain valuable insights, learn about new technologies and trends, and open doors to new opportunities.&lt;/p&gt;

&lt;p&gt;You are most likely to find your first developer job through networking verses blindly applying to jobs. As a developer, you should be looking to meet people in your industry who can help you make connections and make yourself more marketable. &lt;/p&gt;

&lt;p&gt;Remember how we talked about building an online presence? In a world where we are constantly trying to make connections, it can be difficult to know where to start. One way you can make those connections is by attending events and networking on social media platforms like LinkedIn and Twitter. These platforms provide a way to connect with others online and potentially develop relationships that could lead to job opportunities.&lt;/p&gt;

&lt;p&gt;But it's not just about meeting people - it's also important to know how to network effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  Focus on Your Developer Portfolio
&lt;/h2&gt;

&lt;p&gt;A great way to make sure your resume gets noticed by potential employers is to have a strong developer portfolio. Your portfolio should showcase your best work and highlight your skills and experience. &lt;/p&gt;

&lt;p&gt;Let’s say you have spent countless hours practicing and learning how to code. But are you in the position to show off what all your hard work? After graduation from bootcamps, many students find themselves with little or no experience while on any job search. People with little exposure can use their portfolios to effectively demonstrate their skills, so share them. The more work you publish, the more you’ll be able to show off to potential employers&lt;/p&gt;

&lt;p&gt;As a job seeker, you are looking for ways to stand out from the competition and get more job interviews. One way to do this is to focus on your developer portfolio.&lt;/p&gt;

&lt;p&gt;Companies like to employ developers of your caliber. Your portfolio is your chance to show employers that you are capable of performing well on the job. It is important to make sure that your developer portfolio is up-to-date and includes your most recent work — An up-to-date developer portfolio will not only help you get more job interviews, but it will also help you impress potential employers. &lt;/p&gt;

&lt;p&gt;Here are some tips on what to include or check out the full detail list here:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Come up with one or two noteworthy projects and add them to your portfolio. &lt;/li&gt;
&lt;li&gt;Have a detail page that describes the team structure. Even if it was just you. &lt;/li&gt;
&lt;li&gt;Give yourself the title of Software engineer.
&lt;/li&gt;
&lt;li&gt;Provide details of what you have contributed to each project. Show the hiring manger that you are a great problem solver.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  You’re almost there!
&lt;/h1&gt;

&lt;p&gt;Getting a job interview with little or no coding experience is possible if you target the right opportunities. You should be willing to put in the work to learn and express your enthusiasm for the field. Fortunately, there are many tactics and strategies you can use to make yourself stand out from the crowd. Take advantage of online resources and use them, build a portfolio that showcases any relevant skills, and network with professionals in the tech industry who may be able to provide introductions or referrals. &lt;strong&gt;Remember not to neglect the importance of preparation - it just might be the key to landing your dream job. Wish you luck!&lt;/strong&gt; With commitment and dedication, it is possible to make your dream of working in software engineering a reality. &lt;/p&gt;

&lt;p&gt;Consider applying at smaller companies that may not require as much experience. Network with people in the industry who can recommend you for positions or point you to potential openings. Don't be afraid to apply for jobs that are slightly out of your skill level — you never know what might happen. &lt;strong&gt;It's important to remember that you never know what might happen if you keep going.&lt;/strong&gt; You might be surprised to find that you're more qualified than you thought, or that the position is more flexible than it initially seemed. Either way, it's always worth giving it a shot - after all, what do you have to lose? So next time you see a job posting that seems a little bit out of your league, go for it. You never know what might happen!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Do you want to make sure you are prepared for your next programming interview?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Here’s a list of  useful websites and sources available to aid you in preparing for programming interviews. &lt;/p&gt;

&lt;p&gt;Popular websites like Leetcode and HackerRank are on my list of sites I used. I have found them very useful for understanding and solving programming interview questions. Along with other sites, these platforms also include an explanation of coding problems and techniques on how to solve each problem. Overall I have became a better programmer by practicing and solving many coding problems asked in actual interviews.&lt;/p&gt;

&lt;p&gt;What are you waiting for? Download the list now and save it for later use! 😉&lt;/p&gt;

</description>
      <category>startup</category>
      <category>career</category>
    </item>
    <item>
      <title>Is Tech the Right Career Path?</title>
      <dc:creator>Samantha Bretous</dc:creator>
      <pubDate>Tue, 24 May 2022 13:55:48 +0000</pubDate>
      <link>https://dev.to/samanthabretous/is-tech-the-right-career-path-3ia2</link>
      <guid>https://dev.to/samanthabretous/is-tech-the-right-career-path-3ia2</guid>
      <description>&lt;p&gt;Are you excited about being a part of the tech community? Do you enjoy tinkering with technology and figuring out how it works?&lt;/p&gt;

&lt;p&gt;Do you want to work in a high-paced environment where you can constantly be learning? Or do you want to work in a company that offers stability and a good work-life balance?&lt;/p&gt;

&lt;p&gt;If you enjoy working with computers and technology, a tech career might be right. However, before considering a tech career, it's important to consider your goals, personality, and motivations.&lt;/p&gt;

&lt;p&gt;Once you've considered these factors, it's time to investigate the various types of tech careers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Look into Your Passions
&lt;/h2&gt;

&lt;p&gt;You want to find something you're passionate about, something you can see yourself doing for years to come. Here are a few things to think about when exploring your options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What do you like to do for fun?&lt;/li&gt;
&lt;li&gt;What are your hobbies and interests?&lt;/li&gt;
&lt;li&gt;Do you like working with computers?&lt;/li&gt;
&lt;li&gt;Do you like solving problems?&lt;/li&gt;
&lt;li&gt;What type of work environment do you prefer?&lt;/li&gt;
&lt;li&gt;Do you prefer working with people or alone?&lt;/li&gt;
&lt;li&gt;What is your salary range?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's important to consider all of these factors when deciding your future. There are a lot of different careers in the tech industry, so there's something for everyone. Don't be afraid to explore your options and ask questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Personality Type Are You?
&lt;/h2&gt;

&lt;p&gt;In the tech industry, it is important to know your personality type. Do you have a knack for being creative and analytical? Are you meticulous when it comes to details? Are you good at communicating with others? Do you like being organized? If so, then you may have a "tech personality" or "tech trait."&lt;/p&gt;

&lt;p&gt;There are five main personality types in the tech industry:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creative&lt;/li&gt;
&lt;li&gt;Meticulous&lt;/li&gt;
&lt;li&gt;Analytical&lt;/li&gt;
&lt;li&gt;Communicative&lt;/li&gt;
&lt;li&gt;Organized&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are many types of "tech personalities." More so, each personality type has its own strengths and weaknesses, which can be helpful when choosing a career in tech.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;creative&lt;/strong&gt; personality type is good at coming up with new ideas and solving problems. They often have a strong imagination and like to take risks. However, they can also be disorganized and lack attention to detail.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;meticulous&lt;/strong&gt; personality type is detail-oriented and often has a lot of knowledge about specific subjects. They are good at planning and executing tasks, but can be inflexible and uncooperative.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;analytical&lt;/strong&gt; personality type is logical and precise. They are able to see solutions to problems that others cannot but can be unemotional and difficult to work with.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Communicative&lt;/strong&gt; people are typically more outgoing, and they enjoy working with others to come up with solutions. They're also very good at communicating with clients and customers.&lt;/p&gt;

&lt;p&gt;On the other hand, &lt;strong&gt;organized&lt;/strong&gt; people are more detail-oriented, and they like to be in control of everything that's going on around them. They're also better at following processes and procedures.&lt;/p&gt;

&lt;p&gt;Most people in the tech industry have a little bit of all personality types, but usually, one type is dominant. Knowing which type you are can help you better understand your strengths and weaknesses, as well as how to best work with others. For example, if you're a communicative person, you might want to team up with an organized person to make sure all the details of a project are taken care of.&lt;/p&gt;

&lt;h2&gt;
  
  
  Utilize Your Expertise
&lt;/h2&gt;

&lt;p&gt;It can be tough finding a tech career, but with the right skills, you can make it happen. Start by looking at what you're good at and see if there's a way to apply that to the tech world. Maybe you're great at problem-solving or have a knack for learning new things quickly. If that's the case, there are plenty of tech careers that would suit your strengths.&lt;/p&gt;

&lt;p&gt;Start by doing some research on different types of tech jobs and see what sounds interesting. There are lots of options out there, so don't be afraid to explore different areas. Once you've found a few careers that interest you, start studying up on the requirements. It's important to have a realistic idea of what's involved in getting started in a new field.&lt;/p&gt;

&lt;p&gt;If you already have some experience in the tech world, consider ways to build on that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do you have to be a Math Wiz in Tech?
&lt;/h2&gt;

&lt;p&gt;No, you don't need to be a math geek to work in the tech industry. Many people in the tech industry don't have a strong math background. There are many other important skills for working in techs, such as problem-solving, critical thinking, and creativity.&lt;/p&gt;

&lt;p&gt;That being said, having a strong math background can help work in certain areas of tech. For example, if you want to work in data science or machine learning, you'll need to understand mathematical concepts. But if you're interested in other tech areas, like web development or product management, your math skills may not need to be as strong.&lt;/p&gt;

&lt;p&gt;So don't worry if you're not a math geek - there are plenty of other important skills for working in tech.&lt;/p&gt;

&lt;h2&gt;
  
  
  Find the Best Workplace
&lt;/h2&gt;

&lt;p&gt;Finding the best workplace for beginners can be difficult. There are so many factors to consider: the type of work, the company culture, the commute, and more. But with a little research, you can find the perfect place to start your career.&lt;/p&gt;

&lt;p&gt;One great option for tech beginners is working for a company that specializes in technology. These companies often have a strong focus on innovation and cutting-edge technology, which can be a great environment to learn and grow in your career. They may also offer training and development programs to help you build your skillset.&lt;/p&gt;

&lt;p&gt;Another important consideration is company culture. Do you want to work in a fast-paced or more relaxed environment? Do you prefer a collaborative or individualistic work style? Consider these things when looking for a new job.&lt;/p&gt;

&lt;p&gt;Finally, think about your commute. How long will it take you to get to work?&lt;/p&gt;

&lt;h2&gt;
  
  
  How To Find The Right Tech Career
&lt;/h2&gt;

&lt;p&gt;Finding the right tech career can be daunting. How can you ensure you make the right decision with so many specialties and industries to choose from? Here are a few tips to help you find the tech career that's right for you:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Research different careers. Get a feel for what different tech careers involve. It will help you understand which ones might be a good fit for you.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Consider your skills and interests. These are all important factors to consider when choosing a tech career.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Talk to industry professionals. Ask them about their jobs, and what they like/don't like about them. This can give you valuable insights into different careers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Shadow someone in the field. Find a mentor you can lean on and grow with.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Consider taking my quiz to help you decide on a career in technology.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Tech Career Quiz For Your Personality
&lt;/h2&gt;

&lt;p&gt;This quiz asks a range of questions about your interests and skills, as well as finding the best workplace for you. There are so many factors to consider: the type of work, the company culture, the commute, etc. But with a little research, you can find the perfect place to start your career.&lt;/p&gt;

&lt;p&gt;It is important to find a career that is the right fit for your personality. Taking a quiz like this can help you figure out what careers might be a good match for you. If you are interested in technology, there are many great options available to you. The tech industry is constantly evolving, so there are always new opportunities to explore.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://samanthabretous.com/quiz/quiz-which-career-in-tech-is-right-for-you"&gt;Try taking the quiz now!&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Heap Maps 101</title>
      <dc:creator>Samantha Bretous</dc:creator>
      <pubDate>Thu, 19 May 2022 00:44:56 +0000</pubDate>
      <link>https://dev.to/samanthabretous/heap-maps-101-93i</link>
      <guid>https://dev.to/samanthabretous/heap-maps-101-93i</guid>
      <description>&lt;p&gt;Good news. I created another tutorial on heap maps that will live on the web. And this one includes a bunch of colorful diagrams. So a heap map, also known as a heap, is a set of values stored in a specific order that allows efficient access or modification. Heap maps are usually represented in a tree structure and only two sorting directions the tree's values can be stored. There are  &lt;strong&gt;min heaps&lt;/strong&gt; where the smallest number is represented at the top or a &lt;strong&gt;max heap&lt;/strong&gt; where the largest number is represented at the top.&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-max-heap-diagram.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-max-heap-diagram.png" title="Binary Min Max Heap Map Comparison" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why use a heap map
&lt;/h3&gt;

&lt;p&gt;To decide if a heap map is the right thing to use we have to first look at the problem we are trying to solve. If you want to find the smallest or largest value quickly then a heap map is the answer. This is because we are always sorting the heap when elements are entering or leaving. One of the biggest benefits of this implementation is not having to look at every element when sorting. In tree structures, after looking at the first row of children and determining which branch to follow, we are eliminating having to look at least half of the tree. In small heap maps the benefits may not be apparent, but with larger heap maps the benefits are plenty. &lt;/p&gt;

&lt;p&gt;The most common implementation of heaps are the &lt;em&gt;binary&lt;/em&gt; kind. This is where a parent element can only have up to &lt;em&gt;two&lt;/em&gt; children. And we can track the parent's children using a solution like this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Node&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;val&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;left&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;right&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;val&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;left&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;right&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The reason why binary heap maps are so common is because instead of worrying about linking and keeping track of elements, we can take advantage of using an array to store and sort values. We will always be able to find a parent's left child by using this fail proof -- super complicated -- formula of &lt;code&gt;index * 2&lt;/code&gt; and the right child by adding one to the left child. As an alternative we can find a child's parent by doing another fool proof -- even more complicated -- formula of &lt;code&gt;index / 2&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples of Heap Maps&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A* Algoritrim&lt;/li&gt;
&lt;li&gt;Priority Queues&lt;/li&gt;
&lt;li&gt;Patients in an emergency rooms&lt;/li&gt;
&lt;li&gt;Whole Food checkout customers ¯\ __ (ツ) __ /¯&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Are Priority Queues and Heap Maps the same
&lt;/h3&gt;

&lt;p&gt;Short answer. Yes. Priority queues are an idea verses an implementation. Long answer. Ummmmmm, sure! Priority queues can have any underlying data structure like an array, link list, hash map, binary tree, or a &lt;strong&gt;heap map&lt;/strong&gt;. As long as you can get the highest priority element, it is an priority queue. An the best way to chose which data structure to use depends on which operation (peek, add, remove) needs to be the most efficient.  &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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Flmu-data-structure-references.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Flmu-data-structure-references.png" title="Data Structure Runtime Representations" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source &lt;a href="https://cs.lmu.edu/~ray/notes/pqueues/" rel="noopener noreferrer"&gt;CS LMU edu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As a small side note: Usually when choosing a heap structure we would like to only remove the &lt;code&gt;peek&lt;/code&gt; element. This doesn't mean we are not limited to that. We can remove any element by creating another function. If removing a random element is a very important feature, it would be best to choose a different data structure like a binary search tree(BST). This is because heaps are better at finding the min or max. Whereas binary search trees are good at find all elements, since its ordered from left to right. Just something to keep in mind.&lt;/p&gt;




&lt;h3&gt;
  
  
  Peek - Min Heap
&lt;/h3&gt;

&lt;p&gt;Element with the smallest value. This is constant time look up. &lt;strong&gt;Θ(1)&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Add - Binary Min Heap
&lt;/h3&gt;

&lt;p&gt;When an element is added to the heap map we push it to the last index of the array. Then we would need to "bubble it up". This new element will alway be a child element until it is in its final position. So we need to compare the child element and swap array indexes with it's parent as needed. &lt;/p&gt;

&lt;p&gt;This can be done on logarithmic time. &lt;strong&gt;Θ(log n)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let's begin &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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-heap-add-1-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-heap-add-1-wide.png" title="Binary Min Heap Add" alt=""&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;We first start by adding the new element to the end of the array. &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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-heap-add-2-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-heap-add-2-wide.png" title="Binary Min Heap Add Step 1" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;We then need to compare this new element to its parent to see if it smaller or larger. In this case 2 is smaller then 7. We can swap the two elements.&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-heap-add-3-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-heap-add-3-wide.png" title="Binary Min Heap Add Step 2" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;parent&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="c1"&gt;// false&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;parentN&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The first loop is over so we start the comparisons again&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;We then need to compare the new element to its parent to see if it smaller or larger. In this case 4 is NOT smaller then 3. Therefore it can stay at its current index.&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-heap-add-4-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-heap-add-4-wide.png" title="Binary Min Heap Add Step 3" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;parent&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="c1"&gt;// true&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;parentN&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;YAY the heap is in order!!!!&lt;/strong&gt;&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-heap-add-5-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fmin-heap-add-5-wide.png" title="Binary Min Heap Add Step 4" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  POP
&lt;/h3&gt;

&lt;p&gt;When an element is removed it creates a hole in the array. We need to fill that hole with the last element in the array. &lt;/p&gt;

&lt;p&gt;We would then need to shuffle the element down into the correct balanced position. By doing so we are comparing the new element with it's children and swapping array indexes when needed.&lt;/p&gt;

&lt;p&gt;This can be done on logarithmic time. &lt;strong&gt;Θ(log n)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let's begin.&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-1-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-1-wide.png" title="Binary Min Heap Pop" alt=""&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;We need to remove the first index by replacing it with the last index in the array. &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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-2-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-2-wide.png" title="Binary Min Heap Pop Step 1" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;peek&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-3-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-3-wide.png" title="Binary Min Heap Pop Step 2" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Next, check the left child against the parent to see if it is smaller. In this case 5 is smaller then 22. Now lets save the index number of the left child which is 2.&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-4-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-4-wide.png" title="Binary Min Heap Pop Step 3" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;leftScore&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;compare&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;leftChild&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;leftScore&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// true&lt;/span&gt;
  &lt;span class="nx"&gt;swapN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;leftN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;We will do the same comparison to the right child. In this case 7 is smaller then 22. &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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-5-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-5-wide.png" title="Binary Min Heap Pop Step 4a" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;rightScore&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;compare&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;rightChild&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But before we can save the right child's index we need to compare it to the left child. 5 is smaller then 7 so we actually don't need to save the the right child's index.&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-5b-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-5b-wide.png" title="Binary Min Heap Pop Step 4b" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;rightScore&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;leftScore&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// false&lt;/span&gt;
  &lt;span class="nx"&gt;swapN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;rightN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Now we swap the indexes between the parent and the left child&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-6-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-6-wide.png" title="Binary Min Heap Pop Step 5" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// swapN = leftN&lt;/span&gt;
&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;swapN&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;swapN&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;swapN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The first loop is over so we start the comparisons again&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;We need to check the left child against the parent to see if it is smaller. In this case 34 is NOT smaller then 22. So we do NOT save the index number of the left child.&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-7-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-7-wide.png" title="Min Heap Pop Step 7" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;leftScore&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;compare&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;leftChild&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;leftScore&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// false&lt;/span&gt;
  &lt;span class="nx"&gt;swapN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;leftN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Next, we comparison the right child to it's parent. In this case 15 is smaller then 22. Since we haven't saved a "swap" index and we know the child is smaller then it's parent, we can save the index number of the right child which is 5.&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-8-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-8-wide.png" title="Min Heap Pop Step 8" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;rightScore&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;compare&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;rightChild&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;swapN&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;rightScore&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// true&lt;/span&gt;
  &lt;span class="nx"&gt;swapN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;rightN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we swap the indexes between the parent and child&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-9-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-9-wide.png" title="Min Heap Pop Step 9" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// swapN = rightN&lt;/span&gt;
&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;swapN&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;swapN&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;swapN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;YAY the heap is in order!!!!&lt;/strong&gt;&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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-10-wide.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%2Fwww.samanthabretous.com%2Fimg%2Fheap-maps-101%2Fpop-min-heap-10-wide.png" title="Min Heap Pop Step 10" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When learning how to implement an heap map in JavaScript I followed &lt;a href="http://eloquentjavascript.net/1st_edition/appendix2.html" rel="noopener noreferrer"&gt;Eloquent JavaScript&lt;/a&gt; heap map implementation. It has a score function, which I didn't found very useful. So I created a &lt;code&gt;compare&lt;/code&gt; function that determines if the parent is larger by returning a positive number. &lt;/p&gt;

&lt;p&gt;You might have also noticed I left the array index 0 as null. You by no means need to do the same. When learning how to implement an heap maps most tutorials I followed were not in JavaScript and left the the first index 0 as well. And I wanted to have a good comparison when looking at other tutorials.&lt;/p&gt;

&lt;p&gt;Now the part we have all been waiting for. The full code!!!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;BinaryHeap&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;compare&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;compare&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;compare&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;compareFunction&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="cm"&gt;/**
   * Get the length of the heap
   *
   * return number
   */&lt;/span&gt;
  &lt;span class="nf"&gt;size&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="cm"&gt;/**
   * Determine if the parent is larger then its child.
   * Returning a positive number means parent is larger
   * @param {number} parent
   * @param {number} child
   *
   * return number
   */&lt;/span&gt;
  &lt;span class="nf"&gt;compareFunction&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;child&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;parent&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;child&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="cm"&gt;/**
   * Get the peek element fill the in the hole with the last element in array
   * Then sort the replaced element.
   *
   * return number
   */&lt;/span&gt;
  &lt;span class="nf"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;peek&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="c1"&gt;// 1&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// 9&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;size&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sinkDown&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;peek&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="cm"&gt;/**
   * Add new elements to the end of the array then sort
   *
   * @param {number} element
   *
   * return null
   */&lt;/span&gt;
  &lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;bubbleUp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;size&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="cm"&gt;/**
   * Sorting the current element by comparing it parent to see
   * if it is smaller
   *
   * @param {number} n the index number of the current element
   */&lt;/span&gt;
  &lt;span class="nf"&gt;bubbleUp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="c1"&gt;// When at 1, we are at the peek.&lt;/span&gt;
    &lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="c1"&gt;// Compute the parent element's index, and fetch it.&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;parentN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;parent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;parentN&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
      &lt;span class="c1"&gt;// if we get a positive number, then the parent is larger&lt;/span&gt;
      &lt;span class="c1"&gt;// and we can leave it in its current index&lt;/span&gt;
      &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;compare&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="c1"&gt;// Otherwise swap the parent and child&lt;/span&gt;
      &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;parentN&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;parentN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nf"&gt;sinkDown&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;size&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;parent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

    &lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// we break out the loop when we can no longer swap elements&lt;/span&gt;
      &lt;span class="c1"&gt;// Get child elements indexes.&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;leftN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;rightN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;leftN&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="c1"&gt;// This is used to store the new position of the element&lt;/span&gt;
      &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;swapN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="c1"&gt;// If the first child exists (is inside the array)...&lt;/span&gt;
      &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;leftN&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;leftChild&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;leftN&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="c1"&gt;// positive result means the parent is larger&lt;/span&gt;
        &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;leftScore&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;compare&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;leftChild&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;leftScore&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;swapN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;leftN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="c1"&gt;// Do the same checks for the other child.&lt;/span&gt;
      &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;rightN&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;rightChild&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;rightN&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;rightScore&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;compare&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;rightChild&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="c1"&gt;// check if swap is null and parent is bigger&lt;/span&gt;
        &lt;span class="c1"&gt;// Otherwise if the rightScore is bigger it means its the smaller child&lt;/span&gt;
        &lt;span class="c1"&gt;// we need to set the swap index to the smaller child index&lt;/span&gt;
        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;swapN&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;rightScore&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;rightScore&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;leftScore&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nx"&gt;swapN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;rightN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;

      &lt;span class="c1"&gt;// No need to swap further, we are done.&lt;/span&gt;
      &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;swapN&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="c1"&gt;// Otherwise, swap and continue the loop.&lt;/span&gt;
      &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;swapN&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
      &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;swapN&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;swapN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Try it our ourself.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;heap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;BinaryHeap&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;34&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ele&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ele&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="c1"&gt;// When looping the console will show the ending heap map over and over. &lt;/span&gt;
&lt;span class="c1"&gt;//You can use this to see whats in going on step by step in the console.&lt;/span&gt;
&lt;span class="c1"&gt;// It is HACKY don't quote me. :)&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;heap&lt;/span&gt;&lt;span class="p"&gt;)));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Which Programming Language Should You Learn First?</title>
      <dc:creator>Samantha Bretous</dc:creator>
      <pubDate>Sun, 08 May 2022 21:50:48 +0000</pubDate>
      <link>https://dev.to/samanthabretous/which-programming-language-should-you-learn-first-57ej</link>
      <guid>https://dev.to/samanthabretous/which-programming-language-should-you-learn-first-57ej</guid>
      <description>&lt;p&gt;Are you someone who appreciates the convenience of technology, such as browsers, software, and social networking sites, but is always curious about how they came to be? If so, you might be interested in learning the programming languages that are at the root of their existence!&lt;/p&gt;

&lt;p&gt;There are numerous programming languages, and new ones are constantly being developed. JavaScript, Python, and C++ are some of the most popular programming languages. Each language has its own rules and syntax that must be followed to create a program.&lt;/p&gt;

&lt;p&gt;It is now time for you to consider which one would be best to learn first.&lt;/p&gt;

&lt;h2&gt;
  
  
  The most popular programming languages in 2022 are:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Java&lt;/li&gt;
&lt;li&gt;C#&lt;/li&gt;
&lt;li&gt;C++&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are trying to break into tech, it is better to learn one language and stick with it instead of learning multiple languages at once. Also, as you read this article, you will understand the differences between various programming languages, which can help you decide which one will make you feel comfortable and enjoy learning.&lt;/p&gt;

&lt;h3&gt;
  
  
  JavaScript
&lt;/h3&gt;

&lt;p&gt;If you are looking for a language with many job opportunities, choose JavaScript! It is a programming language that enables developers to create games, applications, and interactive websites. Since this browser-based language is supported everywhere, all major companies use it including Facebook, Twitter, Instagram, Spotify, Google, and Airbnb. JavaScript can be used for front-end development or back-end development.&lt;/p&gt;

&lt;h3&gt;
  
  
  Python
&lt;/h3&gt;

&lt;p&gt;A widely-used programming language known for its easy-to-learn syntax and readability. It is also popular for handling large data sets and sophisticated algorithms. Python has been extensively used in artificial intelligence (AI) because of its versatility and ease of use. Some well-known applications of Python in AI include facial recognition, natural language processing, and machine learning. It adapts to rapid growth and is used by many industries.&lt;/p&gt;

&lt;h3&gt;
  
  
  Java
&lt;/h3&gt;

&lt;p&gt;It is a programming language that enables developers to create software applications and systems. Java can be used to create programs that work on various platforms, including desktop and mobile devices. It is also used to develop gaming consoles, smart TVs, and other devices.&lt;/p&gt;

&lt;p&gt;Java has many features that make it useful for devices, such as its ability to run on multiple platforms, its compatibility with other programming languages, and many available libraries.&lt;/p&gt;

&lt;h3&gt;
  
  
  C
&lt;/h3&gt;

&lt;p&gt;A Microsoft language that enables developers to create software with a well-defined object-oriented structure. Its syntax closely resembles Java, but it has some additional features useful in building web applications. C# is also a type-safe language, which means that the compiler can catch many errors at compile time rather than letting them show up at runtime.&lt;/p&gt;

&lt;h3&gt;
  
  
  C++
&lt;/h3&gt;

&lt;p&gt;It allows programmers to create complex software systems. It enables developers to create robust and efficient software applications. C++ is used in game development, such as World of Warcraft, Counter-Strike, and other games. C++ code is also used to create applications that require speed and efficiency. This programming language was also used by game engines such as Nintendo Switch, Xbox, and Playstation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The benefits of learning a specific programming language:
&lt;/h2&gt;

&lt;p&gt;There are many benefits to learning a specific programming language. Perhaps the most obvious benefit is that you can write code! This can be incredibly useful for solving problems, automating tasks, or creating applications. The world is at your fingertips.&lt;/p&gt;

&lt;p&gt;By understanding the inner workings of a programming language, you will be able to understand how the software works and what goes into creating it. Finding and implementing a solution often teaches you new ways to think about problems. You'll be able to see how, with the addition of a few lines of code, something as simple as a text box can be transformed into something complex. You can more easily debug programs and fix errors. In return, you may also use this knowledge one day to solve a problem that you could not find an answer to. &lt;/p&gt;

&lt;p&gt;Another benefit is that you will be able to find a job in the field easier because there are not as many people who know how to code as there are jobs available for them. There are many different types of jobs that you may be able to find for a coding degree. These range from application developers, systems engineers, web developers and so much more.&lt;/p&gt;

&lt;h2&gt;
  
  
  So, what’s the best programming language to learn?
&lt;/h2&gt;

&lt;p&gt;To sum it all up, for 2022, the top programming languages are Python, Java, JavaScript, C#, and C++. While these are not the only programming languages available, they are among the most widely used and versatile. If you want to learn to code, one of these five languages is a good place to start. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Choose &lt;strong&gt;JavaScript&lt;/strong&gt; if you enjoy interacting with websites such as Facebook, Instagram, and Twitter.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;Python&lt;/strong&gt; if you enjoy the benefit of AI software like facial recognition.
3.Choose &lt;strong&gt;Java&lt;/strong&gt; if you enjoy mobile device applications.
4.Choose &lt;strong&gt;C#&lt;/strong&gt; if you are having fun with enterprise software.
5.Choose &lt;strong&gt;C++&lt;/strong&gt; if you love games like Counter-Strike and PlayStation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As a bonus, you can download my schedule by simply clicking &lt;a href="https://samanthabretous.com/landing-page/best-times-to-learn-how-to-code"&gt;here&lt;/a&gt; to get an idea of the best times for you to learn these amazing programming languages. Let us be both creative and powerful technophiles!&lt;/p&gt;

</description>
      <category>programming</category>
      <category>career</category>
      <category>codenewbie</category>
      <category>languages</category>
    </item>
  </channel>
</rss>
