<?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: Mateusz Dziubek</title>
    <description>The latest articles on DEV Community by Mateusz Dziubek (@matdziu).</description>
    <link>https://dev.to/matdziu</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%2F369720%2F7d736d3c-8794-4934-804e-d2c8360b16b4.png</url>
      <title>DEV Community: Mateusz Dziubek</title>
      <link>https://dev.to/matdziu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/matdziu"/>
    <language>en</language>
    <item>
      <title>Want to Learn Programming? Avoid These 3 Mistakes</title>
      <dc:creator>Mateusz Dziubek</dc:creator>
      <pubDate>Wed, 07 Apr 2021 20:19:02 +0000</pubDate>
      <link>https://dev.to/matdziu/want-to-learn-programming-avoid-these-3-mistakes-2j42</link>
      <guid>https://dev.to/matdziu/want-to-learn-programming-avoid-these-3-mistakes-2j42</guid>
      <description>&lt;p&gt;As the date of my &lt;a href="https://codersbible.com/before-you-start-webinar/"&gt;online workshop “Before You Start Learning How to Code”&lt;/a&gt; approaches, I thought I’ll share 3 common mistakes that you should be aware of when diving head first into the complicated programming world.&lt;/p&gt;

&lt;h2&gt;
  
  
  MISTAKE #1: YOU LEARN TO CODE, BUT DO NOT FOCUS ON PRACTICE
&lt;/h2&gt;

&lt;p&gt;So you started learning to code. That’s great! What were the factors that you took into consideration when choosing the resource you’re learning from? If it’s an online course you should look for completeness (it should cover all the basics) and friendliness of the teaching style. But there’s one more important thing. Your first course/book/tutorial about programming should be focused on &lt;strong&gt;practice&lt;/strong&gt; as much as possible.&lt;/p&gt;

&lt;h3&gt;
  
  
  Example from my life:
&lt;/h3&gt;

&lt;p&gt;When I was designing &lt;a href="https://codersbible.teachable.com/p/python"&gt;my programming course for beginners&lt;/a&gt; I wanted my students to experience transformation, which is heavily focused on practice. I even phrased this transformation in one sentence: &lt;strong&gt;go from absolute beginner to having a complex programming project, which you'll be able to code by yourself&lt;/strong&gt;. Capstone projects, final projects, practice assignments - these are keywords you should look for while doing your research.&lt;/p&gt;

&lt;h2&gt;
  
  
  MISTAKE #2: YOU FOCUS ON PRACTICE, BUT DO NOT CREATE PROJECTS
&lt;/h2&gt;

&lt;p&gt;Treat practice exercises as side quests. Your primary goal should always be to create a small project, which has at least one of below characteristics:&lt;/p&gt;

&lt;p&gt;It’s fun (time really does fly by as you're having fun). &lt;br&gt;
It’s not too complicated (it should challenge you, not make you depressed). &lt;br&gt;
It’s made for somebody (make something even a tiny bit useful for you or your friends).&lt;/p&gt;

&lt;h3&gt;
  
  
  Example from my life:
&lt;/h3&gt;

&lt;p&gt;Back when I was starting my programming journey I focused too much on theory. I remember spending 3 months reading “Thinking in Java” only to end up forgetting 90% of the material. Then I gave it another go, but this time I completed all exercises from the book. It was a bit better, but they became quite repetitive with time and made me unable to answer more creative job interview questions. In the end it was a deep dive into a project called “Manip” (a 3D simulator I created for my robotics classes) that showed my weaknesses and helped me improve rapidly.&lt;/p&gt;

&lt;h2&gt;
  
  
  MISTAKE #3: YOU CREATE PROJECTS, BUT DO NOT SHOWCASE THEM
&lt;/h2&gt;

&lt;p&gt;So you’re learning to code - great, you’re doing practice projects - amazing, but to actually land a dream job you need to make a connection with recruiters. Not only by sending them CV, but also &lt;strong&gt;by showing them what you can build&lt;/strong&gt;. The number one reason aspiring programmers do not upload their code to sites like &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt; is perfectionism. Escape it as soon as possible. When in the future you revisit projects that you’re building now, you will always be unsatisfied with their quality. And that’s good. It means you’re making substantial progress!&lt;/p&gt;

&lt;h3&gt;
  
  
  Example from my life:
&lt;/h3&gt;

&lt;p&gt;For inspiration, take a look at websites where I share my skills publicly and pick the one that best suits your needs: &lt;a href="https://github.com/matdziu"&gt;GitHub&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/m-dziubek/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://matdziu.medium.com/"&gt;Medium&lt;/a&gt;, &lt;a href="https://dev.to/matdziu"&gt;Dev.to&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Ask Me Anything About IT and Programming Part 1</title>
      <dc:creator>Mateusz Dziubek</dc:creator>
      <pubDate>Mon, 11 Jan 2021 16:50:42 +0000</pubDate>
      <link>https://dev.to/matdziu/ask-me-anything-about-it-and-programming-part-1-45m6</link>
      <guid>https://dev.to/matdziu/ask-me-anything-about-it-and-programming-part-1-45m6</guid>
      <description>&lt;p&gt;I always try to be active on many Facebook groups, consisting mainly of junior devs (or soon-to-be junior devs). Sharing my knowledge is something that I love to do and despite the fact I haven’t seen everything in the industry yet, I am confident I can help a few people. So, I decided to send my audience a little survey with just one text field for any anonymous question related to programming or IT. I picked the most interesting ones and answered them in this post. Do not take my words for granted though. You can always disagree in the comments and I’d be happy to see your point of view!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Originally posted &lt;a href="https://codersbible.com/ask-me-anything-about-it-and-programming-part-1/"&gt;here&lt;/a&gt;, on my blog &lt;a href="https://codersbible.com/"&gt;Coders Bible&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Do employers care about college degree? Is lack of diploma a barrier in getting a job in IT and can it become a burden later in my career?
&lt;/h2&gt;

&lt;p&gt;I’ve seen many lines of code produced by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;people, who never attended university,&lt;/li&gt;
&lt;li&gt;college dropouts,&lt;/li&gt;
&lt;li&gt;PhDs,&lt;/li&gt;
&lt;li&gt;Computer Science graduates,&lt;/li&gt;
&lt;li&gt;non-technical graduates,&lt;/li&gt;
&lt;li&gt;graduates of top universities,&lt;/li&gt;
&lt;li&gt;graduates of universities I didn’t even know existed,&lt;/li&gt;
&lt;li&gt;students with bad grades,&lt;/li&gt;
&lt;li&gt;students with top grades.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also talked with many representatives of these groups. Some of them were my coworkers. And you know what? Based on my experience, I can confidently say, that college degree is NOT a good predictor of employee success in the IT industry.&lt;/p&gt;

&lt;p&gt;However some companies require degree (from what I saw roughly 1 in 10 job postings mentions it). The reasoning here could differ, but most of the time it’s used to aid in the screening process, so that later developers could interview applicants from the list that’s a little bit more narrow. It saves company time and money, but in my opinion it reduces the pool of potential employees too much.&lt;/p&gt;

&lt;p&gt;So based on what I’ve shared with you thus far, you can assume, that to be a good developer you don’t need to have college diploma, however you need to be well educated (books, courses, projects) and that a vast majority of job offers do not require degree. That leaves you with few different questions to ask yourself before putting time, money and effort to go to university (I’m sure there’s more so write them in the comments to help others choose wisely):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Are you willing to let go of this 1 in 10 offers that require degree?&lt;/li&gt;
&lt;li&gt;Are you sure that IT is for you? College is time to choose what really stimulates your mind since it exposes you to many different fields.&lt;/li&gt;
&lt;li&gt;Can you network on your own (meet new people, that can later help you in career)? Many people argue, that this is the biggest value you get out of the time in college.&lt;/li&gt;
&lt;li&gt;Do you really know what is the quality of lectures and lecturers in the uni you want to apply to? I won’t lie - most of the time it’s just shit.&lt;/li&gt;
&lt;li&gt;Can you develop soft skills on your own?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Can lack of diploma be a burden later in your career? I can’t see the future, but probably not. Keep learning and you’ll always be more agile in absorbing new things than uni syllabuses. And in the end, that’s what matters to every employer.&lt;/p&gt;

&lt;h2&gt;
  
  
  I’m 25 years old and I’m interested in frontend development, but I don’t have any experience. Does it make sense for me to even start now?
&lt;/h2&gt;

&lt;p&gt;Of course, there’s a plethora of quality resources out there! You can start by checking my &lt;a href="https://codersbible.teachable.com/p/python"&gt;online course for beginner programmers (scroll down for free module 0)&lt;/a&gt;. Focus on practice and at the beginning learn enough to be dangerous i. e. enough to make some cool project. For example, back when I was studying Machine Learning, I was a little bit bored with yet another dogs or digits recognizer, so I created my own classifier, which could differentiate between different beer labels. In the end it even became part of my engineering thesis, so remember to always have a little bit of fun while learning:&lt;/p&gt;

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

&lt;p&gt;And no - 25 years old is not too late, come on :) &lt;/p&gt;

&lt;h2&gt;
  
  
  What factors did you take into consideration while choosing your first job?
&lt;/h2&gt;

&lt;p&gt;Out of ~30 junior and internship openings I applied to I was accepted to only 1 so there wasn’t much room for consideration. I can share with you three things I look for in a job now. It will probably help you if you receive more offers than I did few years ago:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Money.&lt;/strong&gt; I don’t mean to always be rushing to the company that pays the most, but I advise to reconsider if salary is below the market average. Luckily salary ranges are nowadays publicly available in many job postings, so you can compare.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;People.&lt;/strong&gt; Try to avoid assholes as much as you can, and make sure that there’s at least one person in your team, who knows more than you and is willing to share that knowledge with you daily.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project.&lt;/strong&gt; You must feel comfortable with technology stack and purpose of the product.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What should I do to make the best of my time during IT studies?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Find job as fast as you can.&lt;/li&gt;
&lt;li&gt;Make a fun programming project with your college friends, while drinking beer in a dorm.&lt;/li&gt;
&lt;li&gt;Check IT events nearby and meet new people there. Use meetup.com or Facebook events.&lt;/li&gt;
&lt;li&gt;Practice soft skills by organizing a student group or presenting an interesting topic in front of the class.&lt;/li&gt;
&lt;li&gt;Don’t assume that college will teach you anything about IT industry or being a good employee.&lt;/li&gt;
&lt;li&gt;Try to repeat all of that each semester.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Can I get an entry level job without good command of English?
&lt;/h2&gt;

&lt;p&gt;You might get an entry level job without being a good English speaker (though you’ll have to progress fast in this area), but written understanding is absolutely essential. Without it you are seriously limited not only in job offers, but most importantly in the amount of resources you can use, since most of them (docs, courses, tutorials) are in English.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Are you planning to learn how to code? &lt;a href="https://codersbible.com/4-things-to-do-before-you-start-learning-how-to-code/"&gt;Check 4 things to do before you even start!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>How to Learn to Code and Don't Quit as a Beginner</title>
      <dc:creator>Mateusz Dziubek</dc:creator>
      <pubDate>Mon, 04 Jan 2021 19:51:35 +0000</pubDate>
      <link>https://dev.to/matdziu/how-to-learn-to-code-and-don-t-quit-as-a-beginner-38c9</link>
      <guid>https://dev.to/matdziu/how-to-learn-to-code-and-don-t-quit-as-a-beginner-38c9</guid>
      <description>&lt;p&gt;Programming is a skill and just like any other skill (playing guitar, riding a bike or skateboarding) it requires practice. But how to approach learning how to code to have initial advantage over other aspiring programmers? In this article I will share with you tips, that every beginner should try to apply in the coding practice to minimize chance of quitting and maximize the learning outcome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Originally posted &lt;a href="https://codersbible.com/how-to-learn-to-code-and-dont-quit-as-a-beginner/"&gt;here&lt;/a&gt;, on my blog &lt;a href="https://codersbible.com/"&gt;Coders Bible&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These tips come directly from my own experience. I believe that following at least a few can yield amazing outcomes. I reapplied all of them a few years ago, when as an established software engineer I decided to shake things up a bit and learn completely new technology (iOS programming). I noticed higher motivation and surprisingly quick learning results. Hence, you might consider these tips tested in action.&lt;/p&gt;

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

&lt;p&gt;In his classic &lt;a href="https://www.youtube.com/watch?v=qp0HIF3SfI4"&gt;TED talk&lt;/a&gt; Simon Sinek argues that strong inner “why” is the exact reason for great leaders inspiring meaningful actions. Don’t worry, I will not tell you to write your life mission on the wall or repeat it every day before you go to sleep. All I’m advising is to spend a little time asking yourself why do you even want to bother. What’s the point? Try it on your own first, but let me tell you there are at least &lt;a href="https://codersbible.com/why-should-i-learn-to-code-17-reasons-to-learn-programming/"&gt;17 highly motivating reasons to learn how to code&lt;/a&gt;. This should help you get through during these not-so-rare days when we lack motivation to do anything. &lt;/p&gt;

&lt;p&gt;My top 3 reasons for which I got into programming are:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;having freedom&lt;/strong&gt;&lt;br&gt;
Most of the software companies allow you to have up to 3 days of remote work per week. In healthy organizations, taking vacations is never something managers look at with contempt. Additionally, working hours are always flexible and the focus is not put on being mindlessly chained to your computer 8 hours a day, but rather on delivering real results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;seeing results of my work immediately&lt;/strong&gt;&lt;br&gt;
I graduated from the Faculty of Mechanical Engineering, where I was learning about pumps, gears, millers, pistons...I’m boring myself just writing about that. But unexciting classes weren't my biggest problem. I was consuming a lot of theory about all these big machines only to have around few hours every month to see them in action (even less time to try them myself). My friends at the Faculty of Civil Engineering had similar issues. They wanted to finally see real results of their careful calculations and planning, but due to the nature of this industry they weren’t able to. Software is not like that: learn theory, practice, apply it in code, compile and BOOM - you see the output on your screen almost immediately. Experiencing results of work in such quick manner helps to stay motivated and even amazed at things you can build with your own hands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;receiving attractive salary&lt;/strong&gt;&lt;br&gt;
This probably is the most obvious. Average salary of software engineer is considerably higher than for most other career choices. I want, however, to show you exactly how much higher. Under &lt;a href="https://www.levels.fyi/"&gt;this link&lt;/a&gt; you’ll find compensation for developers in many of the top tech companies. For example at Google, as you gain experience and expertise, you get promoted through levels with symbols like L3 (Software Engineer II), L4 (Software Engineer III), L5 (Senior Software Engineer) etc. By clicking on the tiles on the website, you’ll see average yearly salaries (most of them are verified). If you wish to take a look at other parts of the world &lt;a href="https://www.codingame.com/work/blog/hr-news-trends/average-software-engineer-salaries-2020-top-paying-countries/"&gt;here is the link&lt;/a&gt; to great article backed by data with top paying countries. And if you would like to go even further and find your country, then I can highly recommend &lt;a href="https://www.salaryexpert.com/salary/browse/countries/computer-software-engineer"&gt;this report&lt;/a&gt; from Economic Research Institute.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choose a programming language
&lt;/h2&gt;

&lt;p&gt;Programming language is a tool used to develop all this magnificent software helping us every day. Different tools are used for different purposes. For example Android mobile apps are usually built using Java or Kotlin. iOS mobile apps utilize Swift or Objective-C. And to create websites you can learn a bit of JavaScript (among others). But wait a minute! You’re just starting out. It’s not so easy to create a mobile or web app, because there are many other technologies you need to grasp (HTML, CSS, JSON, XML, React, Node, Android Framework, iOS Framework etc.). To not get discouraged by this complex variety you should start from something simple, yet powerful like Python!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://codersbible.com/3-big-reasons-to-learn-programming-in-python-as-a-beginner/"&gt;In this blog post&lt;/a&gt; I described 3 top reasons to learn programming in Python as a beginner. Python is easy to learn, has a big community and you can build amazing things with it (some of the fields utilizing Python are: Web Development, Artificial Intelligence, Machine Learning, Data Science and Cybersecurity). Once you learn how to code in Python it’s extremely easy to change language to something else (like Java or JavaScript) or simply stick to it and e. g. create websites. My personal programming journey has begun with Python. Later, I smoothly transitioned to Java only to end up in the Android development world using Kotlin. Python helped me immensely. If you want to quickly try Python NOW take a look at &lt;a href="https://codersbible.teachable.com/courses/python/lectures/27715471"&gt;this free lecture&lt;/a&gt; from my course called &lt;a href="https://codersbible.teachable.com/p/python"&gt;“Learn Programming With Python for Absolute Beginners”&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Programming basics - know what to look for
&lt;/h2&gt;

&lt;p&gt;Have in mind that whenever you are beginning to learn something new (like coding) there are 2 main knowledge categories to consider: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You know that you don’t know&lt;/strong&gt; about a certain aspect of a skill (for example you are aware of the fact that there is something called variables in Python and you don’t know how to define them just yet, but you know you should).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You don’t know that you don’t know&lt;/strong&gt; about a certain aspect of a skill (for example you’ve never even heard of classes in programming, so it’s obvious that you don’t know how to use them, but, what’s even more dangerous, you also don’t know that you really should learn them as soon as possible).
The second category is tricky and can pose a challenge when reviewing content of a book or online course before deciding to buy it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To help you, I’m listing topics that every quality resource designed to teach absolute beginners how to code should mention about. Alternatively, you can check the curriculum of my online course by scrolling down on &lt;a href="https://codersbible.teachable.com/p/python"&gt;this page&lt;/a&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Variables.&lt;/li&gt;
&lt;li&gt;Basic and advanced operations on different data types.&lt;/li&gt;
&lt;li&gt;Type conversion.&lt;/li&gt;
&lt;li&gt;Boolean operations.&lt;/li&gt;
&lt;li&gt;If statements.&lt;/li&gt;
&lt;li&gt;For loops.&lt;/li&gt;
&lt;li&gt;While loops.&lt;/li&gt;
&lt;li&gt;Nesting of loops.&lt;/li&gt;
&lt;li&gt;Methods and functions.&lt;/li&gt;
&lt;li&gt;Functions scope.&lt;/li&gt;
&lt;li&gt;Collections: lists or arrays, sets, dictionaries.&lt;/li&gt;
&lt;li&gt;Operations on collections.&lt;/li&gt;
&lt;li&gt;Classes.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Learn to code with fun projects
&lt;/h2&gt;

&lt;p&gt;If there is only one thing for you to remember from this article, it’s that &lt;strong&gt;having programming projects is crucial in standing out from the crowd of other junior developers&lt;/strong&gt;. This is exactly why people are looking for online courses or other resources, which are heavily focused on practice (assignments, capstone projects). There is a plethora of websites offering cool ideas for beginners like &lt;a href="https://www.upgrad.com/blog/python-projects-ideas-topics-beginners/"&gt;this one&lt;/a&gt;, but before you choose to commit and write your first line of code be sure that your project has these traits to keep you motivated:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It’s fun (time really does fly by as you're having fun).&lt;/li&gt;
&lt;li&gt;It’s not too complicated (it should challenge you, not make you depressed).&lt;/li&gt;
&lt;li&gt;It’s made for somebody (make something even a tiny bit useful for you or your friends).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Personally, I’ve coded a lot of side projects. &lt;strong&gt;The two that I’m about to mention are intermediate or maybe even advanced (I created them years after learning how to code)&lt;/strong&gt;, but for me they had all necessary traits:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Boardly - an app for meeting local board game players&lt;/strong&gt;&lt;br&gt;
One evening in 2018 I decided to help board game players. This amazing community had troubles meeting each other on a regular basis and deciding which games to play. Boardly allowed them to quickly find local board game buddies. Thanks to this project I’ve had an incredible opportunity to meet a ton of passionate people. Boardly also helped me to get a new job.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BeerAI - an app for recognizing beer labels using AI&lt;/strong&gt;&lt;br&gt;
This was a side project, which later became the basis of my engineering thesis (&lt;a href="https://github.com/matdziu/Engineering-Thesis/blob/master/GOTOWA_PRACA_DYPLOMOWA.pdf"&gt;here is my engineering thesis about AI&lt;/a&gt;, first few pages are in Polish, but the rest - over 30 - is in English). The idea was to create a convolutional neural network in Python and train it to recognize a beer brand based on a photo of the label. It worked! It was supposed to help beer-geeks choose their beloved beverages easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  YOU choose the programming teacher
&lt;/h2&gt;

&lt;p&gt;Whenever you choose an online programming course, bootcamp or a book, what you’re effectively doing is choosing a person behind it. It’s hardly surprising since this teacher will be present in your life, in some shape or form, for the next few weeks or even months. It’s like a date, so while doing research pay attention to the way the knowledge is transferred, tone of voice, energy, promised transformation (especially important) and professional background. This can be easier if the author shares an excerpt of his or her work in the form of a blog, free chapter or free online course module.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tRMGkfU---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bz1f2mgu0n5x8k6w8ioc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tRMGkfU---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bz1f2mgu0n5x8k6w8ioc.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Above is the transformation I designed for students of &lt;a href="https://codersbible.teachable.com/p/python"&gt;my programming course&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join a community of programmers
&lt;/h2&gt;

&lt;p&gt;In &lt;a href="https://codersbible.teachable.com/courses/python/lectures/27715505"&gt;one of the lectures&lt;/a&gt; of my course I talk about &lt;a href="https://stackoverflow.com/"&gt;StackOverflow&lt;/a&gt;. StackOverflow is the most popular Q&amp;amp;A website for programmers. Over the years it accumulated an incredible amount of knowledge in a ridiculously simple form. One person asks a question and other people answer it. Later, the community votes for the best answer and chooses the correct one. All of that is publicly available and easy to find using Google. But this is not the only community that can help you along your IT journey. &lt;/p&gt;

&lt;p&gt;Facebook groups about coding can become your preferable way of finding first job, learning about IT news, asking questions or looking for recommendations about tutorials, online courses and books. Use Facebook search option and type “programming”, “Python” or “Java”, then switch results to groups. You can also visit some groups directly like &lt;a href="https://www.facebook.com/groups/codersbible/"&gt;Coders Bible Support Group&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Lastly, never neglect the power of face to face contact and networking. Use &lt;a href="https://www.meetup.com/"&gt;Meetup&lt;/a&gt; to learn about new technology events organized in your city. They are often filled with people eager to give you advice. Organizers usually take care of finding 2-3 speakers, which are willing to share knowledge on stage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Correct mindset when learning how to code
&lt;/h2&gt;

&lt;p&gt;I’ve recently stumbled upon &lt;a href="https://www.youtube.com/watch?v=5MgBikgcWnY"&gt;this&lt;/a&gt; TED talk and I think, that the most important thing I learnt from it was this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The major barrier to skill acquisition isn’t intellectual...it’s emotional.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Learning something new is hard and most often we quit not because we are not smart enough, but because we are not resilient enough in the face of adversity. Your mind plays tricks on you and here are few of them to watch out for while learning programming:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;frustration barrier&lt;/strong&gt;&lt;br&gt;
Frustration barrier is the unpleasant feeling we get when we are starting to learn something new (and we obviously suck at it then), but instead of commiting, we spend time looking at somebody who is a master of that skill. When I was learning to play guitar, looking at Jimmy Page's concerts made me feel like a complete idiot and forced me to quit a few times. But the way to overcome this is by having a certain learning schedule. Set a goal of learning programming for at least 4 hours a week. Uninterrupted, focused, deliberate practice no matter what. This shifts focus from comparing yourself to others to comparing yourself to...yourself from a few days ago. Frustration barrier is bigger in our minds than in reality and each of us can wait it out with a little bit of will power.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;distractions&lt;/strong&gt;&lt;br&gt;
Instagram, Snapchat, Facebook, Netflix, YouTube, Gmail and more. How to fight notifications coming from these apps and websites? The answer might surprise you: turn them off! Make it harder for yourself to get distracted by physically separating yourself from the source of distraction. When you want to focus on learning how to code between e. g. 10 AM and 11 AM, then to prepare yourself for this session sit in a quiet closed room, turn off your phone entirely and use a plugin like &lt;a href="https://chrome.google.com/webstore/detail/blocksite-stay-focused-co/eiimnmioipafcokbfikbljfdeojpcgbh"&gt;BlockSite&lt;/a&gt; to disable certain websites. When you realize you drifted off either way, be gentle to yourself. Notice that and bring attention back to learning. You’ll get better with time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;learning is a new procrastination&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://medium.com/the-coffeelicious/why-learning-is-a-new-procrastination-104b53107e8b"&gt;In his article&lt;/a&gt;, Max Lukominskyi says that “Knowledge is worthless unless it is applied.”. And later adds: “You consciously postpone the first step justifying this by your eagerness to broaden the knowledge and learn new things. You put the start date off justifying this by your desire to pick up new skills that would help you succeed faster. You procrastinate over chasing your own aspirations because doing the things on your own and creating your own story of success is far more complicated than reading about someone else’s one.”. That’s why books about programming are tricky, since they usually provide you only with theory whereas the thing that you need as soon as possible is practice! Keep that in mind while learning to code and always look for proper balance between consuming knowledge and applying it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Are you ready for a job in IT?
&lt;/h2&gt;

&lt;p&gt;I often get asked by aspiring programmers “When will I know if I’m ready for my first job?”. I’m not the one to ask. The single source of truth that determines if you are ready is the job market itself. Want to know what you should learn to get an internship? Read requirements from 10 entry job advertisements available in your country. Want to know if your CV is well designed? Send 10 CVs to potential employers and if none of them replies, then you’re probably not there yet. Want to know if you have necessary knowledge? Have few interviews or programming tests (even the ones available online) and ask for feedback. I know it’s important to look for guidance and, don't get me wrong, you should do it too. But the ultimate answer to your questions lies in trying for yourself. Even if you don’t feel you’re ready. So my final advice is to have constant contact with the job market in your country. Despite feeling a bit awkward :)&lt;/p&gt;

</description>
      <category>python</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>3 Big Reasons to Learn Programming in Python as a Beginner</title>
      <dc:creator>Mateusz Dziubek</dc:creator>
      <pubDate>Mon, 21 Dec 2020 10:18:20 +0000</pubDate>
      <link>https://dev.to/matdziu/3-big-reasons-to-learn-programming-in-python-as-a-beginner-4fpb</link>
      <guid>https://dev.to/matdziu/3-big-reasons-to-learn-programming-in-python-as-a-beginner-4fpb</guid>
      <description>&lt;p&gt;So you’ve just decided to learn programming. Maybe even after reading &lt;a href="https://codersbible.com/why-should-i-learn-to-code-17-reasons-to-learn-programming/"&gt;my article&lt;/a&gt; about 17 reasons to do so. But before you dive into &lt;a href="https://codersbible.teachable.com/p/python"&gt;online course&lt;/a&gt;, YouTube tutorials or books, you need to choose which programming language to start from. I strongly believe that Python is the best choice in this case. Keep reading to discover why.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Originally posted &lt;a href="https://codersbible.com/3-big-reasons-to-learn-programming-in-python-as-a-beginner/"&gt;here&lt;/a&gt;, on my blog &lt;a href="https://codersbible.com/"&gt;Coders Bible&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  PYTHON IS EASY TO LEARN
&lt;/h2&gt;

&lt;p&gt;Do you know what the syntax is? It’s a set of rules defining how to write instructions correctly in a given programming language (feel free to check &lt;a href="https://codersbible.teachable.com/courses/python/lectures/27715505"&gt;this lecture&lt;/a&gt; about common programming slang to learn more about it). For beginners this is probably one of the hardest things to comprehend - they forget about commas, colons, brackets, then quickly become frustrated and quit. This experience is similar to a situation when you visit a website and immediately get bombarded by ugly pop-ups, ads and cookies consents. The website content may be useful, but who wouldn’t get discouraged by this clutter? In website design this is often referred to as bad User Experience (UX). Well, I believe that some programming languages can have really bad Programming Experience (PX). Python is certainly not one of them! Python was designed to be easy to learn (its syntax can be read almost as easily as text in pain English) and friendly to programmers of all levels. Imagine visiting a website that delights you with fancy animations, clean user interface, no ads, no pop-ups and essentially no unnecessary clutter. This is what programming in Python feels like to me.&lt;/p&gt;

&lt;h2&gt;
  
  
  PYTHON HAS BIG COMMUNITY
&lt;/h2&gt;

&lt;p&gt;Do you know what is the advantage of choosing a popular programming language (like Python)? It all comes to the way you will learn it. Whether you like it or not you will google A LOT at the beginning. Probably you will not even be entirely sure what to google exactly. This is where a big community helps. Imagine joining a Facebook group with 100 members out of whom 4 have experience with a programming language you want to ask about. Three of them probably will not even bother with typing the answer and helping you and the last one remaining can miss your post in his fat Facebook feed. But what if 50 people of the original 100 have the answer to your problem? The odds are now in your favor! The same thing goes for blog posts (there is a higher chance of finding somebody willing to share the knowledge in a group of 50 than in a group of 5), YouTube tutorials, &lt;a href="https://codersbible.teachable.com/p/python"&gt;online courses&lt;/a&gt; and quality books. This is exactly what happened to Python. Its community exploded and the variety of available resources blossomed. There’s really no mystery behind it since it was voted &lt;a href="https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-loved"&gt;one of the most loved programming languages&lt;/a&gt; in the top software engineering survey conducted by StackOverflow. Summing up, with a big community comes support and a bigger chance of finding the solution to your problems (and you will encounter a lot of them at the beginning).&lt;/p&gt;

&lt;h2&gt;
  
  
  YOU CAN BUILD AMAZING THINGS USING PYTHON
&lt;/h2&gt;

&lt;p&gt;Do you know what a tool is? Well a hammer is a tool, but perfection in using it is not as impressive to me as all the things you can build with it. I want you to think of a programming language as a tool too. Python is just a tool. And in my opinion you should choose a tool that enables you to build amazing stuff since it will keep you highly motivated. Luckily, Python was immensely adopted in the software engineering world. My favorite fields, where Python is used frequently, are: Artificial Intelligence, Machine Learning, Data Science, Web Development and Cybersecurity. Python developers are paid really well for all the value they bring into these disciplines. Are you now convinced to join them?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I've just released beginner-friendly feedback-based online course called &lt;code&gt;Learn Programming With Python for Absolute Beginners&lt;/code&gt;. Feel free to check it &lt;a href="https://codersbible.teachable.com/p/python"&gt;here&lt;/a&gt;!&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Module 0 is completely free for you without any sign up! Check module 0 &lt;a href="https://codersbible.teachable.com/courses/python/lectures/27714887"&gt;here&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Why Should I Learn to Code? 17 Reasons to Learn Programming</title>
      <dc:creator>Mateusz Dziubek</dc:creator>
      <pubDate>Mon, 13 Jul 2020 18:01:59 +0000</pubDate>
      <link>https://dev.to/matdziu/why-should-i-learn-to-code-17-reasons-to-learn-programming-4pcd</link>
      <guid>https://dev.to/matdziu/why-should-i-learn-to-code-17-reasons-to-learn-programming-4pcd</guid>
      <description>&lt;p&gt;If you wonder whether to invest some time into learning programming, or you already code, but feel stuck or lack motivation - this article is for you. Why should you learn to code? I’ve come up with a lot of reasons! They are all backed by my experience as a software engineer as well as countless conversations with my peers. I hope this blog post will help you make a right decision.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Originally posted &lt;a href="https://codersbible.com/why-should-i-learn-to-code-17-reasons-to-learn-programming/"&gt;here&lt;/a&gt;, on my blog &lt;a href="https://codersbible.com/"&gt;Coders Bible&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before you start reading, here’s a short list with all paragraphs in this article, each representing a reason to learn programming:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Receive attractive salary&lt;/li&gt;
&lt;li&gt;Get a job in stable industry&lt;/li&gt;
&lt;li&gt;Experience different career opportunities&lt;/li&gt;
&lt;li&gt;Have valuable skill on your CV&lt;/li&gt;
&lt;li&gt;Choose from many job offers&lt;/li&gt;
&lt;li&gt;Work from anywhere&lt;/li&gt;
&lt;li&gt;Enjoy great work culture&lt;/li&gt;
&lt;li&gt;Boost your problem solving skills&lt;/li&gt;
&lt;li&gt;Improve collaboration skills&lt;/li&gt;
&lt;li&gt;Focus on practice&lt;/li&gt;
&lt;li&gt;See results of your work immediately&lt;/li&gt;
&lt;li&gt;Build something cool&lt;/li&gt;
&lt;li&gt;Understand how software around you works&lt;/li&gt;
&lt;li&gt;Express your creativity&lt;/li&gt;
&lt;li&gt;Have freedom&lt;/li&gt;
&lt;li&gt;Meet incredible community&lt;/li&gt;
&lt;li&gt;Learn it all online&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  RECEIVE ATTRACTIVE SALARY
&lt;/h2&gt;

&lt;p&gt;This probably is the most obvious. Average salary of software engineer is considerably higher than for most other career choices. I want, however, to show you exactly how much higher. &lt;a href="https://www.levels.fyi/"&gt;Under this link&lt;/a&gt; you’ll find compensation for developers in many of the top tech companies. For example at Google, as you gain experience and expertise, you get promoted through levels with symbols like L3 (Software Engineer II), L4 (Software Engineer III), L5 (Senior Software Engineer) etc. By clicking on the tiles on the website, you’ll see average yearly salaries (most of them are verified). If you wish to take a look at other parts of the world &lt;a href="https://www.codingame.com/work/blog/hr-news-trends/average-software-engineer-salaries-2020-top-paying-countries/"&gt;here is the link&lt;/a&gt; to great article backed by data with top paying countries. And if you would like to go even further and find your country, then I can highly recommend &lt;a href="https://www.salaryexpert.com/salary/browse/countries/computer-software-engineer"&gt;this report&lt;/a&gt; from Economic Research Institute.&lt;/p&gt;

&lt;h2&gt;
  
  
  GET A JOB IN STABLE INDUSTRY
&lt;/h2&gt;

&lt;p&gt;The unemployment rate for software developers in the USA stays at remarkable 1.6% (as stated in &lt;a href="https://money.usnews.com/careers/best-jobs/software-developer"&gt;this&lt;/a&gt; report from prestigious U.S. News &amp;amp; World Report) and is similarly low worldwide. The software industry is very stable, but don’t get me wrong - you probably won’t use the same skills you are learning today in 10 years, since technology evolves rapidly. You can be sure, though, that most companies will support you in acquiring new knowledge, because they know that their business success depends on using up-to-date tools. Companies and start ups will come and go, but if you keep you skills polished (and most organizations are happy to help you with that), you can be sure to find a new job opportunity in no time, even if your current workplace bankrupts.&lt;/p&gt;

&lt;h2&gt;
  
  
  EXPERIENCE DIFFERENT CAREER OPPORTUNITIES
&lt;/h2&gt;

&lt;p&gt;When you acquire the ability to code, you’ll have unique opportunity to contribute to various industries, like: banking (see: Revolut, N26, Monzo), e-commerce (see: Wish, Etsy, Amazon), dating (see: Tinder, Badoo, OkCupid), construction (see: Archdesk, Procore, Buildertrend), social media (see: Facebook, Instagram, Snapchat), AI (see: OpenAI, Boston Dynamics), gaming (see: Call of Duty Mobile, Witcher, Candy Crush Saga) even sex life (see - but only if you’re over 18 ;) - Elvie Trainer, Lovense Remote). It’s all software, which helps millions of people! In addition, you’ll have multiple choices in how to do it. You can be freelancer, IT project manager, software engineer in big corporation working on many different projects, developer in small start up maintaining one product, team leader or just start your own company. This was probably the most important thing, that lured me in.&lt;/p&gt;

&lt;h2&gt;
  
  
  HAVE VALUABLE SKILL ON YOUR CV
&lt;/h2&gt;

&lt;p&gt;Steve Jobs once said “Everybody in this country should learn to program a computer, because it teaches you how to think.”. I couldn’t agree more, but I would also add “...and it looks great on your CV.”. No matter if you decide to pursue software engineering professionally or you land a job doing something a bit different - mentioning programming skills to any potential employer demonstrates your ability to comprehend advanced topics, understand abstract concepts and think in a structured and critical way. &lt;/p&gt;

&lt;h2&gt;
  
  
  CHOOSE FROM MANY JOB OFFERS
&lt;/h2&gt;

&lt;p&gt;Recent research from Microsoft (which you can find &lt;a href="https://blogs.microsoft.com/blog/2020/06/30/microsoft-launches-initiative-to-help-25-million-people-worldwide-acquire-the-digital-skills-needed-in-a-covid-19-economy/"&gt;here&lt;/a&gt;) indicates, that as many as 149 million new technology-oriented jobs will be created worldwide in the coming 5 years. Software development accounts for vast majority of this forecast (98 million). See it for yourself! Try this small experiment at home: go to one of the top websites with job offers in your country and type “software developer” (preferably in your language). Scope the search to your location only. How many offers can you find? I live in a medium size city with population of about 800 000. What are my results? 300 job offers in the area (as of July 9, 2020)!&lt;/p&gt;

&lt;h2&gt;
  
  
  WORK FROM ANYWHERE
&lt;/h2&gt;

&lt;p&gt;Remote work has been present in the software industry for many years now. This model, in theory, allows you to work from any place with stable internet and a desk for your laptop. It’s a dream for some people and a nightmare for others. If you belong to the latter, but you still want to profoundly experience a dive into other part of the world, then I have good news - there is probably a high demand for a programmer in your dream location. Let’s examine some of my top places using &lt;a href="https://indeed.com"&gt;Indeed&lt;/a&gt; job listings search engine: Bari (Italy) - 45 jobs, London (UK) - 5000 jobs, San Francisco Bay Area (USA, California) - 3300 jobs, Honolulu (USA, Hawaii) - 35 jobs (as of July 9, 2020).&lt;/p&gt;

&lt;h2&gt;
  
  
  ENJOY GREAT WORK CULTURE
&lt;/h2&gt;

&lt;p&gt;Like everywhere else, there is still a chance here for meeting shitty coworkers. Yes - if you’re unlucky, you can stumble upon mobbing or discrimination, but there is far smaller chance for this in the IT world and, thanks to plethora of available job offers and rumors spreading quickly among local software engineers, you can successfully dodge any bad workplace (in contrast to many other industries). Feedback meetings, 1-on-1s with managers and tech leaders, retrospectives - these are only some of the standard processes nurtured in modern software companies to help stay in constant contact with you, your productivity level and your general happiness during work.&lt;/p&gt;

&lt;h2&gt;
  
  
  BOOST YOUR PROBLEM SOLVING SKILLS
&lt;/h2&gt;

&lt;p&gt;Before I learned how to code, I had been solving multiple problems during high school and university related to math, physics, mechanics or chemistry. They were often complicated and challenging, but most of the time there was a pattern you could extract or exam answer key you should fit into. Also, they were so theoretical and detached from the real world, that they became boring very quickly. Recently I’ve come to a conclusion, that I owe most of my current ability to think outside the box, decompose the problem and reason in an abstract way to software projects I implemented during last few years. Sure, there are sites like &lt;a href="https://stackoverflow.com/"&gt;Stack Overflow&lt;/a&gt; with ready-made answers for developers, but the pleasant angst you get when you start solving something in Java, Python or any other programming language and joyful smile, that appears on your face when you finally fix it (only with partial help from Google) is a feeling I hadn’t experienced previously at any stage of my education. You just feel your problem solving skills boosting! I can only compare it to sitting in the infinitely complicated &lt;a href="https://en.wikipedia.org/wiki/Escape_room"&gt;Escape Room&lt;/a&gt; solving one puzzle at a time, but never wanting for them to finish.&lt;/p&gt;

&lt;h2&gt;
  
  
  IMPROVE COLLABORATION SKILLS
&lt;/h2&gt;

&lt;p&gt;Take a look at Facebook, Instagram, Amazon or any other piece of software you often use. It may look simple at first (most of the time, that’s the intent of creators to provide excellent user experience), but if you keep looking, you’ll notice the depth. These kinds of online platforms are so complicated under the hood, that it would take ages for a single programmer to craft, hence group effort plays a vital role here. Working with people to deliver a project teaches a lot about them, mostly because almost always there are problems to address. Software industry won’t leave you without any help, though! There are clever methodologies (like Scrum or Kanban) used in many modern companies, which facilitate such cooperation and has been working well for years. If you want to learn how to work with people, I believe the IT world is the coolest place to do so.&lt;/p&gt;

&lt;h2&gt;
  
  
  FOCUS ON PRACTICE
&lt;/h2&gt;

&lt;p&gt;You won’t find many theoretical programmers. Our actions are focused on delivering something someone else can use or something, that will help us be more productive. Having this in mind, can you guess what’s the number one thing you can do to stand out from the crowd when applying for the first job? Show real software projects you implemented! If you’re looking for a course to learn how to code always prefer the one, which offers help with implementing one or more practice projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  SEE RESULTS OF YOUR WORK IMMEDIATELY
&lt;/h2&gt;

&lt;p&gt;I graduated from the Faculty of Mechanical Engineering, where I was learning about pumps, gears, millers, pistons...I’m boring myself just writing about that. But unexciting classes weren't my biggest problem. I was consuming a lot of theory about all these big machines only to have around few hours every month to see them in action (even less time to try them myself). My friends at the Faculty of Civil Engineering had similar issues. They wanted to finally see real results of their careful calculations and planning, but due to the nature of this industry they weren’t able to. Software is not like that: learn theory, practice, apply it in code, compile and BOOM - you see the output on your screen almost immediately. Experiencing results of work in such quick manner helps to stay motivated and even amazed at things you can build with your own hands.&lt;/p&gt;

&lt;h2&gt;
  
  
  BUILD SOMETHING COOL
&lt;/h2&gt;

&lt;p&gt;I’ve seen many fun (and weird) software side projects in my career. &lt;a href="https://github.com/pmav/game-of-life"&gt;Conway’s Game of Life&lt;/a&gt;, &lt;a href="https://rickandmortyapi.com/about/"&gt;Rick and Morty API&lt;/a&gt; and &lt;a href="https://8values.github.io/"&gt;8values quiz&lt;/a&gt; are some of my favorites. I even implemented one for my engineering thesis: beer label classifier based on convolutional neural network (after taking a picture of beer label, machine learning algorithm was successfully recognizing it). What would you build? Sky is the limit!&lt;/p&gt;

&lt;h2&gt;
  
  
  UNDERSTAND HOW SOFTWARE AROUND YOU WORKS
&lt;/h2&gt;

&lt;p&gt;Not so long ago I had an interesting conversation with my friend, who works as a designer. He told me, that the way he experiences the world, as he passes by the street, is in colors, fonts, shapes, designs, logos, icons and images. A similar thing happens to most software engineers I know (including me). They can’t look at the website or mobile app the same way as other people. They usually know how most features work, or if they don’t they try to figure it out. Have you ever had the feeling, that some piece of technology worked so good and smooth that it looked like a magic trick? When you learn to code, you’ll know how this magic trick is done.&lt;/p&gt;

&lt;h2&gt;
  
  
  EXPRESS YOUR CREATIVITY
&lt;/h2&gt;

&lt;p&gt;Many don’t consider programming a creative activity, but I tend to disagree. It’s obvious, that thanks to widely available resources, you can create something, that few moments ago was only a part of you imagination and put it online, but what about everyday work for your employer? Can it be creative? It’s true, that some of the tasks you’re going to receive will be repetitive (like setting up tools or fixing bugs). But I believe, that creativity of a software engineer is essential to write beautifully crafted code, that works well and at the same time is easy to understand and maintain for both junior and senior developers. In order to achieve this, you will address problems directly related to proper software design and there are no ready-made answers online in this area for your specific cases - just suggestions and inspirations. This is where your creativity and thinking outside the box will be most valuable!&lt;/p&gt;

&lt;h2&gt;
  
  
  HAVE FREEDOM
&lt;/h2&gt;

&lt;p&gt;Most of the software companies allow you to have up to 3 days of remote work per week. In healthy organizations, taking vacations is never something managers look at with contempt. Additionally, working hours are always flexible and the focus is not put on being mindlessly chained to your computer 8 hours a day, but rather on delivering real results.&lt;/p&gt;

&lt;h2&gt;
  
  
  MEET INCREDIBLE COMMUNITY
&lt;/h2&gt;

&lt;p&gt;The IT community is active and helpful both online and offline. &lt;a href="https://stackoverflow.com/"&gt;Stack Overflow&lt;/a&gt; is incredible website, where developers help to solve common problems, that others stumble upon. &lt;a href="https://medium.com/"&gt;Medium&lt;/a&gt; is a platform, where many talented engineers blog about their software solutions or create tutorials for state-of-the-art tools. Not to mention a huge variety of subreddits, YouTube videos, courses, forums or Facebook groups. To meet people, who are fond of the same programming language or technology in real life, I recommend searching for an event on &lt;a href="https://www.meetup.com/"&gt;Meetup&lt;/a&gt;. Remember that networking (meeting new people from the industry) is immensely important as it can lead to new job opportunities now or in the future.&lt;/p&gt;

&lt;h2&gt;
  
  
  LEARN IT ALL ONLINE
&lt;/h2&gt;

&lt;p&gt;I’ve seen many lines of code produced by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;people, who never attended university, &lt;/li&gt;
&lt;li&gt;college dropouts, &lt;/li&gt;
&lt;li&gt;PhDs, &lt;/li&gt;
&lt;li&gt;Computer Science graduates, &lt;/li&gt;
&lt;li&gt;non-technical graduates,&lt;/li&gt;
&lt;li&gt;graduates of top universities,&lt;/li&gt;
&lt;li&gt;graduates of universities I didn’t even know existed,&lt;/li&gt;
&lt;li&gt;students with bad grades,&lt;/li&gt;
&lt;li&gt;students with top grades.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also talked with many representatives of these groups. Some of them were my coworkers. And you know what? Based on my experience, I can confidently say, that college degree is NOT a good predictor of employee success in the IT industry. No matter if you choose to go to university or not, I have good news. There are so many programming courses online, that you will surely find something for yourself! Recently, I have even created one! If you would like to &lt;strong&gt;go from absolute beginner to having a complex programming project, which you’ll be able to code by yourself&lt;/strong&gt;, then read more about my course &lt;a href="https://codersbible.teachable.com/p/python"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thank you for reading
&lt;/h2&gt;

&lt;p&gt;If this blog post convinced you to start learning programming or kept you motivated when you felt stuck, then maybe it can also help someone else, who’s in similar situation? If you know somebody, who can benefit from reading it, please &lt;strong&gt;share&lt;/strong&gt; it! &lt;/p&gt;

</description>
      <category>python</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>QUIZ: How Devs Are Using Basic Git Commands in Daily Work</title>
      <dc:creator>Mateusz Dziubek</dc:creator>
      <pubDate>Thu, 23 Apr 2020 16:58:51 +0000</pubDate>
      <link>https://dev.to/matdziu/quiz-how-devs-are-using-basic-git-commands-in-daily-work-2f69</link>
      <guid>https://dev.to/matdziu/quiz-how-devs-are-using-basic-git-commands-in-daily-work-2f69</guid>
      <description>&lt;p&gt;I remember, that when I was recruiting juniors to my organization, I was often wondering: “Why do all of them know every basic git command from official manual, but they can’t combine them together?”. The answer turned out to be simple: lack of &lt;strong&gt;real world example&lt;/strong&gt;. People often learn git by themselves, whereas its true power can only be seen when working in a team, where branches are constantly updated with new commits and you have to keep up. &lt;/p&gt;

&lt;p&gt;Articles like &lt;a href="https://dev.to/dhruv/essential-git-commands-every-developer-should-know-2fl"&gt;this one&lt;/a&gt; give you a great overview, but they lack an insider view from somebody, who tackles problems with commits, branches and merges on a daily basis. That’s why today, I want to describe &lt;strong&gt;real scenarios from my world with basic git commands&lt;/strong&gt;. No more “topic” branches or commits named A, B or C. Take a look at what real devs do daily and &lt;strong&gt;try to guess the proper git command&lt;/strong&gt;, which you probably already know (you’ll find answers at the end of the article). Let’s go!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you feel you get the basics, I have a special article for you called &lt;a href="https://codersbible.com/5-git-commands-to-know-just-after-you-get-the-basics/"&gt;“5 Git Commands to Know Just After You Get the Basics”&lt;/a&gt;. I’m sure you’ll like it!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt;&lt;br&gt;
I’ve just arrived to my office. I’m saying “hi” to my colleagues and then I open my laptop. The first thing I want to do is check what new branches and commits did other devs push to our repository, since last time I’ve checked it. What command should I input to console?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt;&lt;br&gt;
Oh, somebody pushed new commits to the main branch called &lt;em&gt;develop&lt;/em&gt;. I’m currently on a different branch, so let me first switch it. What command should I use to change branch to &lt;em&gt;develop&lt;/em&gt;?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt;&lt;br&gt;
So my task for today is to implement a new app feature. To start, I need to create a new branch from &lt;em&gt;develop&lt;/em&gt;, but I don’t want to do this when it’s still outdated (as I mentioned previously, new commits were pushed). How can I integrate new changes from remote repository to my local project copy?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt;&lt;br&gt;
Now let’s create a new branch called &lt;em&gt;feature/MB-100&lt;/em&gt;. The code MB-100 represents id of a ticket in JIRA (issue and project progress tracking software very commonly used in IT). How can I do it?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt;&lt;br&gt;
Few hours passed and I made some progress. I created a basic feature screen and added presentation logic. Time for lunch! But first, let’s save my work. How?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.&lt;/strong&gt;&lt;br&gt;
It’s 6 PM already and I’m still struggling...God, I haven’t made a commit for the last few hours. Let’s first see what files I’ve managed to change so far compared to the last time I saved my work. Into terminal I’m writing...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7.&lt;/strong&gt;&lt;br&gt;
Two more days passed and I finished entire feature. My pull request is accepted and I can safely merge &lt;em&gt;feature/MB-100&lt;/em&gt; to &lt;em&gt;develop&lt;/em&gt;. I can’t forget to upload new &lt;em&gt;develop&lt;/em&gt; to remote repository afterwards! Can you guess which commands I will use?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8.&lt;/strong&gt;&lt;br&gt;
Now it’s time for release! I haven’t figured out how to automatically generate changelog for my client, so I have to manually write release notes. The history of commits should help me. How can I access it?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you feel you get the basics, I have a special article for you called &lt;a href="https://codersbible.com/5-git-commands-to-know-just-after-you-get-the-basics/"&gt;“5 Git Commands to Know Just After You Get the Basics”&lt;/a&gt;. I’m sure you’ll like it!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answers:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1.&lt;/strong&gt;&lt;br&gt;
git fetch&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt;&lt;br&gt;
git checkout develop&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt;&lt;br&gt;
git pull origin develop&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt;&lt;br&gt;
git checkout -b feature/MB-100&lt;/p&gt;

&lt;p&gt;or&lt;/p&gt;

&lt;p&gt;git branch feature/MB-100&lt;br&gt;
git checkout feature/MB-100&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt;&lt;br&gt;
git commit -am “Added basic screen and presentation logic”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.&lt;/strong&gt;&lt;br&gt;
git status&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7.&lt;/strong&gt;&lt;br&gt;
git checkout develop&lt;br&gt;
git merge feature/MB-100&lt;br&gt;
git push origin develop&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8.&lt;/strong&gt;&lt;br&gt;
git log&lt;/p&gt;

</description>
      <category>git</category>
      <category>commandline</category>
      <category>versioncontrol</category>
      <category>bestpractices</category>
    </item>
  </channel>
</rss>
