├── .gitignore ├── resume-template.pdf ├── getting-a-job-v3-slides.pdf ├── gh-pages-instructions ├── 06-status.png ├── 01-create-repo.png ├── 02-upload-files.png ├── 05-site-deployed.png ├── 04-enable-gh-pages.png └── 03-files-added-to-repo.png ├── README.md ├── github-pages.md └── portfolio-tips.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /resume-template.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FrontendMasters/getting-a-job-v3/HEAD/resume-template.pdf -------------------------------------------------------------------------------- /getting-a-job-v3-slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FrontendMasters/getting-a-job-v3/HEAD/getting-a-job-v3-slides.pdf -------------------------------------------------------------------------------- /gh-pages-instructions/06-status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FrontendMasters/getting-a-job-v3/HEAD/gh-pages-instructions/06-status.png -------------------------------------------------------------------------------- /gh-pages-instructions/01-create-repo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FrontendMasters/getting-a-job-v3/HEAD/gh-pages-instructions/01-create-repo.png -------------------------------------------------------------------------------- /gh-pages-instructions/02-upload-files.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FrontendMasters/getting-a-job-v3/HEAD/gh-pages-instructions/02-upload-files.png -------------------------------------------------------------------------------- /gh-pages-instructions/05-site-deployed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FrontendMasters/getting-a-job-v3/HEAD/gh-pages-instructions/05-site-deployed.png -------------------------------------------------------------------------------- /gh-pages-instructions/04-enable-gh-pages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FrontendMasters/getting-a-job-v3/HEAD/gh-pages-instructions/04-enable-gh-pages.png -------------------------------------------------------------------------------- /gh-pages-instructions/03-files-added-to-repo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FrontendMasters/getting-a-job-v3/HEAD/gh-pages-instructions/03-files-added-to-repo.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Getting a Software Engineering Job, v3 2 | 3 |

4 | Preparing for the Software Engineering Job 5 |

6 | 7 | Welcome to the **Getting a Software Engineering Job, v3** course. Ready to take your software engineering career to the next level? This course, packed with essential tips from our slide deck, is here to help you ace your job search and career development. 8 | 9 | You can watch the [Getting a Software Engineering Job, v3](https://frontendmasters.com/courses/getting-a-job-v3/) course on [Frontend Masters](https://frontendmasters.com). 10 | 11 | ## Why Watch This Course? 12 | 13 | Discover how to transform your job search strategy, polish your resume, and shine in interviews with practical, actionable advice tailored for aspiring software engineers. This isn't just another course—it's your roadmap to success! 14 | 15 | ## Highlights from the Course 16 | 17 | ### Resume Building 18 | Your resume is your first impression. Learn how to craft a resume that stands out by highlighting your technical skills, achievements, and key projects. Show potential employers why you're the perfect fit. I also include a [resume template](resume-template.pdf) to help you get started. 19 | 20 | ### Job Search Strategies 21 | Job hunting can be daunting, but with the right strategies, you can find the perfect role. We’ll show you how to target applications to jobs that align with your skills and goals, and how to network like a pro. 22 | 23 | ### LinkedIn and GitHub 24 | In today's digital age, a strong online presence is crucial. Discover how to optimize your LinkedIn profile and showcase your GitHub projects to impress recruiters and demonstrate your expertise. 25 | 26 | ### Portfolio Building 27 | Your portfolio is your chance to shine. Learn how to create a portfolio that showcases your skills, experience, and projects to potential employers. We'll discuss the essential components of a software engineer's portfolio and how to optimize it for maximum impact. Check out our [Portfolio Tips](portfolio-tips.md) which includes a Portfolio Checklist for Software Engineers. Watch the [Web Development Project: Personal Portfolio Website](https://frontendmasters.com/courses/portfolio-website/) Frontend Masters course if you want help making a portfolio. We also have some instructions for [publishing a portfolio on GitHub Pages](github-pages.md). 28 | 29 | ### Interview Preparation 30 | Interviews are your chance to shine. Get ready by understanding different interview formats, practicing coding problems, and preparing to discuss your experiences with teamwork and project management. 31 | 32 | ### Assets and Resources 33 | - [Course Slides](getting-a-job-v3-slides.pdf) 34 | - [Portfolio Tips](portfolio-tips.md) 35 | - [Resume Template](resume-template.pdf) 36 | - [Brand Database](https://vets-who-code.notion.site/Generic-Brand-Database-d69b3e59f9274427adedf00aa9f16c21?pvs=4) 37 | --- 38 | 39 | Don't miss out on this [comprehensive course](https://frontendmasters.com/courses/getting-a-job-v3/) designed to boost your confidence and help you succeed. Click the link to watch the video and start your journey towards a successful software engineering career! 40 | -------------------------------------------------------------------------------- /github-pages.md: -------------------------------------------------------------------------------- 1 | ## GitHub Pages Instructions 2 | 3 | GitHub Pages provides free static hosting from a GitHub repository. It's a great option for hosting a portfolio website or showcase work from a project. In this example, we'll deploy a very simple static website from the main branch. See the [GitHub Pages documentation](https://docs.github.com/en/pages) for more advanced use-cases using custom workflows. 4 | 5 | ### Build a Portfolio Website 6 | 7 | First, you need a portfolio (or any static website). A great place to learn how to build a portfolio site is the [Web Development Project: Personal Portfolio Website](https://frontendmasters.com/courses/portfolio-website/) Frontend Masters course. 8 | 9 | We'll use [the final project](https://personal-portfolio.css.education/portfolio.zip) from that course for this portfolio site. 10 | 11 | ### Create a GitHub Repo 12 | 13 | You'll need a GitHub repo to deploy to GitHub pages. Create a new repository in your GitHub account. You can use any name you want: 14 | 15 | ![creating a new GitHub repository](https://github.com/frontendmasters/getting-a-job-v3/blob/main/gh-pages-instructions/01-create-repo.png?raw=true) 16 | 17 | > [!NOTE] 18 | > There is some build-in GitHub Pages functionality if you name your repository `[yourusername].github.io`. The steps in this example will work with any repository name. 19 | 20 | ### Add Your Website to the Repo 21 | 22 | After creating your new repository, you can add your portfolio website. If you know how to use GitHub or the Git CLI, go ahead and push up your website. If you are new to GitHub, you can click `Upload Files` under the `Add file` dropdown: 23 | 24 | ![adding files to a GitHub repo](https://github.com/frontendmasters/getting-a-job-v3/blob/main/gh-pages-instructions/02-upload-files.png?raw=true) 25 | 26 | Once you have your files added, your repo will look something like this: 27 | 28 | ![html, css, and image source files in a GitHub repo](https://github.com/frontendmasters/getting-a-job-v3/blob/main/gh-pages-instructions/03-files-added-to-repo.png?raw=true) 29 | 30 | > [!NOTE] 31 | > Make sure your home page is named index.html 32 | 33 | ### Configure GitHub Pages 34 | 35 | Now it's time to deploy your website. Go to `Settings > Pages` and make sure `Deploy from a branch` is selected. Choose your `main` branch and click save: 36 | 37 | ![GitHub Pages settings page](https://github.com/frontendmasters/getting-a-job-v3/blob/main/gh-pages-instructions/04-enable-gh-pages.png?raw=true) 38 | 39 | After a few minutes, your site will be delpoyed and the URL will appear at the top of the `Settings > Pages` page. The URL will be `https://[username].github.io/[repo-name]`: 40 | 41 | ![URL of GitHub Pages website after deployment](https://github.com/frontendmasters/getting-a-job-v3/blob/main/gh-pages-instructions/05-site-deployed.png?raw=true) 42 | 43 | ### Updating Your Portfolio 44 | 45 | The cool thing about GitHub Pages is any time you push changes to your repo, the website will automatically redeploy. You'll see a green checkmark when the deployment has succeeded: 46 | 47 | ![Green checkmark indicating deployment status](https://github.com/frontendmasters/getting-a-job-v3/blob/main/gh-pages-instructions/06-status.png?raw=true) 48 | 49 | ### Additional Hosting Options 50 | 51 | There are other static hosting options available. Check out the [Exactly How to Deploy Local Files to Make a Live Website](https://frontendmasters.com/blog/exactly-how-to-deploy-local-files-to-make-a-live-website/) on the [Boost Blog](https://frontendmasters.com/blog/). 52 | -------------------------------------------------------------------------------- /portfolio-tips.md: -------------------------------------------------------------------------------- 1 | ### Building and Optimizing Your Portfolio for JavaScript Engineers 2 | 3 | A well-crafted portfolio is essential for JavaScript engineers looking to showcase their skills, experience, and projects to potential employers or clients. It's a powerful tool that can help you stand out from the competition and land your dream job. In this post, we'll discuss how to build and optimize your portfolio using the [Portfolio Checklist for JavaScript Engineers](https://vets-who-code.notion.site/Portfolio-Checklist-for-Javascript-Engineers-44e9b849bf6d4c5db8273993dfd748c3) provided by Vets Who Code. 4 | 5 | ## Essential Components of a JavaScript Engineer's Portfolio 6 | 7 | To create an impressive portfolio, you'll need to include the following key components: 8 | 9 | 1. **Personal Information:** Start with a brief introduction that includes your name, a professional photo, and a short bio highlighting your expertise and goals as a JavaScript engineer. 10 | 2. **Contact Form:** Make it easy for potential employers or clients to get in touch with you by creating a contact form directly on your website. 11 | 3. **Skills and Technologies:** Showcase your technical skills and the programming languages, frameworks, and tools you're proficient in. This can be presented in a visually appealing way using icons or badges. 12 | 4. **Projects:** Feature your best projects with a clear description, a link to the live demo, and a link to the GitHub repository. Include a mix of personal projects, freelance work, and open-source contributions to demonstrate your versatility. 13 | 5. **Work Experience:** Provide a brief overview of your professional experience, including your job titles, employers, and dates of employment. Focus on relevant roles and responsibilities that highlight your skills as a JavaScript engineer. 14 | 6. **Education and Certifications:** List your educational background, including degrees, certifications, and any relevant professional development courses you've completed. 15 | 7. **Testimonials:** Include quotes or recommendations from colleagues, mentors, or clients who can speak to your skills and work ethic. 16 | 17 | ## Optimizing Your Portfolio 18 | 19 | Once you've built your portfolio, follow these tips to optimize it and make it stand out: 20 | 21 | 1. **Responsive Design:** Ensure your portfolio is responsive and looks great on all devices, including desktops, tablets, and smartphones. 22 | 2. **Performance:** Optimize your portfolio for performance by compressing images, minifying CSS and JavaScript files, and using a content delivery network (CDN) to improve load times. 23 | 3. **Accessibility:** Make your portfolio accessible to all users by following web accessibility guidelines, such as using appropriate alt tags for images and providing clear, descriptive text for links. 24 | 4. **Navigation:** Create a user-friendly navigation menu that makes it easy for visitors to find the information they're looking for. 25 | 5. **SEO:** Optimize your portfolio for search engines by using relevant keywords in your content, creating descriptive page titles and meta descriptions, and including structured data where appropriate. 26 | 27 | ## Incorporating Testing, Observability, and Telemetry 28 | 29 | ### Testing 30 | 31 | Showcasing your understanding and implementation of different testing methodologies is crucial: 32 | 33 | 1. **Unit Testing:** Highlight your use of unit tests to ensure individual components of your applications function correctly. Include examples from your projects where you have written and executed unit tests. 34 | 2. **Integration Testing:** Demonstrate how you perform integration testing to verify that different modules or services used by your applications work well together. 35 | 3. **End-to-End (E2E) Testing:** Explain your approach to E2E testing to simulate real user scenarios and validate the system's functionality as a whole. 36 | 37 | ### Observability and Telemetry 38 | 39 | Include sections in your projects that discuss how you handle observability and telemetry: 40 | 41 | 1. **Logging:** Describe your strategy for logging application activities and how you use logs to monitor and troubleshoot issues. 42 | 2. **Metrics:** Highlight how you collect and analyze metrics to understand the performance and health of your applications. 43 | 3. **Tracing:** Explain how you implement tracing to follow the flow of requests through your application and diagnose performance bottlenecks or errors. 44 | 45 | ## Crafting Compelling Stories for Your Portfolio 46 | 47 | To make your portfolio truly engaging, incorporate storytelling tactics that highlight your journey, experiences, and accomplishments. Using techniques from the Storyteller Tactics PDF can help you craft compelling narratives: 48 | 49 | - **Unexpected Hooks:** Surprise your audience with unique angles or unexpected insights about your projects or career. This could be a "Why you'll fail" perspective that catches attention and then shows how you overcame challenges. 50 | - **Expertise Showcases:** Position yourself as an expert by sharing listicles, life-hacks, or secrets that demonstrate your insider knowledge and experience 51 | - **Personal Anecdotes:** Share personal stories that illustrate your passion for JavaScript and problem-solving abilities. These stories can make your portfolio more relatable and memorable. 52 | 53 | By following the tips and guidelines provided in the [Portfolio Checklist for JavaScript Engineers](https://vets-who-code.notion.site/Portfolio-Checklist-for-Javascript-Engineers-44e9b849bf6d4c5db8273993dfd748c3), and incorporating storytelling techniques, you'll be well on your way to building a professional, engaging, and optimized portfolio that showcases your skills and expertise as a JavaScript engineer. --------------------------------------------------------------------------------