<?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: OnRampDev</title>
    <description>The latest articles on DEV Community by OnRampDev (@ramp_dev).</description>
    <link>https://dev.to/ramp_dev</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%2F944404%2Fe6c069f2-5aba-40a3-90e8-d4dad234d06b.png</url>
      <title>DEV Community: OnRampDev</title>
      <link>https://dev.to/ramp_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ramp_dev"/>
    <language>en</language>
    <item>
      <title>How Long It Really Takes To Land That First Dev Job</title>
      <dc:creator>OnRampDev</dc:creator>
      <pubDate>Sun, 23 Oct 2022 17:36:18 +0000</pubDate>
      <link>https://dev.to/ramp_dev/how-long-it-really-takes-to-land-that-first-dev-job-41g9</link>
      <guid>https://dev.to/ramp_dev/how-long-it-really-takes-to-land-that-first-dev-job-41g9</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;If I Study For 10 Hours A Day, How Long Will It Take To Get a Programming Job&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is by far the most common question people have when switching careers to software engineering. And it matters. If you’re going to invest time and money into a new skill you want to know when the payback on that will be. Here’s how I’d think about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Defining The Role
&lt;/h2&gt;

&lt;p&gt;To dig in we need to first understand what a first role might look like. Usually the job titles you’re looking for will be “Associate Software Engineer” or “Junior Software Engineer” if you’re trying to land a first job. There are some exceptions to this but it’s a good rule of thumb when exploring.&lt;/p&gt;

&lt;p&gt;So if you search for these kinds of roles in your local market you’ll probably see something like the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;1-2 years software development experience&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Proficiency with &lt;code&gt;insert specific technology here&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Can communicate professionally&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;…etc&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;1-2 years of software experience often means professional experience, but usually these roles will have exceptions for people with a bootcamp certificate or college degree. &lt;strong&gt;You can&lt;/strong&gt; still land these jobs without either but it’s a little harder to make it through the resume screen.&lt;/p&gt;

&lt;p&gt;Okay let’s work backward assuming that 1 year of software experience includes self-directed projects. Now let’s assume you’re starting from scratch. It will take you at least 1-2 months to wrap your head around the basics and pick up a &lt;a href="https://dev.to/ramp_dev/picking-a-first-programming-language-9ko"&gt;first programming language&lt;/a&gt;. The goal is to get to a point where you’re comfortable enough to take on a moderately-sized project - you will need to do several.&lt;/p&gt;

&lt;p&gt;Now if we take that 1 year minimum at face-value and add 1 month of getting up to speed, then, at minimum, you'd be ready to apply to a role like this in 13 months.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Long It Really Takes
&lt;/h2&gt;

&lt;p&gt;I have no doubt that a sufficiently dedicated person that had multiple hours of time per day to devote to programming &lt;em&gt;and&lt;/em&gt; had no gaps in their learning could land a job inside of a year. It would take a little bit of luck, some networking, and a hell of a lot of dedication but it’s possible.&lt;/p&gt;

&lt;p&gt;A more realistic scenario, if you’re like most people, is that if you’re going this journey alone it’ll probably be closer to 18-24 months before you’re job-ready and then it may take a few months to actually get a job.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;So all-in, you’re probably looking at 2-3 years from starting your programming journey to getting a job. Depending on how you look at it this can be a very short amount of time (less time than college to break into a highly, in-demand, well-paying field) or a long time (2 years of dedication is a lot).&lt;/p&gt;

&lt;p&gt;A few things that may help you shortcut this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Boot camps can be hit-or-miss. If you do your research well and find a good one it can significantly decrease the amount of time it’ll take.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Apprenticeships, if you can find them, are a great option. This is what I did. The premise is to join a company that pays you to learn and in return you usually make a commitment to work for that company in an underpaid role (relative to the rest of the market) for a fixed amount of time. Even when the role is “underpaid”, you’re usually getting paid pretty well and can continue learning on the job.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Need some help launching your developer career? &lt;a href="https://artisanal-knitter-4166.ck.page/7a08f37f37"&gt;Join the mailing list&lt;/a&gt; to get advice like this straight to your inbox and accelerate your path to a software engineering career.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>How Long Will It Take To Learn A Language</title>
      <dc:creator>OnRampDev</dc:creator>
      <pubDate>Mon, 17 Oct 2022 12:43:53 +0000</pubDate>
      <link>https://dev.to/ramp_dev/how-long-will-it-take-to-learn-a-language-1ck9</link>
      <guid>https://dev.to/ramp_dev/how-long-will-it-take-to-learn-a-language-1ck9</guid>
      <description>&lt;p&gt;&lt;em&gt;A better question is "How long until I'm productive". Here's a short checklist that'll tell you if you're ready. This advice generalizes to any language.&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Productivity vs Mastery
&lt;/h4&gt;

&lt;p&gt;A really common question I stumble across on the Internet is "How long will it take me to learn X" where "X" is Javascript, Python, Vue.js, Angular.js, etc. A hidden assumption in this question is that at some point "you get it". That there's some magical 10,000 hour number where you hit it and now you can challenge Brendan Eich to Javascript duels at dawn. But that's not really how it works. Let me explain...&lt;/p&gt;

&lt;p&gt;If you're read my prior post on &lt;a href="https://onrampdev.com/?p=43"&gt;choosing a programming language&lt;/a&gt;, then you know that programming languages can be similar to human languages. And like human languages, programming languages are never really &lt;em&gt;mastered&lt;/em&gt;. It's much more common to learn a little bit, get your task done, learn a little bit more, get the next task done, etc. Instead of asking "when will I know X", a better question is "when can I be productive in X". And the answer to that is usually "a couple of hours".&lt;/p&gt;

&lt;h4&gt;Getting Productive&lt;/h4&gt;

&lt;p&gt;Here's a simple checklist of questions you can ask yourself to figure out if you can actually get stuff done in a language:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I can use conditionals. &lt;ul&gt;&lt;li&gt;"If &amp;lt;some condition&amp;gt; then &amp;lt;something&amp;gt; else &amp;lt;something else&amp;gt;"&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I can write loops.&lt;ul&gt;&lt;li&gt;Display every number from 1-10&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A combination of the prior 2, the fizzbuzz test.&lt;ul&gt;&lt;li&gt;Up to 100, for every number divisible by 3 print "fizz", for every number divisible by 5 print "buzz" but for numbers divisible by both print "fizzbuzz"&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I can define variables.&lt;/li&gt;
&lt;li&gt;I can define functions or methods.&lt;/li&gt;
&lt;li&gt;I can use basic data structures effectively.&lt;ul&gt;&lt;li&gt;Arrays, dictionaries&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I can define and use basic "compositions" in the language.&lt;ul&gt;
&lt;li&gt;For an object-oriented programming languages this means being able to define and use classes and objects.&lt;/li&gt;
&lt;li&gt;In a functional language, this might mean being able to define/use first-order functions and/or composite data structures.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With the knowledge from this list in hand you'll have enough to write small to medium sized programs. Anything you find yourself needing after this can be Googled or discovered on an as-needed basis. Project-based learning is the best way to push your knowledge forward. &lt;strong&gt;My go-to project for really testing the limits of my knowledge and forcing me to learn a language is Tic Tac Toe.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If this post was helpful, you should &lt;a href="https://artisanal-knitter-4166.ck.page/7a08f37f37"&gt;join the mailing list&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>If I Were Starting Today How'd I Learn Programming And Get a Job</title>
      <dc:creator>OnRampDev</dc:creator>
      <pubDate>Sat, 15 Oct 2022 17:06:34 +0000</pubDate>
      <link>https://dev.to/ramp_dev/if-i-were-starting-today-howd-i-learn-programming-and-get-a-job-55gm</link>
      <guid>https://dev.to/ramp_dev/if-i-were-starting-today-howd-i-learn-programming-and-get-a-job-55gm</guid>
      <description>&lt;h5&gt;A little about myself so you can decide if this post would be helpful to you...&lt;/h5&gt;

&lt;p&gt;Circa 2011 or so, &lt;a href="https://onrampdev.com/?page_id=13"&gt;I was dead broke&lt;/a&gt; and figured out this programming thing might be a good fit for me. I had no mentors and no connections to the industry. It looked like it paid well so I wanted in. &lt;/p&gt;

&lt;p&gt;I bought some books and dug in. Then I started watching some videos and following tutorials. Honestly, not much of it stuck. But little by little I started to pick things up. Eventually I applied to an apprenticeship program in Chicago where I was paid to learn. It was incredible. Fast forward 11 years and I do this for a living. I'm not bad at it either. I was not particularly good at math, had only some community college exposure to programming, and lived in a city not known for being a tech hub but I managed to bootstrap enough knowledge to get an entry-level job. &lt;/p&gt;

&lt;p&gt;This post is a reflection on my journey and how I may have shortcut my way to my current position had I known better. It's not a &lt;em&gt;guaranteed&lt;/em&gt; way to land a job, just some pointers I wish I had 10 years ago.&lt;/p&gt;

&lt;h4&gt;Most Important Moments&lt;/h4&gt;

&lt;p&gt;With the benefit of hindsight, these are the highest leverage moments before I had a job:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Working through most of &lt;a href="https://greenteapress.com/wp/think-python-2e/"&gt;Think Python&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Building a trivial airline reservation system in Java&lt;/li&gt;
&lt;li&gt;Discovering that apprenticeship programs existed&lt;/li&gt;
&lt;li&gt;Writing Tic Tac Toe for my job application&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I would basically work backwards from this list.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find entry-level jobs in your area or remote. &lt;strong&gt;Better&lt;/strong&gt;, find jobs that pay you to learn. There are programs from companies like Microsoft and Twilio that operate similar to the apprenticeship I went through. Find as many of these as you can.&lt;/li&gt;
&lt;li&gt;This is related to point 1, but join Slack groups, Discord servers, Facebook groups, and hang out on Twitter. I often see tweets in my network like "Looking for motivated junior developers". This is one way to hear about new opportunities early.&lt;ul&gt;&lt;li&gt;I'll admit this step is a little more difficult when starting out because there's a lot of spam and BS floating around but it's worth fishing for the good ones. Try to follow experienced developers or people writing about programming, rather than company accounts.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Try to deeply understand what the companies from step 1 are looking for in candidates and what the application timelines are. You likely won't be ready for a while but setting some target dates will give you motivation.&lt;/li&gt;
&lt;li&gt;Build challenging projects in whatever technologies are required by those companies. If no specific technologies are required then just &lt;a href="https://onrampdev.com/?p=43"&gt;learn Python&lt;/a&gt; and start building stuff.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;Summary&lt;/h4&gt;

&lt;p&gt;In a nutshell that's it. But it's easy to talk about and hard to do. The other big piece of advice I wish I could give my former self is to try to sit down and focus on one thing at a time. It's so tempting to zig-zag between tutorials and projects, hoping that there's a magic one that will be 10x better and land you a dream job tomorrow. As much as I wish it were true it doesn't happen that way. Pick a path then hunker down and do the hard work.&lt;/p&gt;

&lt;p&gt;Hope this helps. By the way, don't forget to join my &lt;a href="https://artisanal-knitter-4166.ck.page/7a08f37f37"&gt;mailing list&lt;/a&gt; for more tips and advice like this.&lt;/p&gt;

&lt;p&gt;P.S. This is reposted from my main site at &lt;a href="https://onrampdev.com/"&gt;https://onrampdev.com/&lt;/a&gt; - check it out for insights.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>learning</category>
    </item>
    <item>
      <title>Picking a first programming language</title>
      <dc:creator>OnRampDev</dc:creator>
      <pubDate>Sat, 15 Oct 2022 02:39:53 +0000</pubDate>
      <link>https://dev.to/ramp_dev/picking-a-first-programming-language-9ko</link>
      <guid>https://dev.to/ramp_dev/picking-a-first-programming-language-9ko</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MdmwvuDh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9z1x8r4dotueca5wgl4l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MdmwvuDh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9z1x8r4dotueca5wgl4l.png" alt="Screenshot of some javascript" width="880" height="587"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first step in making the decision to get into programming is to &lt;a href="https://onrampdev.com/?p=27"&gt;develop the right mindset&lt;/a&gt;. The second step is to decide what language you're going to choose as your first. This can feel pretty overwhelming when starting out. There's Ruby, Python, Javascript, something called C, something that sounds like C called C++ and some coffee language called Java. Rust, Dart, Go, Scala, ...the list goes on. So which should you choose first? &lt;/p&gt;

&lt;p&gt;I won't bury the lede - Javascript is your safest bet, with Python as a good alternative pick. Read on to find out why.&lt;/p&gt;

&lt;h4&gt;Why Are There So Many? Shakespeare in Spanish&lt;/h4&gt;

&lt;p&gt;So why exactly are there &lt;em&gt;so many&lt;/em&gt; programming languages and what do they all mean?&lt;/p&gt;

&lt;p&gt;If you've ever studied a foreign language you'll know that usually you don't translate the same sentences word-for-word. If want to say "I'm thirsty" in Spanish I might say "Tengo sed" which literally translates to "I have thirst". It's close but as a native English speaker the latter sounds a little weird to me. Different programming languages are a means of expressing the same concepts using different patterns.&lt;/p&gt;

&lt;p&gt;Here is a program that adds 2 numbers together in 3 different languages:&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="n"&gt;add&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight c"&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight clojure"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;defn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;add&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The first is Ruby, the second is C, and the third is Clojure. These are very different programs that create the same result. But there are tradeoffs in each. C code will beat equivalent Ruby code in performance, hands-down. But it'll take you longer to write and will probably be insecure and buggy if you're not careful (which takes even &lt;em&gt;longer&lt;/em&gt;). Clojure is what's called a "functional" language, meaning some things are just &lt;em&gt;harder&lt;/em&gt; to do (side-effects) but it makes some ideas much easier to communicate.&lt;/p&gt;

&lt;p&gt;Circling back on the language analogy, I'm sure someone has translated Shakespeare to Spanish but I bet it doesn't have the same qualities as in English. Some ideas are probably harder to express and some may be downright impossible. It's the same with programming languages. And it turns out programming languages are written by people as creative and diverse as the world around us, meaning different people prefer to express ideas in different ways. So lots of people will create new languages just for fun, or because a particular language doesn't do what they want in the exact way they want it (programmers are finicky).&lt;/p&gt;

&lt;p&gt;There are pragmatic engineering concerns as well. Google created Go in part to make it easier to reason about what's called "concurrent" programming. If they do their job right this means software running in Go will get better utilization out of the underlying hardware (vs. say, Ruby). This translates to actual cost in terms of engineering time and how expensive it is to run the software.&lt;/p&gt;

&lt;h4&gt;What Makes a Good First Programming Language&lt;/h4&gt;

&lt;p&gt;Ok, that's all well and fine. We've learned that people like to create programming languages because they want to be Shakespeare...or something. How does that help in choosing a first language? Well it doesn't but hopefully you have a slightly better understanding of the landscape. &lt;/p&gt;

&lt;p&gt;In my humble opinion, a programming language well-suited to beginners should be 1) flexible, 2) used in the industry, and 3) have a large community and resources behind it.&lt;/p&gt;

&lt;h5&gt;Versatility&lt;/h5&gt;

&lt;p&gt;A good first language shouldn't box you into any specific paradigms. And by that I mean it should be &lt;em&gt;somewhat&lt;/em&gt; un-opinionated in how you write your code. Clojure, from earlier, isn't a great language to start with unless you have very specific reasons to do so. It's built to impose certain constraints on what you can do because it's opinionated about how good software programs are built. This makes it a very interesting language to learn at some point, but not a great starter choice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P.S.&lt;/strong&gt; I've heard it said that everyone should learn a Lisp-based language at some point and this is a great one to pick up.&lt;/p&gt;

&lt;h5&gt;Usage&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/ALGOL"&gt;ALGOL&lt;/a&gt; is the Latin of programming languages. I'm oversimplifying and I'm sure there's some computer somewhere in the world running an ancient ALGOL program that only hooded mages know how to modify. But unless you're planning to throw on a hood yourself, stick to languages that lots of people use today, which brings me to the next point...&lt;/p&gt;

&lt;h5&gt;Community&lt;/h5&gt;

&lt;p&gt;Community is good because it means there are lots of resources for when you inevitably get stuck. If I wrote a programming language tomorrow and asked you to learn it, would you? Aww, you're sweet, but that'd be a terrible idea. You won't be able to Google the error messages. There won't be any plugins in your favorite text editor. Again continuing with our language analogy it'd be the equivalent of learning Dothraki or High Valyrian.&lt;/p&gt;

&lt;h4&gt;And The Winner Is...&lt;/h4&gt;

&lt;p&gt;Finally we come to the end and the TL;DR is that you should just pick Javascript or Python. Let me explain...&lt;/p&gt;

&lt;p&gt;Both Javascript and Python are largely built around Object-Oriented Programming which is a specific way of modeling the world in software (i.e. they're kind of opinionated), &lt;em&gt;but&lt;/em&gt; you don't actually have to write OO style code (under the hood everything is modeled as objects anyway but that's a different story). Contrast this to say, Java, where you have to create a &lt;em&gt;class&lt;/em&gt; before you even know or care what you're modeling and it's a big difference.&lt;/p&gt;

&lt;p&gt;Javascript is used &lt;em&gt;everywhere.&lt;/em&gt; It's actually a little frightening since I don't know it as well myself :). But if you're writing code for the web then you're writing Javascript at some point. And of all the different kinds of programming work you could do web development will be the easiest to break into. Python is pretty popular too and cool open-source projects like &lt;a href="https://www.djangoproject.com/"&gt;Django&lt;/a&gt;, &lt;a href="https://pandas.pydata.org/"&gt;Pandas&lt;/a&gt;, and &lt;a href="https://www.sqlalchemy.org/"&gt;SQLAlchemy&lt;/a&gt; demonstrate its versatility.&lt;/p&gt;

&lt;p&gt;Finally, you can Google any message you get running Python or Javascript code and you will find an answer.&lt;/p&gt;

&lt;h4&gt;Wrapping Up&lt;/h4&gt;

&lt;p&gt;We talked about different kinds of programming languages and how they differ. We discussed Shakespeare, Spanish, and talked a little Latin too (in vino veritas). Most importantly, we talked about why Javascript and Python are very safe choices as first programming languages, &lt;em&gt;especially&lt;/em&gt; if you plan to pursue web development.&lt;/p&gt;

&lt;p&gt;Hope this helps. By the way, don't forget to &lt;a href="https://artisanal-knitter-4166.ck.page/7a08f37f37"&gt;join my mailing list&lt;/a&gt; so I can continue my language rants in your inbox and tell you why I secretly want you to learn Clojure. :)&lt;/p&gt;

&lt;p&gt;P.S. This is reposted from my main site at &lt;a href="https://onrampdev.com/"&gt;https://onrampdev.com/&lt;/a&gt; - check it out for insights.&lt;/p&gt;

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