<?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: Francis Piche</title>
    <description>The latest articles on DEV Community by Francis Piche (@francis_pblog).</description>
    <link>https://dev.to/francis_pblog</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%2F53140%2Fbd3661f3-1eff-40aa-9605-de0e6d61f2eb.jpg</url>
      <title>DEV Community: Francis Piche</title>
      <link>https://dev.to/francis_pblog</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/francis_pblog"/>
    <language>en</language>
    <item>
      <title>How Failing Changed My Career</title>
      <dc:creator>Francis Piche</dc:creator>
      <pubDate>Thu, 24 Jan 2019 14:30:57 +0000</pubDate>
      <link>https://dev.to/francis_pblog/how-failing-changed-my-career-3ie5</link>
      <guid>https://dev.to/francis_pblog/how-failing-changed-my-career-3ie5</guid>
      <description>&lt;p&gt;I no longer post to my blog often, but I was looking back on this post and thought that more people should see it. I've received emails from classmates who found it inspiring, and so I figured I should share with the dev.to community. &lt;/p&gt;

&lt;p&gt;Here it goes...&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Post from September 24th, 2017.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;This morning while I was plucking away with my guitar, a misplacement of my 4th finger reminded me how much I’ve changed in the last 5 months. The momentary physical pain was a very real reminder of where I was just those few months ago and the progress that’s been made.&lt;/p&gt;

&lt;p&gt;A minor flesh wound marked the end of the beginning, and the beginning of the rest.&lt;/p&gt;

&lt;p&gt;Let me explain.&lt;/p&gt;

&lt;h2&gt;
  
  
  I Sucked at What I Was Good At
&lt;/h2&gt;

&lt;p&gt;Every summer since I was in 9th grade I’ve worked in a kitchen. Like any other fourteen-year-old kid, I just wanted money to buy video games, candy and not have to beg my parents for it. I started out as a dishwasher, worked my way up to line-cook, and worked at the same little restaurant until I graduated from high-school.&lt;/p&gt;

&lt;p&gt;It’s always crazy in a kitchen. Temperatures are high, demand is high, tension is high and the pace is never comfortable. I liked it though. The challenge made the days go fast, and the sweat made my money feel earned.&lt;/p&gt;

&lt;p&gt;I liked it, and I was pretty good at it.&lt;/p&gt;

&lt;p&gt;During the semester I’d always do well. It was just never an issue. I cared about school, was interested in the subjects, and identified myself as the kid who gets good grades.&lt;/p&gt;

&lt;p&gt;I liked it, and I was pretty good at it.&lt;/p&gt;

&lt;p&gt;Then I came to McGill University.&lt;/p&gt;

&lt;p&gt;Almost overnight, I sucked. I was struggling at everything I previously considered myself good at. I understood next to nothing in my classes, and I hardly had a work ethic since I never needed one before.&lt;/p&gt;

&lt;p&gt;I knew immediately I was running a different race. I wasn’t in Kansas anymore.&lt;/p&gt;

&lt;p&gt;I managed to do alright by adapting, working hard, all that stuff. But my confidence was gone. I lost my identity as “the know-it-all kid”. Suddenly what I thought was a “talent” was just the standard. I didn’t fail, necessarily, but it was certainly humbling.&lt;/p&gt;

&lt;p&gt;That summer I thought I’d find something familiar with a cooking job again. My resume was pretty good, so I got a job in literally minutes. I made three cold-calls to restaurants in the area, and in five minutes had an interview lined up.&lt;/p&gt;

&lt;p&gt;On the first day, I realized immediately again that I was in a completely new world.&lt;/p&gt;

&lt;p&gt;Nothing I did was right. Suddenly the bar was raised double. I had to re-learn everything I thought I knew. I could tell the chef was disappointed in his hire, and I had no idea what I was doing wrong.&lt;/p&gt;

&lt;p&gt;“I thought I was good at this…”&lt;/p&gt;

&lt;p&gt;Day three, the training wheels came off. The cook I was replacing had left, and I was on my own for the first time. Twelve-o-clock hit and the lunch rush came.&lt;/p&gt;

&lt;p&gt;I flopped.&lt;/p&gt;

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

&lt;p&gt;I was behind on all my orders, lettuce went flying, and I was in a whirl.&lt;/p&gt;

&lt;p&gt;I’d dealt with kitchen stress before, but this was on a new level. My hands were shaking, I was clumsy, my thinking was clouded and I must’ve jumped two feet every time the chef yelled out another order.&lt;/p&gt;

&lt;p&gt;After the dust settled, and I picked up the pieces of broken confidence, I went home to think about how to improve.&lt;/p&gt;

&lt;p&gt;The next morning, I came in to work with feeling of pure dread. I did the best I could to prepare for what I knew was coming, but by eleven, my hands started to shake again. I knew that if I was this stressed out, I wouldn’t improve.&lt;/p&gt;

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

&lt;p&gt;Nothing too gruesome, I’d cut my finger before. I quickly wrapped in in paper towel and went over to the sink without looking at it.&lt;/p&gt;

&lt;p&gt;“Great now I have to go ask my chef where the first aid kit is… I’m going to look like such a tool again.”&lt;/p&gt;

&lt;p&gt;I’m not going to pretend it was some horrific injury, because it really wasn’t. I’d cut the tip of my pinky finger clean off, but not too far down.&lt;/p&gt;

&lt;p&gt;I’m also not going to pretend it was some grand traumatic experience. I felt fine, and actually didn’t think I’d failed at anything.&lt;/p&gt;

&lt;p&gt;At first I was thinking, “oh it’s okay, accidents happen. I’ll be back at work tomorrow”.&lt;/p&gt;

&lt;p&gt;But the Montreal public health care system gave me a lot of time to think. (6 hours in the ER)&lt;/p&gt;

&lt;p&gt;I came to the conclusion that it wasn’t just an accident. I knew on a sub-surface level that it was the stress of the feelings of inadequacy that lead to this incident. I knew that if I wasn’t so worried about what my boss would think of me, worried about why I was no longer succeeding in the things I used to, that I would have been calm. My hands wouldn’t shake, my thinking would be clear, and my heart would beat normally. I knew that my mental state sabotaged my physical one.&lt;/p&gt;

&lt;p&gt;I remember weighing the pro’s of a few bucks against 4 entire months to work on my career. To invest time into myself.&lt;/p&gt;

&lt;p&gt;I never went back to that job, and it was the best decision I’ve made in my entire life. I decided to devote my summer to my studies, (which at the time was atmospheric chemistry) and work on my mental health.&lt;/p&gt;

&lt;p&gt;I never thought it would lead me here.&lt;/p&gt;

&lt;p&gt;For the entire month of May, I was a hermit. My girlfriend was out of town, I’d just moved into a new apartment, and was now sitting at home with a stumped finger and nothing to do. I told myself I would read, build good habits, study hard and get way ahead.&lt;/p&gt;

&lt;p&gt;I did none of those things.&lt;/p&gt;

&lt;p&gt;I wrote a post a while back about “Flipping the Switch”, which explains how a single decision can be the beginning of accomplishing your goals. Key word being “beginning”. If you haven’t stuck out any goals yet, what makes you think next time will be different?&lt;/p&gt;

&lt;p&gt;It won’t.&lt;/p&gt;

&lt;p&gt;I don’t know how many times I told myself I would workout consistently, eat better, read more, whatever. I didn’t have a framework, no stable base from which to launch these pursuits.&lt;/p&gt;

&lt;p&gt;So I started small. I thought, if nothing else, I’ll learn how to take care of myself.&lt;/p&gt;

&lt;p&gt;The progress I made in the month of May was this:&lt;br&gt;
-I showered regularly.&lt;br&gt;
-I shaved regularly&lt;br&gt;
-I brushed my teeth regularly.&lt;br&gt;
-I made weekly meal prep a habit.&lt;/p&gt;

&lt;p&gt;The progress was small, and nowhere near my expectations. Outside of doing those, I ended up basically just playing video games all day and watching Netflix in my bathrobe.&lt;/p&gt;

&lt;p&gt;I started to doubt whether I made the right choice. I started doubting whether I would ever amount to anything… It felt like it was getting worse. I was letting myself down yet again.&lt;/p&gt;

&lt;p&gt;Still, I don’t regret it. It was a necessary step in piecing together my self-confidence.&lt;/p&gt;

&lt;p&gt;Start small.&lt;/p&gt;

&lt;p&gt;Progress was still made, however insignificant it might look from the outside. I was clean, and well-fed. I spent a lot of time planning and thinking about my career as well.&lt;/p&gt;

&lt;p&gt;June things picked up. I started learning Java programming by watching tutorials online. I just wanted to get a leg up on the fall semester, and I was studying some chemistry stuff as well.&lt;/p&gt;

&lt;p&gt;June got these locked in:&lt;br&gt;
-Regular workouts&lt;br&gt;
-2-3 hours of solid study per day.&lt;br&gt;
-Keeping my room clean.&lt;/p&gt;

&lt;p&gt;This was also around the time that I started to think about programming as a career. I was enjoying it so much more than anything I’d done with chemistry, and the career outlook was way more appealing. Just a bachelor’s degree for double a M.Sc chemist? Freelance opportunity? Business opportunity? Work abroad?&lt;/p&gt;

&lt;p&gt;It was starting to look good.&lt;/p&gt;

&lt;p&gt;I still wasn’t meeting half the goals I’d set for myself. I wasn’t anywhere near the level of productivity and proficiency I’d always aspired to have.&lt;/p&gt;

&lt;p&gt;Again, I don’t regret it, because I was making progress. Laying the habits and foundations that would make me successful later.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“If you can’t fly then run, if you can’t run then walk, if you can’t walk then crawl, but whatever you do you have to keep moving forward.”&lt;/em&gt;&lt;br&gt;
– Martin Luther King Jr.&lt;/p&gt;

&lt;p&gt;Full Steam Ahead.&lt;/p&gt;

&lt;p&gt;By July, nothing could stop me. By now I had committed fully to my transition. I’d officially registered in Software Engineering.&lt;/p&gt;

&lt;p&gt;It was full steam ahead.&lt;/p&gt;

&lt;p&gt;I’d gotten my hands on recordings of the Intro to Programming course at McGill, and the free book: “Think Java: How to Think Like a Computer Scientist” I was plowing through 5 lectures per day, and read the entire book cover to cover.&lt;/p&gt;

&lt;p&gt;I’d started working on my website, built my first Java program and was starting to feel like it was all worth it.&lt;/p&gt;

&lt;p&gt;That month I:&lt;br&gt;
-Worked 8-10 hours a day&lt;br&gt;
-Stopped wasting time on social media&lt;br&gt;
-Stopped playing video games more than 30-60 minutes per day&lt;/p&gt;

&lt;p&gt;August stayed the same, and now I’m working harder than ever before, with consistency.&lt;/p&gt;

&lt;p&gt;Now I’m cranking out a 1500+ word post, 4 workouts and six 15 hour workdays per week without fail. None of which would have been possible without the foundation laid down this summer.&lt;/p&gt;

&lt;p&gt;So now, every time my damaged nerve tissue sends a sharp pain up my arm, I remember what life was like just 5 months ago.&lt;/p&gt;

&lt;p&gt;It’s such a short period of time for so much growth, and I’m proud of who I’m becoming. For years I’ve wanted to become a productive, career minded person, but I was sabotaging my progress with unhealthy habits and a shaky foundation.&lt;/p&gt;

&lt;p&gt;I can’t wait to look back another 5 months from now, 5 months from then, and another 5 months from that.&lt;/p&gt;

&lt;p&gt;The point of sharing this is to show that from a failure, from being at our lowest point, is sometimes the best time to change. And that change doesn’t happen overnight.&lt;/p&gt;

&lt;p&gt;Habits take time to cultivate.&lt;/p&gt;

&lt;p&gt;Take them on one at a time.&lt;/p&gt;

&lt;p&gt;But what ever you do, &lt;strong&gt;keep moving forward.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>motivation</category>
      <category>failure</category>
    </item>
    <item>
      <title>Guide to Your First Software Project</title>
      <dc:creator>Francis Piche</dc:creator>
      <pubDate>Sun, 21 Jan 2018 23:48:14 +0000</pubDate>
      <link>https://dev.to/francis_pblog/guide-to-your-first-software-project-44ge</link>
      <guid>https://dev.to/francis_pblog/guide-to-your-first-software-project-44ge</guid>
      <description>&lt;p&gt;What good is learning to code if you never use it to make a project? At what point are you even ready to start a project? What’s even possible to make?&lt;/p&gt;

&lt;p&gt;Well, if you’ve learned even just the very basics of programming, you’re already ready! Taking on your first project is the best way to accelerate your skills as a programmer and developer.&lt;/p&gt;

&lt;p&gt;While this is labelled as a “guide”, nothing can really guide you through your project step by step. The whole point of starting your own project is to charter new territory on your own. It’s time to let go of the safety net of assignments or tutorials and to make something from your imagination.&lt;/p&gt;

&lt;p&gt;This post will serve only as a starting point. A gentle nudge to send your raft into the ocean blue. While I’m far from an experienced developer, having recently started my first medium-large project, I think I’ve learned a few lessons that are valuable enough to pass on. 😊&lt;/p&gt;

&lt;h2&gt;
  
  
  Do It On Your Own
&lt;/h2&gt;

&lt;p&gt;While there’s certainly value in working as a team, your first project will probably be small enough to do entirely on your own. And it’s probably for the best, since you’ll get the most out of the learning experience if you complete everything yourself.&lt;/p&gt;

&lt;p&gt;The point of the first project is to cut the umbilical cord to the hand-holding you might be used to as a beginner. So the experience of choosing, designing, and building something entirely open-ended alone is a valuable one.&lt;/p&gt;

&lt;p&gt;Along the same idea, avoid (as much as you can) simply Googling answers to problems you could solve on your own. As a rule of thumb: try it on your own first, and if you’re absolutely stuck, StackOverflow is your friend.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scope
&lt;/h2&gt;

&lt;p&gt;The first thing you’ll want to do when starting your project will be to decide on a scope, (what it’s about).&lt;/p&gt;

&lt;p&gt;Maybe you’ve already got some good ideas floating around in your head, or just a vague idea of the “flavor” you want. Either way, take some time to decide on the general scope of what you’d like to make. Have you always wanted to make a game? Is there a command-line tool you think will make life easier? Maybe you have an idea for an app you want to throw on the app store?&lt;/p&gt;

&lt;p&gt;Remember to choose something you care about! It’ll be much easier to stay motivated and see it through to completion!&lt;/p&gt;

&lt;p&gt;Side note on clones: clones of existing things are fine for educational purposes, but you can always do better. Coming up with an original (or at least semi-original) is always better than making (yet another) Pong clone. Also, don’t worry if you feel like what you’re making is lame or has been done before. As long as you avoid directly copying someone else’s project, yours will surely come out unique, and you’ll still learn valuable first-project lessons.&lt;/p&gt;

&lt;h2&gt;
  
  
  Size
&lt;/h2&gt;

&lt;p&gt;Now that you’ve decided on the type of software you want to make, and maybe even have an idea for the specific program, it’s time to decide on a timeframe.&lt;/p&gt;

&lt;p&gt;Of course, the larger the project the more oportunity for learning, but striking a balance is important. How much time do you have? How soon do you want to move on to another project?&lt;/p&gt;

&lt;p&gt;If you’re a university student, or have a full-time job, odds are you don’t have much time to be spending on your side-project, so it’s important to pick something feasable. Software is notoriously hard to predict when it comes to completion time, but that doesn’t mean it’s not useful to set some rough targets.&lt;/p&gt;

&lt;p&gt;Keep in mind that your skills will progress greatly over the course of the project, and that you’ll probably be capable of a much more impressive project before you finish the first. For that reason, it might be a good idea to pick something that you can finish sooner rather than later, so you can start on the next project as soon as you’re ready (while still completing the first).&lt;/p&gt;

&lt;p&gt;Choosing a smaller project will be easier to complete, and the gratification can be used as momentum into the next, bigger project!&lt;/p&gt;

&lt;h2&gt;
  
  
  Top Down
&lt;/h2&gt;

&lt;p&gt;While imposter syndrome is real, there’s also the opposite issue of beginner over-confidence.&lt;/p&gt;

&lt;p&gt;It’s almost impossible to know what you are and aren’t capable of, and it’s easy to “trap” yourself within your current capabilities. To avoid this, and to stretch your abilities, I think a good approach is to start with the big idea and work down.&lt;/p&gt;

&lt;p&gt;Start with the grand vision, and deconstruct it down to find out exactly what you know how to do and what you don’t. Doing this in as much detail as possible will give you the best overview of what you need to do to start your project!&lt;/p&gt;

&lt;h2&gt;
  
  
  An Organized Project is a Good Project
&lt;/h2&gt;

&lt;p&gt;One of the biggest lessons I learned from writing my first game was that it’s very easy for the project (and therefore the code) to get really, REALLY messy.&lt;/p&gt;

&lt;p&gt;I was just writing features as I thought of them, making new classes as I needed them, and not refactoring code unless I absolutely needed to.&lt;/p&gt;

&lt;p&gt;A good way to avoid this is to get a little notebook to journal/map out your ideas and sketch the framework of your project.&lt;br&gt;
This will do a few things:&lt;/p&gt;

&lt;p&gt;-You’ll have a record of every idea you’ve had (good and bad)&lt;/p&gt;

&lt;p&gt;-You’ll be able to visualize the project as a whole&lt;/p&gt;

&lt;p&gt;-You can then organize your ideas into a cohesive plan&lt;/p&gt;

&lt;p&gt;-You can work through problems on paper before jumping into the code&lt;/p&gt;

&lt;p&gt;-Your code will be nice and organized as a result.&lt;/p&gt;

&lt;p&gt;Don’t undervalue the drawing board. It’s a very VERY useful tool.&lt;/p&gt;

&lt;p&gt;A few tips on keeping a notebook:&lt;/p&gt;

&lt;p&gt;Every rough sketch needs a clean one. I’ve experienced the pain of drawing out a new feature in my notebook in all its messy, arrow-filled glory, only to completely forget what the heck I drew the next time I looked at it. Make it readable.&lt;/p&gt;

&lt;p&gt;Sketch details as well as overviews. It’s a good idea to sketch out small features in as much detail as possible. The more detailed the plan, the less time you’ll spend coding (and hopefully debugging).&lt;/p&gt;

&lt;p&gt;Spend some time organizing the class-hierarchy (if object-oriented). Putting some thought into how your classes will be organized will save you a lot of time when it comes to using them in the rest of your code. Deliberately making your methods static vs non-static, using interfaces and abstract classes when appropriate, organizing your objects in an intuitive way, etc. will save a ton of time and headache.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don’t Stop Until It’s Done
&lt;/h2&gt;

&lt;p&gt;A finished project that kind of sucks is still better than five half-finished ones. Showing that you’re able to stick it out till the end says a lot about you.&lt;/p&gt;

&lt;p&gt;It’s normal to feel overwhelmed, frustrated, and completely underqualified. Just keep putting in the time, and take a break to do some learning if you have to. The point is to learn remember?&lt;/p&gt;

&lt;p&gt;Of course, if the project is beginning to feel like a complete waste of time and you know there’s something more valuable you could be doing, don’t be afraid to cut non-essential features and wrap it up early.&lt;/p&gt;

&lt;p&gt;If you need an example project to look at to get started, the &lt;a href="http://francispiche.ca/responsive-rain-animation-in-java/"&gt;Rain Animation&lt;/a&gt; I made in Java a few months ago is a great starter one! I made a step by step guide for it, and it’s completable within a few hours.&lt;/p&gt;

&lt;p&gt;Also, the source code to my current project, ConsoleAdventure, is up on my GitHub if you’d like to look at something a little bigger.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>learning</category>
      <category>project</category>
    </item>
    <item>
      <title>What was the first project you completed on your own? (And felt proud of)</title>
      <dc:creator>Francis Piche</dc:creator>
      <pubDate>Tue, 09 Jan 2018 21:03:15 +0000</pubDate>
      <link>https://dev.to/francis_pblog/what-was-the-first-project-you-completed-on-your-own-and-felt-proud-of-24gn</link>
      <guid>https://dev.to/francis_pblog/what-was-the-first-project-you-completed-on-your-own-and-felt-proud-of-24gn</guid>
      <description>&lt;p&gt;As a student, I don't have a ton of time for personal projects, but I've worked on a few very small pieces. I'm about halfway through a text-based adventure game myself, and it will probably be my first real project.  &lt;/p&gt;

&lt;p&gt;I'm curious as to what your first project was, and were you proud of it? Are you still proud of it?&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
  </channel>
</rss>
