<?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: Sam Borick</title>
    <description>The latest articles on DEV Community by Sam Borick (@samborick).</description>
    <link>https://dev.to/samborick</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%2F220999%2F0aa5a31a-9bab-4fcd-936d-69c29e2bf309.jpeg</url>
      <title>DEV Community: Sam Borick</title>
      <link>https://dev.to/samborick</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/samborick"/>
    <language>en</language>
    <item>
      <title>I Got Over Myself This Weekend and Made Something</title>
      <dc:creator>Sam Borick</dc:creator>
      <pubDate>Mon, 08 Feb 2021 09:09:00 +0000</pubDate>
      <link>https://dev.to/samborick/i-got-over-myself-this-weekend-and-made-something-c08</link>
      <guid>https://dev.to/samborick/i-got-over-myself-this-weekend-and-made-something-c08</guid>
      <description>&lt;p&gt;Has this ever happened to you?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Have an idea&lt;/li&gt;
&lt;li&gt;Start working on it&lt;/li&gt;
&lt;li&gt;Make a little progress&lt;/li&gt;
&lt;li&gt;Have an idea for something else that’s honestly better than your current idea&lt;/li&gt;
&lt;li&gt;Become paralyzed with indecision between these two great ideas&lt;/li&gt;
&lt;li&gt;Go re-watch Avatar the Last Airbender again instead&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Earlier this week, this was me.&lt;/p&gt;

&lt;p&gt;Except, for whatever reason, I just skipped step 5. I did step 4, I had a better idea. it was really good, simple, within my ability to do, and wouldn’t take that long. It even sounded fun.&lt;/p&gt;

&lt;p&gt;So I dropped my original idea.&lt;/p&gt;

&lt;p&gt;And yesterday I published &lt;a href="http://howappsaremade.com"&gt;howappsaremade.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I flip-flopped. I lost focus. And it was awesome.&lt;/p&gt;

&lt;p&gt;I really want to take the time to try and understand why this kind of decision paralysis happens, and why it didn’t happen this time.&lt;/p&gt;

&lt;h2&gt;
  
  
  #1: Focus
&lt;/h2&gt;

&lt;p&gt;There’s a lot of advice out there about focus and priorities. And most of the time, for me, that advice is crap. Advice around focus generally boils down to ‘focus on one thing. Do not bounce around on projects, that is not a good use of time.“. I’ve read entire books about this, namely Deep Work by Cal Newport. The whole book can be summarized as “if you can, hide in the woods and work on your one thing alone”&lt;/p&gt;

&lt;p&gt;At the core if all this advice is this core concept: “instead of being distracted, choose instead to be focused”.&lt;/p&gt;

&lt;p&gt;This advice is a false dichotomy though. Right now, in this world, with my brain, I’m not able to focus on one thing. And that’s not a bad thing. Instead of resisting where my ideas take me, why not follow where they lead?&lt;/p&gt;

&lt;p&gt;There are lots of useful techniques for non-focused productivity. &lt;a href="http://www.structuredprocrastination.com/"&gt;Structured Procrastination&lt;/a&gt; and &lt;a href="https://www.lichtenbergianism.com/"&gt;Lichtenbergianism&lt;/a&gt; are both formal-ish methods of losing focus. The fact that others have documented these strategies shows that I’m not alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  #2: Shipping
&lt;/h2&gt;

&lt;p&gt;As I was working on shipping &lt;a href="http://howappsaremade.com"&gt;howappsaremade.com&lt;/a&gt;, I kept repeating to myself “It doesn’t have to be perfect”. It was almost like a mantra. The reason was really simple, it’s an experiment. I tend to be very perfectionist, so I have a hard time declaring things finished. But when it’s an experiment, it doesn’t need to be finished. It’s almost better that it’s not finished, if it means you get to learn faster.&lt;/p&gt;

&lt;p&gt;And that’s really the core of why I think I was able to launch this time instead of flailing. I hope this was at least a little helpful. It definitely helped me work through this!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>My Notion Powered Blog</title>
      <dc:creator>Sam Borick</dc:creator>
      <pubDate>Sun, 08 Nov 2020 17:19:00 +0000</pubDate>
      <link>https://dev.to/samborick/my-notion-powered-blog-goi</link>
      <guid>https://dev.to/samborick/my-notion-powered-blog-goi</guid>
      <description>&lt;p&gt;Hello! I’ve just finished making some really neat changes to the way my blog works behind the scenes. I want to make sure everything works, so here’s a quick article!&lt;/p&gt;

&lt;h2&gt;
  
  
  Notion
&lt;/h2&gt;

&lt;p&gt;I was inspired by this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.kowalczyk.info/article/a8cf04d756ec4963905960822b004440/powering-a-blog-with-notion-and-netlify.html"&gt;Powering a blog with Notion and Netlify&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This person took the time to write a golang library that can pull data from notion, and there’s no way I could have gotten this done without it!&lt;/p&gt;

&lt;p&gt;I used this library to dump all the pages within a certian notion database to markdown files.&lt;/p&gt;

&lt;p&gt;From there I do some massaging on the files. Things like removing unnessessary markdown elements like the title and modifying notion links to be non-notion links. That way I can link to other articles with just the &lt;code&gt;+&lt;/code&gt; button in notion: &lt;a href="https://dev.to/articles/projects/"&gt;projects&lt;/a&gt;. Neat!&lt;/p&gt;

&lt;h2&gt;
  
  
  Hugo
&lt;/h2&gt;

&lt;p&gt;To make this as easy as possible, I wanted to integrate with my existing website. Luckily Hugo is all powered by markdown, so I can insert my massaged markdown directly into my hugo site.&lt;/p&gt;

&lt;h2&gt;
  
  
  Auto updating
&lt;/h2&gt;

&lt;p&gt;The goal is for me to be able to write things in notion, and have it just appear on the internet. I decided to set up a simple cron script that would run every hour.&lt;/p&gt;

&lt;p&gt;Of course cron is somewhat difficult to get working, but I found these resources super useful:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cyberciti.biz/cloud-computing/why-is-my-linux-unix-crontab-job-not-working/"&gt;I put a cronjob in /etc/cron.{hourly,daily,weekly,monthly} and it does not run and how can I troubleshoot it? - nixCraft&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://unix.stackexchange.com/a/245056"&gt;how can I make cron run a job right now, for testing/debugging? without changing the schedule!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To summarize:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cron scripts have to omit any file extension, no &lt;code&gt;.sh&lt;/code&gt; can be present&lt;/li&gt;
&lt;li&gt;they also need the shebang in the script&lt;/li&gt;
&lt;li&gt;you can run &lt;code&gt;run-parts /etc/cron.hourly&lt;/code&gt; to kick off a cron script to see if it works&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sharing
&lt;/h2&gt;

&lt;p&gt;Through the magic of RSS I can share things automatically also! &lt;a href="http://dev.to"&gt;Dev.to&lt;/a&gt; already supports syndicating articles from an RSS feed, so I can automatically share there for no work. To share links to twitter, I set up a simple RSS to Buffer Zap on Zapier, so a tweet can go out at an appropriate time.&lt;/p&gt;

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

&lt;p&gt;Hopefully this will make it easier for me to write more! At the minimum it was a fun way to spend part of a weekend.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What factorio taught me about work</title>
      <dc:creator>Sam Borick</dc:creator>
      <pubDate>Sun, 23 Aug 2020 10:37:00 +0000</pubDate>
      <link>https://dev.to/samborick/what-factorio-taught-me-about-work-53gh</link>
      <guid>https://dev.to/samborick/what-factorio-taught-me-about-work-53gh</guid>
      <description>&lt;p&gt;Lately I’ve been playing a lot of Factorio. It’s a fantastic game, which I highly recommend if you have time you want to kill.&lt;/p&gt;

&lt;p&gt;After a few hours of playing this morning, I was thinking about my attitude towards factorio versus my attitude about work, and I had some insights I’d like to share.This is going to be a bit of a ramble, so I’ll sum up at the end.&lt;/p&gt;

&lt;p&gt;In factorio your job is build a factory. You have to collect resources, organize logistics, research new parts, and defend yourself against the attacking giant bugs.&lt;/p&gt;

&lt;p&gt;In general, you want to spend as much of your time as you can on researching and building new parts. Like upgrading your power system from steam to nuclear.&lt;/p&gt;

&lt;p&gt;But frequently other ‘mundane’ things will come up.&lt;/p&gt;

&lt;p&gt;In programming, we draw this distinction between refactoring and adding new features. When talking about business we might talk about working ‘in the business’ rather than ‘on the business’. The implication is usually that we refractor in order to add more features faster later.&lt;/p&gt;

&lt;p&gt;In factorio, maybe the bugs are attacking again, or you’re out of iron, or you need to make your steam power a bit bigger to last you until you’re done with the nuclear reactor.&lt;/p&gt;

&lt;p&gt;When those things happen, sometimes I feel like it’s a failure of planning on my part. I should have known from the start that this would happen and do X. But that’s not a reasonable expectation for myself. I can’t see the future.&lt;/p&gt;

&lt;p&gt;I found if I try and keep working on the big picture stuff while ‘mundane’ things build up, eventually the whole thing will collapse.&lt;/p&gt;

&lt;p&gt;So I have to do some side quests. I have to take a step back and refractor.&lt;/p&gt;

&lt;p&gt;As a result I’m not working on the most important item, but I &lt;strong&gt;am&lt;/strong&gt; working on the most urgent.&lt;/p&gt;

&lt;p&gt;And the nice thing, is eventually all of those little mundane tasks die down, and you can step back and work on the big projects.&lt;/p&gt;

&lt;p&gt;And all that experience on your side quests will help you be better prepared for your big projects&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Core Problems for New Programmers</title>
      <dc:creator>Sam Borick</dc:creator>
      <pubDate>Fri, 14 Aug 2020 01:19:15 +0000</pubDate>
      <link>https://dev.to/samborick/core-problems-for-new-programmers-301k</link>
      <guid>https://dev.to/samborick/core-problems-for-new-programmers-301k</guid>
      <description>&lt;p&gt;Hello internet! If you've been following me on &lt;a href="https://twitter.com/SamBorick"&gt;Twitter&lt;/a&gt;, you know I've been participating in #100DaysOfProjects, where cool people are making cool stuff! You can check out a thread of all 18 days &lt;a href="https://twitter.com/SamBorick/status/1289025910604267521"&gt;here&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;So far I've been doing a lot of research into the problems that new programmers have. I've collected 3 core problems that I want to try and address. &lt;/p&gt;

&lt;h1&gt;
  
  
  Shutting down in the face of large problems
&lt;/h1&gt;

&lt;p&gt;I see programmers, especially very new programmers, have a lot of trouble with high-level problems. People who have these problems will hear a suggestion like "practice your programming by making a todo list app" and they'll have no idea where to start. &lt;/p&gt;

&lt;h1&gt;
  
  
  Translating Ideas into Code
&lt;/h1&gt;

&lt;p&gt;Those who can get past the 'shutting down' phase, have trouble going from the abstract concept of what the code should do, to running code. One constant that I saw was the use of the word 'translate', which I think has interesting implications. &lt;/p&gt;

&lt;h1&gt;
  
  
  Getting stuck on problems/errors/jargon
&lt;/h1&gt;

&lt;p&gt;This one should be familiar to all programmers. New programmers encounter error messages that they don't understand or find solutions to those errors that they don't understand. &lt;/p&gt;




&lt;p&gt;The typical response when a new programmer encounters these issues is they get specific solutions to their one specific problem.  What I want to do is provide the tools to make solving these problems easier. &lt;/p&gt;

&lt;p&gt;I don't have the solution to all of these at the moment. But I suspect that they have similar root causes. &lt;/p&gt;

&lt;p&gt;Right now I'm planning on creating an ebook to address these. I'm having an amazing time working in public on this project, so if you're interested in the behind the scenes, the best place to go is my &lt;a href="https://twitter.com/SamBorick"&gt;Twitter&lt;/a&gt;. If you want to hear about the launch, and get some cool weekly project ideas in the meantime, you should definitely be in the &lt;a href="//weeklyproject.club"&gt;Weekly Project Club&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading! I'd love to hear about your experience with any of these problems, or if you have any resources for these problems you think I should see! &lt;/p&gt;

</description>
      <category>career</category>
      <category>motivation</category>
      <category>beginners</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>To Post or Not To Post</title>
      <dc:creator>Sam Borick</dc:creator>
      <pubDate>Sun, 28 Jun 2020 17:21:03 +0000</pubDate>
      <link>https://dev.to/samborick/to-post-or-not-to-post-19m5</link>
      <guid>https://dev.to/samborick/to-post-or-not-to-post-19m5</guid>
      <description>&lt;p&gt;Have you ever started writing something, gotten about 2/3rds of the way through, and decided that the thing that you’re writing isn’t worth saying at all?&lt;/p&gt;

&lt;p&gt;That’s how I’ve spent most of my life on the internet, and to be honest, I’m tired of it.&lt;/p&gt;

&lt;p&gt;There’s a lot of people on the internet like me, often called lurkers. The most common reason for lurking is simple enough, fear. Fear of getting into a futile internet argument, fear of not adding anything of value to the conversation or fear of saying something you’ll later regret.&lt;/p&gt;

&lt;p&gt;The thing I fear the most is not adding anything of value. When I start writing something, a tweet, article, email, whatever, I worry that I’ll bother someone. I worry that what I want to talk about isn’t what someone wants to hear from me. So I say nothing instead.&lt;/p&gt;

&lt;p&gt;But something changed in the last few days. Maybe I had my &lt;a href="https://stackingthebricks.com/your-fuck-this-moment-changes-everything/"&gt;“F This” Moment&lt;/a&gt;, I honestly don’t know.&lt;/p&gt;

&lt;p&gt;It’s not like I’ve never shared stuff with the world. I’ve published something like 20 articles in the last 3 years, many of them I’m really proud of! It’s really some of my best work. That’s part of the problem though, I would only publish the very best. Anything that I didn’t think was good enough I just wouldn’t publish, or worse, I wouldn’t even start on it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.goodreads.com/quotes/309485-nobody-tells-this-to-people-who-are-beginners-i-wish"&gt;This quote from Ira Glass on the topic&lt;/a&gt; has really stuck with me. To paraphrase, people who do creative work do it because they have good taste, and they want to make good things. When you’re just starting out, your work will disappoint you, since your skills lag behind your taste. You’ll see that your work isn’t as good as others that you admire. You have to do a bunch of practice before your skills catch up with your taste.&lt;/p&gt;

&lt;p&gt;I think this quote 100% applies to me. There’s a difference between the best I can theoretically do, and trying my best. Most of the time I’m not going to be performing at my peak, nobody can. But when I notice the gap between my taste and my skills, that’s not a reason to give up. I need to remind myself that the only way I’ll close that gap is to practice.&lt;/p&gt;

&lt;p&gt;I have to publish the stuff that I think no one will care about because I’m probably wrong. There’s a whole lot of people out there, someone is going to get some value out of what I have to say.&lt;/p&gt;

&lt;p&gt;The nice thing is that I love making things. I really do, and that’s reason enough to make them. And I love sharing what I make with the internet. So I’m going to stop preventing myself from doing what I love!&lt;/p&gt;

&lt;p&gt;So I’m going to tell my inner critic to shut up more often, to resist the impulse to lurk. Instead, I’ll get feedback from others, and learn by doing. I’m putting my trust in you, internet. To tell me when I can do better, and where our interests overlap.&lt;/p&gt;

&lt;p&gt;This has been a very different article than what I typically post. I don’t usually do public commitments, but this time I felt like I couldn’t actually stick to this unless I posted publicly about it, that’s kinda the whole point 😂.&lt;/p&gt;

&lt;p&gt;Since I like to end on a question, I’d like to ask this: Are you someone, or do you know someone, who is struggling because of feelings like this? Let me know, I’d really love to connect with more people who struggle with this.&lt;/p&gt;

</description>
      <category>watercooler</category>
      <category>motivation</category>
      <category>writing</category>
      <category>career</category>
    </item>
    <item>
      <title>What if I waste my time trying to learn programming?</title>
      <dc:creator>Sam Borick</dc:creator>
      <pubDate>Tue, 07 Apr 2020 23:15:10 +0000</pubDate>
      <link>https://dev.to/samborick/what-if-i-waste-my-time-trying-to-learn-programming-56ji</link>
      <guid>https://dev.to/samborick/what-if-i-waste-my-time-trying-to-learn-programming-56ji</guid>
      <description>&lt;p&gt;I want to start out by acknowledging how crazy hard it is to teach yourself programming. I don't mean to say that programming itself is somehow way harder than other jobs, it's just as challenging as any other profession.&lt;/p&gt;

&lt;h4&gt;
  
  
  But imagine for a moment you decided to teach yourself to be a professional plumber instead of a programmer.
&lt;/h4&gt;

&lt;p&gt;How would you even start? You need, a bunch of like, pipes? I guess?? Would you build like a little plumber shed that you could run pipes through, and then tear it all out and do it again differently to like, practice?&lt;/p&gt;

&lt;p&gt;It sounds ridiculously hard. And if I needed work done on my pipes, someone would have to have been teaching themselves plumbing for an awfully long time, (like, years) before I would let them anywhere near my toilet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---sL6UmKS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.giphy.com/media/3og0IJtAkb80B96jF6/giphy.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---sL6UmKS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.giphy.com/media/3og0IJtAkb80B96jF6/giphy.webp" alt="A broken toilet"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a great example because I (and probably you as too) have absolutely no idea what being a plumber actually involves. There are just so many things that we don't even know we don't know about plumbing, so many unknown unknowns.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Teaching yourself any skill is ridiculously hard. Even starting down that road takes courage.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Part of why teaching yourself a new skill is so scary is because there is some risk. For the self-taught plumber, they have to spend a bunch of money getting the tools and materials they need to practice.&lt;/p&gt;

&lt;p&gt;Learning that new skill is an investment, and we expect a return on our investments. If the only return on our investment we accept is 'getting a job doing x', if there is any other outcome, you've just lost your investment!&lt;/p&gt;

&lt;p&gt;Say you get struck by divine inspiration next week and you're now a gifted sculptor.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uPXJ_4S1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://weeklyproject.club/image/spongebob.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uPXJ_4S1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://weeklyproject.club/image/spongebob.gif" alt="Spongebob sculpting very well."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Guess you've wasted all that time plumbing, huh?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Luckily for us programmers we just need a computer (Which can be as low as &lt;a href="https://www.pine64.org/pinebook/"&gt;a hundred bucks&lt;/a&gt;). But there's another element of risk: Time.&lt;/p&gt;

&lt;p&gt;What happens if you spend all your nights and weekends for the next 2 years learning to program, and still can't get a job?&lt;/p&gt;

&lt;p&gt;Guess you've wasted all that time programming, huh?&lt;/p&gt;

&lt;h4&gt;
  
  
  No! Never!
&lt;/h4&gt;

&lt;p&gt;There's something deep in my bones that I hate about this line of thinking. It's not that I despise plans not turning out the way I expect them, that's life.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's a failure to construct a win-win.
&lt;/h2&gt;

&lt;p&gt;Whenever there is risk involved, it is usually possible to arrange things so that no matter what happens, you will always turn out to be the winner.&lt;/p&gt;

&lt;p&gt;So how can you arrange things so that if you teach yourself programming and then can't/don't want to get a job as a programmer, you still end up getting a return on your investment?&lt;/p&gt;

&lt;h3&gt;
  
  
  Build useful things along the way.
&lt;/h3&gt;

&lt;p&gt;Building useful stuff &lt;em&gt;now&lt;/em&gt; lets us get a return on our investment right away, no waiting for a job!&lt;/p&gt;

&lt;h3&gt;Here's how to think of useful projects that you can do &lt;u&gt;right now&lt;/u&gt;:&lt;/h3&gt;

&lt;p&gt;These are questions that I ask myself every week to create projects for the &lt;a href="https://dev.to/"&gt;Weekly Project Club&lt;/a&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What are things you do every week that are variations on a theme? Things that are similar to each other, but different in predictable ways. (workouts, recipes, sometimes schedules)&lt;/li&gt;
&lt;li&gt;What are things that you have to 'figure out' regularly that is really just a simple math formula?&lt;/li&gt;
&lt;li&gt;What are some things that you keep track of?&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Here are some premade ideas to get your brain going:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  A workout generator catered to the sets you want to do&lt;/li&gt;
&lt;li&gt;  A calculator that will tell you when you'll need to refill your gas tank&lt;/li&gt;
&lt;li&gt;  A meal plan generator based on your fav meals&lt;/li&gt;
&lt;li&gt;  A tracker that records how many glasses of water you drink every day.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And if you want more project ideas, you're in the right place! Every week I send members of &lt;a href="//weeklyproject.club"&gt;The Weekly Project Club&lt;/a&gt; a project just like the ones above.  Except this week is special, I’m going to be working on this week's project LIVE on twitch!  I won’t just be coding (I’ll probably be doing that too), I want to work through the problem and give you a solid starting point to work on the project yourself.&lt;/p&gt;

&lt;p&gt;So if you're interested in hanging out and working on a cool project, please join me Tomorrow night, Wednesday, April 8th at 6pm EST at &lt;a href="//twitch.tv/samborick"&gt;twitch.tv/samborick&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>career</category>
      <category>motivation</category>
      <category>beginners</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>It Doesn’t Matter If You Finish Your Side Project.</title>
      <dc:creator>Sam Borick</dc:creator>
      <pubDate>Fri, 04 Oct 2019 13:23:11 +0000</pubDate>
      <link>https://dev.to/samborick/it-doesn-t-matter-if-you-finish-your-side-project-43lb</link>
      <guid>https://dev.to/samborick/it-doesn-t-matter-if-you-finish-your-side-project-43lb</guid>
      <description>&lt;p&gt;Right now in tech there's this popular idea that you should ship early and ship often. They talk about a &lt;strong&gt;M&lt;/strong&gt;inimum &lt;strong&gt;V&lt;/strong&gt;iable &lt;strong&gt;P&lt;/strong&gt;roduct (MVP), the absolute smallest thing you can finish to make that money. This makes a &lt;em&gt;ton&lt;/em&gt; of sense if your goal is to make money. You're looking for market validation/traction and you can only get those things if you release something into the world. If you just work on your idea in isolation, you never get feedback. If you never get feedback, your chances of making something people care about becomes a crapshoot.&lt;/p&gt;

&lt;p&gt;I see a lot of people trying to apply startup rules to their side projects. There are &lt;a href="https://www.learningsomethingnew.com/how-to-finish-your-side-project"&gt;so&lt;/a&gt; &lt;a href="https://blog.hubspot.com/marketing/side-projects"&gt;many&lt;/a&gt; &lt;a href="https://blog.usejournal.com/3-simple-tricks-helped-me-to-finish-my-side-project-1d6ffc50430a"&gt;articles&lt;/a&gt; about &lt;a href="https://code.likeagirl.io/how-to-finish-your-side-project-81d7d93dacea"&gt;finishing&lt;/a&gt; &lt;a href="https://medium.com/typeforms-engineering-blog/how-to-finish-a-side-project-without-it-taking-over-your-life-169a069412d7"&gt;side&lt;/a&gt; &lt;a href="https://doist.com/blog/how-to-keep-side-projects-moving-forward/"&gt;projects&lt;/a&gt;. A lot of them focus on prioritizing, making sure you’re working on the &lt;strong&gt;M&lt;/strong&gt;ost &lt;strong&gt;V&lt;/strong&gt;aluable &lt;strong&gt;P&lt;/strong&gt;arts (sound familiar?), and releasing it into the world ASAP.&lt;/p&gt;

&lt;p&gt;But the MVP of a side project isn’t the same as the MVP for a startup. Cutting features is a useful tool to getting things done in general, but are the goals of a side project the same as a startup?&lt;/p&gt;

&lt;p&gt;I've scoured the web, and these are the three biggest reasons people work on side projects:&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning
&lt;/h2&gt;

&lt;p&gt;Picking up a specific skill you didn’t have before, like a new programming language or framework or methodology. A lot of times people don't get to grow in the exact manner they want to at their day job. Others are trying to get a job and want to learn with hands on projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Experience
&lt;/h2&gt;

&lt;p&gt;Doing more programming in total (making you more experienced). This rhymes with learning, but is less about specific skills and just exposing yourself to more problems. Every time you get exposed to a new problem, you learn how to solve it. When you have seen a &lt;strong&gt;ton&lt;/strong&gt; of problems, you become that person who just &lt;em&gt;knows&lt;/em&gt; how to solve stuff as they come up. There are &lt;a href="https://weeklyproject.club/articles/senior/"&gt;lots of qualities of an experienced dev&lt;/a&gt;, but having seen and solved a bunch of problems is a great starting point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fun
&lt;/h2&gt;

&lt;p&gt;Sometimes programming is a fun thing to do! Not for everyone and not all the time, but there are people who just LOVE programming and want to do a lot of it!&lt;/p&gt;

&lt;p&gt;There are other reasons, people &lt;strong&gt;do&lt;/strong&gt; make projects hoping to make money from it. And a million other reasons. What's important is that &lt;em&gt;you&lt;/em&gt; know what &lt;em&gt;your&lt;/em&gt; goals are&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: doing side projects are NOT mandatory for being a good developer. If you get home from work at the end of the day and you just want to be &lt;strong&gt;done&lt;/strong&gt;, you are not a worse developer because of that.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Back to those three reasons: Learning, Experience, Fun.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where in there does 'releasing your project to the world' fit in?
&lt;/h2&gt;

&lt;p&gt;It might go into 'Learning'. You might have a specific goal to learn how to publish stuff for people to use. That's an important part of developing.&lt;/p&gt;

&lt;p&gt;It might go into 'Experience'. Just the act of trying to deploy is going to encounter problems, and you'll gain experience in doing that particular thing.&lt;/p&gt;

&lt;p&gt;It might fit into 'Fun', if you get a kick out of people using or giving feedback to the thing you made. For me, this is it. I live for feedback and I lose motivation without it.&lt;/p&gt;

&lt;p&gt;But what if releasing kills your motivation? Software that is refined and tested and tweaked enough that a regular person can use it take a &lt;em&gt;lot&lt;/em&gt; of work and a &lt;em&gt;lot&lt;/em&gt; of time. I've heard from a lot of people that get scared off by this idea. If the only way to have a successful side project is to build a polished product, and you don't know how to do that &lt;em&gt;or you just don't want to&lt;/em&gt;, why bother? Why start something if you're not willing to finish it?&lt;/p&gt;

&lt;h2&gt;
  
  
  You don't need to refine your project so that others can use it like a product.
&lt;/h2&gt;

&lt;p&gt;Focus in on &lt;strong&gt;your&lt;/strong&gt; goals. Construct a side project that makes you learn what you want to learn. Get that experience that you want. Have fun! If your goals &lt;strong&gt;are&lt;/strong&gt; to build a nice polished product, &lt;strong&gt;do that&lt;/strong&gt;. If your goal is to learn how to use a specific language/framework, build a strange useless thing that uses every feature in that framework so you understand it!&lt;/p&gt;

&lt;p&gt;If you set those objectives and then hit them, that makes the project a &lt;strong&gt;success&lt;/strong&gt;. So many devs talk about having a 'side project graveyard', because those projects never made it all the way to product. A lot of these feelings come from not having any closure to a project. At some point you just stop working on it.&lt;/p&gt;

&lt;p&gt;If you want that feeling of closure, write a retrospective! Taking a little bit of time and writing down what you set out to do, how it evolved, and what you learned will tell your brain that the project is &lt;strong&gt;done&lt;/strong&gt;. and you can focus on your next goal.&lt;/p&gt;

&lt;p&gt;In conclusion, maybe the real side project is the friends we made along the way.&lt;/p&gt;

&lt;p&gt;What are you working on right now? What goals have you set for your current project? Let me know!&lt;/p&gt;

</description>
      <category>motivation</category>
      <category>career</category>
      <category>beginners</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>I Read 21 Articles About How to Become a Senior Developer So You Don't Have To</title>
      <dc:creator>Sam Borick</dc:creator>
      <pubDate>Thu, 26 Sep 2019 02:41:22 +0000</pubDate>
      <link>https://dev.to/samborick/i-read-21-articles-about-how-to-become-a-senior-developer-so-you-don-t-have-to-4dap</link>
      <guid>https://dev.to/samborick/i-read-21-articles-about-how-to-become-a-senior-developer-so-you-don-t-have-to-4dap</guid>
      <description>&lt;p&gt;I think it's fair to say that almost everyone wants to move forward in their career. For some, that means becoming a Senior Developer.&lt;/p&gt;

&lt;p&gt;Since there are a lot of people that have this dream, there are also lots of people that write about how to attain it. Instead of contributing to all that noise, I decided to do a survey of as much of the existing noise as I could find.&lt;/p&gt;

&lt;p&gt;So I went through 21 articles that came up when I searched for "How to become a senior developer" and adjacent searches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Commonalities
&lt;/h2&gt;

&lt;p&gt;The articles typically discussed the things you need in order to become a senior developer. There were not a lot of step by step guides like I was expecting, but more checklists of things that senior devs should be able to do. These fell into two major categories:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Soft Skills&lt;/li&gt;
&lt;li&gt;Hard Skills&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Soft Skills
&lt;/h3&gt;

&lt;h4&gt;
  
  
  "T shaped" knowledge
&lt;/h4&gt;

&lt;p&gt;Per wikipedia:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The vertical bar on the letter T represents the depth of related skills and expertise in a single field, whereas the horizontal bar is the ability to collaborate across disciplines with experts in other areas and to apply knowledge in areas of expertise other than one's own.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;T shaped knowledge is really useful as a developer, since we have to dive deep in order to get any work done at all, and nobody can have deep in all areas of development, so being able to collaborate is very important.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://collegeinfogeek.com/become-t-shaped-person/"&gt;Here&lt;/a&gt; is a great article on how exactly to develop T shaped knowledge.&lt;/p&gt;

&lt;h4&gt;
  
  
  Mentorship
&lt;/h4&gt;

&lt;p&gt;There were three major threads that came up around the topic of mentorship.&lt;/p&gt;

&lt;p&gt;The first is to have a solid mentor or mentorship network. In addition to being able to contribute individually at a high level (being good at making software), senior developers are also expected to have good interpersonal skills. In order to develop those skills, you really need mentorship by someone who already has them. It's not really possible to develop those skills in a vacuum.&lt;/p&gt;

&lt;p&gt;The second thread goes along with the first. You need to know when to ask for help. Working with others means being able to rely on them, and knowing your own limits.&lt;/p&gt;

&lt;p&gt;The third thread is providing mentorship to others. The real value of a senior developer is that they empower others to be better developers too. This means little things like not being a jerk in code reviews, but also being a good teacher to newer developers. This also takes practice.&lt;/p&gt;

&lt;h4&gt;
  
  
  Thinking about The Big Picture™
&lt;/h4&gt;

&lt;p&gt;"The Big Picture" is one of those things that people say a whole lot but can mean &lt;em&gt;so&lt;/em&gt; many different things. Going through all of these articles, they tend to mean any (or all) of these things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Business Stuff- how to meet KPIs or the current big deadline or whatever.&lt;/li&gt;
&lt;li&gt;The User Stuff- how to actually provide value to the people who use what you make.&lt;/li&gt;
&lt;li&gt;The Technology Stuff- how to build something that will last a long time.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I don't get the impression that there is a quick way to build these skills. It seems to be that it's just a matter of experience.&lt;/p&gt;

&lt;p&gt;Part of this is accountability. &lt;a href="https://weeklyproject.club/articles/accountability/"&gt;Being able to accept responsibility for the big picture&lt;/a&gt; can take you a long way.&lt;/p&gt;

&lt;h4&gt;
  
  
  Problem solving
&lt;/h4&gt;

&lt;p&gt;As James Hickey (&lt;a class="comment-mentioned-user" href="https://dev.to/jamesmh"&gt;@jamesmh&lt;/a&gt;
) said in &lt;a href="https://dev.to/jamesmh/how-to-become-a-senior-developer-3di3"&gt;this article&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Senior developers are more cautious, thoughtful, pragmatic, practical and simple in their approaches to solving problems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This includes thinking about the impacts of your code in the long term, and being able to craft elegant solutions to the problems you encounter.&lt;/p&gt;

&lt;h4&gt;
  
  
  Make your goals known
&lt;/h4&gt;

&lt;p&gt;This one is really simple to express, but very hard to do. Make it known at your place of work, especially to those who make decisions: "I want to be a senior developer". If you don't tell people that this is the path you want, they probably won't just assume it.&lt;/p&gt;




&lt;p&gt;As &lt;a href="https://medium.com/@tomastrajan/how-can-you-increase-your-value-as-a-software-engineer-cab9599bbbe"&gt;my favorite article&lt;/a&gt; said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s not by learning new hot framework or language... To put it bluntly, it’s more about understanding what to build and if it’s worth building instead of how to build it... [A] Single person possessing knowledge of both “what” to build and “how” to make it happen can deliver superior results.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Hard Skills
&lt;/h3&gt;

&lt;p&gt;I think these are a lot more indicative of the developer culture, but aren't really all that useful. Don't take these too seriously, just have a laugh.&lt;/p&gt;

&lt;h4&gt;
  
  
  Typing speed
&lt;/h4&gt;

&lt;p&gt;This came up so often that it made me laugh. As we all know, you can't get better if you don't type like a hacker on tv. A lot of similar advice to get good at your IDE of choice (gotta know all the shortcuts!). I think the kernel of truth here is you should feel &lt;em&gt;comfortable&lt;/em&gt; with your tools, whatever that means for you.&lt;/p&gt;

&lt;h4&gt;
  
  
  Learn &lt;code&gt;This Technology&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;A lot of advice to make sure you know the favorite thing of whoever wrote the article. Considering that there are still a ton of COBOL jobs out there, there is no particular technology that you &lt;em&gt;need&lt;/em&gt; to know.&lt;/p&gt;

&lt;h4&gt;
  
  
  Work on side projects
&lt;/h4&gt;

&lt;p&gt;There is this pervasive idea in tech that you &lt;em&gt;need&lt;/em&gt; to work on side projects in order to grow as a developer. This is just not true. You don't need to be spending every waking moment of your life working on some kind of programming thing.&lt;/p&gt;

&lt;p&gt;In my experience there are three reasons to work on a side project:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Learning- picking up a specific skill you didn't have before.&lt;/li&gt;
&lt;li&gt;Experience- doing more programming in total (making you more experienced).&lt;/li&gt;
&lt;li&gt;Fun- sometimes programming is a fun thing to do!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you want to do all three at the same time, then side projects would probably be perfect for you! If that's you, then you're in the right place! Check out &lt;a href="http://weeklyproject.club"&gt;WeeklyProject.Club&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If that's not you, don't feel bad about it!&lt;/p&gt;

&lt;h4&gt;
  
  
  "Learn the Classics"
&lt;/h4&gt;

&lt;p&gt;This didn't come up nearly as often, but a lot of people tell you that you need to read Knuth, or &lt;em&gt;Pragmatic Programming&lt;/em&gt;, or &lt;em&gt;Clean Code&lt;/em&gt;, or some other popular book.&lt;/p&gt;

&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;p&gt;Here's the list of articles I went over. Each article has a breakdown of its key takeaway. Since most of them are listicles, they just have each point of the listicle, since that was typically the only substance the article had.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://dev.to/jamesmh/how-to-become-a-senior-developer-3di3"&gt;How To Become A Senior Developer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  T shaped skills&lt;/li&gt;
&lt;li&gt;  Feeling experienced in solving problems and being able to relate your current problem to problems you've seen before&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://dev.to/brjavaman/6-tips-to-become-a-senior-developer-1jmc"&gt;6 Tips to Become a Senior Developer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Develop quickly&lt;/li&gt;
&lt;li&gt;  Find the ideal solution&lt;/li&gt;
&lt;li&gt;  Teach others and help others grow&lt;/li&gt;
&lt;li&gt;  Share what you already know&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://alextamoykin.com/10-steps-to-become-a-senior-software-engineer/"&gt;10 Steps to become a Senior Software Engineer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Choose your path and stick to it&lt;/li&gt;
&lt;li&gt;  Read "the pragmatic programmer"&lt;/li&gt;
&lt;li&gt;  Master your programming language&lt;/li&gt;
&lt;li&gt;  Learn your framework&lt;/li&gt;
&lt;li&gt;  Become a master of your text editor / IDE&lt;/li&gt;
&lt;li&gt;  Use your Version Control System like a pro&lt;/li&gt;
&lt;li&gt;  Commit to doing Test Driven Development&lt;/li&gt;
&lt;li&gt;  Refactor as a habit&lt;/li&gt;
&lt;li&gt;  Learn software architecture&lt;/li&gt;
&lt;li&gt;  Unleash the power of the command line&lt;/li&gt;
&lt;li&gt;  Practice coding&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="http://techgenix.com/become-senior-developer/"&gt;What Does It Take to Become a Senior Developer?&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Asking good questions&lt;/li&gt;
&lt;li&gt;  Be able to connect the dots&lt;/li&gt;
&lt;li&gt;  Emotional intelligence&lt;/li&gt;
&lt;li&gt;  Be able to teach&lt;/li&gt;
&lt;li&gt;  Be able to learn&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://medium.com/@patrick.tolosa/7-steps-from-junior-to-senior-4de31ff91a8e"&gt;7 steps that take you from Junior to Senior developer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Invest in your tools&lt;/li&gt;
&lt;li&gt;  Typing speed matters&lt;/li&gt;
&lt;li&gt;  Explore a different problem domains&lt;/li&gt;
&lt;li&gt;  Write tests in your mind&lt;/li&gt;
&lt;li&gt;  Spend some time in your enemy’s framework&lt;/li&gt;
&lt;li&gt;  Figure out 5 things you wish were different about your current tools&lt;/li&gt;
&lt;li&gt;  Be inquisitive of old sores in your company.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://medium.com/zerotomastery/dont-be-a-junior-developer-the-roadmap-9fde5cf384bb"&gt;Don’t be a Junior Developer: The Roadmap&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  SSH&lt;/li&gt;
&lt;li&gt;  Advanced Javascript&lt;/li&gt;
&lt;li&gt;  How to Improve Web Performance&lt;/li&gt;
&lt;li&gt;  Progressive Web Apps&lt;/li&gt;
&lt;li&gt;  Popular Frontend Library + How to Manage Complex State&lt;/li&gt;
&lt;li&gt;  Testing&lt;/li&gt;
&lt;li&gt;  TypeScript&lt;/li&gt;
&lt;li&gt;  Client Side Rendering vs Server Side Rendering&lt;/li&gt;
&lt;li&gt;  Securing Your applications&lt;/li&gt;
&lt;li&gt;  Docker and Containers&lt;/li&gt;
&lt;li&gt;  Different Types of Databases&lt;/li&gt;
&lt;li&gt;  How to Manage Sign In + Sessions In Your App&lt;/li&gt;
&lt;li&gt;  Infrastructure as a Service and Platform as a Service&lt;/li&gt;
&lt;li&gt;  About Continuous Integration&lt;/li&gt;
&lt;li&gt;  Delivery, and Deployment&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://hackernoon.com/from-junior-to-senior-the-skills-a-back-end-developer-should-learn-cbd077845afd"&gt;From Junior to Senior: The Skills a Back-End Developer Should Learn&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Asking for help&lt;/li&gt;
&lt;li&gt;  Communicating &amp;amp; collaborating&lt;/li&gt;
&lt;li&gt;  Problem solving&lt;/li&gt;
&lt;li&gt;  Javascript server side languages
functional programming &amp;amp; blockchain&lt;/li&gt;
&lt;li&gt;  Design &amp;amp; back-end architecture&lt;/li&gt;
&lt;li&gt;  Keeping up to date with emerging technologies&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="http://rahmonov.me/posts/how-to-become-senior-software-developer/"&gt;How to become a senior software developer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Take responsibilities and execute&lt;/li&gt;
&lt;li&gt;  Always go the extra mile&lt;/li&gt;
&lt;li&gt;  Be a problem solver&lt;/li&gt;
&lt;li&gt;  Be continuously learning&lt;/li&gt;
&lt;li&gt;  Market yourself&lt;/li&gt;
&lt;li&gt;  Be likable&lt;/li&gt;
&lt;li&gt;  Be a mentor&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://simpleprogrammer.com/raise-or-promotion-software-developers/"&gt;How to Get a Raise or Promotion for Software Developers&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Always Choose Responsibility Over Pay&lt;/li&gt;
&lt;li&gt;  Take Initiative&lt;/li&gt;
&lt;li&gt;  Invest In Your Education&lt;/li&gt;
&lt;li&gt;  Make Your Goals Known&lt;/li&gt;
&lt;li&gt;  Make Yourself Valuable Outside Your Company&lt;/li&gt;
&lt;li&gt;  Become An Asset&lt;/li&gt;
&lt;li&gt;  Ask For A Specific Number&lt;/li&gt;
&lt;li&gt;  Don’t Make Threats&lt;/li&gt;
&lt;li&gt;  Don’t Talk About Why You Need The Money&lt;/li&gt;
&lt;li&gt;  If All Else Fails, Go Elsewhere&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/learn-programming/15-ways-to-improve-as-a-junior-developer"&gt;15 Tips on How to Improve as a Junior Developer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Read Stack Overflow&lt;/li&gt;
&lt;li&gt;  Zoom out&lt;/li&gt;
&lt;li&gt;  Do your own QA&lt;/li&gt;
&lt;li&gt;  Don’t ignore the world around your work&lt;/li&gt;
&lt;li&gt;  Separate your concerns&lt;/li&gt;
&lt;li&gt;  Write short methods&lt;/li&gt;
&lt;li&gt;  Seek constructive criticism&lt;/li&gt;
&lt;li&gt;  Find a mentor&lt;/li&gt;
&lt;li&gt;  Get really familiar with your text editor/IDE, and know its keyboard shortcuts&lt;/li&gt;
&lt;li&gt;  Pair program with more experienced developers&lt;/li&gt;
&lt;li&gt;  Listen to and respect more senior developers around you, as well as other juniors&lt;/li&gt;
&lt;li&gt;  Use good method/variable names instead of comments&lt;/li&gt;
&lt;li&gt;  Expose your ignorance, daily, Have side projects.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://www.paysa.com/blog/how-to-get-promoted-as-a-software-engineer/"&gt;How to Get Promoted as a Software Engineer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Promotable Technical Skill Sets&lt;/li&gt;
&lt;li&gt;  Promotable Intellectual Skills and Work Habits&lt;/li&gt;
&lt;li&gt;  Be professional&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://www.infoworld.com/article/2658260/20-ways-to-get-promoted-in-the-tech-industry.html"&gt;20 ways to get promoted in the tech industry&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Think Business First&lt;/li&gt;
&lt;li&gt;  Technology Second&lt;/li&gt;
&lt;li&gt;  Raise the Bar … and Leave It There&lt;/li&gt;
&lt;li&gt;  Hold Your Nose and Raise Your Hand (volunteer for projects)&lt;/li&gt;
&lt;li&gt;  Don’t Pass the Buck&lt;/li&gt;
&lt;li&gt;  Be a Lone Voice in the Wilderness (be a leader)&lt;/li&gt;
&lt;li&gt;  Back Down Gracefully&lt;/li&gt;
&lt;li&gt;  Develop a Killer App&lt;/li&gt;
&lt;li&gt;  Stay on the Cutting Edge&lt;/li&gt;
&lt;li&gt;  Feed Your Mind&lt;/li&gt;
&lt;li&gt;  Find Your Yoda (get a mentor)&lt;/li&gt;
&lt;li&gt;  Take Deadlines Personally&lt;/li&gt;
&lt;li&gt;  Share the Wealth (teach others)&lt;/li&gt;
&lt;li&gt;  Be Your Own Cheerleader&lt;/li&gt;
&lt;li&gt;  Build Your Own Portfolio&lt;/li&gt;
&lt;li&gt;  Schmooze It or Lose It&lt;/li&gt;
&lt;li&gt;  Walk and Talk&lt;/li&gt;
&lt;li&gt;  Hire Your Own Replacements&lt;/li&gt;
&lt;li&gt;  Embrace the Gray Areas&lt;/li&gt;
&lt;li&gt;  Keep Your Nose Clean (Not Brown)&lt;/li&gt;
&lt;li&gt;  Consider a Switch -- for the Right Reasons&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://sdtimes.com/devexec/10-things-that-change-when-a-developer-gets-promoted/"&gt;10 things that change when a developer gets promoted&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Less Coding&lt;/li&gt;
&lt;li&gt;  Architecting or “Hands On”&lt;/li&gt;
&lt;li&gt;  More “paperwork”&lt;/li&gt;
&lt;li&gt;  Thinking more strategically than tactically&lt;/li&gt;
&lt;li&gt;  Less control&lt;/li&gt;
&lt;li&gt;  An increase in responsibility&lt;/li&gt;
&lt;li&gt;  More time resolving issues&lt;/li&gt;
&lt;li&gt;  Toeing the company line&lt;/li&gt;
&lt;li&gt;  You become “one of them”&lt;/li&gt;
&lt;li&gt;  More meetings and more communications&lt;/li&gt;
&lt;li&gt;  Potential for more external relationships&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://blog.usejournal.com/the-software-engineering-job-ladder-4bf70b4c24f3"&gt;The Software Engineering Job Ladder&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Programming ability&lt;/li&gt;
&lt;li&gt;  Communication&lt;/li&gt;
&lt;li&gt;  Critical thinking&lt;/li&gt;
&lt;li&gt;  Initiative&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://nuclearsquid.com/writings/how-to-become-a-better-developer/"&gt;How to become a Better Developer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Challenge yourself&lt;/li&gt;
&lt;li&gt;  Study the masters – and mastering&lt;/li&gt;
&lt;li&gt;  Learn the classics&lt;/li&gt;
&lt;li&gt;  Practice mindfully&lt;/li&gt;
&lt;li&gt;  Mind your body&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://dev.to/praxentsoftware/10-ways-to-become-a-better-developer-40f"&gt;10 Ways to Become a Better Developer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Find &amp;amp; Embrace "Team"&lt;/li&gt;
&lt;li&gt;  Learn to Say “No” the Right Way&lt;/li&gt;
&lt;li&gt;  Get Your Code Reviewed&lt;/li&gt;
&lt;li&gt;  Review Code for Others&lt;/li&gt;
&lt;li&gt;  Code Accessibly&lt;/li&gt;
&lt;li&gt;  Code for the Future&lt;/li&gt;
&lt;li&gt;  Don’t Be Naive&lt;/li&gt;
&lt;li&gt;  Security Matters&lt;/li&gt;
&lt;li&gt;  Use Coding Standards&lt;/li&gt;
&lt;li&gt;  At the End of the Day&lt;/li&gt;
&lt;li&gt;  It Has to Work&lt;/li&gt;
&lt;li&gt;  Code for Fun&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://blog.bitsrc.io/how-to-become-a-better-developer-8d97abd9668e"&gt;How to Become a Better Developer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Follow the right people on Twitter and use it diligently&lt;/li&gt;
&lt;li&gt;  Create your reusable code arsenal&lt;/li&gt;
&lt;li&gt;  Don’t take everyone's word as gospel&lt;/li&gt;
&lt;li&gt;  Listen to music without lyrics while you work&lt;/li&gt;
&lt;li&gt;  Work on side projects&lt;/li&gt;
&lt;li&gt;  Take a break&lt;/li&gt;
&lt;li&gt;  Ignore Imposter Syndrome&lt;/li&gt;
&lt;li&gt;  Learn something different (language, system, application type)&lt;/li&gt;
&lt;li&gt;  Share your work&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://medium.com/@tomastrajan/how-can-you-increase-your-value-as-a-software-engineer-cab9599bbbe"&gt;How Can You Increase Your Value as a Software Engineer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s not by learning new hot framework or language... To put it bluntly, it’s more about understanding what to build and if it’s worth building instead of how to build it... [A] Single people possessing knowledge of both “what” to build and “how” to make it happen can deliver superior results.&lt;/p&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://www.qualified.io/blog/posts/the-key-to-becoming-a-great-software-developer"&gt;The Key to Becoming a Great Software Developer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Practice key skills&lt;/li&gt;
&lt;li&gt;  Find Your Own Projects&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://www.forbes.com/sites/quora/2018/02/09/how-to-become-a-better-programmer-on-the-job/#630277175632"&gt;How To Become A Better Programmer On The Job&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Diligence and attention at work&lt;/li&gt;
&lt;li&gt;  Collaboration and learning from others&lt;/li&gt;
&lt;li&gt;  Code, Test, Ship, Iterate&lt;/li&gt;
&lt;li&gt;  Join a community&lt;/li&gt;
&lt;li&gt;  Read extensively&lt;/li&gt;
&lt;li&gt;  Work on pet projects&lt;/li&gt;
&lt;li&gt;  Join or start a geek club at work.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;a href="https://medium.com/zerotomastery/developers-edge-how-to-become-a-senior-developer-f1ec1738cf45"&gt;The Developer’s Edge: How To Become A Senior Developer&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Technical&lt;/li&gt;
&lt;li&gt;  Team&lt;/li&gt;
&lt;li&gt;  User interview skills&lt;/li&gt;
&lt;li&gt;  Learning&lt;/li&gt;
&lt;li&gt;  Interview&lt;/li&gt;
&lt;li&gt;  Community&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And there you go! Now you never have to read another article about "How to Become a Senior Developer" again. What will you do with the extra hours of your life?  Let me know in the comments!  Alternatively, reply with which of these you struggle with the most.&lt;/p&gt;

</description>
      <category>career</category>
      <category>motivation</category>
      <category>beginners</category>
    </item>
    <item>
      <title>My Take On Accountability</title>
      <dc:creator>Sam Borick</dc:creator>
      <pubDate>Thu, 05 Sep 2019 20:10:53 +0000</pubDate>
      <link>https://dev.to/samborick/what-is-accountability-and-how-to-do-it-2dgn</link>
      <guid>https://dev.to/samborick/what-is-accountability-and-how-to-do-it-2dgn</guid>
      <description>&lt;p&gt;Accountability is the obligation of an individual to account for their activities, accept responsibility for them, and to disclose the results in a transparent manner.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's this idea that we should hold people (or ourselves) to an expectation.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The term accountability gets used a lot in a business setting, often by managers who want to crack the whip and make their employees work harder. But it's also critically important in following through on your own goals.&lt;/p&gt;

&lt;p&gt;Sometimes, I set a goal for myself. I think to myself, &lt;em&gt;"Self. We are going to do the dishes tonight."&lt;/em&gt; Unfortunately, I also know myself. I don't follow through on my goals &lt;em&gt;alllllll the time&lt;/em&gt;. Why should this time be any different?&lt;/p&gt;

&lt;p&gt;Sometimes the motivation isn't there. And sometimes our discipline reserves are just empty, and we can't make ourselves take action.&lt;/p&gt;

&lt;p&gt;This is where we can weaponize accountability against the forces of laziness in ourselves. We have to set that expectation and responsibility for ourselves, and accept the consequences if that expectation is not met.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do we be accountable for ourselves?
&lt;/h2&gt;

&lt;p&gt;Here are some ways that have worked for me:&lt;/p&gt;

&lt;h2&gt;
  
  
  Create Micro Goals
&lt;/h2&gt;

&lt;p&gt;Also known as: a ToDo List&lt;/p&gt;

&lt;p&gt;Our brains have trouble dealing with big huge projects. We can't hold all the work in our heads all at once, so it starts to leak out in the form of todo lists. Most people have trouble making lists that are helpful, because those lists aren't really broken down from the bigger items. Try and systematically go through your huge goals and break them down into smaller ones. (Which is why you should &lt;a href="https://weeklyproject.club/articles/start-small/"&gt;start small&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Public Commitment
&lt;/h2&gt;

&lt;p&gt;This used to be the nuclear option. Back in the day, standing in the town square and shouting &lt;strong&gt;I WILL DO X BY FRIDAY&lt;/strong&gt; would have put you under serious pressure.&lt;/p&gt;

&lt;p&gt;The modern version is sharing on social media. Since the social distance between you and the people on social media might be way higher or way lower than that town square, your results may vary.&lt;/p&gt;

&lt;h2&gt;
  
  
  Personal Commitment
&lt;/h2&gt;

&lt;p&gt;A.K.A telling your family and friends.&lt;/p&gt;

&lt;p&gt;Again, for some people this works really well. The two main issues are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How well will your family/friends actually hold you accountable, or will they just let you off the hook because they like you so much.&lt;/li&gt;
&lt;li&gt;For some people, telling others about your goals has the same effect on the brain as actually accomplishing the goal. The brain is a fickle thing.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Put Money on the Line
&lt;/h2&gt;

&lt;p&gt;Take some cash, and set it aside. If you don't complete this goal, that money goes to a charity. There are some tools out there that can kick this up a notch and actually lock that money up and verify if you actually met your goal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Actually Reward your Accomplishments
&lt;/h2&gt;

&lt;p&gt;Some people (myself included) love to blow past wins and spend all our energy bemoaning the things that still aren't done yet. Take some time to look back and actually appreciate how far you've come.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do One Thing at a Time
&lt;/h2&gt;

&lt;p&gt;Are you one of those people who can do a whole bunch of things all at once?&lt;/p&gt;

&lt;p&gt;Trick question. &lt;strong&gt;&lt;a href="https://en.wikipedia.org/wiki/Human_multitasking"&gt;Those people don't exist&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Actually take a second, close out of things that aren't related to your goal, and focus. This is another muscle that needs to be built up over time, but it'll come.&lt;/p&gt;

&lt;h2&gt;
  
  
  Find an Accountability-buddy
&lt;/h2&gt;

&lt;p&gt;Go out and find someone that is trying to do the same thing that you are. Partner up and make sure the other person is following through.&lt;/p&gt;

&lt;p&gt;//Self promote&lt;/p&gt;

&lt;p&gt;I run a club called the &lt;a href="https://weeklyproject.club"&gt;Weekly Project Club&lt;/a&gt;. It's basically an accountability group for people learning programming who also solve real problems.&lt;/p&gt;

&lt;p&gt;//End self promote&lt;/p&gt;

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

&lt;p&gt;The nice thing is, over time, you can build trust with yourself. If you get into the habit of setting expectations, and actually following through on them, then you actually follow through more often. If you become the person that &lt;strong&gt;does&lt;/strong&gt; follow because in the past you &lt;strong&gt;have&lt;/strong&gt; been the person who follows through, then it'll all get easier.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>career</category>
      <category>motivation</category>
    </item>
    <item>
      <title>100+ Project Ideas</title>
      <dc:creator>Sam Borick</dc:creator>
      <pubDate>Fri, 30 Aug 2019 16:52:33 +0000</pubDate>
      <link>https://dev.to/samborick/100-project-ideas-oda</link>
      <guid>https://dev.to/samborick/100-project-ideas-oda</guid>
      <description>&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: Hi Everyone!  After an amazing response to this article, I've created something called The Weekly Project Club.  Every week you'll get a problem to solve in your inbox.  You can work on solving the problem, and you'll have the help of the whole club to keep you on track. Learn more and sign up &lt;a href="https://weeklyproject.club"&gt;here&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;The other day I noticed a pattern. I noticed a lot of people that are trying to &lt;br&gt;
learn programming, but they don't have a specific goal in mind. I've talked about how understanding why you want to learn to program can help you pick what language to learn &lt;a href="https://pickaframework.com/articles/why/"&gt;Right here!&lt;/a&gt;,and how to actually make that decision (&lt;a href="https://pickaframework.com/feature_fishing/"&gt;Over Here!&lt;/a&gt;) but how does a project help?&lt;/p&gt;

&lt;p&gt;When I mentor programmers, I've found that having a project to work on can help block out some of the other distractions, like wondering whether or not you're using the right language. By focusing in on a specific goal, you have a little less energy to worry about whether &lt;em&gt;this&lt;/em&gt; is exactly the language you should be working with. And the result is that you build something neat, and you learn something along the way! 2 birds, 1 stone.&lt;/p&gt;

&lt;p&gt;So that's why I curated this list of projects for beginner programmers. Many people have made large lists of projects to learn programming with, but they are rarely organized by difficulty. I've gone through several popular listings of programming project ideas. You can find the sources at the bottom of the page if you want to see the full listings.&lt;/p&gt;

&lt;p&gt;I've broken it up into Tutorials and Ideas. Tutorials include a link to a resource, while ideas are just general descriptions of projects. I've also included my list of favorites for beginners.&lt;/p&gt;

&lt;p&gt;Have a look, and see if something inspires you!&lt;/p&gt;

&lt;h1&gt;
  
  
  Tutorials
&lt;/h1&gt;

&lt;h2&gt;
  
  
  My Favs
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://javascript30.com"&gt;Build 30 things in 30 days with 30 tutorials&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/how-to-build-a-simple-search-bot-in-30-minutes-eb56fcedcdb1"&gt;Build A Simple Search Bot in 30 minutes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.raywenderlich.com/134049/building-ios-apps-with-xamarin-and-visual-studio"&gt;Build iOS Photo Library App with Xamarin and Visual Studio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.youtube.com/watch?v=dhWL4DC7Krs"&gt;Build an Android Flashlight App&lt;/a&gt; (video)&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/how-to-build-a-chat-application-using-react-redux-redux-saga-and-web-sockets-47423e4bc21a"&gt;Make a Chat Application&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://blog.hasura.io/tutorial-fullstack-react-native-with-graphql-and-authentication-18183d13373a"&gt;Build A ToDo App With React Native&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Easy
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://www.intertech.com/Blog/xamarin-tutorial-part-1-create-a-blank-app/"&gt;Create a Blank App with C# and Xamarin (work in progress)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.raywenderlich.com/134049/building-ios-apps-with-xamarin-and-visual-studio"&gt;Build iOS Photo Library App with Xamarin and Visual Studio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/how-to-build-a-delightful-loading-screen-in-5-minutes-847991da509f"&gt;Build A Loading Screen&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/how-to-build-an-html-calculator-app-from-scratch-using-javascript-4454b8714b98"&gt;Build an HTML Calculator with JS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://egghead.io/courses/build-a-react-native-todo-application"&gt;Build a React Native Todo Application&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  Write a Twitter Bot in Node.js

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://codeburst.io/build-a-simple-twitter-bot-with-node-js-in-just-38-lines-of-code-ed92db9eb078"&gt;Part 1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://codeburst.io/build-a-simple-twitter-bot-with-node-js-part-2-do-more-2ef1e039715d"&gt;Part 2&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://closebrace.com/tutorials/2017-03-02/creating-a-simple-restful-web-app-with-nodejs-express-and-mongodb"&gt;Create A Simple RESTFUL Web App&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/how-to-build-a-simple-search-bot-in-30-minutes-eb56fcedcdb1"&gt;Build A Simple Search Bot in 30 minutes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/how-i-built-a-job-scraping-web-app-using-node-js-and-indreed-7fbba124bbdc"&gt;Build A Job Scraping Web App&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://marcobonzanini.com/2015/03/02/mining-twitter-data-with-python-part-1/"&gt;Mining Twitter Data with Python&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://realpython.com/blog/python/web-scraping-with-scrapy-and-mongodb/"&gt;Scrape a Website with Scrapy and MongoDB&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://www.byperth.com/2018/04/25/guide-web-scraping-101-what-you-need-to-know-and-how-to-scrape-with-python-selenium-webdriver/"&gt;How To Scrape With Python and Selenium WebDriver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.com/@nishantsahoo.in/which-movie-should-i-watch-5c83a3c0f5b1"&gt;Which Movie Should I Watch using BeautifulSoup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world"&gt;Build a Microblog with Flask&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  Create a Blog Web App In Django

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://tutorial.djangogirls.org/en/"&gt;Part I : Introduction&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://legacy.gitbook.com/book/djangogirls/django-girls-tutorial-extensions/details"&gt;Part II : Extension To Add More Features&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.twilio.com/blog/2015/03/choose-your-own-adventures-presentations-wizard-mode-part-1-of-3.html"&gt;Choose Your Own Adventure Presentations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://realpython.com/blog/python/rethink-flask-a-simple-todo-list-powered-by-flask-and-rethinkdb/"&gt;Build a Todo List with Flask and RethinkDB&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Medium
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="http://scottlilly.com/learn-c-by-building-a-simple-rpg-index/"&gt;Learn C# By Building a Simple RPG Game&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://roguesharp.wordpress.com/"&gt;Create a Rogue-like game in C#&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://howistart.org/posts/clojure/1/index.html"&gt;Build a Twitter Bot with Clojure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://bernhardwenzel.com/articles/clojure-spellchecker/"&gt;Building a Spell-Checker&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://javarevisited.blogspot.com/2015/06/how-to-create-http-server-in-java-serversocket-example.html"&gt;Build a Simple HTTP Server with Java&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.youtube.com/watch?v=dhWL4DC7Krs"&gt;Build an Android Flashlight App&lt;/a&gt; (video)&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://scotch.io/tutorials/build-a-spring-boot-app-with-user-authentication"&gt;Build a Spring Boot App with User Authentication&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://javascript30.com"&gt;Build 30 things in 30 days with 30 tutorials&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.com/codingthesmartway-com-blog/pure-javascript-building-a-real-world-application-from-scratch-5213591cfcd6"&gt;Build an App in Pure JS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://serverless-stack.com/"&gt;Create Serverless React.js Apps&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://codeloveandboards.com/blog/2016/01/04/trello-tribute-with-phoenix-and-react-pt-1/"&gt;Create a Trello Clone&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://sahatyalkabov.com/create-a-character-voting-app-using-react-nodejs-mongodb-and-socketio/"&gt;Create a Character Voting App with React, Node, MongoDB and SocketIO&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.fullstackreact.com/articles/react-tutorial-cloning-yelp/"&gt;React Tutorial: Cloning Yelp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://codeburst.io/build-simple-medium-com-on-node-js-and-react-js-a278c5192f47"&gt;Build A Simple Medium Clone using React.js and Node.js&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/how-to-integrate-mailchimp-in-a-javascript-web-app-2a889fb43f6f"&gt;Integrate MailChimp in JS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://blog.hasura.io/tutorial-fullstack-react-native-with-graphql-and-authentication-18183d13373a"&gt;Build A ToDo App With React Native&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/how-to-build-a-chat-application-using-react-redux-redux-saga-and-web-sockets-47423e4bc21a"&gt;Make a Chat Application&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/create-a-news-app-using-react-native-ced249263627"&gt;Create a News App with React Native&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/learn-webpack-for-react-a36d4cac5060"&gt;Learn Webpack For React&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/how-to-build-your-own-react-boilerplate-2f8cbbeb9b3f"&gt;Build Your Own React Boilerplate&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://hackernoon.com/a-basic-react-redux-introductory-tutorial-adcc681eeb5e"&gt;A Basic React+Redux Introductory Tutorial&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://hackernoon.com/build-an-appointment-scheduler-using-react-twilio-and-cosmic-js-95377f6d1040"&gt;Build an Appointment Scheduler&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  Build an offline-capable Hacker News client with Angular 2+

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://houssein.me/angular2-hacker-news"&gt;Part 1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://houssein.me/progressive-angular-applications"&gt;Part 2&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;  ToDo App with Angular 5

&lt;ul&gt;
&lt;li&gt;  &lt;a href="http://www.discoversdk.com/blog/intro-to-angular-and-the-evolution-of-the-web"&gt;Introduction to Angular&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://www.discoversdk.com/blog/angular-5-to-do-list-app-part-1"&gt;Part 1&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;  ToDo App with Angular 5

&lt;ul&gt;
&lt;li&gt;  &lt;a href="http://www.discoversdk.com/blog/intro-to-angular-and-the-evolution-of-the-web"&gt;Introduction to Angular&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://www.discoversdk.com/blog/angular-5-to-do-list-app-part-1"&gt;Part 1&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Hard
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="http://www.craftinginterpreters.com/"&gt;Build an Interpreter&lt;/a&gt; (Chapter 14 on is written in C)&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://brennan.io/2015/01/16/write-a-shell-in-c/"&gt;Write a Shell in C&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial/"&gt;Write a FUSE Filesystem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://viewsourcecode.org/snaptoken/kilo/"&gt;Build Your Own Text Editor&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://www.buildyourownlisp.com/"&gt;Build Your Own Lisp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.youtube.com/playlist?list=PLVMqA0_8O85yC78I4Xj7z48ES48IQBa7p"&gt;Building the CoreWiki&lt;/a&gt; This is a Wiki-style content management system that has been completely written in C# with ASP.NET Core and Razor Pages. You can find the source code &lt;a href="https://github.com/csharpfritz/CoreWiki"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://hackernoon.com/building-a-jira-integration-with-clojure-atlassian-connect-506ebd112807"&gt;Building a JIRA integration with Clojure &amp;amp; Atlassian Connect&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://www.craftinginterpreters.com/"&gt;Build an Interpreter&lt;/a&gt; (Chapter 4-13 is written in Java)&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://teropa.info/blog/2015/09/10/full-stack-redux-tutorial.html"&gt;Build a Full Stack Movie Voting App with Test-First Development using Mocha, React, Redux and Immutable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://scotch.io/tutorials/build-a-real-time-twitter-stream-with-node-and-react-js"&gt;Build a Twitter Stream with React and Node&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  Build a Serverless MERN Story App with Webtask.io

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://scotch.io/tutorials/build-a-serverless-mern-story-app-with-webtask-io-zero-to-deploy-1"&gt;Part 1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://scotch.io/tutorials/build-a-serverless-mern-story-app-with-webtask-io-zero-to-deploy-2"&gt;Part 2&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/building-chrome-extensions-in-react-parcel-79d0240dd58f"&gt;Build A Chrome Extension with React + Parcel&lt;/a&gt;
&lt;a href="https://blog.bitsrc.io/testing-your-react-app-with-puppeteer-and-jest-c72b3dfcde59"&gt;Testing React App With Pupepeteer and Jest&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.freecodecamp.org/create-gameoflife-with-react-in-one-hour-8e686a410174"&gt;Code The Game Of Life With React&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://codeburst.io/build-a-chat-app-with-sentiment-analysis-using-next-js-c43ebf3ea643"&gt;Build A Chat App with Sentiment Analysis&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://hackernoon.com/full-stack-web-application-using-react-node-js-express-and-webpack-97dbd5b9d708"&gt;Build A Full Stack Web Application Setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  Build A Random Quote Machine

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://www.youtube.com/watch?v=3QngsWA9IEE"&gt;Part 1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.youtube.com/watch?v=XnoTmO06OYo"&gt;Part 2&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.youtube.com/watch?v=us51Jne67_I"&gt;Part 3&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.youtube.com/watch?v=iZx7hqHb5MU"&gt;Part 4&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.youtube.com/watch?v=lpba9vBqXl0"&gt;Part 5&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.youtube.com/watch?v=Jvp8j6zrFHE"&gt;Part 6&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.youtube.com/watch?v=M_hFfrN8_PQ"&gt;Part 7&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;  Build A Beautiful Real World App with Angular 6 :

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://medium.com/@hamedbaatour/build-a-real-world-beautiful-web-app-with-angular-6-a-to-z-ultimate-guide-2018-part-i-e121dd1d55e"&gt;Part I&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://medium.com/@tomastrajan/how-to-build-responsive-layouts-with-bootstrap-4-and-angular-6-cfbb108d797b"&gt;Build Responsive layout with BootStrap 4 and Angular 6&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://www.obeythetestinggoat.com/"&gt;Build a Todo List with Django and Test-Driven Development&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="http://www.skybert.net/python/developing-a-restful-micro-service-in-python/"&gt;Build a RESTful Microservice in Python&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://testdriven.io/"&gt;Microservices with Docker, Flask, and React&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://pythonspot.com/flask-web-app-with-python/"&gt;Build A Simple Web App With Flask&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://scotch.io/tutorials/build-a-restful-api-with-flask-the-tdd-way"&gt;Build a RESTful API with Flask – The TDD Way&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://codeburst.io/create-a-django-api-in-under-20-minutes-2a082a60f6f3"&gt;Create A Django API in under 20 minutes&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Ideas
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Easy
&lt;/h2&gt;

&lt;h3&gt;
  
  
  99 Bottles
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Create a program that prints out every line to the song "99 bottles of beer on the wall."&lt;/li&gt;
&lt;li&gt;  Do not use a list for all of the numbers, and do not manually type them all in. Use a built-in function instead.&lt;/li&gt;
&lt;li&gt;  Besides the phrase "take one down," you may not type in any numbers/names of numbers directly into your song lyrics.&lt;/li&gt;
&lt;li&gt;  Remember, when you reach 1 bottle left, the word "bottles" becomes singular.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Magic 8 Ball
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Simulate a magic 8-ball.&lt;/li&gt;
&lt;li&gt;  Allow the user to enter their question.&lt;/li&gt;
&lt;li&gt;  Display an in progress message(i.e. "thinking").&lt;/li&gt;
&lt;li&gt;  Create 20 responses, and show a random response.&lt;/li&gt;
&lt;li&gt;  Allow the user to ask another question or quit.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bonus:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Add a gui.&lt;/li&gt;
&lt;li&gt;  It must have a box for users to enter the question.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It must have at least 4 buttons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  ask&lt;/li&gt;
&lt;li&gt;  clear (the text box)&lt;/li&gt;
&lt;li&gt;  play again&lt;/li&gt;
&lt;li&gt;  quit (this must close the window)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Rock Paper Scissors Game
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Create a rock-paper-scissors game.&lt;/li&gt;
&lt;li&gt;  Ask the player to pick rock, paper or scissors.&lt;/li&gt;
&lt;li&gt;  Have the computer chose its move.&lt;/li&gt;
&lt;li&gt;  Compare the choices and decide who wins.&lt;/li&gt;
&lt;li&gt;  Print the results.&lt;/li&gt;
&lt;li&gt;  Subgoals:

&lt;ul&gt;
&lt;li&gt;  Give the player the option to play again.&lt;/li&gt;
&lt;li&gt;  Keep a record of the score (e.g. Player: 3 / Computer: 6).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Countdown Clock
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Create a program that allows the user to choose a time and date, and then prints out a message at given intervals (such as every second) that tells the user how much longer there is until the selected time.&lt;/li&gt;
&lt;li&gt;  Subgoals:

&lt;ul&gt;
&lt;li&gt;  If the selected time has already passed, have the program tell the user to start over.&lt;/li&gt;
&lt;li&gt;  If your program asks for the year, month, day, hour, etc. separately, allow the user to be able to type in either the month name or its number.&lt;/li&gt;
&lt;li&gt;  TIP: Making use of built in modules such as time and datetime can change this project from a nightmare into a much simpler task.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Medium
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Pomodoro Timer
&lt;/h3&gt;

&lt;p&gt;Create a Pomodoro Timer.&lt;/p&gt;

&lt;p&gt;Pomodoro Timer is a time management method. The technique uses a timer to break down work into intervals, traditionally 25 minutes in length, separated by short breaks. These intervals are named pomodoros, the plural in English of the Italian word pomodoro (tomato), after the tomato-shaped kitchen timer that Cirillo used as a university student.&lt;br&gt;
There are six steps in the original technique:&lt;/p&gt;

&lt;p&gt;Decide on the task to be done.&lt;br&gt;
Set the pomodoro timer (traditionally to 25 minutes).&lt;br&gt;
Work on the task.&lt;br&gt;
End work when the timer rings and put a checkmark on a piece of paper.&lt;br&gt;
If you have fewer than four checkmarks, take a short break (3–5 minutes), then go to step 2.&lt;br&gt;
After four pomodoros, take a longer break (15–30 minutes), reset your checkmark count to zero, then go to step 1.&lt;br&gt;
to know more about Pomodoro Timer &lt;a href="https://en.wikipedia.org/wiki/Pomodoro_Technique"&gt;click here&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  GoogleCase
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  It's a game which allows you to play with english sentences.&lt;/li&gt;
&lt;li&gt;  User will enter a sentence in any format.(uppercase or lowercase or a mix of both)&lt;/li&gt;
&lt;li&gt;  Program must convert the given sentence in google case .What is a google case style of sentence?&lt;a href="https://dev.toIt%20is%20a%20style%20of%20writing%20where%20we%20replace%20all%20lower%20case%20letters%20into%20upper%20case%20letters%20leaving%20the%20initial%20of%20all%20the%20words"&gt;know_about_it_here:&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;  Subgoals:

&lt;ul&gt;
&lt;li&gt;  Program must then convert the given sentence in camel case.To know more about camel case
&lt;a href="https://en.wikipedia.org/wiki/Camel_case"&gt;click_here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  Sentence can be entered with any number of spaces.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Dice Rolling Simulator
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Allow the user to input the amount of sides on a dice and how many times it should be rolled.&lt;/li&gt;
&lt;li&gt;  Your program should simulate dice rolls and keep track of how many times each number comes up (this does not have to be displayed).&lt;/li&gt;
&lt;li&gt;  Finally, print out how many times each number came up.&lt;/li&gt;
&lt;li&gt;  Subgoals:

&lt;ul&gt;
&lt;li&gt;  Adjust your program so that if the user does not type in a number when they need to, the program will keep prompting them to type in a real number until they do so.&lt;/li&gt;
&lt;li&gt;  Put the program into a loop so that the user can continue to simulate dice rolls without having to restart the entire program.&lt;/li&gt;
&lt;li&gt;  In addition to printing out how many times each side appeared, also print out the percentage it appeared. If you can, round the percentage to 4 digits total OR two decimal places.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;  Bonus:

&lt;ul&gt;
&lt;li&gt;  You are about to play a board game, but you realize you don't have any dice. Fortunately you have this program.&lt;/li&gt;
&lt;li&gt;  1. Create a program that opens a new window and draws 2 six-sided dice&lt;/li&gt;
&lt;li&gt;  2. Allow the user to quit, or roll again&lt;/li&gt;
&lt;li&gt;  Allow the user to select the number of dice to be drawn on screen(1-4) 2. Add up the total of the dice and display it&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Count and Fix Green Eggs and Ham
&lt;/h3&gt;

&lt;p&gt;Some of you may remember the Dr. Sues story "Green Eggs and Ham". For those of you that don't remember it or have never heard of it, &lt;a href="http://pastebin.com/XMY48CnN"&gt;here&lt;/a&gt; is the story. However, there is a problem with the story I gave you - every time the word I is used, it is lowercase.&lt;br&gt;
Because of this problem, your job is to do the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Copy the story I gave you into a regular text file.&lt;/li&gt;
&lt;li&gt;  Create a program that reads through the story and makes the letter i uppercase any time it should be. (Make sure to change it when it's used in sam-I-am's name too.)&lt;/li&gt;
&lt;li&gt;  Have your program make a new file, and have it write out the story correctly.&lt;/li&gt;
&lt;li&gt;  Print out how many errors were corrected.&lt;/li&gt;
&lt;li&gt;  When you're finished, you should have corrected &lt;a href="https://i.imgur.com/GRkj3yz.jpg"&gt;this many&lt;/a&gt; errors.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Hard
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Random Wikipedia Article
&lt;/h3&gt;

&lt;p&gt;If you've been to Wikipedia, you may have noticed that there is a link to a random article on the left side of the screen. While it can be fun to see what article you get taken to, sometimes it would be nice to see the name of the article so you can skip it if it sounds boring. Luckily, Wikipedia has an API that allows us to do so &lt;a href="https://en.wikipedia.org/w/api.php?action=query&amp;amp;list=random&amp;amp;rnnamespace=0&amp;amp;rnlimit=10&amp;amp;format=json"&gt;Click here&lt;/a&gt;.&lt;br&gt;
However, there is a dilemma. Since Wikipedia has articles about topics from all over the world, some of them have special characters in the title. For example, the article about the spanish painter &lt;a href="https://en.wikipedia.org/wiki/Erasto_Cort%C3%A9s_Ju%C3%A1rez"&gt;Erasto Cortés Juárez&lt;/a&gt; has é and á in it. If you look at this specific article's &lt;a href="https://en.wikipedia.org/w/api.php?action=query&amp;amp;prop=info&amp;amp;pageids=39608394&amp;amp;inprop=url&amp;amp;format=json"&gt;API&lt;/a&gt;, you will see that the title is "Erasto Cort\u00e9s Ju\u00e1rez" and that the \u00e9 and \u00e1 are replacing the two previously mentioned letters. (For information about what this is, start by checking out the first half of &lt;a href="https://docs.python.org/2/howto/unicode.html"&gt;this page&lt;/a&gt; in the documentation). To make your program work, you're going to have to handle this problem somehow.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Create a program that pulls titles from the official Wikipedia API and then asks the user one by one if he or she would like to read about that article.&lt;/li&gt;
&lt;li&gt;  Example:

&lt;ul&gt;
&lt;li&gt;  If the first title is Reddit, then the program should ask something along the lines of "Would you like to read about Reddit?" If the user says yes, then the program should open up the article for the user to read.&lt;/li&gt;
&lt;li&gt;  HINT: Click &lt;a href="https://en.wikipedia.org/wiki?curid=39608394"&gt;here&lt;/a&gt; to see how the article's ID can be used to access the actual article.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;  Subgoals:

&lt;ul&gt;
&lt;li&gt;  As mentioned before, do something about the possibility of unicode appearing in the title.&lt;/li&gt;
&lt;li&gt;  Whether you want your program to simply filter out these articles or you want to actually turn the codes into readable characters, that's up to you.&lt;/li&gt;
&lt;li&gt;  Make the program pause once the user has selected an article to read, and allow him or her to continue browsing different article titles once finished reading.&lt;/li&gt;
&lt;li&gt;  Allow the user to simply press ENTER to be asked about a new article.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What’s the Weather?
&lt;/h3&gt;

&lt;p&gt;If you would like to know the basics of what an API is, check out &lt;a href="http://www.reddit.com/r/explainlikeimfive/comments/qowts/eli5_what_is_api/c3z9kok"&gt;this&lt;/a&gt; post by iamapizza.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Create a program that pulls data from OpenWeatherMap.org and prints out information about the current weather, such as the high, the low, and the amount of rain for wherever you live.&lt;/li&gt;
&lt;li&gt;  Subgoals:

&lt;ul&gt;
&lt;li&gt;  Print out data for the next 5-7 days so you have a 5 day/week long forecast.&lt;/li&gt;
&lt;li&gt;  Print the data to another file that you can open up and view at, instead of viewing the information in the command line.&lt;/li&gt;
&lt;li&gt;  If you know html, write a file that you can print information to so that your project is more interesting.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;  Tips:

&lt;ul&gt;
&lt;li&gt;  APIs that are in Json are essentially lists and dictionaries. Remember that to reference something in a list, you must refer to it by what number element it is in the list, and to reference a key in a dictionary, you must refer to it by its name.&lt;/li&gt;
&lt;li&gt;  Don't like Celsius? Add &amp;amp;units=imperial to the end of the URL of the API to receive your data in Fahrenheit.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Sources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://github.com/tuvtran/project-based-learning"&gt;https://github.com/tuvtran/project-based-learning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://github.com/jorgegonzalez/beginner-projects"&gt;https://github.com/jorgegonzalez/beginner-projects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://github.com/MunGell/awesome-for-beginners/blob/master/README.md"&gt;https://github.com/MunGell/awesome-for-beginners/blob/master/README.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://github.com/sarahbohr/AbsoluteBeginnerProjects"&gt;https://github.com/sarahbohr/AbsoluteBeginnerProjects&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;What do you think?  Do you like to learn with a specific project or do you prefer without?&lt;/p&gt;

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