<?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: Edmond Hui</title>
    <description>The latest articles on DEV Community by Edmond Hui (@edmondthui).</description>
    <link>https://dev.to/edmondthui</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%2F895396%2Ff4194a19-6e7f-4f06-99ef-71ce0169564a.jpeg</url>
      <title>DEV Community: Edmond Hui</title>
      <link>https://dev.to/edmondthui</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/edmondthui"/>
    <language>en</language>
    <item>
      <title>How I got my first developer job out of bootcamp</title>
      <dc:creator>Edmond Hui</dc:creator>
      <pubDate>Tue, 23 Aug 2022 00:36:22 +0000</pubDate>
      <link>https://dev.to/edmondthui/how-i-got-my-first-developer-job-out-of-bootcamp-27jc</link>
      <guid>https://dev.to/edmondthui/how-i-got-my-first-developer-job-out-of-bootcamp-27jc</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6L9sNodQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jqhrdlte3sjfq6374ua4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6L9sNodQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jqhrdlte3sjfq6374ua4.png" alt="splash" width="880" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting my first job in the tech industry was one of the hardest things I've done.&lt;/strong&gt; One tip I have for anyone trying to make the switch is that it's a numbers game. According to my career coach, it takes on average 600 job applications for bootcamp graduates with no prior experience in tech to land their first developer position.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It takes a mindset switch from growth and learning to sales and marketing.&lt;/strong&gt; Once you feel like you are ready to start applying I recommend applying to as many jobs as you can and trying to get to that 600 number as quickly as possible.&lt;/p&gt;

&lt;p&gt;When I was applying to jobs, I completely stopped learning new things and focused on honing my interview skills through leetcode and applying to as many jobs as possible. I did something called creative outreach which is basically the same as networking. I connected to as many people on LinkedIn as I could and tried to get meetings and referrals.&lt;/p&gt;

&lt;p&gt;Make sure you keep your Linkedin headline and links up to date with projects so when recruiters see your profile it is immediately obvious you are a software engineer. Since you don't have prior experience it will be very easy to screen out your profile. Your profile headline should say "Software Engineer" even if you don't have any experience yet. Link any projects you have done and include a link to your portfolio site and Github profile on your projects. Check this out to &lt;a href="https://www.blog.edmondhui.com/how-to-create-portfolio-website"&gt;learn how to build a quick portfolio site&lt;/a&gt; for the job application process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XPX7fGxB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1661214616004/SeOojqcPV.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XPX7fGxB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1661214616004/SeOojqcPV.png" alt="image.png" width="480" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The most important advice I can give is to stay focused and schedule your time.&lt;/strong&gt; You have to work efficiently. You want to get your first developer job as quickly as you can. If you slow down and take a vacation, it is very easy to fall off the wagon. If you stop practicing and coding it is very easy to fall into old routines and forget things.&lt;/p&gt;

&lt;h2&gt;
  
  
  Staying Organized
&lt;/h2&gt;

&lt;p&gt;When I was in the job hunting phase, &lt;strong&gt;I used a technique called time boxing&lt;/strong&gt;. This is a time management technique that made sure I used every day effectively during the job search. According to Parkinson's Law, "Work expands so as to fill the time available for its completion".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6gm_0aWG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1661214687227/EaF1Zg88B.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6gm_0aWG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1661214687227/EaF1Zg88B.gif" alt="mike-tyson-uppercut.gif" width="498" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The concept was first introduced by James Martin, the author of the book Rapid Application Development, as a part of agile software development. To do it, allot blocks of time for a specific activity and do as much as you can during that time. Once that time is over you can stop working on it.&lt;/p&gt;

&lt;p&gt;You will surprise yourself with how much work you can do in such a short amount of time. For example, if you allot 1 hour for leet code questions, you may be able to finish 2 or 3 questions. This is much better than planning on doing 1 leetcode question then switching gears and doing something else.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creative Outreach
&lt;/h2&gt;

&lt;p&gt;My strategy for creative outreach was to connect with people on LinkedIn and attempt to get a meeting to learn about their company and grow my network. &lt;strong&gt;I actually got my first job through a LinkedIn connection!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This also helps you in the future as well because if you expand your network you'll see posts from other developers when their companies are hiring.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ap6Dtgme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1661214697632/cIac7Z246.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ap6Dtgme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1661214697632/cIac7Z246.gif" alt="link-counsciousness.gif" width="498" height="275"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I used a tool called &lt;a href="https://phantombuster.com/"&gt;PhantomBuster&lt;/a&gt;. It is an automated lead generation tool. What I did was scrape my 2nd and 3rd degree network for any recruiters or software engineers. Then I used PhantomBuster to connect with them with a message template asking for a meeting to learn about their companies. I did not ask them for a job immediately.&lt;/p&gt;

&lt;p&gt;Another tool I used was called &lt;a href="https://www.mixmax.com/"&gt;MixMax&lt;/a&gt;. They are an email tracking extension that connects with your Gmail. I liked making templates to help me quickly send emails. It also tracks when people open your emails so you can know they are seeing your emails.&lt;/p&gt;

&lt;p&gt;This is where my previous experience doing commercial real estate sales came in handy. Just like in sales and brokerage, getting a job is a numbers game. Keep working hard and eventually, your funnel will land you multiple offers!&lt;/p&gt;

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

&lt;p&gt;Thank you for reading my article. This was my submission to the 4 articles in 4 weeks challenge. Please leave me a comment if you're interested in learning more about automated lead generation or creative outreach. &lt;strong&gt;I gave a Q&amp;amp;A about how I landed a job in under 1 month at App Academy&lt;/strong&gt; before I graduated. It goes over a lot of the same topics as this article. You can watch that &lt;a href="https://us02web.zoom.us/rec/play/KsW9DgChwDGBfr5VcWZnPf9M9t5HxxSN1BJeWs5_w4x7rp-suPpF5AYicSgi5aIP2wlj7a_T2C2gDx8Z.Za8hDewocuW7ZPBy?continueMode=true&amp;amp;_x_zm_rtaid=stgaThzhQLqucr4MAcIltA.1660861368652.778f5ff276a667350419ea1c01d287de&amp;amp;_x_zm_rhtaid=70&amp;amp;fbclid=IwAR24mKtAZNpuRN36DAmKyV2DjW0J6cIG2byL5ZLUm7LgDhnx3vRT66txm_o"&gt;here&lt;/a&gt;. The passcode is 2s=Pea3=. The recording starts 6 minutes in, but I think it will help you if you're trying to break into tech.&lt;/p&gt;

&lt;p&gt;If you don't know my story, &lt;a href="https://www.blog.edmondhui.com/software-engineer-in-3-months"&gt;I am a bootcamp graduate who quit my job to become a software engineer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--teKCfASz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1661214230293/MSTbYxtvW.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--teKCfASz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1661214230293/MSTbYxtvW.gif" alt="Copy of Thank you for Reading (2).gif" width="880" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>codenewbie</category>
      <category>motivation</category>
    </item>
    <item>
      <title>How to use Git and GitHub for beginners</title>
      <dc:creator>Edmond Hui</dc:creator>
      <pubDate>Thu, 18 Aug 2022 15:05:09 +0000</pubDate>
      <link>https://dev.to/edmondthui/how-to-use-git-and-github-for-beginners-2f70</link>
      <guid>https://dev.to/edmondthui/how-to-use-git-and-github-for-beginners-2f70</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zp37aJmd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mtbpy7dh98d1rgnwf7px.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zp37aJmd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mtbpy7dh98d1rgnwf7px.png" alt="Banner" width="880" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Git is one of the most useful tools that any developer has up their sleeves.&lt;/strong&gt; No matter what kind of development you are doing, understanding how to use Git will be a valuable asset that can save your butt.&lt;/p&gt;

&lt;p&gt;There is often a lot of anxiety with Git, but if you understand Git and everything you can do with it, there is no reason to fear.&lt;/p&gt;

&lt;p&gt;I will do my best to explain Git, how to use it, and provide a list of all the most common commands that you may need to use. Bookmark this page for easy access to the most useful Git commands.&lt;/p&gt;

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

&lt;p&gt;Git is a version control system. It tracks any changes made to files in a directory and keeps a record of previous versions of these files. This allows you to easily revert code changes with bugs. It also enables collaboration. Multiple people can work on the same code and use Git to merge their code into one branch once they are finished.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KBU9VD4F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1660795026439/G1rZ7Of2J.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KBU9VD4F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1660795026439/G1rZ7Of2J.png" alt="git-branches-merge.png" width="880" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It is extremely important to learn how to use Git if you want to land a job in the tech industry.&lt;/strong&gt; In any professional setting, you will probably be using some form of Git to collaborate with other members of your team. In my personal experience, both the companies I worked at used GitHub.&lt;/p&gt;

&lt;p&gt;Usually, Git stores your files locally, but with GitHub, you can have an online location where your files and version history are stored. When working with multiple people this is a godsend, although merge conflicts make me sad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conventional Commits and other Git best practices
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;When using Git it is important to realize that you aren't doing it for yourself.&lt;/strong&gt; Git best practices are important because you will be working with other people and they need to be able to understand and follow what you are doing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Make sure you are committing often.&lt;/strong&gt; Having a history of your code is helpful for testing and bailing you out if something happens to any unsaved files. It's like saving at a checkpoint in a video game, you can always just go back to a save point if you reach a dead end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create multiple branches and don't always directly push onto master or main.&lt;/strong&gt; This is important once you start collaborating with others. It prevents you from pushing up buggy code which gives a clear distinction between what is a work in progress and what is tested and merged into the main branch.&lt;/p&gt;

&lt;p&gt;I like following &lt;a href="https://www.conventionalcommits.org/en/v1.0.0/"&gt;Conventional Commits&lt;/a&gt; which is a convention to name which helps you create an explicit commit history. This makes it easier to read and allows you to use automated tools such as automating CHANGELOGs. You should check out the website and read about how it works. If you think it fits your coding style feel free to adopt it into your toolbox!&lt;/p&gt;

&lt;h2&gt;
  
  
  Working with others
&lt;/h2&gt;

&lt;p&gt;I mentioned previously that you will need to work with others when using Git. This is where Git really shines because of how easily it lets you asynchronously work on the same code someone else is.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hw2YKtW9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1660795016427/z6AfhQ2In.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hw2YKtW9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1660795016427/z6AfhQ2In.png" alt="a0f60344-2db5-4f1c-bde7-2abd7fe8b96c.png" width="600" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pull requests are the preferred way of reviewing and merging code.&lt;/strong&gt; Usually once you are finished with a feature on your local branch you will push up the code to the remote repository (Github). Then you will open up a pull request/merge request. This notifies others that your code needs to be reviewed. Usually, collaborators will leave comments that you will need to fix. Once approved you can merge your code onto the main branch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resolving merge conflicts is not as big of a deal as it may seem.&lt;/strong&gt; It will happen all the time because multiple people will be touching the same files. This only happens with Git cannot automatically merge 2 branches. Usually, what you have to do is check with the other developer that made the change and collaborate to make a solution that works for both of you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Branching strategies are the last part of working with others.&lt;/strong&gt; There will usually be an already established strategy when you are joining a company. The most common strategies are single branch, feature branching, and &lt;a href="https://nvie.com/posts/a-successful-git-branching-model/"&gt;git flow&lt;/a&gt;. Single branch strategies are usually for when you are not working with others and pushing all changes to a single branch. Feature branching strategies create new branches for each new feature or bug, then merge them into the main branch. Git flow has 2 ongoing branches, usually main and develop. Features are developed on the develop branch and then merged into the main branch as a release.&lt;/p&gt;

&lt;h2&gt;
  
  
  My most useful Git commands
&lt;/h2&gt;

&lt;h3&gt;
  
  
  git init
&lt;/h3&gt;

&lt;p&gt;This command creates a new git repository and it is usually one of the first things you do when starting a new project.&lt;/p&gt;

&lt;h3&gt;
  
  
  git remote add &lt;code&gt;remote-name&lt;/code&gt; &lt;code&gt;repository-name or url&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;This is usually the second command you would run when creating a new project. Adds a remote tracking branch and &lt;code&gt;remote-name&lt;/code&gt; is usually origin. You usually put the repository url after the remote-name.&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git remote add origin https://github.com/user/repo.git&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  git status
&lt;/h3&gt;

&lt;p&gt;Checks your current changes in your directory and shows you what has been staged, what hasn't, and any new files.&lt;/p&gt;

&lt;h3&gt;
  
  
  git add &lt;code&gt;directory&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Adds the files in the specified directory to be staged for the next commit. You can specify files to add through the directory. You can do this command as many times as you like and add as many files as you like to be staged before you commit.&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git add .&lt;/code&gt; or &lt;code&gt;git add ./folder&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  git commit -m "&lt;code&gt;commit-message&lt;/code&gt;"
&lt;/h3&gt;

&lt;p&gt;This command commits to staging with a message. Commits are saved changes and explain to others what you have done in the project. Good commit messages are an important way to provide useful information in case you did something wrong and need to look back to previous changes to revert code.&lt;/p&gt;

&lt;p&gt;Below this list, you will find a short guide to conventional commits.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;Bad commit &lt;code&gt;git commit -m "do the thing"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Good commit &lt;code&gt;git commit -m "BREAKING CHANGE: 'extends' key in config file is now used for extending other config files"&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  git commit -am "&lt;code&gt;commit-message&lt;/code&gt;"
&lt;/h3&gt;

&lt;p&gt;Combines the top 2 commands and allows you to add and commit to staging at once. This only works on files that Git is already tracking. If you added new files to your repository you will still have to do &lt;code&gt;git add directory&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git commit -am "feat: Zhu Li, do the thing!"&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  git branch &lt;code&gt;branch-name&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Creates a new branch with your branch name. This doesn't switch you to your new branch, it just creates it. Branching is great because it allows you to create a branch from the main source code to work on code in an isolated location.&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git branch new-feature&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  git checkout &lt;code&gt;branch-name&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Updates your files in your local repository to match the files on the branch in the tree. Any changes on you make to your code will bet kept on this branch and can be commited to the branch.&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git checkout old-feature&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  git checkout -b &lt;code&gt;branch-name&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;This combines the top 2 commands by creating a new branch and then switching to it. Equivalent to using &lt;code&gt;git branch branch-name&lt;/code&gt; then &lt;code&gt;git checkout branch-name&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git checkout -b feature&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  git branch -D &lt;code&gt;branch-name&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Deletes a branch in your local Git. You should typically do this after you merge in your code on your branch to the main branch. You can always recreate your branch in the future if you need to. Git will also tell you if there are unmerged changes on your branch so you should not be afraid to delete old branches with merged code.&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git branch -D merged-branch&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  git reset --hard &lt;code&gt;commit-hash&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Resets your local files to the specific commit-hash. This is a potentially dangerous command if you have uncommitted changes. Any untracked files or directories will be discarded and you will not be able to recover them&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git branch -D 4c85240745b8ae1fe405ad5893ad66cd2a8afee3&lt;/code&gt; or &lt;code&gt;git branch -D HEAD&lt;/code&gt; (resets your files to HEAD)&lt;/p&gt;

&lt;h3&gt;
  
  
  git push
&lt;/h3&gt;

&lt;p&gt;Pushes your code from your local repository to the remote repository. If you are using GitHub the files in the repository will reflect the same files as your local repository after pushing.&lt;/p&gt;

&lt;h3&gt;
  
  
  git push --force
&lt;/h3&gt;

&lt;p&gt;This is the same command as above but it allows you to rewrite the history on the remote repository with your local history. When doing this you must be careful because it may be easy to delete history and code accidentally, especially if you are working with other people.&lt;/p&gt;

&lt;h3&gt;
  
  
  git push --set-upstream &lt;code&gt;remote-name&lt;/code&gt; &lt;code&gt;branch-name&lt;/code&gt; &lt;code&gt;repository-name&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Upstream branches are the remote repository's way of tracking your local branch. They are also called the remote tracking branch. You have to set up an upstream branch before you start pushing your code to the remote repository.&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git push --set-upstream origin new-feature&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  git push -u &lt;code&gt;remote-name&lt;/code&gt; &lt;code&gt;branch-name&lt;/code&gt; &lt;code&gt;repository-name&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;This does the exact same thing as the above command&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git push -u origin new-feature&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  git fetch
&lt;/h3&gt;

&lt;p&gt;Fetch downloads commits, files, and refs from a remote repository on your local repo. It allows you to see what others have been working on and lets you test their code on your local repository.&lt;/p&gt;

&lt;h3&gt;
  
  
  git pull
&lt;/h3&gt;

&lt;p&gt;Incorporates changes from a remote repository into the current branch. If your current branch is behind the remote, then by default it will fast-forward the current branch to match the remote.&lt;/p&gt;

&lt;h3&gt;
  
  
  git diff &lt;code&gt;commit-hash-source&lt;/code&gt; &lt;code&gt;commit-hash-destination&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Diff shows the difference between a commit and one of the commit's ancestors. You use the commit hash in the command to specify which commits to compare.&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git diff 0da94be 59ff30c&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  git merge &lt;code&gt;branch-name&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Incorporates any changes from a different branch into your current branch. Git will attempt to automatically merge any commits for you. However, if there are files that are changed by both branches you will need to manually resolve any conflicts.&lt;/p&gt;

&lt;h3&gt;
  
  
  git cherry-pick &lt;code&gt;commit-hash&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Takes the changes from a specific commit and adds them to your current branch. You specify the commit by the commit hash. This is great in a team setting where you can cherry-pick specific pieces of code to test or use in your own local repository.&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;git cherry-pick 59ff30c&lt;/code&gt;&lt;/p&gt;

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

&lt;p&gt;Before you can collaborate with other developers knowing how to use Git is a prerequisite. That means if you're trying to break into the tech industry learning how to use Git is imperative.&lt;/p&gt;

&lt;p&gt;Now that you know how to use Git the next thing you should do is create a developer portfolio showcasing all your projects. You can read my guide on that &lt;a href="https://www.blog.edmondhui.com/how-to-create-portfolio-website"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9eNLxvla--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1660793024455/15zjWpzcW.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9eNLxvla--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1660793024455/15zjWpzcW.gif" alt="Thank you for Reading" width="880" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to create portfolio website with custom domain using Github pages</title>
      <dc:creator>Edmond Hui</dc:creator>
      <pubDate>Thu, 11 Aug 2022 13:44:39 +0000</pubDate>
      <link>https://dev.to/edmondthui/how-to-create-portfolio-website-with-custom-domain-using-github-pages-9c3</link>
      <guid>https://dev.to/edmondthui/how-to-create-portfolio-website-with-custom-domain-using-github-pages-9c3</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffpw5yxtvg9tmgkiwpnbt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffpw5yxtvg9tmgkiwpnbt.png" alt="inro banner image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the current job market, &lt;strong&gt;I believe that every new developer should have a portfolio showcasing projects they have built.&lt;/strong&gt; As someone who doesn't have experience, a portfolio is how you can stand out amongst the thousands of new graduates from college and bootcamps. I built a portfolio just like this when I graduated from bootcamp and got a job in 3 months. You can read &lt;a href="https://www.blog.edmondhui.com/software-engineer-in-3-months" rel="noopener noreferrer"&gt;my story here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Even if the recruiter or hiring manager doesn't read everything on your website, a quick scan is enough to set you apart from everyone else who doesn't have a portfolio site.&lt;/p&gt;

&lt;p&gt;If you are a beginner developer there is no reason why you shouldn't have your own site. It's free, simple, and quick to set up with Github pages. You can even add a custom domain for around $15 a year with no monthly hosting fees for some extra pizazz.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here is a step-by-step guide on how to make your own portfolio website.&lt;/strong&gt; This tutorial will be for complete beginners or people who do not know how to code who want to create their own portfolio websites. This will be extremely easy to follow, and I would encourage experienced developers to skip steps you already know how to do. You will not need to have any coding skills to follow most of this tutorial.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting up your Github repo for your page
&lt;/h2&gt;

&lt;p&gt;First, you have to set up your Github repository which is where we will push all of our code.&lt;/p&gt;

&lt;p&gt;My next article is a complete guide for git best practices and using git professionally. If you don't see the link yet follow the blog and you'll be notified when I post it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click the "+" button on the top right of the page on Github. There should be a dropdown that shows up, then press "New Repository". &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660093109889%2Flo6pTfjfZ.png" alt="Screen Shot 2022-08-09 at 8.56.23 PM.png"&gt;
&lt;/li&gt;
&lt;li&gt;Use the "Select an owner" dropdown to choose which account will own the repository. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660093797348%2FZYGh2LImA.png" alt="Screen Shot 2022-08-09 at 9.09.22 PM.png"&gt;
&lt;/li&gt;
&lt;li&gt;Name your repository using this naming scheme&lt;code&gt;&amp;lt;user&amp;gt;.github.io&lt;/code&gt;. So since my user name is edmondthui I will name my repository &lt;code&gt;edmondthui.github.io&lt;/code&gt;. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660094029966%2FdCPS0kuwl.png" alt="Screen Shot 2022-08-09 at 9.13.40 PM.png"&gt;
&lt;/li&gt;
&lt;li&gt;Make your repository visibility public, check whether you want a read me, and then create your repository. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660094331092%2F-lXJP8J0g.png" alt="Screen Shot 2022-08-09 at 9.18.11 PM.png"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Setting up Git locally
&lt;/h2&gt;

&lt;p&gt;Now that we're past the boring part we can open up our IDE. I like using VS Code but you can use any editor you like.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;First we have to set up our Github repository locally. In a new directory type &lt;code&gt;git init&lt;/code&gt; into the terminal to start tracking your current directory with git. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660165506041%2FjT6lpu0ef.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;Copy the quick setup link from Github and run &lt;code&gt;git remote add origin &amp;lt;your link here&amp;gt;&lt;/code&gt; &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660165662820%2F3yzuSd7Fp.png" alt="image.png"&gt; &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660165719030%2F2e3VS-5xe.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;Optional - you can rename your branch to "main" by running &lt;code&gt;git branch -M main&lt;/code&gt;. GitHub uses "main" as the name of your primary branch. Git still defaults your branch to be called "master".&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Choosing a template for your portfolio website
&lt;/h2&gt;

&lt;p&gt;We will be using a template to make our website. &lt;strong&gt;I believe that most developers should use a template when building their personal portfolios.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The amount of time it takes to make a beautiful website is not worth it, especially since this guide is targeting developers who are trying to break into the industry to get their first tech job. There are more important things to do, such as portfolio projects and improving your interviewing skills.&lt;/p&gt;

&lt;p&gt;What we are looking for is a template that has the following things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An easy-to-customize setup&lt;/li&gt;
&lt;li&gt;Eye-catching responsive design&lt;/li&gt;
&lt;li&gt;A contact form&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can browse different free themes &lt;a href="https://themewagon.com/theme-tag/portfolio-template/?swoof=1&amp;amp;pa_price=free&amp;amp;paged=1&amp;amp;really_curr_tax=398-product_tag" rel="noopener noreferrer"&gt;here&lt;/a&gt; and choose what you think would work the best for yourself. I will be using this theme called &lt;a href="https://themewagon.com/themes/best-quality-free-portfolio-resume-bootstrap-template-download-profile/" rel="noopener noreferrer"&gt;Profile&lt;/a&gt; for this example.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download your theme and unzip the files into the folder where you created your git repository. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660167063951%2F5dHcq1FwT.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;You should see a file called &lt;code&gt;index.html&lt;/code&gt;. This will be the file we will be editing and customizing with all your information. Click on it and you should be able to edit the contents of that file. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660167129982%2FAYSisS8I9.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;You can view your progress by opening the &lt;code&gt;index.html&lt;/code&gt; file in chrome by double-clicking it. You will want to inspect your changes ever so often to make sure you aren't breaking anything.&lt;/li&gt;
&lt;li&gt;We will only be editing the information between opening and closing HTML tags. &lt;strong&gt;The vast majority of tags must be opened &lt;code&gt;&amp;lt;tag&amp;gt;&lt;/code&gt; and closed &lt;code&gt;&amp;lt;/tag&amp;gt;&lt;/code&gt; with the element information such as a title or text resting between the tags.&lt;/strong&gt; You can change the information between the tags to whatever text you want to display. Replace all the information on the index page template with your information. Make sure you do not accidentally delete any tags or change the structure of the file. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660167350654%2FE18hkivAq.png" alt="image.png"&gt; &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660167371389%2FOAHWTR2Zw.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;Update any links with your personal links. You can do this by replacing wherever it has &lt;code&gt;href="&amp;lt;your link here&amp;gt;"&lt;/code&gt; &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660169129691%2F59iLyioXg.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;If you need to delete any elements find them in your editor and delete both the tags containing all the information you want to delete. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660169201211%2FEBFgaEFp9.png" alt="image.png"&gt; &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660169221433%2FFzf9AZfD7.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;Replace any images in your image folder with new files making sure you keep the names of the files the same. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660169324412%2FaUcczaZpA.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once you are happy with how your page looks you're ready for the next step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pushing your code to Github
&lt;/h2&gt;

&lt;p&gt;The next step is getting all your code to Github so we can use Github pages to create a static site so people can see your website.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run &lt;code&gt;git status&lt;/code&gt;, this should show all the changes you have made. Confirm there are changes before continuing. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660169883092%2FHHFVJ7eeW.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;git add .&lt;/code&gt; to add all the changes from your directory to be staged for the next commit. You can rerun &lt;code&gt;git status&lt;/code&gt; to make sure your files have been added. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660169998336%2F9ASagrBF0.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;Now that you have staged your changes you have to commit them by running &lt;code&gt;git commit -m "&amp;lt;any message here&amp;gt;"&lt;/code&gt; &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660170494450%2Fjsn3nTybG.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;Push your code to Github by running &lt;code&gt;git push origin main&lt;/code&gt; if you changed your branch name to main or &lt;code&gt;git push origin master&lt;/code&gt; if you haven't changed your branch name. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660170336173%2FzJtEh2pPv.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;You should now see the code in your Github repository!&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Creating a Github page for your repository
&lt;/h2&gt;

&lt;p&gt;The last step is to make a Github page. Your repository needs to be public if you want to have a Github page with a free account.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to settings for your repository on Github on the top right of the page. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660173239251%2F9sVaDTW11.png" alt="Screen Shot 2022-08-10 at 7.12.45 PM.png"&gt;
&lt;/li&gt;
&lt;li&gt;Click pages on the left side of the settings page. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660173293725%2FYjlocBizw.png" alt="Screen Shot 2022-08-10 at 7.14.31 PM.png"&gt;
&lt;/li&gt;
&lt;li&gt;Select the &lt;code&gt;main&lt;/code&gt; or &lt;code&gt;master&lt;/code&gt; branch as the branch for your page, then click save. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660173429611%2FX1xrb-CEp.png" alt="Screen Shot 2022-08-10 at 7.16.01 PM.png"&gt;
&lt;/li&gt;
&lt;li&gt;Click the checkbox to enforce https. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660173508892%2FZ0NAsYnrH.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;Thats it! Your site should be live. &lt;a href="http://edmondhui.com/demo.github.io/" rel="noopener noreferrer"&gt;Here&lt;/a&gt; is a link to the demo site that I made in this tutorial.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Optional - Adding a custom domain and sitemap for SEO
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Custom domains are a great way to build a brand around yourself.&lt;/strong&gt; It is another factor that can help set you apart from other developers. I do the exact same thing with my blog at &lt;a href="https://www.blog.edmondhui.com/" rel="noopener noreferrer"&gt;https://www.blog.edmondhui.com/&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Using a custom domain with a Github page
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;On the same page in the repository settings there is a field called custom domain. If you own a domain you can input it there. You can buy a domain on &lt;a href="https://godaddy.com/" rel="noopener noreferrer"&gt;Godaddy&lt;/a&gt; or &lt;a href="https://domains.google/" rel="noopener noreferrer"&gt;Google Domains&lt;/a&gt; for around $15. Then, click save. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660173986426%2FVqffGaWOh.png" alt="image.png"&gt;
&lt;/li&gt;
&lt;li&gt;Next go to your PROFILE settings and click pages. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660174244311%2FXYwmITESG.png" alt="Screen Shot 2022-08-10 at 7.30.12 PM.png"&gt; &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660174288377%2FbOa5q5Y38.png" alt="Screen Shot 2022-08-10 at 7.31.00 PM.png"&gt;
&lt;/li&gt;
&lt;li&gt;Click "add domain" and then input your domain.&lt;/li&gt;
&lt;li&gt;Now go to manage DNS wherever you purchased your domain and add the A records you got from Github. You can copy and paste them here:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153

&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660224206625%2F_eSwTA0GR.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660224206625%2F_eSwTA0GR.png" alt="Screen Shot 2022-08-11 at 9.23.09 AM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Using Github actions to automatically create a sitemap
&lt;/h3&gt;

&lt;p&gt;If you want to try to rank your portfolio site you will need to submit a sitemap to Google to index your website. To do this you will need to use a Github action.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In your repository click "Actions" &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660183669059%2F3P84AYmtE.png" alt="Screen Shot 2022-08-10 at 10.07.11 PM.png"&gt;
&lt;/li&gt;
&lt;li&gt;Click "New workflow" to create an automated action &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660183759221%2FUwptHXOw-.png" alt="Screen Shot 2022-08-10 at 10.08.17 PM.png"&gt;
&lt;/li&gt;
&lt;li&gt;Then click set up a workflow yourself &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660183828769%2F-ImO9l1zf.png" alt="Screen Shot 2022-08-10 at 10.09.33 PM.png"&gt;
&lt;/li&gt;
&lt;li&gt;In the workflow editor paste this code.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: Generate xml sitemap
on:
push:
 branches: [main]
jobs:
sitemap_job:
 runs-on: ubuntu-latest
 name: Generate a sitemap

 steps:
   - name: Checkout the repo
     uses: actions/checkout@v2
     with:
       fetch-depth: 0

   - name: Generate the sitemap
     id: sitemap
     uses: cicirello/generate-sitemap@v1.8.4
     with:
       base-url-path: https://edmondhui.com/
       include-pdf: false

   - name: Output stats
     run: |
       echo "sitemap-path = ${{ steps.sitemap.outputs.sitemap-path }}"
       echo "url-count = ${{ steps.sitemap.outputs.url-count }}"
       echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}"

   - name: Create Pull Request
     uses: peter-evans/create-pull-request@v3.12.0
     with:
       title: "Automated sitemap update"
       body: &amp;gt;
         Automated changes. Sitemap updated by 
         the [generate-sitemap](https://github.com/cicirello/generate-sitemap) 
         GitHub action.
       commit-message: "Automated sitemap update."
       author: Edmond Hui &amp;lt;edmond.t.hui@gmail.com&amp;gt;
       committer: Edmond Hui &amp;lt;edmond.t.hui@gmail.com&amp;gt;
       branch: create-pull-request/sitemap
       delete-branch: true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Change the branch name in the code to match whatever is your primary branch. Currently, it is set to &lt;code&gt;[main]&lt;/code&gt;. You will also have to change the base-url-path to point to your url.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click "Start commit" and "Create new file" to create this Github action. This will run every time you push to either "main" or "master". &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660184223660%2FmwBhOkL74.png" alt="Screen Shot 2022-08-10 at 10.13.50 PM.png"&gt;
&lt;/li&gt;
&lt;li&gt;Now you can go to &lt;a href="https://search.google.com/search-console/about" rel="noopener noreferrer"&gt;Google Search Console&lt;/a&gt; and add your sitemap to your property. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660184324919%2FJ3fa9-ym6.png" alt="Screen Shot 2022-08-10 at 10.18.29 PM.png"&gt;
&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Congratulations on making it to the end of the article! Hopefully, you will have your very own portfolio site that you can proudly share.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Even if you are not on the job hunt, having a personal portfolio website is extremely useful.&lt;/strong&gt; Portfolios can help you professionally or help build your brand. For entrepreneurs, this can unlock opportunities and help you find business partners or investors.&lt;/p&gt;

&lt;p&gt;I hope you enjoyed this beginner's guide to creating a personal portfolio. If you are a beginner developer I recommend reading my article about &lt;a href="https://www.blog.edmondhui.com/self-study-or-coding-bootcamp" rel="noopener noreferrer"&gt;whether you should join a bootcamp or self study&lt;/a&gt;.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660186835073%2FVX5YZoijB.gif" 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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1660186835073%2FVX5YZoijB.gif" alt="Thank you for Reading.gif"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Should you self study or join a coding bootcamp?</title>
      <dc:creator>Edmond Hui</dc:creator>
      <pubDate>Fri, 05 Aug 2022 03:59:30 +0000</pubDate>
      <link>https://dev.to/edmondthui/should-you-self-study-or-join-a-coding-bootcamp-f1i</link>
      <guid>https://dev.to/edmondthui/should-you-self-study-or-join-a-coding-bootcamp-f1i</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kQsbUOCN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.blog.edmondhui.com/_next/image%3Furl%3Dhttps%253A%252F%252Fcdn.hashnode.com%252Fres%252Fhashnode%252Fimage%252Fupload%252Fv1659667408316%252F1dsSxRUnw.png%253Fw%253D1600%2526h%253D840%2526fit%253Dcrop%2526crop%253Dentropy%2526auto%253Dcompress%252Cformat%2526format%253Dwebp%26w%3D3840%26q%3D75" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kQsbUOCN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.blog.edmondhui.com/_next/image%3Furl%3Dhttps%253A%252F%252Fcdn.hashnode.com%252Fres%252Fhashnode%252Fimage%252Fupload%252Fv1659667408316%252F1dsSxRUnw.png%253Fw%253D1600%2526h%253D840%2526fit%253Dcrop%2526crop%253Dentropy%2526auto%253Dcompress%252Cformat%2526format%253Dwebp%26w%3D3840%26q%3D75" alt="intro.png" width="880" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My name is Edmond Hui and I am a coding bootcamp alumnus, and I'm here to tell you everything you need to know about diving into tech. If you haven't read my &lt;a href="https://www.blog.edmondhui.com/software-engineer-in-3-months"&gt;journey about becoming a software engineer&lt;/a&gt;, I share my secrets about how I attended a coding bootcamp and successfully became a software engineer in 3 months.&lt;/p&gt;

&lt;p&gt;As someone who recently abandoned his career to become a software engineer, I want to share my first-hand experience transitioning into tech to inspire new developers and help them make informed decisions.&lt;/p&gt;

&lt;p&gt;If you are thinking about becoming a software engineer you probably have many questions. I'll try to answer the most common ones with my personal perspective and a modern lens as someone who attended and graduated from a coding bootcamp during the Covid-19 pandemic.&lt;/p&gt;

&lt;h2&gt;
  
  
  The most important step for success, making a plan
&lt;/h2&gt;

&lt;p&gt;You may have heard that becoming a software engineer is an easy way to increase your income. Many of my friends told me, "just learn how to code" as an easy way to secure the bag. When I started my coding journey, I was not prepared for the amount of work that was required to make the transition into tech.&lt;/p&gt;

&lt;p&gt;Becoming a software engineer through coding bootcamps may not even be possible depending on your current situation. Some people may not be able to dedicate the time required to succeed and may need to take a different route. It definitely isn't as easy as everyone makes it out to seem. &lt;strong&gt;If it were that easy, then it wouldn't be valuable.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HVWUbGcp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659666766000/5rlNUKeYm.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HVWUbGcp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659666766000/5rlNUKeYm.gif" alt="life-goals.gif" width="356" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Basic programming skills are easy to pick up. I learned some code at a young age and was always interested in tech. I even took multiple intro programming courses and an advanced placement computer science course in high school.&lt;/p&gt;

&lt;p&gt;When you get into the job market, companies aren't looking for warm bodies that know how to code. They are looking for a specific person with a niche skillset who can help solve problems they are facing. This comes with experience and niche knowledge about coding languages and their relationships with other libraries and frameworks.&lt;/p&gt;

&lt;p&gt;This is where many bootcamps fall short. Bootcamps have a hard time teaching the idiosyncrasies of software engineering. You can only learn this through making mistakes and coding without guard rails.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is why it is extremely important to continuously learn as a software engineer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Do extensive research before pulling the trigger because once you start learning how to code, you have to be fully committed. People who think it will be enough to code part-time &lt;strong&gt;WILL NOT SUCCEED.&lt;/strong&gt; You will have to sacrifice to make this switch. Whether this is quitting your job, not going out on weekends, etc. You will have to be prepared to make changes in your lifestyle to put aside some time to study or join a bootcamp.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You have to put in the time.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Should you do a bootcamp?
&lt;/h2&gt;

&lt;p&gt;According to the &lt;em&gt;Career Karma 2021 State of the Bootcamp Market Report&lt;/em&gt;, &lt;strong&gt;the average coding bootcamp cost is $11,272.&lt;/strong&gt; Many bootcamps have payment plans that can help you stomach this cost. At App Academy, I did not have to pay for my tuition until I landed a job. App Academy also offers a discount for students that want to pay upfront.&lt;/p&gt;

&lt;p&gt;According to the &lt;em&gt;Council on Integrity in Results Reporting (CIRR)&lt;/em&gt;, &lt;strong&gt;79 percent of bootcamp grads find a job within 180 days of completing the program.&lt;/strong&gt; This data is based on reports from 46 different coding bootcamps. Keep in mind that many bootcamps hire their own graduates as teachers so this number may be inflated. You can also google the Lambda School lawsuit as well. "Scambda School" inflated its outcome metrics and used other deceptive marketing practices to swindle students hand over fist.&lt;/p&gt;

&lt;p&gt;In the context of the &lt;em&gt;U.S., Course Report&lt;/em&gt; (which analyzes the bootcamp market) reported in 2021 that &lt;strong&gt;the average bootcamp graduate earns a starting salary of $69,000.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wc0DSmbY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659666635622/FN6lqMKdf.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wc0DSmbY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659666635622/FN6lqMKdf.gif" alt="fun-coupons.gif" width="473" height="199"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These statistics sound great, but will a bootcamp work for you? I'm here to give you my thoughts on whether you should do a bootcamp because they definitely work if the conditions are right (see me for example).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The biggest hurdles to doing a bootcamp are the time commitment and the high costs of tuition.&lt;/strong&gt; You will have to dedicate 9 - 12 weeks with large blocks of time where you cannot be interrupted to successfully complete a coding bootcamp.&lt;/p&gt;

&lt;p&gt;When going into App Academy, I fully expected to be able to continue working while I did the coursework. I quickly realized that this was not going to be possible. There are large opportunity costs when going the bootcamp route and I want to explain the full picture so readers will be able to make an informed decision.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sigma coding bootcamp student grindset 📖🕖🕛🕟🕗
&lt;/h3&gt;

&lt;p&gt;Take a look at a normal day at a bootcamp.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xAYLAr4E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659577261972/EyYx95wcB.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xAYLAr4E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659577261972/EyYx95wcB.png" alt="image.png" width="385" height="637"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There were 51 minutes of materials we had to go through, 34 minutes of additional resources we had to read, 1 hour 30 minutes of homework, and 7 hours of projects. This is also on top of the lectures and questions we had to go through every day. Let's say we had a 1 hour lecture, that would mean we have committed 10 hours and 55 minutes to the bootcamp, JUST TODAY.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Students are expected to spend 80 - 100 hours per week&lt;/strong&gt; coding and learning throughout the duration of the course. There is no sugar coating it. If you are in a reputable program you will be expected to meet minimum coding standards. App Academy had tests every few weeks and if failed, you would be moved to a later cohort. If failed again you would be removed from the program and your deposit refunded.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3VFgyUCW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659672248695/Asoh26Hfl.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3VFgyUCW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659672248695/Asoh26Hfl.jpeg" alt="6oz0j7.jpeg" width="500" height="561"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Luckily, I had my parents who were there to support me throughout my journey. I would not have been able to survive without them. Having the comfort of home-cooked meals helped my mental health and allowed me to persevere. A support system you can turn to if things are becoming too much to handle is extremely helpful.&lt;/p&gt;

&lt;p&gt;I also moved in with my parents at the time so I didn't have to worry about rent, utilities, or other expenses. My only concern at the time was learning how to code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Selling the shovels to the next gold rush
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;"The people that made the most money in the gold rush were selling shovels, not digging gold"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AuHyJMg8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659662234061/aqM41lThK.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AuHyJMg8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659662234061/aqM41lThK.gif" alt="shovel-shut-up.gif" width="450" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the modern era, there is nothing that a bootcamp or school can teach you that you cannot teach yourself for free. Bootcamps package this free info into a neat package and then charge you an arm and a leg.&lt;/p&gt;

&lt;p&gt;Many bootcamps require payment upfront and don't guarantee a job. Others like App Academy offer ISAs or income share agreements that require you to pay a large percentage of your income after you land a job. These often cost more than paying upfront, and it's possible you'll net less than your previous job after paying tuition payments!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In my opinion, bootcamps only make sense in situations where you can give up the next 1 - 2 years to dedicate to transitioning into the tech industry.&lt;/strong&gt; If you change your mind or cannot continue you will lose a lot of time and money with NOTHING to show for it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Should you self study?
&lt;/h2&gt;

&lt;p&gt;At my first job out of bootcamp I met a dev named Brodie. He was self taught and is still the most talented programmer I have met. It goes to show you can become an amazing developer without any formal technical education.&lt;/p&gt;

&lt;p&gt;Previously, he was a banker at Wells Fargo and taught himself HTML, CSS, Javascript, and PHP. I would say his ability to learn and pick things up quickly was what impressed me the most. When I asked him his thoughts on self studying this is what he said.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I'm happy that I went into tech but I'm not sure I would necessarily recommend it unless you can go all in for the first couple years. It just seems like there are so many concepts to learn and things to study for interviews that it's much harder to break in now than a few years ago.&lt;/p&gt;

&lt;p&gt;There are so many more CS and bootcamp grads that you are competing with that you have to somehow stand out amongst them which the only way is just endless hours of work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It seems that self taught developers have the same problems bootcamp graduates do, but they have even more competition. The only perks of self studying are that you can do it on your own schedule and it's free. Graduating from a bootcamp does not give you any inherent advantage in the job search. It all comes down to your projects, portfolio, and interviewing skills. Bootcamps help you prepare for your first job quickly and efficiently while learning on your own may take a lot more time as you figure things out.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ouoIj9J8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659669729063/s_1MOh0MY.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ouoIj9J8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659669729063/s_1MOh0MY.gif" alt="62ec8c90d8542579640642.gif" width="360" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You should self study If you are someone who can keep yourself accountable.&lt;/strong&gt; You have to be confident that you can persevere and succeed. Motivation will get you started, good habits will keep you going. Before you know it you will be coding every day, just like how you brush your teeth every day.&lt;/p&gt;

&lt;p&gt;Another thing that Brodie said piqued my interest. There were so many things to study. You may not know what to start on. It's so easy to get analysis paralysis. Bootcamps help because they guide you and basically hold your hand through the whole process. When self studying, you have to identify what you are deficient in, and what you need to improve on, then create your own curriculum.&lt;/p&gt;

&lt;h3&gt;
  
  
  Free resources for self taught developers
&lt;/h3&gt;

&lt;p&gt;My suggestion to people thinking about self studying would be to just start. Code as much as you can, as often as you can.&lt;/p&gt;

&lt;p&gt;Listed below are some of my favorite resources that may help a self taught developer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.freecodecamp.org/"&gt;freeCodeCamp&lt;/a&gt; is a non-profit organization that consists of an interactive learning web platform, an online community forum, chat rooms, online publications and local organizations that intend to make learning web development accessible to anyone.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.theodinproject.com/"&gt;The Odin Project (TOP)&lt;/a&gt; is an open-source curriculum for learning full-stack web development. We help users learn the skills and build the impressive portfolio of projects they need to get hired as a web developer.&lt;/li&gt;
&lt;li&gt;With &lt;a href="https://www.open.appacademy.io/"&gt;App Academy Open&lt;/a&gt; youll get free access to App Academys entire 24 Week Online Software Engineering Program curriculum (that's over 500 hours of material!), which has placed thousands of people in software development jobs. This is exactly the same course that I took and paid ~$30,000 for.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.100daysofcode.com/"&gt;100 days of code&lt;/a&gt; is a challenge that will help you become a better programmer. It helps you build momentum and makes coding a habit you look forward to. You will also meet like-minded individuals with similar goals to help motivate you to succeed. &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://javascript30.com/"&gt;Javascript 30&lt;/a&gt; is a free challenge that helps you become more comfortable with javascript by walking you through simple projects. This is for beginners who already know the basics of javascript. &lt;/li&gt;
&lt;li&gt;Lastly, this is a GitHub repository called &lt;a href="https://github.com/practical-tutorials/project-based-learning"&gt;Project Based Learning&lt;/a&gt; that compiles some of the best free coding tutorials available online. I believe that the easiest way to learn is to do a project. With project based learning you can do projects in any language of your choice. I highly recommend checking the repo out and giving it a star (I am not affiliated with them).&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;If you are still determined to become a software engineer after reading this article, it shows you are seriously committed. I believe if you try to get into the tech industry with the wrong intentions you will not have a good time. It is not as easy as going to class for a few months and then coming out with a 6 figure job.&lt;/p&gt;

&lt;p&gt;Even after you land your first job as a software engineer or developer that is just the start of your journey. You cannot know everything about best practices and code standards after 3 months of learning. I have gotten hate saying I was not a "software engineer" because I only had 3 months of experience.&lt;/p&gt;

&lt;p&gt;I have been doing this for 2 years now and I am constantly learning and growing. I think that is what truly makes you a "software engineer". Having the courage to continue writing code and improving is what will set you on your path to achieving your goal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1y-K60SR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659670870008/LwSSdq4-2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1y-K60SR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1659670870008/LwSSdq4-2.gif" alt="Thank you for Reading.gif" width="880" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>codenewbie</category>
      <category>motivation</category>
    </item>
    <item>
      <title>How I successfully became a software engineer in 3 months</title>
      <dc:creator>Edmond Hui</dc:creator>
      <pubDate>Fri, 29 Jul 2022 01:52:20 +0000</pubDate>
      <link>https://dev.to/edmondthui/how-i-successfully-became-a-software-engineer-in-3-months-3l33</link>
      <guid>https://dev.to/edmondthui/how-i-successfully-became-a-software-engineer-in-3-months-3l33</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zbCAUVMR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658963119382/eSJnHR62Z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zbCAUVMR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658963119382/eSJnHR62Z.png" alt="intro.png" width="880" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am currently a software engineer working full-time in the New York Metropolitan Area.&lt;/p&gt;

&lt;p&gt;Two years ago during the advent of COVID-19, I was an Associate Director at a real estate startup called Squarefoot in NYC. This was similar to being a real estate broker and was a lot of sales. At the time, the future looked bleak for commercial real estate. Nobody knew how long lockdowns were going to last and what the industry would look like on the other side of the pandemic.&lt;/p&gt;

&lt;p&gt;So, I thought "YOLO" and dove into learning how to code. Within a few months, I started as a junior software engineer at a tech startup. A lot of my friends were interested in my journey, so I will share my story of how I became a software engineer with you. &lt;strong&gt;I hope this inspires you to learn how to code. If I could do it, you can too.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;I am 24 years old and I'm ashamed to say my goal used to be to make as much money as possible. The early years of my professional life were always a grind towards the next goal. I graduated college one year early and went straight into commercial real estate brokerage thinking this was my ticket to wealth and early retirement.&lt;/p&gt;

&lt;p&gt;I did this for 3 years before I realized I wasn't happy. It only took a global pandemic and stringent lockdowns for me to slow down enough to realize that 😅.&lt;/p&gt;

&lt;p&gt;Around this time I was working from home and I started my first blog called &lt;a href="https://coffeeinformer.com/"&gt;Coffee Informer&lt;/a&gt;. I started off by learning basic CSS and HTML and teaching myself through Google. This website that I made from nothing started getting thousands of readers. &lt;strong&gt;I was immediately hooked.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--za86N14M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658963399504/INMTx5rmr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--za86N14M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658963399504/INMTx5rmr.png" alt="coffee_informer.png" width="880" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating a website and attracting readers was the most rewarding feeling in my 24 years of existence.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;That's when I knew I had to quit my job and pursue web development.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I transitioned
&lt;/h2&gt;

&lt;p&gt;There are so many resources available online to help you learn computer science principles. &lt;strong&gt;I believe everyone can be a developer if they put in the time and effort.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Reading resources online was how I started out learning how to code, but I felt like there was too much to learn at one time and needed some guidance to prioritize my learning. That is why I decided to join a coding bootcamp.&lt;/p&gt;

&lt;p&gt;I applied to &lt;a href="https://www.appacademy.io/"&gt;App Academy&lt;/a&gt; and studied for the entrance exams which were in Ruby. They provided about 20 hours of material and I self-studied for about a week before my technical interview.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XgIdIQ_M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658963617173/297PfSAy6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XgIdIQ_M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658963617173/297PfSAy6.png" alt="appacademylogo.png" width="880" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;According to App Academy, they have a 5% acceptance rate, but that seems overly exaggerated. &lt;strong&gt;As long as you know your coding basics such as array and string manipulation you'll get into a bootcamp and start your journey to becoming a software engineer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;During all of this, I was still working my full-time real estate position. This was a few months into the pandemic. I created a plan to obtain new clients and exclusives. I read leases to find ways business owners could get out of their lease, and offered to sublease their offices and move them into smaller spaces. This plan was very successful and helped me generate a lot of business due to the uncertainty in the commercial real estate industry at the time.&lt;/p&gt;

&lt;p&gt;I had a hard decision to make. There is a saying "a bird in the hand is worth two in the bush", but is it worth it if the bird is biting your hand and causing you pain? Ultimately, I chose to let go of the bird and pursue my passion for tech.&lt;/p&gt;

&lt;p&gt;By the time I had left, I was the top broker in Q3 of 2020, and I asked for a recommendation to immortalize either &lt;strong&gt;the best or worst decision of my life.&lt;/strong&gt; Below is a copy of the recommendation I received (💪 flex but ok).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To Whom it May Concern,&lt;/p&gt;

&lt;p&gt;I write to provide the strongest recommendation I can for Edmond Huis acceptance into your program.&lt;/p&gt;

&lt;p&gt;Edmond was a member of my brokerage team at SquareFoot, a technology-enabled real estate company, and he distinguished himself in multiple ways. These include:&lt;/p&gt;

&lt;p&gt;His work ethic was simply exemplary. Top 5% I have ever worked with. Edmonds curiosity and his capacity to retain information allowed him to on-board and become a productive member of our team in a very short timeframe.&lt;/p&gt;

&lt;p&gt;He is one of the most open-to-feedback team members I have ever worked with; he takes feedback constructively and immediately makes adjustments where necessary.&lt;/p&gt;

&lt;p&gt;Edmond was also generous with his knowledge across our team; one of the things I remember most about him was him taking his personal time to educate our team members on the dynamics of investing in public markets, which is a passion of his. He got nothing out of this himself except the satisfaction of being able to share knowledge about a topic he is extremely well versed in with others who were interested to learn. He has a generosity of spirit that is rare in my experience.&lt;/p&gt;

&lt;p&gt;He is an excellent problem solver, and approaches problems in a constructive way as challenges that need to be overcome. The NY real estate market has been greatly affected during the pandemic, and our teams production suffered. Edmond, through a combination of persistence, creativity and humility was able to become our top broker during Q3 of 2020, outpacing individuals that have been in the industry for years longer than he had been.&lt;/p&gt;

&lt;p&gt;Again, I believe Edmond would be a great asset to your program. If you have any questions about his candidacy you can reach me at ****@**********.com or ***-***-****.&lt;/p&gt;

&lt;p&gt;All the best,&lt;/p&gt;

&lt;p&gt;Phil Sofia&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now that I know how this story ends, I do not regret my decision one bit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Out of the frying pan into the fire
&lt;/h2&gt;

&lt;p&gt;Once I was accepted into App Academy, there was no turning back. We covered topics at blistering speeds and I was spending all my time dedicated to learning how to code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KeFKMPS7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658971443881/Q9WWvH0Cv.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KeFKMPS7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658971443881/Q9WWvH0Cv.gif" alt="this_is_fine.gif" width="880" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I was breaking out of my comfort zone and I could feel myself inching toward my goal.&lt;/p&gt;

&lt;p&gt;During my time in bootcamp, I didn't do anything special. I showed up. &lt;strong&gt;It's like they say 80% of success is showing up.&lt;/strong&gt; I did all the homework, followed the lectures, did the readings, and completed the projects.&lt;/p&gt;

&lt;p&gt;The process of breaking down complex concepts into smaller pieces made it easier for me to wrap my head around them. I broke down my goals into bite-sized pieces so I could keep track of my progress day by day.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The biggest obstacle I encountered was becoming a better communicator and explaining technical concepts.&lt;/strong&gt; We did a lot of pair programming when working on projects at App Academy. I thought I understood everything, but I had a hard time articulating what I had learned.&lt;/p&gt;

&lt;p&gt;Looking back, it was because I didn't fully grok the concepts. I needed to break them down into simpler blocks and understand them on a deeper level.&lt;/p&gt;

&lt;p&gt;I plan on sharing my thoughts on coding bootcamps in another article so I can go more in-depth about the pros and cons.&lt;/p&gt;

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

&lt;p&gt;The 3 months at the boot camp were over in a flash. It was hard work, but definitely worth the effort. Completing the bootcamp taught me people are much more capable than I realized.&lt;/p&gt;

&lt;p&gt;In 3 short months, we learned everything necessary to become software engineers. I felt like I could achieve anything I put my mind to.&lt;/p&gt;

&lt;p&gt;What the bootcamp taught me wasn't just Ruby, Javascript, or PHP, but a way of thinking. &lt;strong&gt;How to persevere and find answers, even when it isn't obvious.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N3uP3sk1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658964201906/hiMdH1lE3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N3uP3sk1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658964201906/hiMdH1lE3.gif" alt="lmgtfy.gif" width="880" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imposters syndrome is a real thing that many fresh graduates deal with. Imposters syndrome is very common in tech, and according to a &lt;a href="https://www.techrepublic.com/article/why-58-of-tech-employees-suffer-from-imposter-syndrome/"&gt;report&lt;/a&gt; 58 percent of employees at Amazon, Facebook, Microsoft, and Google report feeling like they don't deserve their jobs.&lt;/p&gt;

&lt;p&gt;You have to remember this is a natural part of learning and you will gain confidence as you continue to learn and use your new abilities.&lt;/p&gt;

&lt;h2&gt;
  
  
  In conclusion
&lt;/h2&gt;

&lt;p&gt;My advice to anyone thinking about going into tech is, just do it. Believe in yourself and believe in the process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You do not need formal education.&lt;/strong&gt; Find a group of techies and ask them questions. Dive into the tech community and find people who are excited to help. All you need is a laptop and an internet connection to get started, so what's stopping you?&lt;/p&gt;

&lt;p&gt;Feel free to reach out to me and I'd love to answer any questions or mentor you in your transition into tech!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;All our dreams can come true, if we have the courage to pursue them, Walt Disney&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CvkxYNYd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658963141053/pL-5BQukr.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CvkxYNYd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1658963141053/pL-5BQukr.gif" alt="thank_you.gif" width="880" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>codenewbie</category>
      <category>motivation</category>
    </item>
  </channel>
</rss>
