<?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: kennethcassel</title>
    <description>The latest articles on DEV Community by kennethcassel (@kennethcassel).</description>
    <link>https://dev.to/kennethcassel</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%2F466308%2F7f63a758-ec8f-4b90-a4f3-3185aef3c097.jpg</url>
      <title>DEV Community: kennethcassel</title>
      <link>https://dev.to/kennethcassel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kennethcassel"/>
    <language>en</language>
    <item>
      <title>We're building an OSS library to embed executable code snippets on your site!</title>
      <dc:creator>kennethcassel</dc:creator>
      <pubDate>Wed, 29 Sep 2021 15:27:15 +0000</pubDate>
      <link>https://dev.to/kennethcassel/we-re-building-an-oss-library-to-embed-executable-code-snippets-on-your-site-1dgb</link>
      <guid>https://dev.to/kennethcassel/we-re-building-an-oss-library-to-embed-executable-code-snippets-on-your-site-1dgb</guid>
      <description>&lt;p&gt;Hey y'all! &lt;/p&gt;

&lt;p&gt;We're building an open-source tool which makes it easy to include executable code snippets on your site. &lt;/p&gt;

&lt;p&gt;Today we support:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python + basic scientific computing stack (numpy, pandas, etc)&lt;/li&gt;
&lt;li&gt;Typescript&lt;/li&gt;
&lt;li&gt;Python's w/ Matplotlib &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's called &lt;a href="https://www.runwasm.com" rel="noopener noreferrer"&gt;run-wasm&lt;/a&gt;, it's free and open-source :) &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpb6j09n1o95rr6v6w3an.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%2Fpb6j09n1o95rr6v6w3an.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We're on a mission to build the best tools for sharing instructional programming knowledge and run-wasm is just one small step in that mission. &lt;/p&gt;

&lt;p&gt;We're leveraging existing WASM based versions of popular languages to execute code on the client. &lt;/p&gt;

&lt;p&gt;Today, there are tons of &lt;a href="https://github.com/appcypher/awesome-wasm-langs" rel="noopener noreferrer"&gt;really awesome WASM based languages&lt;/a&gt;, but most of them require a lot of configuring to use.&lt;/p&gt;

&lt;p&gt;We're building an abstraction over these languages so that people can easily execute code in their projects via a simple api. &lt;/p&gt;

&lt;p&gt;If you're looking for something fun to work on for Hacktoberfest, we're going to add a lot of new issues for the month :) &lt;/p&gt;

&lt;p&gt;Can't wait to see what people build with it!&lt;/p&gt;

</description>
      <category>news</category>
      <category>github</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>I built an interactive course that teaches you vim in the browser. </title>
      <dc:creator>kennethcassel</dc:creator>
      <pubDate>Mon, 08 Feb 2021 12:12:12 +0000</pubDate>
      <link>https://dev.to/kennethcassel/i-built-an-interactive-course-that-teaches-you-vim-in-the-browser-411c</link>
      <guid>https://dev.to/kennethcassel/i-built-an-interactive-course-that-teaches-you-vim-in-the-browser-411c</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5Z_qm4wM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/s7mqi79ricux4xnt7vmy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5Z_qm4wM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/s7mqi79ricux4xnt7vmy.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I recently launched an interactive course (&lt;a href="https://www.vim.so"&gt;https://www.vim.so&lt;/a&gt;) that helps you learn vim in the browser. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why build this?
&lt;/h2&gt;

&lt;p&gt;I built vim.so because I was frustrated with how unapproachable it was to learn vim. The text-based tutorials didn't do a great job of helping me actually practice and get comfortable with vim. &lt;/p&gt;

&lt;p&gt;I wanted something to help with muscle memory and be an easier onboarding to vim for developers. &lt;/p&gt;

&lt;p&gt;This video shows what a lesson looks like 👇 &lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__video-wrapper"&gt;
        &lt;div class="ltag__twitter-tweet__media--video-preview"&gt;
          &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--90t_SR2O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/ext_tw_video_thumb/1351178856582041600/pu/img/dNYhk5MBP1-VU2zB.jpg" alt="unknown tweet media content"&gt;
          &lt;img src="/assets/play-butt.svg" class="ltag__twitter-tweet__play-butt" alt="Play butt"&gt;
        &lt;/div&gt;
        &lt;div class="ltag__twitter-tweet__video"&gt;
          
            
          
        &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--b1csa1TQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1326189080514883584/HlGDdqUq_normal.jpg" alt="Kenneth Cassel 🐍 profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Kenneth Cassel 🐍
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/kennethcassel"&gt;@kennethcassel&lt;/a&gt;

      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      &lt;a href="https://t.co/9W4uAhx1DS"&gt;vim.so&lt;/a&gt; is now in full release!&lt;br&gt;&lt;br&gt;Learn and master vim with 10 interactive lessons designed to maximize your vim performance fast. &lt;br&gt;&lt;br&gt;It's the last year of my learnings condensed into 10 actionable exercises in the browser. &lt;br&gt;&lt;br&gt;Retweets appreciated 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      14:45 PM - 18 Jan 2021
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1351178904686514178" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1351178904686514178" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1351178904686514178" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;h2&gt;
  
  
  Why learn vim?
&lt;/h2&gt;

&lt;p&gt;If you're a productivity nerd (🖐) you'll probably like vim. Once you get past the learning curve, it feels like super-powered CMD+C, CMD+ V. &lt;/p&gt;

&lt;p&gt;You can do things like "select all text within brackets" or "replace all text within quotes" or "go to first occurrence of this letter in this line". &lt;/p&gt;

&lt;p&gt;With practice, it feels easier to stay in the flow while editing code. &lt;/p&gt;

&lt;p&gt;The great thing about it nowadays is that you can use vim within most IDE's and code editors. &lt;/p&gt;

&lt;h2&gt;
  
  
  Vim in VS Code
&lt;/h2&gt;

&lt;p&gt;I use vim inside of vs code as my main development flow. I'd been using vs code for years and didn't want to switch off of it. I think it's a powerful combination and allows you to start adding vim commands little by little while you're learning. &lt;/p&gt;

&lt;p&gt;The vim extension I use is called vscodevim &lt;a href="https://marketplace.visualstudio.com/items?itemName=vscodevim.vim"&gt;https://marketplace.visualstudio.com/items?itemName=vscodevim.vim&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>tooling</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I Built An Open-Source Resource for Data Scientists In an Evening</title>
      <dc:creator>kennethcassel</dc:creator>
      <pubDate>Thu, 05 Nov 2020 14:35:16 +0000</pubDate>
      <link>https://dev.to/kennethcassel/i-built-an-open-source-resource-for-data-scientists-in-an-evening-4alc</link>
      <guid>https://dev.to/kennethcassel/i-built-an-open-source-resource-for-data-scientists-in-an-evening-4alc</guid>
      <description>&lt;p&gt;I built the first version of &lt;a href="https://www.usepandas.com" rel="noopener noreferrer"&gt;Use Pandas&lt;/a&gt; in one evening. It's a collection of easy to use Python pandas recipes for Data Scientists, Data Analysts, and Machine Learning engineers. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2l4iv1sgrvfjoeb0nr6l.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%2Fi%2F2l4iv1sgrvfjoeb0nr6l.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Leveraging existing tools, I was able to quickly spin up and deploy a new site. I shared it with my LinkedIn and quickly got some decent traffic. The site went live October 22nd.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick highlights of the first 14 days
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;2622 Unique Visitors&lt;/li&gt;
&lt;li&gt;5055 pageviews&lt;/li&gt;
&lt;li&gt;A principal research from Microsoft (contributed)[&lt;a href="https://github.com/kennethcassel/usepandas/pull/20" rel="noopener noreferrer"&gt;https://github.com/kennethcassel/usepandas/pull/20&lt;/a&gt;] to the project!&lt;/li&gt;
&lt;li&gt;Tons of new &lt;a href="https://www.linkedin.com/in/kenneth-cassel/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; and &lt;a href="https://twitter.com/KennethCassel" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; followers &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So let's get on to how I actually made the site! &lt;/p&gt;

&lt;h2&gt;
  
  
  Resources I used to make the service
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.namecheap.com/logo-maker/" rel="noopener noreferrer"&gt;Namecheap Logo Maker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gatsbyjs.com/" rel="noopener noreferrer"&gt;Gatsby&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.netlify.com/" rel="noopener noreferrer"&gt;Netlify&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I built it
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Choose a Gatsby theme.
&lt;/h3&gt;

&lt;p&gt;My site is for code recipes so I had to find a gatsby theme that would take care of the bulk of this. &lt;/p&gt;

&lt;p&gt;I was looking for a theme that had code blocks, syntax highlighting, dynamic page routes, and was mobile responsive. &lt;/p&gt;

&lt;p&gt;I ended up finding &lt;a href="https://www.gatsbyjs.com/starters/Rocketseat/gatsby-starter-rocket-docs" rel="noopener noreferrer"&gt;this theme&lt;/a&gt; which met all my criteria. &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Choose a name.
&lt;/h3&gt;

&lt;p&gt;I was heavily inspired by Gabe Raglands site for react hooks called &lt;a href="https://www.usehooks.com" rel="noopener noreferrer"&gt;usehooks&lt;/a&gt;, so I chose a similar name. I purchased the domain usepandas.com from NameCheap. &lt;/p&gt;

&lt;h3&gt;
  
  
  3. Make it your own
&lt;/h3&gt;

&lt;p&gt;I used the &lt;a href="https://www.namecheap.com/logo-maker/" rel="noopener noreferrer"&gt;Namecheap Logo Maker&lt;/a&gt; to easily create a logo. I'm not a graphic designer but I understand the importance of something looking nice. The NameCheap logo creator is pretty awesome and it's FREE! &lt;/p&gt;

&lt;h3&gt;
  
  
  4. Deploy it
&lt;/h3&gt;

&lt;p&gt;The gatsby + netlify integration is so easy to use. On merge's to the master branch of my repo, the site is updated. I never used it before this project and it was pretty easy to learn. &lt;/p&gt;

&lt;h3&gt;
  
  
  5. Share it with the world!
&lt;/h3&gt;

&lt;p&gt;When I launched Use Pandas, I only had a few basic recipes on the site. I still got overwhelming positive feedback which gave me the motivation to add more. &lt;/p&gt;

&lt;p&gt;I'm adding more recipes all the time! &lt;/p&gt;

&lt;p&gt;If you'd like to here more from me, I build in public &lt;a href="https://twitter.com/KennethCassel" rel="noopener noreferrer"&gt;@KennethCassel&lt;/a&gt;&lt;/p&gt;

</description>
      <category>motivation</category>
      <category>datascience</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Getting rejected from Facebook ended up being a blessing in disguise</title>
      <dc:creator>kennethcassel</dc:creator>
      <pubDate>Thu, 22 Oct 2020 10:58:21 +0000</pubDate>
      <link>https://dev.to/kennethcassel/getting-rejected-from-facebook-ended-up-being-a-blessing-in-disguise-38hn</link>
      <guid>https://dev.to/kennethcassel/getting-rejected-from-facebook-ended-up-being-a-blessing-in-disguise-38hn</guid>
      <description>&lt;p&gt;In September 2018, I applied for an internship at FB. I got the interview but &lt;strong&gt;I bombed it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It all ended up working out great for me in the end though.&lt;br&gt;
Failing at the interview directly led to me landing &lt;strong&gt;my dream job.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;(Check the story out in video form below, or keep scrolling for the text version) &lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/UzF7_mtvCNM"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  September 2018
&lt;/h2&gt;

&lt;p&gt;I'm a few years into studying CS, and I'm actively searching for a good internship or job opportunity. A good friend of mine ends up landing a FB internship interview. &lt;/p&gt;

&lt;p&gt;So I ask how he got the interview and he forwards me the recruiter's information. &lt;/p&gt;

&lt;p&gt;I sent him this email. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bqhp8E8Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/upiikvx0wg0tt2dakllk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bqhp8E8Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/upiikvx0wg0tt2dakllk.png" alt="email to FB recruiter"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Shortly after that email and some back and forth, I land an internship interview with FB! This could be huge. I'm beyond excited, and I'm a little bit nervous.&lt;/p&gt;

&lt;p&gt;I start preparing for the coding interview. I'm practicing leet code, whiteboarding with my friends, and studying up on interview tactics.&lt;/p&gt;

&lt;h3&gt;
  
  
  Searching for additional interview practice
&lt;/h3&gt;

&lt;p&gt;I noticed that I wasn't nervous when I was whiteboarding with my friends. &lt;/p&gt;

&lt;p&gt;How could I recreate the feeling that I'd have during the interview? &lt;/p&gt;

&lt;p&gt;Luckily enough, I find a local developer group is hosting mock interviews! So, I sign up and go. &lt;/p&gt;

&lt;p&gt;Algorithm questions weren't super popular at the meetup but I still got to practice a few simple ones under pressure. &lt;/p&gt;

&lt;p&gt;Towards the end of the mock interview sessions, I end up meeting a guy named David. He's one of the co-owners of a local boutique software firm. We hit it off and he seemed impressed with my performance in the interview. &lt;/p&gt;

&lt;p&gt;We decided to stay in touch and exchanged information. I add him on LinkedIn.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Facebook Interview
&lt;/h3&gt;

&lt;p&gt;The day of the FB internship interview came before I knew it and I still felt a bit underprepared.&lt;/p&gt;

&lt;p&gt;I was able to find a solution but it was a O(n^3) (read: a very bad) runtime. &lt;/p&gt;

&lt;p&gt;The interviewer seemed a bit distracted during the interview and I got the impression that he wasn't very impressed at all with my performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rejected.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One good thing about the FB process was they got back to me almost immediately. The next day I was informed that I didn't pass the interview. I was a little bummed but not very surprised. &lt;/p&gt;

&lt;p&gt;I still had a goal of landing a good internship and quickly got back to trying to improve my chances. &lt;strong&gt;One way that I did this was by going to lots of hackathons and documenting my progress on LinkedIn.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Through some luck and hard work, I was able to win 1st place at a hackathon with a team of my good friends. &lt;/p&gt;

&lt;h3&gt;
  
  
  Serendipity
&lt;/h3&gt;

&lt;p&gt;David, the guy with the boutique consulting firm messaged our team on LinkedIn after our win. He had a project in mind for us. A paid project. &lt;/p&gt;

&lt;p&gt;He was interested in hiring our team to build some proof of concepts in partnership with one of his clients. &lt;/p&gt;

&lt;p&gt;After some back and forth, he brought 4 of us on as interns. &lt;/p&gt;

&lt;p&gt;2 years later, 3 of us still work here full-time! &lt;/p&gt;

&lt;p&gt;An overview of the events:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Friend gets a FB internship interview&lt;/li&gt;
&lt;li&gt;I ask for a referral to the recruiter and get the FB interview as well&lt;/li&gt;
&lt;li&gt;In order to prep for the interview, I go to a local interview prep meetup&lt;/li&gt;
&lt;li&gt;I meet David at the meetup, who owns a consulting firm&lt;/li&gt;
&lt;li&gt;I bomb the FB interview&lt;/li&gt;
&lt;li&gt;I go to hackathons and stay active on LinkedIn&lt;/li&gt;
&lt;li&gt;David notices my activity and happens to have a project that would be perfect for a hackathon team&lt;/li&gt;
&lt;li&gt;David hires me, the friend who referred me to the FB interview, and 2 others &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Current job and how it fits me better than FB
&lt;/h3&gt;

&lt;p&gt;I've been here for 2 years now and it's been an incredible journey. I'm a full-stack software engineer. &lt;/p&gt;

&lt;p&gt;I get to work on a variety of projects and my schedule is incredibly flexible. I mostly work from home, make a great living, and work with some of the smartest and fun people I've met. &lt;/p&gt;

&lt;p&gt;There's so much opportunity for growth here and I really like the small company feel. My work directly has an impact on the entire company. &lt;/p&gt;

&lt;p&gt;Thanks for reading y'all! &lt;/p&gt;

&lt;h3&gt;
  
  
  How has failing helped you in your career?
&lt;/h3&gt;

</description>
      <category>career</category>
      <category>beginners</category>
      <category>motivation</category>
    </item>
    <item>
      <title>Get More Done Using a Hack Learned from Twitch Streamers</title>
      <dc:creator>kennethcassel</dc:creator>
      <pubDate>Tue, 20 Oct 2020 13:37:26 +0000</pubDate>
      <link>https://dev.to/kennethcassel/i-get-more-done-using-a-hack-learned-from-twitch-streamers-1f80</link>
      <guid>https://dev.to/kennethcassel/i-get-more-done-using-a-hack-learned-from-twitch-streamers-1f80</guid>
      <description>&lt;p&gt;I've noticed that &lt;strong&gt;reducing any friction&lt;/strong&gt; on my side project is a &lt;strong&gt;HUGE&lt;/strong&gt; productivity boost.&lt;/p&gt;

&lt;p&gt;Reducing the number of steps to get to the actual coding part is critical, especially when tackling small tasks.&lt;/p&gt;

&lt;p&gt;I found a simple way to launch my side project with the push of one button. &lt;/p&gt;

&lt;p&gt;Now when I want to work on my side project, all I have to do is &lt;strong&gt;press one button&lt;/strong&gt; and my dev environment spins up and my project builds automatically. &lt;/p&gt;

&lt;p&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/ItDTBECp7ZM3h2S0Kk/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/ItDTBECp7ZM3h2S0Kk/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I learned this trick from Twitch streamers.&lt;/p&gt;

&lt;p&gt;Some streamers use a device called a Stream Deck. It's a small hardware device that lets you launch macros with the push of a button.&lt;/p&gt;

&lt;p&gt;Streamers use these to display certain graphics, apply sound effects, and more in their streams.&lt;/p&gt;

&lt;p&gt;I found that El Gato, the maker of the stream deck, also publishes an app version of the stream deck. &lt;/p&gt;

&lt;p&gt;*&lt;em&gt;I've started using it in my dev workflow and have found it to be great productivity boost for me. *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here's a link to the &lt;a href="https://www.elgato.com/en/gaming/stream-deck-mobile"&gt;El Gato Stream Deck app&lt;/a&gt; for anyone curious.&lt;/p&gt;

&lt;p&gt;You can set up different commands, macros, etc, and control your computer through the app. &lt;/p&gt;

&lt;p&gt;I have a variety of shortcuts set up. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GDGj92Rl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/B9idxLc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GDGj92Rl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/B9idxLc.png" alt="Imgur"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The green staircase opens a folder with various commands for starting my project Deliberate Python. &lt;/li&gt;
&lt;li&gt;The owl is a folder with commands for my day job project.&lt;/li&gt;
&lt;li&gt;GH is a shortcut that types my github URL.&lt;/li&gt;
&lt;li&gt;LI is a shorcut that types my LinkedIn URL.&lt;/li&gt;
&lt;li&gt;Stack overflow, github, notion, and hacker news are all shortcuts as well. These buttons open a browser and navigates to those URL's &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I used to get started on adding features to my project:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open terminal&lt;/li&gt;
&lt;li&gt;Navigate to my project&lt;/li&gt;
&lt;li&gt;&lt;code&gt;code deliberatepython/front-end&lt;/code&gt;&lt;/li&gt;
&lt;li&gt; run &lt;code&gt;npm start&lt;/code&gt; in vs code&lt;/li&gt;
&lt;li&gt;Switch over to another desktop so I can open the backend code in that workspace&lt;/li&gt;
&lt;li&gt;Go back to terminal&lt;/li&gt;
&lt;li&gt;&lt;code&gt;code my_backend_project&lt;/code&gt;&lt;/li&gt;
&lt;li&gt; &lt;code&gt;pyenv shell deliberatepython&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;uvicorn sql_app.main:app --reload&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Using the Stream Deck app
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Press the Front-end button on the stream deck app and let it complete all the front-end steps
If I need the backend spun up, then I just:&lt;/li&gt;
&lt;li&gt;Press back-end button on the stream deck app and let it complete all the back-end steps.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I've noticed that I'm able to work on small features easier when I only have 10-20 minutes here and there using this system. It's been such a big productivity boost.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>sideprojects</category>
      <category>startup</category>
    </item>
    <item>
      <title>5 Things I didn't learn in college studying Computer Science</title>
      <dc:creator>kennethcassel</dc:creator>
      <pubDate>Tue, 13 Oct 2020 12:15:58 +0000</pubDate>
      <link>https://dev.to/kennethcassel/5-things-i-didn-t-learn-in-college-studying-computer-science-4n82</link>
      <guid>https://dev.to/kennethcassel/5-things-i-didn-t-learn-in-college-studying-computer-science-4n82</guid>
      <description>&lt;p&gt;I studied computer science in college and completed my third year level courses before I dropped out to work in the industry full-time. &lt;/p&gt;

&lt;p&gt;I've been a software engineer for 2 years now and I'd like to share 5 things I didn't learn in CS School. &lt;/p&gt;

&lt;p&gt;If you're more of a video content type of person feel free to watch the video version here as well: &lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/cRAYZFCVx4E"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Code Review Process
&lt;/h2&gt;

&lt;p&gt;When I completed my first code review, I was overwhelmed. It was for a colleague with &amp;gt; 15 years experience. I left no comments ,because in my mind, I had nothing valuable to contribute. And worse, what would my colleague think of a new engineer commenting on his code? Surely he'd think it was rude.&lt;/p&gt;

&lt;p&gt;This is as far from the truth as it can be. My manager noticed I merged the PR with no comments. He kindly pulled me aside later on, and let me know what code reviews were for. &lt;/p&gt;

&lt;p&gt;Code reviews are not a personal attack. They aren't a comment on someone's ability. They are meant to be a constructive form of review.&lt;/p&gt;

&lt;p&gt;Code reviews are beneficial for the reviewer, the reviewee, and the code base.&lt;/p&gt;

&lt;p&gt;If you're leaving a review, it teaches you to think critically about someone else's code. &lt;/p&gt;

&lt;p&gt;Reading code effectively is one of the best skills you can develop as a software engineer. &lt;/p&gt;

&lt;p&gt;If you're having your code reviewed, it encourages you to write readable code. You have this added pressure that someone else will look at your code, so it makes you write to a higher standard. Also, you get valuable feedback on your code.&lt;/p&gt;

&lt;p&gt;Lastly, it helps the codebase stay up to current standards. Code review helps prevent unwanted, unnecessary, or incorrect code from entering your codebase.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Importance of UI
&lt;/h2&gt;

&lt;p&gt;UI is important. UI is important. UI IS IMPORTANT!&lt;/p&gt;

&lt;p&gt;Whether you're making a side project, or a project for a client, UI is important. Even for internal tools.&lt;/p&gt;

&lt;p&gt;UI is how your product is perceived by everyone who is not a developer. &lt;/p&gt;

&lt;p&gt;I learned this lesson when I worked on a project and built out all functionality without focusing on UI. The client perceived that very little work had been done, even when there was a ton of work completed.&lt;/p&gt;

&lt;p&gt;UI is how you let people know you care about your product.&lt;/p&gt;

&lt;p&gt;Even if you're not a designer you can use popular tools to make your work look better.&lt;/p&gt;

&lt;p&gt;Some tools I use often:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dribbble - Tons of beautiful UI designs and examples to get inspiration from &lt;/li&gt;
&lt;li&gt;TailwindCSS - A fantastic and easy to use CSS utility&lt;/li&gt;
&lt;li&gt;Cooloors - Generate beautiful color palletes &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. CI/CD
&lt;/h2&gt;

&lt;p&gt;CI/CD is continuous integration and continuous deployment.&lt;/p&gt;

&lt;p&gt;I never even heard about CI/CD in college. It wasn't until my first software job where I learned just how important it can be.&lt;/p&gt;

&lt;p&gt;There are ton of great resources about CI/CD online so I won't go too in depth here.&lt;/p&gt;

&lt;p&gt;The main benefits are shorter iteration times, the ability to deploy easily, and less manual errors.&lt;/p&gt;

&lt;p&gt;Getting comfortable setting up your projects with a CI/CD pipeline will help you ship faster. &lt;/p&gt;

&lt;h2&gt;
  
  
  4. Agile / Project Management
&lt;/h2&gt;

&lt;p&gt;Most companies use some form of project management like Agile, Scrum, or other popular methodologies.&lt;/p&gt;

&lt;p&gt;The methodologies dictate meeting frequency, deadlines, dealing with scope creep, and more. &lt;/p&gt;

&lt;p&gt;We didn't cover this topic in school. &lt;/p&gt;

&lt;p&gt;Luckily, it's pretty easy to learn the basics. &lt;/p&gt;

&lt;p&gt;It was definitely eye-opening to see how software was built in the real world.&lt;/p&gt;

&lt;p&gt;It'd be worthwhile looking into the various methodologies and seeing which one aligns well with your personal preferences.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Working with Legacy Codebases
&lt;/h2&gt;

&lt;p&gt;This is a big one. Working with legacy codebases is a large part of most software engineering roles. I'm a bit surprised they don't teach strategies for exploring legacy codebases in  University.&lt;/p&gt;

&lt;p&gt;There is a gigantic learning curve with familiarizing oneself with a legacy codebase.&lt;/p&gt;

&lt;p&gt;One way to get this experience before your first job is to contribute to open-source. &lt;/p&gt;

&lt;p&gt;Exploring an existing project and finding a way to make a meaningful contribution will be a huge first step to becoming a better software developer. &lt;/p&gt;

&lt;h2&gt;
  
  
  That's it!
&lt;/h2&gt;

&lt;p&gt;If you have any thoughts on other items that CS school doesn't teach you, I'd love to hear them! Comment below. &lt;/p&gt;

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