<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ analysis - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ analysis - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Wed, 24 Jun 2026 10:06:42 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/analysis/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Start querying data with this simple Query Language ]]>
                </title>
                <description>
                    <![CDATA[ By Peter Gleeson Working with data is becoming an increasingly important skill in the modern workplace.  Data is no longer the domain of analysts and software engineers. With today's technology, anyone can work with data to analyse trends and inform ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/start-querying-data-with-google-query-language/</link>
                <guid isPermaLink="false">66d460b9246e57ac83a2c7cb</guid>
                
                    <category>
                        <![CDATA[ analysis ]]>
                    </category>
                
                    <category>
                        <![CDATA[ data ]]>
                    </category>
                
                    <category>
                        <![CDATA[ data analysis ]]>
                    </category>
                
                    <category>
                        <![CDATA[ data visualization ]]>
                    </category>
                
                    <category>
                        <![CDATA[ google sheets ]]>
                    </category>
                
                    <category>
                        <![CDATA[ SQL ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 12 Jun 2019 11:42:00 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5f9ca217740569d1a4ca5281.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Peter Gleeson</p>
<p>Working with data is becoming an increasingly important skill in the modern workplace. </p>
<p>Data is no longer the domain of analysts and software engineers. With today's technology, anyone can work with data to analyse trends and inform their decision making.</p>
<p>A fundamental concept when working with data is 'querying' a data set. This is to literally ask questions about a set of data. A query language is a software language that provides a syntax for asking such questions.</p>
<p>If you don't have any experience writing queries, they can appear a little intimidating. However, with a little practice, you can master the basics.</p>
<p>Here's how you can get started in <a target="_blank" href="https://www.google.com/sheets/about/">Google Sheets</a>.</p>
<h3 id="heading-google-visualization-api-query-language">Google Visualization API Query Language</h3>
<p>You may already be using Google Sheets for much of your day-to-day work. Perhaps you are familiar with using it to generate charts and graphs. </p>
<p>The <a target="_blank" href="https://developers.google.com/chart/interactive/docs/querylanguage">Google Visualization API Query Language</a> is the magic that works behind the scenes to make this possible.</p>
<p>But did you know you can access this language through the <code>QUERY()</code> function? It can be a powerful tool for working with large sheets of data.</p>
<p>There are a lot of similarities between the query language and SQL.</p>
<p>In both cases, you define a data set of columns and rows, and choose different columns and rows by specifying various criteria and conditions.</p>
<p>In this article, the example data will come from a large CSV file containing international football results between 1872 and 2019. You can <a target="_blank" href="https://www.kaggle.com/martj42/international-football-results-from-1872-to-2017">download the data from Kaggle</a>.</p>
<p>In a new Google Sheet, upload the CSV file. You can select all the data with Ctrl+A (or Cmd+A on Mac). </p>
<p>From the menu ribbon, choose Data &gt; Named ranges... and call the range selected something like 'data'. This will make it easier to work with.</p>
<p>Now, you are ready to start querying the data. Create a new tab in the spreadsheet, and in cell A1, create a new <code>QUERY()</code> formula.</p>
<h3 id="heading-get-all-england-matches">Get all England matches</h3>
<p>This first query finds all the rows in the data set where England are either the home team or the away team.</p>
<p>The <code>QUERY()</code> formula takes at least two arguments. The first is the named range, which will be the data set queried. The second is a string that contains the actual query.</p>
<pre><code>=QUERY(data, <span class="hljs-string">"SELECT * WHERE B = 'England' OR C = 'England'"</span>)
</code></pre><p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-21.40.48.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Let's break this down.</p>
<p><code>SELECT *</code> asks to return all columns in the data set. If you only wanted columns A, B and C, you would write <code>SELECT A, B, C</code>.</p>
<p>Next, you include a filter to find only rows where column B or column C contain the team <code>'England'</code>. Make sure to use single-quotes for strings inside the query. Double-quotes are used to open and close the query itself.</p>
<p>This formula returns all the rows where England have played. If you want to search for another team, simply change the condition in the filter.</p>
<h3 id="heading-count-all-friendly-matches">Count all friendly matches</h3>
<p>Next, let's count how many friendly matches are in the data set.</p>
<pre><code>=QUERY(data, <span class="hljs-string">"SELECT COUNT(A) WHERE F = 'Friendly'"</span>)
</code></pre><p>This makes use of the Query Language's <code>COUNT()</code> function. This is an example of an aggregate function. Aggregate functions summarise many rows into one.</p>
<p>For example, in this data set there are 16,716 rows where column F equals <code>'Friendly'</code>. Instead of returning all these rows, the query returns a single row - which counts them instead.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-21.40.18.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Other examples of aggregate functions include <code>MAX()</code>, <code>MIN()</code> and <code>AVG()</code>. Instead of returning all the rows matching the query, it finds their maximum, minimum and average values instead.</p>
<h3 id="heading-group-by-tournament">Group by tournament</h3>
<p>Aggregate functions can do more if you use a <code>GROUP BY</code> statement alongside them. This query finds out how many matches have been played by each tournament type.</p>
<pre><code>=QUERY(data, <span class="hljs-string">"SELECT F, COUNT(A) GROUP BY F"</span>)
</code></pre><p>This query groups the data set by each of the values in column F. It then counts how many rows there are in each group.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-21.44.50.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>You can use <code>GROUP BY</code> on more than one column. For example, to find how many matches have been played in each country by tournament, use the query below:</p>
<pre><code>=QUERY(data, <span class="hljs-string">"SELECT H, F, COUNT(A) GROUP BY H, F"</span>)
</code></pre><p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-09-at-02.01.17.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Let's try some more advanced filtering.</p>
<h3 id="heading-get-all-england-vs-germany-matches">Get all England vs Germany matches</h3>
<p>You can specify more complex filter logic using the <code>AND</code> and <code>OR</code> keywords. For readability, it can help to use brackets around each part of the filter.</p>
<p>For example, to find all the matches between England and Germany:</p>
<pre><code>=QUERY(data, <span class="hljs-string">"SELECT * WHERE (B = 'England' AND C = 'Germany') OR (C = 'England' AND B ='Germany')"</span>)
</code></pre><p>This filter has two criteria - one where England are the home team and Germany are away, and the other vice versa.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-21.57.15.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Using data validation makes it easy to pick any two teams in the data set.</p>
<p>Then, you can write a query that uses the values of different cells in its filter. Remember to use single-quotes for identifying strings within the query, and double-quotes to open and close different pieces of the query.</p>
<pre><code>=QUERY(data, <span class="hljs-string">"SELECT * WHERE (B = '"</span>&amp;B1&amp;<span class="hljs-string">"' AND C = '"</span>&amp;B2&amp;<span class="hljs-string">"') OR (C = '"</span>&amp;B1&amp;<span class="hljs-string">"' AND B ='"</span>&amp;B2&amp;<span class="hljs-string">"')"</span>)
</code></pre><p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-21.58.00.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-looking-for-trends">Looking for trends</h3>
<p>Aggregate functions and filters make powerful tools when used in combination. Once you are comfortable with how they work, you can start searching for all kinds of interesting trends in your data set.</p>
<p>For example, the query below finds the average goals per game, by each year since 1900.</p>
<pre><code>=QUERY(data, <span class="hljs-string">"SELECT YEAR(A), AVG(D) + AVG(E) WHERE YEAR(A) &gt;= 1900 GROUP BY YEAR(A)"</span>)
</code></pre><p><img src="https://www.freecodecamp.org/news/content/images/2024/04/score-chart.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>If you plot the query result as a line graph, you can immediately start seeing trends over time.</p>
<h3 id="heading-ordering-the-results">Ordering the results</h3>
<p>Sometimes, you are not interested in finding all the matching rows in a data set. Often, you will want to sort them according to some criteria. Perhaps you only wish to find the top ten records.</p>
<p>This query finds the top ten highest scoring matches in the data set.</p>
<pre><code>=QUERY(data, <span class="hljs-string">"SELECT * ORDER BY (D+E) DESC LIMIT 10"</span>)
</code></pre><p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-22.45.42.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Notice the <code>ORDER BY</code> statement. This sorts the rows according to the columns specified.  Here, the query sorts the output by the number of goals scored in the game. </p>
<p>The <code>DESC</code> keyword indicates to sort in descending order (the <code>ASC</code> keyword would have sorted them in ascending order).</p>
<p>Finally, the <code>LIMIT</code> keyword restricts the output to a given number of rows (in this case, ten).</p>
<p>Looks like there have been some pretty one-sided games in Oceania!</p>
<h3 id="heading-which-cities-have-hosted-the-most-world-cup-matches">Which cities have hosted the most World Cup matches?</h3>
<p>And now for one final example to bring everything together and get your imagination going.</p>
<p>This query finds the top ten cities that have hosted the most FIFA World Cup matches.</p>
<pre><code>=QUERY(data, <span class="hljs-string">"SELECT G, COUNT(A) WHERE F = 'FIFA World Cup' GROUP BY G ORDER BY COUNT(A) DESC LIMIT 10"</span>)
</code></pre><p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-22.12.45.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-now-its-your-turn">Now it's your turn</h3>
<p>Hopefully you have found this article useful. If you are comfortable with the logic in each example, then you are ready to try out real SQL.</p>
<p>This will introduce concepts such as JOINS, nested queries and WINDOW functions. When you master these, your power to manipulate data will go through the roof.</p>
<p>There are a number of places to start with learning SQL. Try out the <a target="_blank" href="https://www.w3schools.com/sql/default.asp">interactive examples at w3schools</a>!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How 65 new developers with no previous coding experience got their first jobs ]]>
                </title>
                <description>
                    <![CDATA[ By Evaristo Caraballo Profiling the successful new coder During my time in freeCodeCamp, I have read many posts and articles from students without previous coding experience who eventually found jobs as developers. As a strong supporter of free onli... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-65-new-developers-with-no-previous-coding-experience-got-their-first-jobs-103846ba640e/</link>
                <guid isPermaLink="false">66c34c9b0fa3812cdd5ea9db</guid>
                
                    <category>
                        <![CDATA[ analysis ]]>
                    </category>
                
                    <category>
                        <![CDATA[ data ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Sat, 14 Apr 2018 02:46:52 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*4HHWw6_I-DJ6Ov0FJZYpDg.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Evaristo Caraballo</p>
<h4 id="heading-profiling-the-successful-new-coder">Profiling the successful new coder</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/bB-ZM569yOJtsywPBD36fK-FKnDRRCW0ydFe" alt="Image" width="800" height="529" loading="lazy"></p>
<p>During my time in freeCodeCamp, I have read many posts and articles from students without previous coding experience who eventually found jobs as developers.</p>
<p>As a strong supporter of free online self-education platforms, those stories have more than grounded my belief in the effectiveness of this kind of education alternative.</p>
<p>However, only attributing that success to the platforms would give an incomplete picture: part of that success lies on what those students did along with their studies and eventual job hunting.</p>
<p>A quick overview of the stories of new coders finding jobs suggests that they made a diverse range of decisions and took various actions to increase their chances. What were those decisions and actions? In other words, I wondered:</p>
<blockquote>
<p>What did they do since starting to learn coding that allowed them to get a job at the end?</p>
</blockquote>
<p>For this project, I analyzed the writings of 65 authors found at freeCodeCamp's Forum and on freeCodeCamp's Medium to answer that question, mainly focusing on the freeCodeCamp program.</p>
<p>Here is what I found.</p>
<h3 id="heading-1-not-starting-totally-from-zero">1. Not starting totally from zero</h3>
<p>General demographics coincided with what was found in the <a target="_blank" href="https://medium.freecodecamp.org/we-asked-15-000-people-who-they-are-and-how-theyre-learning-to-code-4104e29b2781">2016</a> and <a target="_blank" href="https://medium.freecodecamp.org/we-asked-20-000-people-who-they-are-and-how-theyre-learning-to-code-fff5d668969">2017</a> New Coder Surveys.</p>
<ul>
<li>Authors were mostly males.<br>Only six of them mentioned their age, which ranged between 20 and 35 years.</li>
<li>Those who mentioned a background said they had a degree in something and or had been working at some point, either part-time or full-time.<br>That suggests that they usually went after a career change due to a newly discovered vocation, because of lifestyle aspirations or because of better salary expectations and job opportunities.</li>
<li>The change was a risky step for some.<br>Some of them already had debts and family.</li>
</ul>
<h3 id="heading-2-learning-web-dev-means-dealing-with-complexity">2. Learning web dev means dealing with complexity</h3>
<p>The <a target="_blank" href="https://medium.freecodecamp.org/the-absolute-beginners-guide-to-learning-web-development-in-2018-d87ba925549b">amount of information</a> around web development is vast, complex and fast-changing. For some of the authors, web development was synonymous with “<strong>confusion.</strong>”</p>
<p>Some authors argued that the best way to face that complexity was to become strong in the <strong>fundamentals</strong>: HTML, CSS, vanilla JavaScript, algorithms and probably design. An argument behind that claim was that understanding the basics would help to cope with the difficult parts and give a lot of flexibility.</p>
<p>Several authors also stressed the importance of <strong>development environment tools</strong>. According to them — the version controllers, editors, testers, package managers, module blunders and other similar tools were as relevant as the fundamentals and should be practiced right from the start.</p>
<p>When going further through the learning path, <strong>focusing</strong> appeared to be useful.</p>
<p>A large group chose to <strong>specialize</strong> on either the technologies in the program or on those that better suited the potential job market.</p>
<p>The few <strong>generalists</strong> saw themselves as adaptable.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/7mAsym8828uusot88EUx6vuGJ93Qukjv68Dq" alt="Image" width="600" height="371" loading="lazy">
<em>Choosing between specialist vs generalist approach (19 authors)</em></p>
<p>Some authors also wrote about how far to go on exercises. The majority suggested to focus on <strong>minimal requirement</strong> and good <strong>minimum viable products.</strong></p>
<blockquote>
<p>“functionality [higher than] structure [higher than] performance” — patricksevat, freeCodeCamp Forum</p>
</blockquote>
<p>Those <strong>going beyond the requirements</strong> likely possessed exceptional problem solving skills and exhibited talents. This was eventually reflected in their portfolios.</p>
<h3 id="heading-3-commitment-above-all">3. Commitment above all</h3>
<p>Only a few suggested a explicit and thoughtful plan. However, reading carefully through the articles reveals that most of them did follow some sort of plan themselves. That plan usually consisted in <strong>setting feasible goals without specifying targets and (hard) deadlines</strong>.</p>
<p>For example: goals were like "do networking, visit as many meetups as you can," instead of "visiting X number of meetups and make X number of connections in the next X months." Or "practice algorithms in HackerRank" instead of "complete X number of algorithms and reach an X rank in X days."</p>
<p>A possible reason why the majority planned that way was the <strong>uncertainty</strong> rooted in self-perceived abilities to cope with tasks with a lot of unknowns.</p>
<p>For many authors, the simplest way to successfully tackle the uncertainty came down to <strong>commitment:</strong> dedicating hours per day to anything related to the task until reaching a satisfactory outcome. The time of dedication varied, as shown in analyses based on the <a target="_blank" href="https://medium.freecodecamp.org/new-coders-how-salary-and-time-spent-learning-vary-by-demographic-359ef1ed0da8">New Coder Survey</a>.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/SMjmPQreAoQi6cIjLmOjGmk9o--VNdYLGEm4" alt="Image" width="600" height="371" loading="lazy">
<em>Times each topic was mentioned in all articles and posts (65); one per reading</em></p>
<p>Not many emphasized the need for taking breaks: I got the impression that many chose a rather <strong>intensive approach</strong>. Still there were those who admitted that they included <strong>no-coding periods</strong> while still learning.</p>
<h3 id="heading-4-things-that-really-helped-them">4. Things that (really!) helped them</h3>
<p>Several authors stressed the importance of some kind of <strong>hands-on experience</strong>. I counted 35 unique authors when including all the arguments.</p>
<p>Half of those authors found the curriculum enough as it encouraged a <strong>non-prescriptive solution</strong> for the projects. It appeared that the more advanced they were in the curriculum, the more likely they believed that the curriculum was enough.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/Sty7hOD24Ea8Qxq2HkHT5KADY1PRbLCMqQMB" alt="Image" width="600" height="371" loading="lazy">
<em>27 unique authors commented about at least one of these topics</em></p>
<p>Those looking for extra-curricular experience turned into <strong>building their own projects</strong>, <strong>online contributions,</strong> and <strong>freelancing</strong>. People less-advanced in the curriculum seemed to prefer the first option, while those who were more advanced students preferred the second.</p>
<blockquote>
<p>“you want to be a software engineer? write code for something…you want to be a growth hacker? growth hack something… a product manager? ship something… just go do it” — rahuldotiyer, Medium</p>
</blockquote>
<p><strong>Networking</strong> was also a very relevant aspect. Several praised the positive role of having access to an online community. Additionally, those who discovered and practiced face-to-face networking gained substantial rewards in the forms of useful information, mentoring, and even accessing potential jobs or collaborative projects.</p>
<p>Many listed <strong>alternative online learning resources</strong>. Some of them encouraged others to <strong>maintain a strong online presence,</strong> or <strong>help fellow coders on social platforms</strong> to consolidate their knowledge.</p>
<h3 id="heading-5-becoming-trouble-shooters">5. Becoming trouble shooters</h3>
<blockquote>
<p>“web development shops aren’t really in the business of coding, they are in the business of solving problems” — kenrogers, Medium</p>
</blockquote>
<p>For those with an engineering focus, the quote above might be an obvious one. If your main focus is design, it would be the same: your role would be to come up with aesthetic-functional solutions.</p>
<p>Several authors confirmed that they were <strong>preparing themselves to be problem-solvers</strong>. Many of them were asked to solve a problem during the interview process. A few also stressed that they had to learn new things in order to solve those problems.</p>
<h3 id="heading-6-hunting-for-and-getting-the-job">6. Hunting for and getting the job</h3>
<h4 id="heading-applications-targeted-or-not">Applications: targeted or not?</h4>
<p>Half of the authors who reported how they got the interviews that led to a job succeeded through <strong>less conventional channels</strong> that bypassed the HR departments and agencies. They used networking, Craigslist or direct email, for example, as opposed to conventional methods like job boards and recruiters.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/cQZTc-SCoRWGrqUQTuKO-2f2mU6hUYauGI1Y" alt="Image" width="600" height="371" loading="lazy">
<em>21 authors mentioned which channel the got the job from</em></p>
<p>However, all but five of the reporting authors were apparently in favor of applying to positions through conventional channels.</p>
<h4 id="heading-the-portfolio-is-key">The portfolio is key</h4>
<p>In order to get those interviews, many of the authors confirmed that the <strong>portfolio</strong> was a very relevant factor.</p>
<blockquote>
<p>“you don’t have jack if you don’t have a portfolio” — quesurifn, freeCodeCamp Forum</p>
</blockquote>
<p>There were different opinions about what the portfolio should contain. For example:</p>
<ul>
<li>One author claimed it should consists of, at a minimum, <a target="_blank" href="https://medium.freecodecamp.org/7-key-steps-to-getting-your-first-software-engineering-job-6ef80543cad9">3 projects</a>. They should at least show progress, and it’s better if one is non-tutorial based.</li>
<li>Another author suggested to <a target="_blank" href="https://forum.freecodecamp.org/t/one-year-of-fcc-gave-me-my-first-job-as-a-front-end-developer/151669">include only the best you have made</a>.</li>
<li>There was also one who recommended that new coders <a target="_blank" href="https://forum.freecodecamp.org/t/freecodecamp-just-got-me-my-first-programming-job/15732">redo their portfolio after gaining new skills</a>.</li>
</ul>
<p>Not only the content of the portfolio but <strong>how it was presented</strong> appeared to be important. Those emphasizing the engineering of web development were first in taking CodePen projects into a more website-like format.</p>
<p>Such a level of portfolio personalization suggests that <strong>the portfolio was used to support the “personal narrative”</strong> the applicant wanted to present to potential employers.</p>
<h4 id="heading-what-else">What else?</h4>
<p><strong>Motivation, commitment, and ability to learn (along with an interest in learning)</strong> were personal attributes mentioned many times during the interviews.</p>
<blockquote>
<p>[my employer said] they could teach me programming whereas [they] can’t teach the hard work, sacrifice and motivation that I had shown by chasing my dream — rickwest8, Medium</p>
</blockquote>
<p>Other aspects that might have played a role during the negotiation were other <strong>personal skills</strong>, <strong>previous experience,</strong> and <strong>context</strong>. It seems that the simpler the portfolio, the more important those aspects.</p>
<p>I didn’t closely go over what they wrote about technical exams, cover letters, and résumés, but I got the impression that several authors assigned more importance to the first two than the last one.</p>
<h4 id="heading-finally-a-job">Finally, a job!</h4>
<p>The majority of the authors started to look for jobs before completing the Front-end certification. However, this data could suggest that <strong>not advancing through the certification could have made it harder to get a job</strong>.</p>
<p>That comes from comparing the author's certificates against the proportion of total students getting <a target="_blank" href="https://about.freecodecamp.org/">the different freeCodeCamp certificates</a>.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/Hf29df2ATfDcl2VFCQlMvxwBxVUmXt-mSjyz" alt="Image" width="600" height="371" loading="lazy"></p>
<p>At the time of graduation, the proportion of students claiming the basic certification was very high compared to those with more advanced certs. But that proportion changed in favor of the authors with more advanced levels when finding jobs. Given the available data, it would be incorrect to reach a conclusion, though.</p>
<p>Apparently the large majority got positions as <strong>junior web developers</strong>, assuming positions described simply as “developer” were junior positions. I can’t discuss the employer’s actual requirements and what was negotiated, leaving the possibility that similar positions entailed different descriptions.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/zAAXLMH0RX98W2DNFgANqOnSpDMvWEc5GjFt" alt="Image" width="600" height="371" loading="lazy">
<em>Data from 60 authors</em></p>
<h3 id="heading-7-it-might-take-you-a-year-of-hard-work-but-it-is-doable">7. It might take you a year of hard work, but it is doable</h3>
<p>Several of the authors admitted that self-studying and then hunting for jobs required a lot of self-motivation. It wasn’t easy, but as many of them pointed out, it was feasible.</p>
<blockquote>
<p>“you know your goal , you can make it work” — derozan10, freeCodeCamp Forum</p>
</blockquote>
<p>Based on reported dates, the median time between starting to learn to code and finding a job was 320 days. Those who took less were about 120 days with a minimum of 90 days while those who took longer were about 550 days or more.</p>
<h3 id="heading-conclusion">Conclusion</h3>
<p>We should be aware that the characteristics of the data and the implemented methodology might affect the generalization of these results.</p>
<p>Despite that, there are still some take-aways that we can learn from this analysis. However, instead of offering you an opinionated "pill for success," I propose that you use these results as a starting point to find your way.</p>
<p>I invite you then to continue reading similar material as well as asking for advice on social media. Select those solutions that better suit your skills, interests, and situation. You can start by exploring <a target="_blank" href="https://evaristoc.github.io/foundjob/65-new-coders-that-found-jobs/"><strong>the full list of articles and posts used for this project</strong></a> (thanks, <a target="_blank" href="https://www.freecodecamp.org/news/how-65-new-developers-with-no-previous-coding-experience-got-their-first-jobs-103846ba640e/undefined">William Pritchard</a>!).</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/kqfcKpfgpEElqqqTQ05Otc0lV7D2oDQArw5f" alt="Image" width="800" height="549" loading="lazy">
_We prepared a small site to show the posts and articles used in this project; you can follow the link provided ([https://evaristoc.github.io/foundjob/65-new-coders-that-found-jobs/](https://evaristoc.github.io/foundjob/65-new-coders-that-found-jobs/" rel="noopener" target="<em>blank" title="))</em></p>
<p>To complete this project, we partially searched the forum's posts programmatically, using an authorized scraper made by <a target="_blank" href="https://github.com/ninadingole">Neenad Ingole</a>. <a target="_blank" href="https://www.freecodecamp.org/news/how-65-new-developers-with-no-previous-coding-experience-got-their-first-jobs-103846ba640e/undefined">Toni Shortsleeve</a> helped me in identifying relevant readings on Medium.</p>
<p>The analysis of the content consisted in <a target="_blank" href="https://www.youtube.com/watch?v=jFyb-LiyJ-k">classical identification of main ideas</a> supported by visual tools (like <a target="_blank" href="https://evaristoc.github.io/foundjob/examples_analysis/job_project.keywords/">this one</a>) sketching <a target="_blank" href="https://arxiv.org/pdf/1707.02268.pdf">summarization techniques</a>. You can also find examples of the tools in my <a target="_blank" href="https://github.com/evaristoc/foundjob/tree/master/examples_text_analysis_tools">GitHub repository</a>.</p>
<p>Happy coding!</p>
<p>When I am not in the <a target="_blank" href="https://gitter.im/FreeCodeCamp/DataScience">DataScience room</a>, I am in the <a target="_blank" href="http://forum.freecodecamp.org">Forum</a>, checking my <a target="_blank" href="https://twitter.com/@ecccs_fcc">Twitter</a>, or studying new subjects.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
