<?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[ internships - 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[ internships - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 01 Jun 2026 05:28:50 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/internships/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ The Software Engineer Internship Handbook – How to Launch Your Coding Career ]]>
                </title>
                <description>
                    <![CDATA[ In the fiercely competitive world of software engineering, the question isn’t whether internships matter, but how much. Many large tech firms emphasize internship experience when hiring. So, if you’re an aspiring software engineer, listen closely. Th... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/software-engineer-internship-handbook/</link>
                <guid isPermaLink="false">66b99b143cd81de09c96b2ba</guid>
                
                    <category>
                        <![CDATA[ handbook ]]>
                    </category>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Software Engineering ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Vahe Aslanyan ]]>
                </dc:creator>
                <pubDate>Wed, 06 Dec 2023 18:21:06 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/12/The-Software-Engineering-Intership-Handbook-Cover--1--1.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>In the fiercely competitive world of software engineering, the question isn’t whether internships matter, but <em>how much</em>.</p>
<p>Many large tech firms emphasize internship experience when hiring. So, if you’re an aspiring software engineer, listen closely.</p>
<p>This carefully curated guide, grounded in data and expert consensus, is designed to be your roadmap. In five actionable steps, it decodes the intricacies of securing that coveted software engineering internship.</p>
<p>Here's what we'll cover:</p>
<ol>
<li><strong>Ski</strong>ll Mastery<em>**</em>: As Bill Gates emphasized, coding is about problem-solving. Fortune 500 companies seek professionals who combine technical expertise with critical thinking and communication. Learning these skills positions you as an ideal candidate in today’s tech landscape.</li>
<li><strong>The Application Science:</strong> Résumés should narrate your professional journey, not just list achievements. While coding knowledge is vital, but many candidates falter in interviews due to presentation. Effective articulation of solutions is key.</li>
<li><strong>Opportunity Hunt:</strong> many jobs aren't openly advertised. Networking and understanding the hidden job market are essential. Engage in professional circles to discover these opportunities.</li>
<li><strong>Internship Excellence:</strong> Described by a Google mentor as “extended interviews,” internships are evaluations of your fit within a company. Stand out by taking initiative and delivering value, enhancing your chances for a full-time role.</li>
<li><strong>T</strong>he Big Picture:<em>**</em> Internships are transformative. They’re platforms for hands-on experience, insights into industry trends, and career exploration, guiding your professional journey</li>
</ol>
<p>Here’s the bottom line: we're handing you the roadmap, distilled from real-world successes and expert insights, to not only land that dream internship but to excel in it. So, harness this knowledge, make your move, and position yourself as the next standout name in the software engineering world.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ol>
<li><a class="post-section-overview" href="#heading-1-what-is-a-software-engineering-internship">What is a Software Engineering Internship?</a></li>
<li><a class="post-section-overview" href="#heading-2-software-engineering-internship-vs-a-job">Software Engineering Internship vs a Job</a></li>
<li><a class="post-section-overview" href="#heading-3-why-pursue-a-software-engineering-internship">Why Pursue a Software Engineering Internship?</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/p/a74a9c89-75c1-40b2-843f-e4491f15dd21/4-how-to-land-a-software-engineering-internship">How to Land a Software Engineering Internship</a></li>
<li><a class="post-section-overview" href="#heading-5-prepare-your-resume">Prepare Your Résumé</a></li>
<li><a class="post-section-overview" href="#heading-6-start-networking-and-building-connections">Start Networking and Building Connections</a></li>
<li><a class="post-section-overview" href="#heading-7-research-and-learn-about-companies">Research and Learn About Companies</a></li>
<li><a class="post-section-overview" href="#heading-8-prepare-for-interviews">Prepare for Interviews</a></li>
<li><a class="post-section-overview" href="#heading-9-how-to-stand-out-in-interviews">How to Stand Out in Interviews</a></li>
<li><a class="post-section-overview" href="#heading-10-software-engineering-internship-application-process">Software Engineering Internship Application Process</a></li>
<li><a class="post-section-overview" href="#heading-11-how-to-stand-out-in-a-software-engineering-internship">How to Stand Out in a Software Engineering Internship</a></li>
<li><a class="post-section-overview" href="#heading-12-how-to-navigate-your-software-engineering-career-path">How to Navigate Your Software Engineering Career Path</a></li>
<li><a class="post-section-overview" href="#heading-13-essential-skills-and-technologies-for-software-engineering-interns">Essential Skills and Technologies for Software Engineering Interns</a></li>
<li><a class="post-section-overview" href="#heading-14-foundational-knowledge-in-software-engineering">Foundational Knowledge in Software Engineering</a></li>
<li><a class="post-section-overview" href="#heading-15-how-to-choose-projects-for-your-portfolio">How to Choose Projects for Your Portfolio</a></li>
<li><a class="post-section-overview" href="#heading-16-how-to-effectively-showcase-your-software-engineering-talents">How to Effectively Showcase Your Software Engineering Talents</a></li>
<li><a class="post-section-overview" href="#heading-17-how-to-find-internship-opportunities-in-software-engineering">How to Find Internship Opportunities in Software Engineering</a></li>
<li><a class="post-section-overview" href="#heading-18-tools-and-resources-for-securing-a-software-engineering-internship">Tools and Resources for Securing a Software Engineering Internship</a></li>
<li><a class="post-section-overview" href="#heading-19-quick-tips-for-landing-software-engineering-internship">Tips for Landing a Software Engineering Internship</a></li>
<li><a class="post-section-overview" href="#heading-20-conclusion-and-next-steps">Conclusion and Next Steps</a></li>
</ol>
<h2 id="heading-1-what-is-a-software-engineering-internship">1. What is a Software Engineering Internship?</h2>
<p>Unlocking the door to your software engineering future requires more than just passion and drive. You'll also need practical insights, a strategic approach, and actionable steps. Software engineering internships can be a pivotal step in crafting a formidable career in this dynamic world.</p>
<p>A comprehensive study by the National Association of Colleges and Employers (NACE) reveals that internships are not just a learning phase – <a target="_blank" href="https://www.naceweb.org/about-us/advocacy/position-statements/6bcb7e07-b277-41a2-bc09-1bca8c2bfd58">50-60% culminate in full-time job offers</a>.</p>
<p>This statistic underscores the tangible, hands-on environment that internships provide, where budding engineers can hone their skills, grapple with real-world challenges, and collaborate with industry mavens.</p>
<p>Yet, beyond the technical, there’s the often understated value of networking. As highlighted by a Harvard Business Review study, an astounding <a target="_blank" href="https://hbr.org/2016/05/learn-to-love-networking">many opportunities are secured through networking channels</a>. Internships act as a key networking nexus, positioning aspirants amidst industry leaders, potential mentors, and future allies. Every meeting, every group brainstorm, is a chance to expand your professional horizon.</p>
<p>Internships also offer the unique advantage of industry clarity. Imagine having the leverage to experience various roles, immerse in diverse technologies, and acquaint yourself with different methodologies — all before committing to a definitive career path. You’re not just coding. You’re assimilating the ecosystem, discerning the subtleties of each role, and pinpointing your genuine interests.</p>
<p>Transitioning from an intern to a full-fledged employee isn’t a mere stroke of luck — it’s a journey, one that’s meticulously orchestrated. With the right strategies and guidance, which we’ll delve into in subsequent sections, you can channel your internship experience towards landing a coveted full-time position.</p>
<p>In the following chapters, I'll guide you through the application process, share expert-endorsed tactics to distinguish yourself, and offer pragmatic success templates. Your professional ascent beckons, and this handbook is here to ensure that you embark on this journey with precision, assurance, and unmatched acumen.</p>
<h2 id="heading-2-software-engineering-internship-vs-a-job">2. Software Engineering Internship vs a Job‌‌</h2>
<p>Choosing between an internship and a job is a crucial decision in software engineering. While both provide valuable experiences, they serve different purposes in your career development. Let’s delve into their distinctions and which option might best suit your career goals.</p>
<p>Internships are generally short-term commitments, often lasting a few months to a year. They're designed as an introduction to the professional world. </p>
<p>In contrast, jobs are long-term engagements, providing ongoing stability and opportunities for advancement. The majority of jobs, as per Bureau of Labor Statistics, are permanent positions.</p>
<p>A job ensures a steady income, paid either hourly or as a salary. Internships, however, may not offer financial compensation, although paid internships are increasingly common in the tech industry.</p>
<p>Internships are typically entry-level, requiring less in terms of qualifications and more focused on learning. Jobs, on the other hand, demand specific skill sets and experience, reflecting a higher level of expertise.</p>
<h3 id="heading-benefits-of-internships-stepping-stones-for-beginners">Benefits of Internships: Stepping Stones for Beginners</h3>
<ul>
<li><strong>Practical Experience:</strong> They offer hands-on experience in software engineering, valuable for your resume.</li>
<li><strong>Pathway to Employment:</strong> Successful internships can lead to job offers.</li>
<li><strong>Networking:</strong> Building connections during internships can aid future job searches.</li>
<li><strong>Enhanced Marketability:</strong> Gaining real-world experience can make you more attractive to future employers.</li>
</ul>
<h3 id="heading-downsides-of-internships">Downsides of Internships</h3>
<ul>
<li><strong>Financial Constraints:</strong> Unpaid internships mean working without a salary.</li>
<li><strong>Limited Exposure:</strong> Some internships may not provide the exact experience you're seeking.</li>
<li><strong>Time Management:</strong> Balancing an internship with studies or other commitments can be challenging.</li>
<li><strong>No Job Guarantee:</strong> An internship does not always lead to a permanent position.</li>
</ul>
<h3 id="heading-advantages-of-jobs-entering-the-professional-arena">Advantages of Jobs: Entering the Professional Arena</h3>
<ul>
<li><strong>Responsibility:</strong> Jobs come with more significant responsibilities than internships.</li>
<li><strong>Steady Income:</strong> Regular salary and potential benefits like health insurance.</li>
<li><strong>Skill Enhancement:</strong> Each job is an opportunity to grow professionally.</li>
<li><strong>Career Progression:</strong> Many employers offer development opportunities, including further education support.</li>
<li><strong>Team Integration:</strong> Full-time jobs offer deeper integration into a company’s culture.</li>
</ul>
<h3 id="heading-making-the-choice-internship-or-job">Making the Choice: Internship or Job?</h3>
<ul>
<li><strong>Your Current Level:</strong> Consider whether you're just starting out or if you have some experience.</li>
<li><strong>Financial Needs:</strong> Weigh the need for immediate income against the potential long-term benefits of an unpaid internship.</li>
<li><strong>Career Objectives:</strong> Reflect on whether an internship or job aligns better with your career aspirations.</li>
<li><strong>Industry Standards:</strong> Some fields highly value internships as essential experience.</li>
</ul>
<p>The decision between an internship and a job depends on your individual circumstances and career aspirations. Evaluate your current situation, goals, and the opportunities in front of you. </p>
<p>Whether you opt for an internship or a direct entry into a job, each step is vital in shaping your future in software engineering.</p>
<h2 id="heading-3-why-pursue-a-software-engineering-internship">‌‌‌‌3. Why Pursue a Software Engineering Internship?</h2>
<p>Embarking on a software engineering internship is more than just a stepping stone — it’s a pivotal move for every budding software engineer. The benefits are manifold, and here’s why every job seeker should seriously contemplate this path:</p>
<h3 id="heading-practical-expertise">Practical Expertise</h3>
<p>Internships offer a direct route to work on tangible projects. And as is no surprise, employers prioritize hands-on experience when recruiting.</p>
<p>By immersing yourself in real-world tasks, you not only hone your skills but also gain insights into software development nuances, coding dialects, and the gold standards of the industry.</p>
<h3 id="heading-forge-lasting-relationships">Forge Lasting Relationships</h3>
<p>Your internship is a potential direct avenue to industry stalwarts, guiding mentors, and peers with shared aspirations.</p>
<p>As I mentioned before, many jobs are found through networking. Initiating these professional bonds early can be a catalyst for future opportunities, mentorship, and even powerful references.</p>
<h3 id="heading-elevate-your-career-trajectory">Elevate Your Career Trajectory</h3>
<p>An internship is a testament to your dedication to both personal and professional evolution. It’s a badge of honor on your résumé, underscoring your zeal for real-world proficiency.</p>
<p>Many aspiring devs have found that internships often culminate in full-time offers, or at the very least, amplify your prospects post-graduation.</p>
<h3 id="heading-discover-organizational-dynamics">Discover Organizational Dynamics</h3>
<p>Every company has its unique pulse and ethos. Internships are a window to experience these diverse corporate climates, helping you recognize environments that resonate with your ethos. This introspection is invaluable, steering your future career decisions.</p>
<h3 id="heading-stay-ahead-of-the-curve">Stay Ahead of the Curve</h3>
<p>The world of software engineering is in perpetual flux, with innovations sprouting all the time. Internships are your conduit to these advancements, ensuring you’re always in sync with the industry’s pulse and primed for the ever-shifting job landscape.</p>
<p>In essence, a software engineering internship is more than just an experience — it’s an investment. It’s about acquiring expertise, nurturing relationships, charting your career, understanding workplaces, and being at the forefront of innovation.</p>
<p>As you contemplate your next steps, remember that an internship can be the catalyst that propels you to unparalleled heights in the software engineering domain.</p>
<h2 id="heading-4-how-to-land-a-software-engineering-internship">4. How to Land a Software Engineering Internship</h2>
<p>Securing a software engineering internship is a strategic endeavor, and the stakes are high. With the tech industry growing at an unprecedented rate — expected to reach a value of $5 trillion by 2024 — the demand for skilled software engineers is soaring.</p>
<p>Here’s a step-by-step guide to ensure you’re not just a part of the crowd, but a standout candidate. In the following sections, we'll dive more deeply into each of these steps.</p>
<h3 id="heading-step-1-craft-a-stellar-resume">Step 1: Craft a Stellar Résumé</h3>
<p>Your résumé isn’t just a document — it’s your introduction. According to a recent study, recruiters spend an average of 7.4 seconds reviewing a résumé. Make those seconds count.</p>
<p>Highlight pertinent technical skills, projects, and past internships. Detail your educational background, fluency in programming languages, and significant milestones. Precision, clarity, and a touch of visual appeal can set you apart.</p>
<h3 id="heading-step-2-network-with-intent">Step 2: Network with Intent</h3>
<p>In the digital age, many jobs are found through networking. Engage with software engineering professionals on platforms like LinkedIn. Attend industry-centric events, coding workshops, and tech conferences.</p>
<p>But remember, networking isn’t about quantity — it’s about quality. Cultivate genuine relationships, seek mentorship, and be inquisitive. These interactions could be your gateway to coveted internships.</p>
<h3 id="heading-step-3-dive-deep-into-company-research">Step 3: Dive Deep into Company Research</h3>
<p>Knowledge is power. Before sending out applications, delve into potential companies. Understand their ethos, technological preferences, and industry standing.</p>
<p>Many interviewers feel that having little or no knowledge of the company is the most common mistake made in interviews. Equip yourself with insights about their projects, values, and recent innovations. It’s not just about fitting in — it’s about standing out.</p>
<h3 id="heading-step-4-ace-the-interview-prep">Step 4: Ace the Interview Prep</h3>
<p>Technical interviews are the litmus test for software engineers. Refine your coding abilities, algorithms, and data structures. Platforms like LeetCode and HackerRank are invaluable for honing your analytical skills.</p>
<p>Stay abreast of industry shifts and technological advancements. And remember, practice doesn’t make perfect — perfect practice does. Engage in mock interviews to polish your articulation and presentation.</p>
<h3 id="heading-step-5-illuminate-your-unique-value-in-interviews">Step 5: Illuminate Your Unique Value in Interviews</h3>
<p>Interviews are your stage. Beyond technical acumen, radiate your passion, inquisitiveness, and adaptability.</p>
<p>Experts often emphasize the importance of soft skills — teamwork, adaptability, and problem-solving — in the tech industry. Illustrate your multifaceted abilities, from tackling intricate challenges to collaborating in diverse teams. Express genuine enthusiasm for the role and the company’s mission. Confidence, paired with humility, can be your strongest asset.</p>
<p>In summary, the journey to a software engineering internship is meticulous but immensely rewarding. With diligence, strategy, and a learner’s mindset, you can transcend the competition and carve a niche for yourself in this burgeoning field. Your future in software engineering is not just about chance — it’s about choice. Make yours wisely.</p>
<p>Alright, now let's get into a bit more detail for each of these key steps.</p>
<h2 id="heading-5-prepare-your-resume">5. Prepare your Résumé</h2>
<p>In the competitive world of software engineering internships, your résumé isn’t just a document — it’s your ambassador.</p>
<p>A recent Harvard study revealed that on average, every corporate job opening attracts 250 résumés. Yet, only 4 to 6 candidates will get interviewed. To ensure you’re among this group, consider the following strategies:</p>
<h3 id="heading-spotlight-your-expertise">Spotlight Your Expertise</h3>
<p>Your résumé should be a testament to your abilities. Highlight your fluency in diverse programming languages, tools, and frameworks. By showcasing relevant technical skills and past projects, you underscore your readiness to contribute from day one.</p>
<ul>
<li><strong>Good Example:</strong> "Fluent in Java, Python, and C++. Developed a Java-based e-commerce application using Spring Boot, leading to a 20% increase in user engagement. Implemented machine learning algorithms in Python for data analysis, resulting in a 15% improvement in predictive accuracy."</li>
<li><strong>Bad Example:</strong> "Know Java, Python, and some C++. Did some programming for a website and worked on a data project."‌‌</li>
</ul>
<h3 id="heading-showcase-academic-excellence">Showcase Academic Excellence</h3>
<p>In a field where continuous learning is paramount, spotlighting relevant coursework and certifications can set you apart. Whether it’s a specialized online course or an advanced certification, it speaks volumes about your dedication to the craft. If you have higher than 4.0 GPA, list that as well.</p>
<ul>
<li><strong>Good Example:</strong> "Graduated with a 4.2 GPA, majoring in Computer Science. Completed specialized courses in Data Structures and Algorithms, and Machine Learning. Certified in AWS Cloud Practitioner."</li>
<li><strong>Bad Example:</strong> "Studied Computer Science. Took courses in programming and data."</li>
</ul>
<h3 id="heading-chronicle-your-triumphs">Chronicle Your Triumphs</h3>
<p>Every project you’ve undertaken is a story of challenges met and obstacles overcome. Detail these narratives, emphasizing solutions you’ve engineered and the accolades they’ve garnered. It’s not just about what you’ve done — it’s about the impact you’ve made. Use numbers to illustrate the impact that you have made.</p>
<ul>
<li><strong>Good Example:</strong> "Led a team of 5 in developing a mobile app for campus navigation, which won the Best Innovation Award in 2022. My role involved coordinating development efforts and implementing real-time GPS integration."</li>
<li><strong>Bad Example:</strong> "Worked on a team to make a school app."‌‌</li>
</ul>
<h3 id="heading-highlight-leadership-and-initiative">Highlight Leadership and Initiative</h3>
<p>Beyond coding, the tech world values collaboration and innovation. Enumerate instances where you’ve led teams, participated in coding marathons, or been an active member of tech clubs. These experiences underscore your holistic development as a software engineer.</p>
<ul>
<li><strong>Good Example:</strong> "Organized a local hackathon, attracting over 100 participants, where I also led a workshop on web development. Active member of the University Coding Club, leading bi-weekly sessions on new technologies."</li>
<li><strong>Bad Example:</strong> "Participated in a coding event. Member of a school club."</li>
</ul>
<h3 id="heading-precision-and-presentation">Precision and Presentation</h3>
<p>In the digital age, attention spans are fleeting. A study by Ladders, Inc. found that recruiters spend only 7.4 seconds reviewing a résumé. Ensure every word counts. Adopt a crisp format, keep content succinct, and meticulously proofread to eliminate any oversights.</p>
<ul>
<li><strong>Good Example:</strong> A well-structured résumé with clear headings, bullet points for each achievement or skill, and a professional layout. Contact information is neatly placed at the top, followed by a concise career objective, education, skills, projects, and experience.</li>
<li><strong>Bad Example:</strong> An unorganized résumé with long paragraphs, inconsistent formatting, and no clear separation between sections. Contact details are hard to find.</li>
</ul>
<p><a target="_blank" href="https://www.freecodecamp.org/news/how-to-write-a-resume-with-example/">Here's a helpful guide</a> that walks you through creating a good developer résumé step by step if you'd like more detailed info. It also has an example résumé you can use for inspiration.</p>
<p>In essence, your résumé is more than a summary — it’s a statement. It’s about signaling to potential employers that you’re not just a candidate, but the candidate. As you sculpt this vital document, remember: it’s the first, and often the most lasting, impression you’ll make. Invest in it wisely.</p>
<h2 id="heading-6-start-networking-and-building-connections">6. Start Networking and Building Connections</h2>
<p>In the dynamic world of software engineering, it’s often said that ‘It’s not just what you know, but whom you know.’ A robust network can be the linchpin to securing that coveted software engineering internship.</p>
<p>According to a LinkedIn survey, <a target="_blank" href="https://www.linkedin.com/pulse/new-survey-reveals-85-all-jobs-filled-via-networking-lou-adler">85% of all jobs are filled via networking</a>. Here’s how you can strategically position yourself:</p>
<h3 id="heading-engage-in-industry-gatherings">Engage in Industry Gatherings</h3>
<p>Dive into local tech events and meetups. These are goldmines for connecting with industry veterans and peers. Beyond just networking, they’re hubs of knowledge, offering a lens into the ever-evolving tech landscape.</p>
<h3 id="heading-harness-the-digital-world">Harness the Digital World</h3>
<p>The digital age offers platforms like Stack Overflow, GitHub, and niche software engineering forums. Engage, contribute, and immerse yourself in these communities. An active online profile not only showcases your expertise but can also be a beacon for potential opportunities.</p>
<h3 id="heading-tap-into-academic-resources">Tap into Academic Resources</h3>
<p>Your college isn’t just an institution — it’s a network. Alumni and faculty often have deep-rooted industry connections. A simple conversation or an email can unlock doors to internships that align with your aspirations.</p>
<h3 id="heading-mark-your-presence-at-career-expositions">Mark Your Presence at Career Expositions</h3>
<p>Career fairs are where opportunity meets talent. Arm yourself with a polished résumé and a compelling narrative about your passion for software engineering. Remember, first impressions often leave lasting imprints.</p>
<h3 id="heading-seek-guidance-from-the-experienced">Seek Guidance from the Experienced</h3>
<p>Mentorship is invaluable. Aligning with seasoned software engineers or industry experts can offer a roadmap to your internship journey. Their insights, borne out of years of experience, can illuminate your path.</p>
<p>But here’s the crux: Networking isn’t a transaction — it’s a relationship. It’s about mutual respect, learning, and growth.</p>
<p>As you weave your network, approach it with authenticity, a willingness to give, and a genuine interest in others’ journeys. While the process demands dedication, the dividends — in the form of unparalleled internship opportunities — are well worth the effort.</p>
<h2 id="heading-7-research-and-learn-about-companies">7. Research and Learn About Companies</h2>
<p>When exploring potential companies for a software engineering internship, it’s imperative to not only consider the technical aspects but also to align with their broader mission and ethos. The deep-dive research process encompasses multiple layers of understanding, from the company's self-portrayal to the experiences of its team members.</p>
<h3 id="heading-deep-dive-into-company-portals">Deep Dive into Company Portals</h3>
<p>Start with the company’s website, but don’t just skim the surface. While mission statements and core values are important, they often provide a polished, idealistic view. It’s your job to discern how these translate into real-world actions and practices. Ask yourself, does this company practice what it preaches?</p>
<h3 id="heading-leverage-linkedin">Leverage LinkedIn</h3>
<p>On LinkedIn, go beyond just viewing company pages. Make the extra effort to find and connect with current and former employees. </p>
<p>You can start a conversation with a message like:</p>
<p>“Hello [Name], I’m currently exploring opportunities in software engineering and am impressed by [Company’s] work in [Specific Field/Project]. Would love to learn more about [Company], do you have some time this week to chat?” </p>
<p>You can (and should) tailor this to your own needs, of course. But this approach helps you gain insights from those who've experienced the company culture firsthand.</p>
<h3 id="heading-engage-with-digital-footprints">Engage with Digital Footprints</h3>
<p>A company’s social media, blogs, and online presence can reveal much about their current priorities and workplace culture. But, pay close attention to the nuances – how do they interact with their audience? What do their employees share about their work life? These small details can provide a clearer picture of the company’s true character.</p>
<h3 id="heading-research-and-learn-about-companies">Research and Learn About Companies</h3>
<p>When considering a company, it’s crucial to look at employee reviews on platforms like Glassdoor. Pay attention to comments about treatment of staff, work-life balance, employee retention rates, and what departing employees say. These reviews often reveal the realities of working at the company, which might not be apparent from official channels.</p>
<h3 id="heading-connect-with-company-insiders">Connect with Company Insiders</h3>
<p>Reaching out to people who have been part of the company can provide unfiltered insights. Alumni and acquaintances can offer candid perspectives on the work culture, expectations, and growth opportunities within the organization.</p>
<p>Choosing the right company for your internship is about more than just the job itself – it’s about committing to an environment where you can thrive both professionally and personally. </p>
<p>Your goal is to find a place where your values and aspirations align with those of the company. This alignment not only enhances your work experience but also contributes to your overall professional growth and satisfaction. </p>
<p>Remember, an internship is a significant step in your career journey, so invest time in understanding where you’ll be making this important stride.</p>
<h2 id="heading-8-prepare-for-interviews">8. Prepare for Interviews</h2>
<p>Preparing for an interview in the field of software engineering, especially considering the <a target="_blank" href="https://www.forbes.com/sites/forbesbusinesscouncil/2021/10/18/how-can-companies-navigate-the-software-engineer-talent-shortage/?sh=7b44523b282c">huge talent shortage as noted by Forbes</a>, demands a well-rounded strategy that goes beyond just technical abilities. Here’s a refined approach to ensure you stand out as an ideal candidate:</p>
<h3 id="heading-align-with-the-companys-goals-and-values">Align with the Company's Goals and Values:</h3>
<ul>
<li>Research the company's mission, innovations, and aspirations comprehensively. Use resources like the company's website, social media, Glassdoor reviews, and LinkedIn profiles.</li>
<li>Tailor your responses and approach to reflect a strong alignment with the company's culture and values, showcasing yourself as an ideal fit for the team.</li>
</ul>
<h3 id="heading-fortify-your-technical-arsenal">Fortify Your Technical Arsenal:</h3>
<ul>
<li>Achieve proficiency in relevant programming languages and technical concepts. Emphasize your ability to perform key tasks effectively, while also being open to learning and seeking help.</li>
<li>Engage in project-based learning, as it is one of the best ways to acquire practical skills. Showcase your project experience, especially those aligning with the company's current goals.</li>
<li>Regularly practice with platforms like LeetCode, HackerRank, and freeCodeCamp. Choose resources that are well-reputed, ensuring confidence in your preparation for the technical aspects of the interview.</li>
</ul>
<h3 id="heading-narrate-with-purpose">Narrate with Purpose:</h3>
<p><strong>Prepare with the STAR Method:</strong></p>
<ul>
<li><strong>Situation:</strong> Describe the context within which you performed a task or faced a challenge at work.</li>
<li><strong>Task:</strong> Explain the actual task or challenge that was involved.</li>
<li><strong>Action:</strong> Detail the specific actions you took to address the task or challenge.</li>
<li><strong>Result:</strong> Share the outcomes of your actions, including lessons learned and accomplishments. Emphasize results with quantifiable data where possible.</li>
</ul>
<p><strong>Showcase Relevant Experience:</strong></p>
<ul>
<li>Review your past roles and projects to identify experiences that align with the job description.</li>
<li>Prepare narratives that demonstrate critical competencies such as problem-solving, adaptability, initiative, and teamwork.</li>
<li>Reflect on challenges you've overcome and how these experiences have equipped you for the role you're interviewing for.</li>
</ul>
<h3 id="heading-research-the-role-and-industry">Research the Role and Industry:</h3>
<p><strong>Study the Job Description:</strong></p>
<ul>
<li>Identify key skills and experiences the employer is looking for.</li>
<li>Understand the role's day-to-day responsibilities and how they contribute to the organization's goals.</li>
</ul>
<p><strong>Stay Informed on Industry Trends:</strong></p>
<ul>
<li>Regularly read industry publications, follow thought leaders on social media, and participate in relevant webinars and conferences.</li>
<li>Understand the company’s position in the market, its main competitors, and recent industry developments.</li>
</ul>
<h3 id="heading-practice-and-rehearse">Practice and Rehearse:</h3>
<p><strong>Conduct Mock Interviews:</strong></p>
<ul>
<li>Practice with friends, family, or professionals who can provide constructive feedback.</li>
<li>Simulate different interview formats (behavioral, technical, case studies) to be prepared for any scenario.</li>
</ul>
<p><strong>Focus on Delivery:</strong></p>
<ul>
<li>Work on clear and concise communication.</li>
<li>Practice maintaining positive body language, including eye contact, posture, and gestures.</li>
</ul>
<h3 id="heading-be-curious-and-engaged">Be Curious and Engaged:</h3>
<p><strong>Prepare Thoughtful Questions:</strong></p>
<ul>
<li>Develop questions that demonstrate your understanding of the company and its challenges.</li>
<li>Ask about the team's current projects, the role's potential impact, and the company's future plans.</li>
</ul>
<p><strong>Show Genuine Interest:</strong></p>
<ul>
<li>Express enthusiasm for the company's mission and values.</li>
<li>Demonstrate how your goals and career aspirations align with the company’s direction.</li>
</ul>
<h3 id="heading-logistical-and-personal-preparation">Logistical and Personal Preparation:</h3>
<p><strong>Plan Your Travel:</strong></p>
<ul>
<li>Map out your route and transportation options in advance.</li>
<li>Aim to arrive early to accommodate for any unforeseen delays.</li>
</ul>
<p><strong>Dress for Success:</strong></p>
<ul>
<li>Choose professional attire that matches the company’s dress code.</li>
<li>Ensure your outfit is clean, pressed, and well-fitted.</li>
</ul>
<h3 id="heading-effective-follow-up">Effective Follow-up:</h3>
<p><strong>Send a Thank-You Note:</strong></p>
<ul>
<li>Express gratitude for the opportunity and the interviewer's time.</li>
<li>Reiterate your interest and briefly summarize why you're a great fit.</li>
</ul>
<p><strong>Address Outstanding Questions:</strong></p>
<ul>
<li>If any questions or discussions were left open-ended, use the follow-up as an opportunity to provide additional insights.</li>
<li>If you promised to provide additional information post-interview, include it in your follow-up communication.</li>
</ul>
<p><strong>Complete Assignments Promptly:</strong></p>
<ul>
<li>If given a take-home assignment, complete it with the same level of professionalism and attention to detail as your interview.</li>
<li>Submit the assignment in a timely manner, respecting any given deadlines.</li>
</ul>
<p>Remember, the interview is not just a formality; it's a strategic opportunity to showcase your skills, align with the company's culture, and demonstrate your unique value. With meticulous preparation and genuine engagement, you can position yourself as the ideal candidate for the software engineering internship.</p>
<h2 id="heading-9-how-to-stand-out-in-interviews">9. How to Stand Out in Interviews</h2>
<p>After preparing meticulously for your software engineering interview, the next crucial step is distinguishing yourself during the interview. </p>
<p>This stage focuses on personal presentation and interaction nuances, complementing the foundational preparation outlined in Chapter 8.</p>
<p>Here are some tips to help you shine during your internship interviews:</p>
<h3 id="heading-kickoff-with-confidence">Kickoff with Confidence:</h3>
<ul>
<li><strong>Memorable Introduction:</strong> Start strong with a confident, friendly greeting. Share a quick, engaging snippet about yourself that captures your essence and professional spirit.</li>
<li><strong>Dress Smart, with a Twist:</strong> Dress sharply, but add a personal touch – like a unique tie or scarf. It’s professional with a dash of personality.</li>
</ul>
<h3 id="heading-engage-like-a-pro">Engage Like a Pro:</h3>
<ul>
<li><strong>Listen and Respond:</strong> Show you're fully tuned in. Nod, react, and build on what the interviewer says. It's not just about answering questions, it’s about having a real conversation.</li>
<li><strong>Balanced Chat:</strong> Aim for a give-and-take dialogue. Share your thoughts and experiences, but also get them talking. This exchange makes the interview feel more like a natural conversation.</li>
</ul>
<h3 id="heading-showcase-your-skills">Showcase Your Skills:</h3>
<ul>
<li><strong>Tell Your Stories:</strong> Share real-life examples where you solved a tricky problem or innovated a solution. These stories should paint a picture of how you tackle challenges.</li>
<li><strong>Highlight Team Play:</strong> Talk about times you’ve worked well in a team, handled a conflict, or adapted to change. These soft skills are as crucial as your coding ability.</li>
</ul>
<h3 id="heading-connect-with-the-company">Connect with the Company:</h3>
<ul>
<li><strong>Align with Their World:</strong> Explain why you feel in sync with the company’s culture. Use your research to show you’re not just there for the job but for what the company stands for.</li>
<li><strong>Enthusiasm is Key:</strong> Let your excitement for the role and company shine through. Genuine interest can be a game-changer.</li>
</ul>
<h3 id="heading-bring-your-work-to-life">Bring Your Work to Life:</h3>
<ul>
<li><strong>Portfolio Power:</strong> If possible, bring examples of your work. Walk them through a project you’re proud of. This tangible proof speaks volumes.</li>
<li><strong>Tech Talk:</strong> Discuss technical projects in a way that invites questions and thoughts. Show off your expertise by diving into interesting tech discussions.</li>
</ul>
<h3 id="heading-ask-to-impress">Ask to Impress:</h3>
<ul>
<li><strong>Smart Questions:</strong> Ask insightful questions about the company’s future, current tech challenges, or recent projects. This shows you’re thinking big picture.</li>
<li><strong>Industry Insight:</strong> Inquire about trends or challenges in the industry. This demonstrates you’re not just interested in a job, but you're invested in the field.</li>
</ul>
<h3 id="heading-post-interview-impact">Post-Interview Impact:</h3>
<ul>
<li><strong>Personalized Follow-Up:</strong> In your thank-you note, mention a specific part of the interview. It personalizes your message and keeps you in their minds.</li>
<li><strong>Stay on the Radar:</strong> Be quick and professional in your follow-up. It shows you’re serious and respectful of the process.</li>
</ul>
<p>Remember, it's about making a connection that goes beyond your resume. Be the candidate they remember for your skills, personality, and passion. Let them see not just a great engineer, but a fantastic future team member.</p>
<h2 id="heading-10-software-engineering-internship-application-process">10. Software Engineering Internship Application Process</h2>
<p>Applying for a software engineering internship involves several key steps that can help you increase your chances of landing the position. By understanding and following the typical application process, you can showcase your skills and stand out from the competition.</p>
<p>Here’s a breakdown of the steps involved:</p>
<h3 id="heading-prepare-application-materials">Prepare Application Materials</h3>
<h4 id="heading-tailor-your-resume">Tailor your résumé</h4>
<p>The first step will be tailoring your résumé to each internship you're applying for. Here's how you can do that:</p>
<ul>
<li>Ensure your résumé accurately reflects your skills and experiences. Highlight specific software engineering projects you've worked on, including any personal or academic projects.</li>
<li>Detail the programming languages and technologies you're proficient in. For instance, if you're skilled in Python, Java, or JavaScript, make sure these are prominently listed.</li>
<li>Showcase your experience with different software development methodologies, like Agile or Scrum, if applicable.</li>
<li>If you have experience with specific tools or environments (e.g., Git, Docker, AWS, or Visual Studio), include these as they demonstrate your readiness to work in a professional setting.</li>
<li>Research each company and tailor your résumé to align with their specific needs. If the company focuses on web development, emphasize your relevant web technologies and project experiences.</li>
<li>For each job listing, identify key skills or experiences mentioned and ensure these are evident on your résumé. Use similar language to the job description where appropriate.</li>
</ul>
<h4 id="heading-include-quantifiable-achievements">Include quantifiable achievements</h4>
<ul>
<li>Where possible, quantify your achievements in past projects or roles. For example, 'Improved application efficiency by 30% through optimizing algorithms,' shows measurable impact.</li>
<li>If you've contributed to open-source projects or have a significant GitHub repository, include links to these.</li>
</ul>
<h4 id="heading-other-application-materials">Other application materials</h4>
<ul>
<li>Prepare a cover letter for each application. Tailor it to the company’s culture and the specific role, highlighting why you're a good fit and your enthusiasm for software engineering.</li>
<li>Keep an updated list of references and any letters of recommendation you might have. Ensure that your references are aware they might be contacted.</li>
</ul>
<h4 id="heading-develop-your-online-presence">Develop your online presence</h4>
<ul>
<li>Ensure your LinkedIn profile is up-to-date and reflects your résumé.</li>
<li>If you have a portfolio website showcasing your projects, include the link in your application materials. Ensure the website is professional, up-to-date, and highlights your best work.</li>
</ul>
<p>By meticulously preparing your application materials, you demonstrate your professionalism and attention to detail, critical traits for a budding software engineer.</p>
<h3 id="heading-submit-applications">Submit Applications</h3>
<p>Once your application materials are ready, begin submitting them to the companies or organizations you’re interested in.</p>
<p>Pay attention to each company’s application process and follow their guidelines for submission. Some companies may require online applications, while others may prefer email submissions. Take the time to review and proofread your application materials before sending them out.</p>
<h3 id="heading-follow-up-with-recruiters">Follow Up with Recruiters</h3>
<p>After submitting your applications, it’s crucial to follow up with the recruiters or hiring managers. Sending a personalized email expressing your interest in the position and thanking them for their consideration can demonstrate your enthusiasm and professionalism.</p>
<p>This step also allows you to inquire about the status of your application and request any additional information if needed.</p>
<p>Here's an example template you can customize for your needs:</p>
<p>"Subject: Follow-Up on Software Engineering Internship Application</p>
<p>Dear [Recruiter/Hiring Manager's Name],</p>
<p>I hope this email finds you well. I am writing to follow up on my application for the Software Engineering Internship position, submitted on [Application Date]. I remain very interested in the opportunity to join [Company Name].</p>
<p>If there are any updates or additional information required for my application, please let me know.</p>
<p>Thank you for considering my application. I look forward to the possibility of contributing to your team.</p>
<p>Best regards,</p>
<p>[Your Full Name]</p>
<p> [Your Contact Information]"</p>
<h3 id="heading-prepare-for-interviews">Prepare for Interviews</h3>
<p>If your application passes the initial screening, you may be invited for an interview.</p>
<p>Prepare for technical and behavioral interviews by reviewing common algorithms, data structures, and programming concepts. Brush up on your problem-solving skills and practice coding exercises. It’s also helpful to research the company and understand their projects and technology stack.</p>
<p><a target="_blank" href="https://www.freecodecamp.org/news/problem-solving-and-technical-interview-prep/">Here's an in-depth guide</a> that walks you through preparing for technical interviews. And <a target="_blank" href="https://www.freecodecamp.org/news/how-to-prepare-for-a-software-developer-interview/">here's another one</a> that has tips about the software developer interview process in general.</p>
<h3 id="heading-stand-out-in-interviews">Stand Out in Interviews</h3>
<p>During the interview process, aim to differentiate yourself from other candidates. Be confident, articulate, and demonstrate your technical knowledge and problem-solving abilities.</p>
<p>Highlight any relevant projects, internships, or personal coding projects that demonstrate your skills and passion for software engineering. Show your enthusiasm for learning and contribute ideas and insights during the interview.</p>
<p>Remember, the software engineering internship application process may vary slightly between companies. So you should always research and follow the specific instructions and guidelines provided by each company you apply to.</p>
<p>If you want to see an example of a mock interview, <a target="_blank" href="https://www.freecodecamp.org/news/real-world-coding-interview-for-software-engineering/">check out this course</a>. It offers lots of insights into what to expect in the technical interview process.</p>
<p>By carefully preparing your application materials, submitting them in a timely manner, following up with recruiters, and acing your interviews, you can increase your chances of securing a software engineering internship.</p>
<h2 id="heading-11-how-to-stand-out-in-a-software-engineering-internship">11. How to Stand Out in a Software Engineering Internship</h2>
<p>During your software engineering internship, it’s crucial to make a lasting impression that sets you apart from your peers. Here are some key tips and strategies to help you stand out and make the most of this valuable opportunity.</p>
<h3 id="heading-take-initiative">Take Initiative</h3>
<p>Don’t simply wait for tasks to be assigned to you. Take the initiative to seek out additional responsibilities and projects. Show enthusiasm and eagerness to learn and contribute. This proactive approach demonstrates your drive and passion for software engineering.</p>
<h3 id="heading-seek-feedback">Seek Feedback</h3>
<p>Actively seek feedback from your mentors, supervisors, and colleagues. Regularly check in with them to discuss your progress and ask for constructive criticism.</p>
<p>By seeking feedback, you show your willingness to improve and grow. Implement the feedback you receive to constantly enhance your skills and performance.</p>
<h3 id="heading-make-meaningful-contributions">Make Meaningful Contributions</h3>
<p>Go beyond completing assigned tasks. Look for opportunities to make meaningful contributions to ongoing projects. Demonstrate your problem-solving abilities, creativity, and technical skills by offering innovative solutions and suggestions. Take ownership of your work and strive for excellence in every task you undertake.</p>
<h3 id="heading-collaborate-effectively">Collaborate Effectively</h3>
<p>Software engineering is often a team-oriented field. Show your ability to collaborate by actively participating in team discussions and meetings. Be a good listener, contribute your ideas, and support your team members. Effective communication, teamwork, and collaboration skills are highly valued in the industry.</p>
<h3 id="heading-continuously-learn-and-grow">Continuously Learn and Grow</h3>
<p>Stay updated with the latest trends, technologies, and industry best practices. Take advantage of opportunities to enhance your technical skills through online courses, workshops, or certifications. Actively engage in self-learning and explore new areas of software engineering to expand your knowledge and expertise.</p>
<p>Remember, standing out in a software engineering internship is not just about technical skills, but also about demonstrating professionalism, teamwork, and a passion for learning and growth.</p>
<p>By taking initiative, seeking feedback, making meaningful contributions, collaborating effectively, and continuously learning, you’ll set yourself apart and maximize your chances of success during your internship.</p>
<h2 id="heading-12-how-to-navigate-your-software-engineering-career-path">12. How to Navigate Your Software Engineering Career Path</h2>
<h3 id="heading-setting-your-sights-goals-and-dreams">Setting Your Sights: Goals and Dreams</h3>
<p>Embarking on your software engineering journey, the first step is to envision your ultimate goal. Are you passionate about AI, keen on mastering DevOps, or driven towards Java development? </p>
<p>Identifying this destination is vital. It's about recognizing what truly excites you in the tech world, whether it's building intricate algorithms, designing seamless user interfaces, or delving into data analytics.</p>
<h3 id="heading-where-you-stand-self-assessment">Where You Stand: Self-Assessment</h3>
<p>Understanding your current position is crucial. Take a comprehensive stock of your skills and experiences. It's like equipping yourself for a significant adventure. </p>
<p>Engage in honest self-reflection and seek feedback from colleagues, mentors, or educators. This step is all about identifying where you excel and where you need to grow, creating a clear roadmap for your personal and professional development.</p>
<h3 id="heading-picking-your-path-choosing-a-specialization">Picking Your Path: Choosing a Specialization</h3>
<p>In the vast and varied world of software engineering, choosing your specialization is akin to picking the right tool for the right job. From backend development to the magic of mobile apps, select a path that ignites your passion and leverages your strengths. </p>
<p>Research industry demands and future trends to ensure your chosen specialization aligns with market needs and personal interests.</p>
<h3 id="heading-the-foundation-core-skills-and-knowledge">The Foundation: Core Skills and Knowledge</h3>
<p>Your core programming skills are the bedrock of your career. Whether it’s Java, Python, or C++, deep knowledge and mastery of these tools lay the foundation for your professional growth. </p>
<p>Invest time in honing these skills through real-world applications and continuous learning. Embrace the challenge of learning new languages and technologies as they emerge.</p>
<h3 id="heading-diving-deep-the-power-of-specialization">Diving Deep: The Power of Specialization</h3>
<p>Once you're confident in your foundational skills, it's time to specialize. Dive deep into your chosen field, be it web development, data engineering, or another niche. </p>
<p>This step is about becoming the expert in your area, the person others turn to for solutions in that specific domain.</p>
<h3 id="heading-keeping-up-learning-and-adapting">Keeping Up: Learning and Adapting</h3>
<p>The tech world is constantly evolving, and staying updated is not just recommended, it's essential. Follow industry leaders, attend relevant events, and adapt to new technologies and trends. Keep your skills and knowledge fresh and relevant to remain a valuable asset in this ever-changing landscape. </p>
<p>Here are some tips and tricks you can use to facilitate a smooth and effective transition:</p>
<h4 id="heading-identify-your-target-specialty">Identify your target specialty:</h4>
<ul>
<li>Research various fields within tech (like front-end development, data science, AI, cybersecurity) to understand their scope, challenges, and future prospects.</li>
<li>Assess how your current skills and experiences can be leveraged in the new specialty.</li>
</ul>
<h4 id="heading-educate-yourself">Educate yourself:</h4>
<ul>
<li>Enroll in online courses or attend workshops related to your new specialty. Platforms like Coursera, Udemy, edX, and freeCodeCamp's YouTube channel offer courses in various tech domains.</li>
<li>Read books, articles, and research papers to deepen your understanding.</li>
</ul>
<h4 id="heading-get-hands-on-practice">Get hands-on practice:</h4>
<ul>
<li>Start working on small projects or contribute to open-source projects in your new domain. This will help you apply your learning in real-world scenarios.</li>
<li>Use platforms like GitHub to document and showcase your work.</li>
</ul>
<h4 id="heading-try-networking">Try networking:</h4>
<ul>
<li>Connect with professionals already working in the field through LinkedIn, tech meetups, and webinars.</li>
<li>Join relevant groups or forums online where you can discuss, ask questions, and learn from others’ experiences.</li>
</ul>
<h4 id="heading-gain-formal-education-if-necessary">Gain formal education if necessary:</h4>
<ul>
<li>For some specializations, a formal degree or certification might be beneficial. Consider part-time or online degrees that allow you to continue working.</li>
</ul>
<h4 id="heading-leverage-your-current-position">Leverage your current position:</h4>
<ul>
<li>If possible, start integrating aspects of your target specialty into your current job. This can include taking on projects that require skills related to the new field.</li>
<li>Discuss with your manager about your interest in transitioning and see if there are internal opportunities or projects you can work on.</li>
</ul>
<h4 id="heading-build-a-portfolio">Build a portfolio:</h4>
<ul>
<li>Create a portfolio that showcases projects and skills relevant to your new specialty. Ensure it’s accessible (like on a personal website or LinkedIn).</li>
</ul>
<h4 id="heading-revamp-your-resume-and-linkedin-profile">Revamp your résumé and LinkedIn profile:</h4>
<ul>
<li>Update your résumé and LinkedIn profile to highlight relevant projects, courses, and skills that align with your new specialty.</li>
<li>Use keywords related to the new field to enhance visibility to recruiters.</li>
</ul>
<h4 id="heading-apply-for-roles">Apply for roles:</h4>
<ul>
<li>Start applying for roles in your new specialty. Tailor your application to highlight transferable skills and any relevant experience or projects.</li>
<li>Be prepared to start at a lower level than your current position if you’re moving into a completely different domain.</li>
</ul>
<h4 id="heading-prepare-for-interviews-1">Prepare for interviews:</h4>
<ul>
<li>Anticipate questions about your transition and prepare to articulate your motivations and how your background adds value.</li>
<li>Practice technical or specific skills interviews if they are part of the hiring process in the new domain.</li>
</ul>
<h4 id="heading-seek-mentorship">Seek mentorship:</h4>
<ul>
<li>Find a mentor who is experienced in your target field. They can provide guidance, feedback, and support.</li>
</ul>
<h4 id="heading-stay-current">Stay current:</h4>
<ul>
<li>Keep up with industry trends, advancements, and best practices in your new field. Subscribe to relevant newsletters, podcasts, and follow thought leaders on social media.</li>
</ul>
<h4 id="heading-be-patient-and-persistent">Be patient and persistent:</h4>
<ul>
<li>Recognize that transitioning specialties is a process that may take time. Be patient and persistent in your efforts.</li>
</ul>
<h4 id="heading-evaluate-and-adjust">Evaluate and adjust:</h4>
<ul>
<li>Regularly evaluate your progress and be open to adjusting your strategy as needed.</li>
</ul>
<h4 id="heading-tips-and-tricks-for-faster-results">Tips and tricks for faster results:</h4>
<ul>
<li><strong>Immersive Learning:</strong> Dedicate a set amount of time daily or weekly to learn and practice new skills.</li>
<li><strong>Real Projects:</strong> Work on real or simulated projects as they provide a better learning experience than theoretical study alone.</li>
<li><strong>Networking Efficiency:</strong> Focus on building meaningful relationships rather than just increasing your number of connections.</li>
<li><strong>Feedback and Iteration:</strong> Regularly seek feedback on your work and be willing to iterate and improve.</li>
<li><strong>Time Management:</strong> Balance learning with your current job responsibilities to avoid burnout.</li>
</ul>
<p>Remember, transitioning within tech is a journey of continuous learning. Your existing skills are valuable assets, and with the right approach, you can successfully pivot to a new software engineering specialty.</p>
<h3 id="heading-changing-lanes-transitioning-within-tech">Changing Lanes: Transitioning Within Tech</h3>
<p>Software engineering is a field where transitioning between specialties is not only possible but often beneficial. If you feel the pull towards a new domain, approach it strategically. </p>
<p>Leverage your existing skills as a springboard to new opportunities and challenges, and embrace the learning curve with enthusiasm and commitment.</p>
<h3 id="heading-aiming-high-leadership-and-advanced-roles">Aiming High: Leadership and Advanced Roles</h3>
<p>For those aspiring to leadership or highly specialized technical roles, the journey involves more than just technical abilities. </p>
<p>Develop key leadership qualities and advanced technical skills. Seek opportunities that challenge you and allow you to demonstrate your potential to lead and innovate.</p>
<h3 id="heading-making-connections-networking">Making Connections: Networking</h3>
<p>Networking is an integral part of your software engineering journey. Join professional groups, participate in forums, and attend industry events. But more importantly, focus on building meaningful, lasting relationships. These connections can offer guidance, support, and opportunities throughout your career.</p>
<h3 id="heading-mapping-your-journey-career-planning">Mapping Your Journey: Career Planning</h3>
<p>Career planning in software engineering is about setting both short-term and long-term goals. Regularly assess your progress and adjust your plans accordingly. It's a balance between your aspirations and the realities of the industry, ensuring that your career trajectory aligns with your personal and professional goals.</p>
<h3 id="heading-embracing-the-adventure-adaptability-and-resilience">Embracing the Adventure: Adaptability and Resilience</h3>
<p>Your software engineering career is an exciting adventure filled with opportunities and challenges. Stay adaptable, resilient, and proactive. Embrace every experience as a learning opportunity and remember that this journey is your unique canvas. Paint it with your achievements, experiences, and the wisdom you gather along the way.</p>
<h2 id="heading-13-essential-skills-and-technologies-for-software-engineering-interns">13. Essential Skills and Technologies for Software Engineering Interns</h2>
<p>In this section, we'll discuss the essential skills you'll need as a software engineering intern. You'll also gain familiarity with cutting-edge technologies to help you thrive in this dynamic field.</p>
<p>As an intern, you'll immerse yourself in real-world projects, offering invaluable contributions while honing your skills. Let's break down the key areas you should focus on. Remember, you don't need to master every single one. Identify your specialization and align your project experience accordingly to showcase your capability to tackle the tasks ahead.</p>
<h3 id="heading-1-programming-languages">1. <strong>Programming Languages</strong></h3>
<h4 id="heading-java">Java</h4>
<p>Java is a versatile and widely-known programming language, with a history dating back to 1995. Owned by Oracle, Java is celebrated for its portability, making it possible to write code once and run it anywhere.</p>
<p>Java is an object-oriented language, offering simplicity, speed, and security. It's used extensively in Android app development, web applications, and server-side programming. As a software engineering intern, consider how you can leverage Java in your projects.</p>
<h5 id="heading-example-project-ideas">Example Project Ideas:</h5>
<ul>
<li>Build a Java-based email client that can manage and organize emails from various accounts.</li>
<li>Develop a Java program for a simple e-commerce system, incorporating basic shopping cart functionalities.</li>
<li>Design a Java-based desktop application for managing personal finance, including budget tracking and expense logging.</li>
</ul>
<p><a target="_blank" href="https://www.freecodecamp.org/news/learn-java-free-java-courses-for-beginners/">Here's a collection of resources</a> to help you learn Java.</p>
<h4 id="heading-python">Python</h4>
<p>Python is another widely-used programming language renowned for its simplicity and readability. As an object-oriented and all-purpose coding language, Python serves both software development and web development purposes.</p>
<p>Familiarizing yourself with Python's capabilities can greatly benefit your internship experience.</p>
<h5 id="heading-example-project-ideas-1">Example Project Ideas:</h5>
<ul>
<li>Create a Python-based tool that scrapes data from websites and performs basic sentiment analysis or trend identification.</li>
<li>Develop a Python script for automating repetitive file organization tasks on your computer.</li>
<li>Build a Python-based chatbot that can answer FAQs for a specific domain, like education or customer service.</li>
</ul>
<p>freeCodeCamp has <a target="_blank" href="https://www.freecodecamp.org/learn/scientific-computing-with-python/">a couple Python certifications</a> if you want to get started learning this popular language.</p>
<p>There are numerous other programming languages you can learn that will serve you well in internships, too. It just depends on the direction you think you want to go, the opportunities in your area, and so on.</p>
<p>So whether you want to learn JavaScript and focus on web development or get closer to the metal with a language like C, the same advice applies.</p>
<h3 id="heading-2-object-oriented-programming-oop">2. <strong>Object-Oriented Programming (OOP)</strong></h3>
<p>Understanding the principles of Object-Oriented Programming (OOP) is fundamental. OOP enables you to design and implement code that is organized, maintainable, and efficient.</p>
<p>During your internship, you'll likely collaborate with software engineers who follow OOP practices. Familiarity with these concepts will facilitate effective communication and collaboration.</p>
<h5 id="heading-example-project-ideas-2">Example Project Ideas:</h5>
<ul>
<li>Develop a virtual pet game using OOP principles, where users can feed, play with, and care for their pet.</li>
<li>Create a simple appointment booking system for services like doctor's consultations or salon appointments, employing OOP concepts.</li>
<li>Design a basic inventory management system for a small business using the principles of OOP.</li>
</ul>
<p>You can learn about <a target="_blank" href="https://www.freecodecamp.org/news/learn-java-object-oriented-programming/">OOP in Java from my book here</a>.</p>
<h3 id="heading-3-software-development">3. <strong>Software Development</strong></h3>
<p>Software development is the process through which programmers create computer programs. It encompasses the Software Development Life Cycle (SDLC), a framework that guides the development of applications to meet technological needs and consumer requirements.</p>
<p>Understanding SDLC stages, such as planning, development, testing, and maintenance, is vital for project success.</p>
<h5 id="heading-example-project-ideas-3">Example Project Ideas:</h5>
<ul>
<li>Plan and develop a small blog platform, documenting each stage of the SDLC process.</li>
<li>Create a mock-up of a task management application, applying the SDLC stages from planning to deployment.</li>
<li>Develop a small-scale social networking site, applying various SDLC methodologies like Agile or Waterfall.</li>
</ul>
<p>You can <a target="_blank" href="https://www.freecodecamp.org/news/get-a-basic-understanding-of-the-life-cycles-of-software-development/">learn more about the SDLC here</a>, and <a target="_blank" href="https://www.freecodecamp.org/news/agile-software-development-handbook/">Agile methodologies in this handbook here</a>.</p>
<h3 id="heading-4-cloud-computing">4. <strong>Cloud Computing</strong></h3>
<p>Cloud computing has transformed the software development landscape. Cloud platforms like AWS, Azure, and Google Cloud offer scalability, flexibility, and accessibility.</p>
<p>Learning how to deploy and manage applications in the cloud is a valuable skill for modern software engineers.</p>
<h5 id="heading-example-project-ideas-4">Example Project Ideas:</h5>
<ul>
<li>Implement a basic cloud-based task management tool with features like task assignment and progress tracking.</li>
<li>Design a cloud-based personal diary app with features like daily entries, photo uploads, and mood tracking.</li>
<li>Develop a cloud-enabled document collaboration tool, allowing multiple users to edit and share documents in real-time.</li>
</ul>
<p>If you want to dive deep into the cloud, here's a <a target="_blank" href="https://www.freecodecamp.org/news/free-107-hour-aws-cloud-project-bootcamp/">free 107-hour AWS Cloud bootcamp course</a>.</p>
<h3 id="heading-5-version-control-like-git">5. Version Control (like Git)</h3>
<p>Version control systems are indispensable tools for collaborative development. Git, a widely-used version control system, allows developers to track changes in code and work seamlessly with others. Proficiency in Git is a valuable asset during your internship.</p>
<h5 id="heading-example-project-ideas-5">Example Project Ideas:</h5>
<ul>
<li>Contribute to an open-source project on GitHub, utilizing Git for version control, issue tracking, and collaboration.</li>
<li>Develop a small web application with a team, using Git for managing different development branches and merging.</li>
<li>Create a personal project like a blog or portfolio website and use Git for version controlling and tracking changes over time.</li>
</ul>
<p>You can <a target="_blank" href="https://www.freecodecamp.org/news/how-to-use-git-best-practices-for-beginners/">learn more about Git and version control here</a>.</p>
<h3 id="heading-6-linux">6. Linux</h3>
<p>Linux is a Unix-like operating system widely used in server environments. Understanding Linux commands and administration is valuable, especially if you work on projects involving servers, networking, or cybersecurity.</p>
<h5 id="heading-example-project-ideas-6">Example Project Ideas:</h5>
<ul>
<li>Configure a Linux-based home media server to stream videos and music within your home network.</li>
<li>Set up a Linux-based local development environment for web development projects.</li>
<li>Create a simple network monitoring tool on Linux for tracking network performance and issues.</li>
</ul>
<p>If you want to brush up your Linux skills, <a target="_blank" href="https://www.freecodecamp.org/news/the-linux-commands-handbook/">here's a handbook</a> that covers all the most common commands you'll need to know.</p>
<h3 id="heading-7-c-and-c">7. <strong>C and C++</strong></h3>
<p>C and C++ are foundational programming languages with applications in system-level programming and embedded systems development. Gaining proficiency in these languages broadens your capabilities as a software engineer.</p>
<h5 id="heading-example-project-idea">Example Project Idea:</h5>
<ul>
<li>Build a basic text editor using C++ with functionalities like file operations and text manipulation.</li>
<li>Develop a simple game like tic-tac-toe or snake in C.</li>
<li>Create a command-line based calculator program in C++ for basic mathematical operations.</li>
</ul>
<p><a target="_blank" href="https://www.freecodecamp.org/news/learn-c-programming-classic-book-dr-chuck/">Here's a course that'll teach you C basics</a> (taught by Dr. Chuck, no less!), and <a target="_blank" href="https://www.freecodecamp.org/news/learn-c-with-free-31-hour-course/">here's one on C++</a>.</p>
<h3 id="heading-8-key-management">8. <strong>Key Management</strong></h3>
<p>Security is a paramount concern in software engineering. Understanding key management helps you safeguard sensitive data and protect applications from threats. Familiarity with encryption and key storage techniques is essential.</p>
<h5 id="heading-example-project-ideas-7">Example Project Ideas:</h5>
<ul>
<li>Develop a basic file encryption and decryption tool, demonstrating key management and data security practices.</li>
<li>Create a simple application to manage and store passwords securely.</li>
<li>Implement a basic digital signature application to authenticate documents.</li>
</ul>
<p>Here's a course on <a target="_blank" href="https://www.freecodecamp.org/news/can-you-find-the-bug-javascript-security-vulnerabilities-course/">common JavaScript vulnerabilities</a> if you're curious.</p>
<h3 id="heading-9-mobile-development-for-example-android">9. <strong>Mobile Development (</strong>for example, <strong>Android)</strong></h3>
<p>Mobile app development continues to thrive, with Android being one of the leading platforms. Exploring mobile development during your internship can broaden your skill set.</p>
<h5 id="heading-example-project-ideas-8">Example Project Ideas:</h5>
<ul>
<li>Build an Android application for tracking daily expenses and budget planning.</li>
<li>Develop an Android app that serves as a personal workout and fitness tracker.</li>
<li>Create a recipe finder Android app, allowing users to search and save their favorite recipes.</li>
</ul>
<p>Here's a course on <a target="_blank" href="https://www.freecodecamp.org/news/android-app-development-for-beginners/">Android App Development</a> to get you started, and here's a course on <a target="_blank" href="https://www.freecodecamp.org/news/learn-ios-development-by-building-a-netflix-clone/">learning iOS development by building a Netflix clone</a>.</p>
<h3 id="heading-10-user-interface-ui-design">10. <strong>User Interface (UI) Design</strong></h3>
<p>Understanding UI principles is essential for creating user-friendly and visually appealing applications. Even if you're not a dedicated UI developer, having a basic grasp of UI design can enhance your software engineering capabilities.</p>
<h5 id="heading-example-project-ideas-9">Example Project Ideas:</h5>
<ul>
<li>Design and prototype the UI for a fitness tracking mobile app, focusing on user experience and simplicity.</li>
<li>Create a UI design for an e-learning platform, emphasizing easy navigation and accessibility.</li>
<li>Develop a responsive UI for a food delivery service website, ensuring a seamless experience across devices.</li>
</ul>
<p>Here's a <a target="_blank" href="https://www.freecodecamp.org/news/ux-vs-ui-whats-the-difference-definition-and-meaning/">guide on UI vs UX</a> so you can understand the meaning of these important terms.</p>
<h3 id="heading-11-ai-and-machine-learning">11. <strong>AI and Machine Learning</strong></h3>
<p>Artificial Intelligence (AI) and Machine Learning (ML) are transforming various industries. While you may not become an AI expert during your internship, gaining exposure to these concepts and technologies can be valuable.</p>
<h5 id="heading-example-project-ideas-10">Example Project Ideas:</h5>
<ul>
<li>Develop a basic recommendation system using machine learning, like a movie or book recommender.</li>
<li>Create a simple machine learning model to classify emails as spam or not-spam.</li>
<li>Implement a basic face recognition tool using a machine learning library.</li>
</ul>
<p>Here's a <a target="_blank" href="https://www.freecodecamp.org/news/machine-learning-handbook/">handbook on Machine Learning fundamentals</a> you can check out.</p>
<h3 id="heading-12-data-science-and-analytics">12. <strong>Data Science and Analytics</strong></h3>
<p>Data-driven decision-making is becoming increasingly important. Learning how to extract insights from data using tools like Python, Pandas, and NumPy can enhance your problem-solving skills.</p>
<h5 id="heading-example-project-ideas-11">Example Project Ideas:</h5>
<ul>
<li>Conduct a data analysis project using a public health dataset to identify trends and patterns.</li>
<li>Develop a visualization dashboard for a retail business's sales data to identify key performance indicators.</li>
<li>Create a predictive model for stock market prices using historical data and Python libraries.</li>
</ul>
<p>Here's a <a target="_blank" href="https://www.freecodecamp.org/news/the-data-science-and-ai-handbook/">handbook on getting into Data Science and AI</a>, and here's a course that will <a target="_blank" href="https://www.freecodecamp.org/news/teach-yourself-data-analytics-in-30-days/">help you teach yourself Data Analytics</a> in about a month.</p>
<h3 id="heading-13-containerization-for-example-docker">13. <strong>Containerization (</strong>for example<strong>, Docker)</strong></h3>
<p>Containerization technologies like Docker simplify application deployment and management. Understanding containerization can streamline your development process.</p>
<h5 id="heading-example-project-ideas-12">Example Project Ideas:</h5>
<ul>
<li>Containerize a multi-component application, like a web app with a database, using Docker.</li>
<li>Develop a Dockerized microservices architecture for a basic e-commerce system.</li>
<li>Set up a Docker-based local development environment for a full-stack web application.</li>
</ul>
<p><a target="_blank" href="https://www.freecodecamp.org/news/the-docker-handbook/">Here's a handbook</a> to help you get started learning Docker fundamentals.</p>
<h3 id="heading-14-web-development-html-css-javascript">14. <strong>Web Development (HTML, CSS, JavaScript)</strong></h3>
<p>Web technologies are omnipresent. Having a basic understanding of HTML, CSS, and JavaScript can be beneficial, even if your primary focus isn't frontend development.</p>
<h5 id="heading-example-project-ideas-13">Example Project Ideas:</h5>
<ul>
<li>Create a responsive and interactive portfolio website showcasing your projects and skills.</li>
<li>Develop a simple online to-do list application with features like add, delete, and mark tasks as complete.</li>
<li>Build a weather forecasting website that fetches data from a public API and displays weather updates.</li>
</ul>
<p>freeCodeCamp has a <a target="_blank" href="https://www.freecodecamp.org/learn/">web development track that you can check out here</a>.</p>
<h3 id="heading-15-cybersecurity">15. <strong>Cybersecurity</strong></h3>
<p>Cybersecurity is paramount in our digital age. Being aware of cybersecurity best practices and principles can protect your applications and data from threats.</p>
<h5 id="heading-example-project-ideas-14">Example Project Ideas:</h5>
<ul>
<li>Create a basic network security scanner to identify vulnerabilities in a network.</li>
<li>Implement a simple web application firewall to protect a website from common attacks.</li>
<li>Develop a basic intrusion detection system that alerts for suspicious activities in a network.</li>
</ul>
<p>Did you know that Google offers a <a target="_blank" href="https://www.freecodecamp.org/news/cybersecurity-professional-certificate-by-google/">Cybersecurity Professional certification</a>?</p>
<h3 id="heading-how-to-cultivate-these-skills">How to Cultivate These Skills</h3>
<p>As an intern, you may not be expected to master all these skills immediately. However, this internship serves as an excellent opportunity to begin your journey in software engineering.</p>
<p>Here are some tips to help you cultivate these skills:</p>
<ul>
<li><strong>Set Clear Goals:</strong> Define your objectives for the internship. Identify the skills and technologies most relevant to your goals.</li>
<li><strong>Seek Mentorship:</strong> Don't hesitate to ask for guidance from experienced colleagues or mentors. They can provide valuable insights and advice.</li>
<li><strong>Hands-On Practice:</strong> Practical experience is invaluable. Work on projects, contribute to open-source initiatives, and apply what you learn.</li>
<li><strong>Continuous Learning:</strong> Stay curious and keep learning. Technology evolves rapidly, and staying updated is essential.</li>
<li><strong>Networking:</strong> Connect with professionals in the field. Networking can open doors to valuable opportunities.</li>
<li><strong>Problem Solving:</strong> Software engineering often involves tackling complex problems. Practice your problem-solving skills regularly.</li>
</ul>
<p>Choose projects that align with your interests and career aspirations. These projects will showcase your ability to handle the role's responsibilities effectively. Focus on the areas that resonate with you, and let your work demonstrate your readiness for a career in software engineering.</p>
<h2 id="heading-14-foundational-knowledge-in-software-engineering">14. Foundational Knowledge in Software Engineering</h2>
<h3 id="heading-embracing-practicality-in-learning">Embracing Practicality in Learning</h3>
<p>Starting with a confession: mathematics and I weren't the best of friends, a sentiment that initially extended to computer science and software engineering.</p>
<p>Yet, through self-teaching and a pragmatic approach, I discovered the practical relevance of these fields in real-world applications.</p>
<p>Emphasising practical over theoretical knowledge opened a new world for me, illustrating the critical role software engineering plays in solving complex problems efficiently and effectively.</p>
<h3 id="heading-computational-complexity-the-efficiency-driver">Computational Complexity: The Efficiency Driver</h3>
<p>Computational complexity is not just an academic term—it's the heartbeat of efficient software. The key lies in understanding how different coding approaches can significantly impact the performance and efficiency of a program.</p>
<p>Imagine reducing the runtime of an algorithm from hours to mere seconds with a simple tweak. This is the power of mastering computational complexity, a skill every aspiring software engineer should prioritise.</p>
<h3 id="heading-data-structures-and-algorithms-tools-for-problem-solving">Data Structures and Algorithms: Tools for Problem Solving</h3>
<p>Data structures and algorithms are not mere theoretical concepts. They are the tools that shape the way we solve problems in software engineering. Whether it's choosing the right data structure for a specific task or employing an algorithm that optimizes performance, these elements are fundamental. They are the difference between a sluggish application and a swift, efficient one, directly impacting user experience and satisfaction.</p>
<h3 id="heading-project-based-learning-the-path-to-understanding">Project-Based Learning: The Path to Understanding</h3>
<p>My journey in software engineering was fueled by a project-based learning approach. Instead of just theorising, I applied concepts in real projects, enhancing understanding and retention.</p>
<p>Often times you have some idea of how concepts work, but by trying to have them work together is what makes you truly understand. This hands-on experience proved invaluable, demonstrating the practicality of software engineering principles in real-world applications and their direct impact on the success and efficiency of a project.</p>
<h3 id="heading-integrating-basic-testing-seeing-immediate-results">Integrating Basic Testing: Seeing Immediate Results</h3>
<p>Integrating basic testing into your learning process not only solidifies your understanding but also provides immediate, tangible results of your efforts.</p>
<p>Witnessing the direct impact of your coding decisions on the correctness and efficiency of your algorithms is incredibly motivating. It transforms abstract concepts into practical tools, empowering you to create more robust and efficient software solutions.</p>
<h3 id="heading-perseverance-in-software-engineering">Perseverance in Software Engineering</h3>
<p>Software engineering is not a field of easy victories, but it's one where perseverance pays off. It requires dedication, patience, and a willingness to dive into complex problems.</p>
<p>Remember, difficulty in understanding does not reflect your capability as a learner but rather the complexity of the subject. With each challenge overcome, you come closer to mastering a skill set that is highly valued and immensely rewarding.</p>
<h2 id="heading-15-how-to-choose-projects-for-your-portfolio">15. How to Choose Projects for Your Portfolio</h2>
<p>Your portfolio is a showcase of your skills and passion, mirroring the dedication you bring to the field of software engineering. It's not just about impressing potential employers – it's a statement of your professional identity.</p>
<p>Quality triumphs over quantity—each project in your portfolio should be a testament to your expertise and commitment.</p>
<p>Let's explore some project ideas that have proven effective for aspirants aiming for top-tier companies like FAANG. While the general list of projects provided serves as a solid foundation, tailoring your portfolio to align with your specific career aspirations is crucial. If you're aiming to specialize in a particular area of software engineering, your projects should reflect this focus.</p>
<p>Here are some tailored project suggestions for various specializations:</p>
<h3 id="heading-project-for-aspiring-web-developers">Project for Aspiring Web Developers</h3>
<p><strong>Responsive Web Design Project:</strong> Create a website that showcases responsive design principles, adapting seamlessly to different devices and screen sizes. This demonstrates your proficiency in HTML, CSS, JavaScript, and responsive frameworks.</p>
<h3 id="heading-project-for-data-science-enthusiasts">Project for Data Science Enthusiasts</h3>
<p><strong>Data Visualization Project:</strong> Develop a project that involves complex data sets and presents them in an understandable and visually appealing format. This could involve using tools like Python, R, and visualization libraries like D3.js or Matplotlib.</p>
<h3 id="heading-project-for-mobile-app-developers">Project for Mobile App Developers</h3>
<p><strong>Cross-Platform Mobile Application:</strong> Build an app that works across multiple mobile platforms. This project highlights your skills in mobile app frameworks like Flutter or React Native, demonstrating your ability to deliver versatile mobile solutions.</p>
<h3 id="heading-project-for-game-developers">Project for Game Developers</h3>
<p><strong>Independent Game Project:</strong> Create a small, original game using Unity or Unreal Engine. This showcases your creativity, understanding of game physics, and ability to work with game development tools.</p>
<h3 id="heading-project-for-aspiring-ai-specialists">Project for Aspiring AI Specialists</h3>
<p><strong>Machine Learning Model:</strong> Develop a machine learning project that solves a real-world problem, like image recognition or natural language processing. This kind of project illustrates your skills in Python, machine learning libraries, and your understanding of AI concepts.</p>
<h3 id="heading-project-for-cybersecurity-focus">Project for Cybersecurity Focus:</h3>
<p><strong>Network Security Project:</strong> Create a project that demonstrates your ability to secure a network, perhaps through the development of a firewall or intrusion detection system. This highlights your knowledge in network security protocols and tools.</p>
<h3 id="heading-project-for-cloud-computing-enthusiasts">Project for Cloud Computing Enthusiasts:</h3>
<p><strong>Cloud-Based Application:</strong> Develop an application that leverages cloud services like AWS, Google Cloud, or Azure. This can demonstrate your ability to harness cloud resources and your understanding of cloud architectures.</p>
<h3 id="heading-project-for-devops-aspirants">Project for DevOps Aspirants:</h3>
<p><strong>CI/CD Pipeline Project:</strong> Set up a complete CI/CD pipeline for a software project. This could involve tools like Jenkins, Docker, and Kubernetes, showcasing your skills in automation and deployment.</p>
<h3 id="heading-project-for-front-end-developers">Project for Front-End Developers:</h3>
<p><strong>Interactive UI Project:</strong> Create a web application with a focus on user interaction, employing advanced JavaScript, CSS animations, and frameworks like Angular or Vue.js.</p>
<h3 id="heading-project-for-back-end-developers">Project for Back-End Developers:</h3>
<p><strong>API Development Project:</strong> Build a robust RESTful API for a web application. This can showcase your expertise in server-side languages like Node.js, Python, or Ruby on Rails, and your understanding of database management.</p>
<p>By selecting projects that align with your career goals and areas of interest, you create a portfolio that not only demonstrates your technical skills but also your passion and dedication to your chosen field.</p>
<p>Remember, a well-rounded portfolio that resonates with your career path is a powerful tool in your journey towards achieving your professional aspirations.</p>
<h2 id="heading-16-how-to-effectively-showcase-your-software-engineering-talents">16. How to Effectively Showcase Your Software Engineering Talents</h2>
<p>Being a top-notch software engineer is one thing, but showing the world what you can do is a whole different ball game. It's not just about the projects you've done – it's about building a brand for yourself.</p>
<p>So how do you do this? Get active on social media, be part of tech events, write on popular sites like freeCodeCamp, maybe even try publishing a paper (though that's easier said than done), start a blog, and grow your followers. Remember, you need to be visible on more than one platform.</p>
<p>But here's a tip: be patient. Growing an audience takes time. You might post once or twice and see little change, but keep at it, and you'll start seeing a difference.</p>
<p>Think of the world as a big library, and to get people to listen to you, you have to earn your spot and their trust, and that takes time and consistent value.</p>
<h3 id="heading-build-a-strong-social-media-profile">Build a Strong Social Media Profile:</h3>
<ul>
<li><strong>Pick the Right Platforms:</strong> Not every social media site is right for everyone. Find out where your audience hangs out – LinkedIn for work connections, Twitter for tech talks, or Instagram for something more visual.</li>
<li><strong>Join the Conversation:</strong> Don't just post. Talk to others, share your thoughts on new trends, and be part of the tech community. This helps you get noticed and grow your network.</li>
</ul>
<h3 id="heading-get-involved-in-tech-events">Get Involved in Tech Events:</h3>
<ul>
<li><strong>Networking:</strong> Go to tech conferences and meetups. They're great for learning new things and meeting people who work in tech.</li>
<li><strong>Speak Up:</strong> If you're okay with public speaking, look for chances to talk at these events. It's a great way to show you know your stuff.</li>
</ul>
<h3 id="heading-write-and-share-your-knowledge">Write and Share Your Knowledge:</h3>
<ul>
<li><strong>Tech Blogs and Sites:</strong> Write articles for places like freeCodeCamp or Medium. Share what you know and how you think.</li>
<li><strong>Try Publishing Papers:</strong> It's tough, but getting a paper published can really make you stand out, especially if you're working on something new or cool.</li>
<li><strong>Share Your Story:</strong> Use a blog to talk about your journey in tech, the projects you're working on, or your thoughts on industry trends.</li>
<li><strong>Keep It Regular:</strong> Update your blog often. It keeps people coming back and helps more people find you online.</li>
</ul>
<h3 id="heading-be-everywhere-online">Be Everywhere (Online):</h3>
<ul>
<li><strong>Spread Out:</strong> Don't stick to just one place online. Share your stuff on different platforms to reach more people.</li>
<li><strong>Mix It Up:</strong> Try different kinds of posts – articles, videos, podcasts, pictures. It keeps things interesting and shows off all your skills.</li>
</ul>
<h3 id="heading-build-trust-and-keep-them-coming-back">Build Trust and Keep Them Coming Back:</h3>
<ul>
<li><strong>Be Real:</strong> People like authenticity. Be yourself and stay true to who you are in your posts and replies.</li>
<li><strong>Always Add Value:</strong> Make sure your posts help or interest your audience in some way. That's what keeps them coming back for more.</li>
<li><strong>Talk to Your Followers:</strong> Answer comments, join in on discussions, and be friendly. It's all about making a community around what you do.</li>
</ul>
<p>In short, showing off your skills in software engineering is about more than just being good at coding. It's about connecting with people, sharing your knowledge, and building a name for yourself. Be patient, keep sharing, and slowly but surely, you'll make your mark.</p>
<h2 id="heading-17-how-to-find-internship-opportunities-in-software-engineering">17. How to Find Internship Opportunities in Software Engineering</h2>
<p>Embarking on a journey into software engineering can be both thrilling and challenging, especially when it comes to securing internships. For those just starting out, this might seem like a daunting task, but fear not – there are several avenues and strategies to help you break into the field.</p>
<p>In this section, we'll dive into effective ways to uncover software engineering internship opportunities for beginners.</p>
<h3 id="heading-leverage-online-platforms-and-job-portals">Leverage Online Platforms and Job Portals</h3>
<p>One of the most straightforward methods to find software engineering internships is through online platforms and job boards such as LinkedIn, Indeed, and Glassdoor. These sites allow you to filter searches by location, duration, and specific technical skills, making it easier to find opportunities that align with your interests and abilities.</p>
<p>Regularly scour these platforms for the latest internship listings that fit your profile and career aspirations before making your move.</p>
<h3 id="heading-build-your-network-and-seek-referrals">Build Your Network and Seek Referrals</h3>
<p>In the world of software engineering, networking can be a game-changer, particularly for undergraduates. Utilize platforms like LinkedIn or participate in tech events and conferences to connect with industry insiders. Don't hesitate to reach out to your professors, mentors, or classmates who might have leads on internship openings.</p>
<p>Referrals can exponentially boost your chances of landing an internship, as companies often value recommendations from trusted sources.</p>
<h3 id="heading-get-internships-through-referrals">Get internships through Referrals</h3>
<p><strong>Step 1: Identify Potential Referrers:</strong> Consider people from your professional and personal network who are familiar with your work and character. This could include former supervisors, colleagues, professors, or industry connections.</p>
<p><strong>Step 2: Choose the Right Approach:</strong> Tailor your request based on your relationship with the individual. Be formal with authority figures or those you don't know well. Use a more casual tone with closer connections.</p>
<p><strong>Step 3: Write a Thoughtful Request:</strong> Email or letter requests allow you to articulate your request clearly. Attach your updated resume, cover letter, and job description to provide context.</p>
<p><strong>Step 4: Make it Convenient for Them:</strong> Include all necessary information and offer to provide additional materials. If the referrer is busy or not closely familiar with your recent work, propose drafting a referral letter for them to review and sign.</p>
<p><strong>Tips for Successful Referral Requests:</strong></p>
<ul>
<li>Adjust the formality of your request based on your relationship and the referrer's position.</li>
<li>Be prepared for a possible refusal and respond graciously.</li>
<li>Investigate if the company has a referral bonus program, which might motivate the referrer.</li>
<li>Always express gratitude, regardless of the outcome.</li>
<li>Keep nurturing your professional network for future opportunities.</li>
</ul>
<p><strong>Example of a Request:</strong></p>
<p>Dear [Referrer's Name],</p>
<p>I hope this message finds you well. I am reaching out to seek your support for a job opportunity I am pursuing at [Company Name]. Given our previous collaboration at [Your Company/Project], where you witnessed my [specific skills or achievements], I believe you can provide a meaningful endorsement.</p>
<p>I am particularly interested in the [specific role] at [Company Name], which aligns with my experience and skills in [mention specific skills/areas]. I have attached my résumé and the job listing for your reference. If convenient for you, I can draft a brief overview or recommendation that you can adjust as needed.</p>
<p>Your support in this matter would be immensely valuable to me. Please let me know if there's any additional information I can provide or if you’d prefer to discuss this further over a call.</p>
<p>Thank you for considering my request. I appreciate your time and assistance.</p>
<p>Sincerely, </p>
<p>[Your Name]</p>
<h3 id="heading-research-and-approach-companies-directly">Research and Approach Companies Directly</h3>
<p>Identify companies that align with your software engineering interests and goals. Many big names in tech, like Apple, Microsoft, and Google, offer dedicated internship programs. Explore their career pages to find relevant opportunities. Even if there are no explicit internship advertisements, it doesn't hurt to inquire about potential openings. Here is how you can do it: </p>
<h4 id="heading-research-company-profiles">Research Company Profiles:</h4>
<ul>
<li>Visit each company’s official website, specifically their careers or jobs section.</li>
<li>Explore the 'About Us' page to understand their mission, values, culture, and recent projects or innovations in software engineering.</li>
<li>Follow their social media accounts and LinkedIn page for updates, company news, and insights into their work environment.</li>
</ul>
<h4 id="heading-look-for-internship-programs">Look for Internship Programs:</h4>
<ul>
<li>Check if these companies have specific internship programs listed on their career pages. These programs often provide detailed information about the application process, timelines, and expectations.</li>
<li>For large tech companies, visit their dedicated internship portals, which often have separate sections for various technical roles.</li>
</ul>
<h4 id="heading-networking-and-referrals">Networking and Referrals:</h4>
<ul>
<li>Leverage LinkedIn to connect with current employees or alumni from your school who work at these companies. A referral can significantly increase your chances of getting noticed.</li>
<li>Attend industry meetups, webinars, and tech conferences where you might meet employees from these companies.</li>
</ul>
<h4 id="heading-inquire-about-unadvertised-opportunities">Inquire About Unadvertised Opportunities:</h4>
<ul>
<li>If no internships are explicitly advertised, consider reaching out to inquire about potential openings.</li>
<li>Craft a professional email expressing your interest in internship opportunities, briefly outlining your relevant skills and why you’re interested in that specific company.</li>
</ul>
<h4 id="heading-follow-up">Follow-Up:</h4>
<ul>
<li>If you've sent an inquiry or application and haven't heard back in a reasonable time frame (typically 2-3 weeks), it's appropriate to send a polite follow-up email.</li>
</ul>
<h4 id="heading-keep-track-of-your-applications">Keep Track of Your Applications:</h4>
<ul>
<li>Maintain a spreadsheet or document to track the companies you’ve applied to, the dates of application, and any responses or follow-up actions needed.</li>
</ul>
<p>By following these steps, you can systematically approach companies that align with your interests in software engineering, thereby increasing your chances of securing an internship. Remember, persistence and professionalism are key in this process.</p>
<h3 id="heading-utilize-university-career-services-and-academic-networks">Utilize University Career Services and Academic Networks</h3>
<p>If you're in university, tap into the career services offered. They often have job boards and connections with employers seeking software engineering interns.</p>
<p>Consulting with professors or academic advisors can also yield valuable insights and information about internship opportunities, either within the university or through industry partnerships.</p>
<h3 id="heading-tailor-your-application-materials">Tailor Your Application Materials</h3>
<p>When applying for software engineering internships, customize your application materials for each opportunity. Ensure your résumé, cover letter, and portfolio showcase relevant projects, coursework, and skills that match the internship's requirements.</p>
<p>Highlight your technical proficiency, including your experience with programming languages and any software development projects you've undertaken, whether through academic assignments or personal initiatives.</p>
<h3 id="heading-stay-proactive-and-persistent">Stay Proactive and Persistent</h3>
<p>Landing an internship in the competitive world of software engineering demands perseverance and proactive action. Follow up on your applications and seize every opportunity to make an impression at networking events or career fairs.</p>
<p>Demonstrate not just your technical acumen but also your passion for software engineering and your eagerness to learn and grow in the field.</p>
<p>Beginning your journey in software engineering might feel overwhelming, but with the right approach and determination, you can uncover valuable internship opportunities that will kickstart your career.</p>
<p>Embrace an active strategy – utilize online resources, network effectively, and personalize your applications. Each step you take is a move closer to achieving your goal of securing that coveted software engineering internship.</p>
<h2 id="heading-18-tools-and-resources-for-securing-a-software-engineering-internship">18. Tools and Resources for Securing a Software Engineering Internship</h2>
<h3 id="heading-online-job-boards-and-platforms">Online Job Boards and Platforms:</h3>
<ul>
<li><strong>LinkedIn:</strong> Perfect for networking and job listings. Enhance your profile with relevant skills and projects.</li>
<li><strong>Indeed and Glassdoor:</strong> Excellent sources for internship listings and insights into company cultures.</li>
<li><strong>AngelList:</strong> The go-to for startup internship opportunities.</li>
<li><strong>Internships.com:</strong> Specially designed for internships in various fields, including software engineering.</li>
</ul>
<h3 id="heading-networking-platforms-and-tools">Networking Platforms and Tools:</h3>
<ul>
<li><strong>Meetup.com:</strong> Ideal for finding local tech gatherings and expanding your professional network.</li>
<li><strong>Eventbrite:</strong> Discover tech workshops and events to attend.</li>
<li><strong>LinkedIn Groups:</strong> Connect with fellow software engineering enthusiasts and professionals.</li>
</ul>
<h3 id="heading-educational-resources">Educational Resources:</h3>
<ul>
<li><strong>freeCodeCamp, LunarTech, Coursera, edX, Udemy:</strong> Boost your knowledge in specific areas of software engineering.</li>
<li><strong>GitHub:</strong> Showcase your projects; contributing to open source can be a significant plus.</li>
<li><strong>Stack Overflow:</strong> A fantastic platform for learning and engaging with the developer community.</li>
</ul>
<h3 id="heading-portfolio-and-resume-development">Portfolio and Résumé Development:</h3>
<ul>
<li><strong>Canva:</strong> Offers creative résumé templates.</li>
<li><strong>GitHub Pages or WordPress:</strong> Ideal for hosting your project portfolio.</li>
</ul>
<h3 id="heading-interview-preparation-tools">Interview Preparation Tools:</h3>
<ul>
<li><strong>freeCodeCamp, LeetCode, HackerRank, CodeSignal:</strong> Hone your coding skills with these platforms.</li>
<li><strong>Pramp:</strong> Engage in free mock technical and behavioral interviews.</li>
<li><strong>Interviewing.io:</strong> Experience realistic technical interviews anonymously.</li>
</ul>
<h2 id="heading-19-quick-tips-for-landing-software-engineering-internship">19.  Quick Tips for Landing Software Engineering Internship</h2>
<p>As you've learned throughout reading this handbook, landing a software engineering internship requires not just skill and knowledge, but also a strategic approach.</p>
<p>We've covered a lot of ground here, so I wanted to summarize some of the main points we've discussed. Here are my boiled-down, insider tips and tricks to help you secure that coveted position:</p>
<h3 id="heading-optimize-your-online-presence">Optimize Your Online Presence:</h3>
<ul>
<li><strong>LinkedIn:</strong> Ensure your profile is complete and professional. Highlight detailed descriptions of your projects and any relevant coursework. This showcases your technical journey and skills.</li>
<li><strong>GitHub:</strong> Make your code public. Well-documented repositories with comprehensive READMEs for each project demonstrate your attention to detail and commitment to quality.</li>
</ul>
<h3 id="heading-tailor-your-applications">Tailor Your Applications:</h3>
<ul>
<li><strong>Customization is Key:</strong> Adapt your résumé and cover letter for each application. Emphasize projects and skills that are most relevant to the role.</li>
<li><strong>Beat the Bots:</strong> Use keywords from the job listing in your application to increase your chances of getting past automated Applicant Tracking Systems.</li>
</ul>
<h3 id="heading-leverage-university-resources">Leverage University Resources:</h3>
<ul>
<li><strong>Career Services:</strong> Attend career fairs and use your university’s career services for help with resumes, cover letters, and interview preparation.</li>
<li><strong>Alumni Networking:</strong> Connect with alumni who are now in software engineering roles. They can offer valuable insights and potential job leads.</li>
</ul>
<h3 id="heading-highlight-personal-projects">Highlight Personal Projects:</h3>
<ul>
<li><strong>Showcase Your Work:</strong> Personal projects or contributions to open source can be as impressive as professional experience. Be ready to talk about these projects during interviews.</li>
</ul>
<h3 id="heading-prepare-thoroughly-for-interviews">Prepare Thoroughly for Interviews:</h3>
<ul>
<li><strong>Know What to Expect:</strong> Research common questions for software engineering internship interviews and practice your answers.</li>
<li><strong>Ask Questions:</strong> Prepare thoughtful questions about the company and role to show your interest and understanding of the position.</li>
</ul>
<h3 id="heading-effective-follow-up-after-applications">Effective Follow-Up After Applications:</h3>
<ul>
<li><strong>Show Appreciation:</strong> Send a thank-you email after interviews. This small gesture can make a big difference.</li>
<li><strong>Stay on the Radar:</strong> If you haven't heard back after a reasonable period, a polite follow-up email can reaffirm your interest in the position.</li>
</ul>
<h3 id="heading-network-relentlessly">Network Relentlessly:</h3>
<ul>
<li><strong>Reach Out:</strong> Send personalized messages to professionals on LinkedIn expressing your interest in their work and seeking guidance.</li>
<li><strong>Attend Events:</strong> Make the most of tech meetups and conferences for face-to-face networking opportunities.</li>
</ul>
<h3 id="heading-patience-and-perseverance">Patience and Perseverance:</h3>
<ul>
<li><strong>Stay Positive:</strong> Don’t get discouraged by rejections. Every application is a step forward and a learning experience.</li>
<li><strong>Keep Pushing:</strong> Be persistent with your applications and networking efforts. The right opportunity will come with time and effort.</li>
</ul>
<p>By following these tips, you'll be better positioned to land a software engineering internship. Remember, it's a combination of showcasing your skills, making connections, and continuously learning and adapting that will ultimately lead you to success.</p>
<h2 id="heading-20-conclusion-and-next-steps">20. Conclusion and Next Steps</h2>
<p>Embarking on a software engineering internship is more than just a résumé booster – it’s a pivotal stride in shaping your tech future. This guide, meticulously crafted with actionable insights and expert-backed strategies, is designed to illuminate your path and chart a clear roadmap.</p>
<p><strong>The Value Proposition</strong>: A software engineering internship isn’t just a title. It’s a transformative experience. It bridges the gap between theory and application, helps forge invaluable connections, and significantly boosts your career trajectory.</p>
<h3 id="heading-your-action-plan-to-an-internship">Your Action Plan to an Internship:</h3>
<ul>
<li><strong>Résumé Crafting</strong>: Your résumé narrates your journey. It should highlight your skills, projects, and milestones that underscore your dedication to technology.</li>
<li><strong>Network with Purpose</strong>: In the tech world, connections are crucial. Engage with industry experts, attend seminars, and actively participate in tech forums.</li>
<li><strong>Company Recon</strong>: Knowledge is power. Deeply understand the companies offering internships and align their vision with your career goals.</li>
<li><strong>Interview Prep</strong>: Preparation is key. Engage in coding challenges, brush up on algorithms, and practice interview scenarios.</li>
<li><strong>Ace the Interview</strong>: This is your moment to shine. Show off your technical skills, problem-solving capabilities, and passion for software engineering.</li>
</ul>
<h3 id="heading-making-your-mark-during-the-internship">Making Your Mark During the Internship:</h3>
<ul>
<li><strong>Be Proactive</strong>: Create opportunities for yourself. Seek challenges that foster your growth.</li>
<li><strong>Feedback is Gold</strong>: Value and embrace feedback as it is crucial for your development.</li>
<li><strong>Contribute with Impact</strong>: Make sure your work reflects the value you bring to the team.</li>
</ul>
<p><strong>Drawing Inspiration</strong>: Learn from the successes of those who have walked this path before. Their experiences offer valuable insights and strategies.</p>
<p>As we conclude this guide, I want to express my sincere gratitude for your time and patience in going through it. A special thanks to the freeCodeCamp team for their unwavering support and for providing a platform that continually fosters learning and growth in the tech community.</p>
<p>With this blueprint in hand, you are well-equipped to transition from aspiration to action. Start by refining your résumé, actively engaging in the tech community, and keeping your skills up-to-date.</p>
<p>Remember, each step you take and every challenge you overcome is sculpting your future in software engineering. Here’s to your success and the fantastic journey that lies ahead!</p>
<h2 id="heading-resources">Resources</h2>
<p>If you haven't yet read Quincy's <a target="_blank" href="https://www.freecodecamp.org/news/learn-to-code-book/"><strong>How to Learn to Code &amp; Get a Developer Job [Full Book</strong>]</a>", I highly recommend it. He goes in the details on how to build up and become a software developer from ground zero. How to build your skills, network, and reputation and start getting paid.</p>
<p>If you're interested in a software engineering internship and keen to improve your Java skills, check out our guide. It's designed for those focusing on AI and machine learning, covering key concepts like data structures, algorithms, and Python programming. The guide includes practical advice and mentorship to support your career development.</p>
<p>For additional practice in data structures, explore the resources available on our website, tailored to help you build a strong foundation in software engineering.</p>
<ol>
<li><strong><a target="_blank" href="https://join.lunartech.ai/six-figure-data-science-bootcamp">Java Data Structures Mastery - Ace the Coding Interview</a></strong>: A free eBook to advance your Java skills, focusing on data structures for enhancing interview and professional skills.</li>
<li><a target="_blank" href="https://join.lunartech.ai/java-fundamentals"><strong>Foundations of Java Data Structures - Your Coding Catalyst</strong></a>: Another free eBook, diving into Java essentials, object-oriented programming, and AI applications.</li>
</ol>
<p>Visit our website for these resources and more information on the <a target="_blank" href="https://lunartech.ai/">bootcamp</a>.</p>
<h3 id="heading-connect-with-me"><strong>Connect with Me:</strong></h3>
<ul>
<li><a target="_blank" href="https://ca.linkedin.com/in/vahe-aslanyan">Follow me on LinkedIn for a ton of Free Resources in CS, ML and AI</a></li>
<li><a target="_blank" href="https://vaheaslanyan.com/">Visit my Personal Website</a></li>
<li>Subscribe to my <a target="_blank" href="https://tatevaslanyan.substack.com/">The Data Science and AI Newsletter</a></li>
</ul>
<h3 id="heading-about-the-author"><strong>About the Author</strong></h3>
<p>I'm Vahe Aslanyan, deeply engaged in the intersecting worlds of computer science, data science, and AI. I invite you to explore my portfolio at vaheaslanyan.com, where I showcase my journey in these fields. My work focuses on blending full-stack development with AI product optimization, all fueled by a passion for innovative problem-solving.</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.vaheaslanyan.com/">https://www.vaheaslanyan.com/</a></div>
<p>I've had the privilege of contributing to the launch of a well-regarded data science bootcamp and collaborating with some of the best minds in the industry. My goal has always been to raise the bar in tech education, making it accessible and standard for everyone.</p>
<p>As we conclude our journey here, I want to thank you for your time and engagement. Sharing my professional and academic experiences has been a rewarding experience. I appreciate your involvement and look forward to seeing how it helps you advance in the tech world.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Get Your First Data Science Internship ]]>
                </title>
                <description>
                    <![CDATA[ Do you want to break into Data Science in 2024? Then you should consider trying to get your first Data Science internship. Internships can help you gain invaluable experience and set you up for success in the ever-evolving field of Data Science. But ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/get-your-first-data-science-internship/</link>
                <guid isPermaLink="false">66d4614c230dff016690587f</guid>
                
                    <category>
                        <![CDATA[ Data Science ]]>
                    </category>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Tatev Aslanyan ]]>
                </dc:creator>
                <pubDate>Wed, 22 Nov 2023 23:01:18 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2024/08/How-You-Can-Use-Linear-Algebra-in-Data-Science-and-AI.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Do you want to break into Data Science in 2024? Then you should consider trying to get your first Data Science internship.</p>
<p>Internships can help you gain invaluable experience and set you up for success in the ever-evolving field of Data Science. But with fierce competition, limited opportunities, unclear information overload, and no clear action plan in place, how will that dreamed-of internship come your way?</p>
<p>No worries! In this handbook, I'll guide you through the 7 essential steps for landing a data science internship in 2024. Whether it's your first experience or you want to switch careers entirely, this guide can give you all of the strategies and insights to set you apart from your competition.</p>
<h2 id="heading-heres-what-well-cover"><strong>Here’s What We’ll Cover:</strong></h2>
<p>Ready to take the first step towards your data science dream? Let’s dive in and unlock the secrets to securing your first data science internship:</p>
<ol>
<li><p><a class="post-section-overview" href="#heading-1-data-science-and-ai-resources">Data Science and AI Resources</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-2-why-data-science-internships-are-important">Why Data Science Internships are Important</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-3-whats-your-path-in-data-science">What's Your Path in Data Science?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-4-what-is-a-data-science-internship">What Is a Data Science Internship?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-5-must-have-tech-stack-for-data-science-interns">Must Have Tech Stack for Data Science Interns</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-6-learn-data-science-fundamentals">Learn Data Science Fundamentals</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-7-how-to-select-projects-for-building-a-personal-portfolio">How to Select Projects for Building a Personal Portfolio</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-8-how-to-showcase-your-work">How to Showcase Your Work</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-9-understanding-nuances-of-data-science-tools">Understanding the Nuances of Data Science Tools</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-10-tips-for-landing-your-dream-data-science-internship">Tips for Landing Your Dream Data Science Internship</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-11-how-to-discover-internships-when-starting-out">How to Discover Internships When Starting Out</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-12-how-to-apply-to-internships">How to Apply to Internships</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-13-how-to-overcome-challenges-and-stand-out">How to Overcome Challenges and Stand Out</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-14-conclusion-the-journey-ahead">Conclusion: The Journey Ahead</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-about-the-author-thats-me">About the Author — That’s Me!</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-become-job-ready-data-scientist-with-lunartech">Become Job Ready Data Scientist with LunarTech</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-connect-with-me">Connect with Me</a></p>
</li>
</ol>
<h2 id="heading-1-data-science-and-ai-resources">1. Data Science and AI Resources</h2>
<p>Do you want to discover everything about a career in Data Science, Machine Learning and AI, and learn how to secure a Data Science job? You can download this <a target="_blank" href="https://downloads.tatevaslanyan.com/six-figure-data-science-ebook">free Data Science and AI Career Handbook</a>.</p>
<p>Or do you want to learn Machine Learning from scratch, or refresh your memory? Then you can read this <a target="_blank" href="https://www.freecodecamp.org/news/machine-learning-handbook/">free Machine Learning Fundamentals Handbook</a> to get all the ML fundamentals combined with examples in Python in one place.</p>
<p>And if you want to learn Java Programming from scratch, or refresh your memory, you can read this <a target="_blank" href="https://www.freecodecamp.org/news/learn-java-object-oriented-programming/">free Java Programming Fundamentals Book</a> to learn all the Java coding basics along with object-oriented programming concepts and code examples.</p>
<h2 id="heading-2-why-data-science-internships-are-important">2. Why Data Science Internships are Important</h2>
<p>Data science has become an indispensable field in today's tech world. Businesses and industries increasingly rely on data scientists to uncover vital insights and drive innovation, yet for many aspiring individuals it may seem daunting and bewildering.</p>
<p>In this section, we will delve deeper into data science and the significance of finding an internship opportunity in data science. We will highlight its value in helping bridge theoretical knowledge and practical experience, and you'll learn how internships can offer invaluable help on this journey.</p>
<h3 id="heading-when-to-pursue-a-data-science-internship">When to Pursue a Data Science Internship</h3>
<p>But the question is, do you need a Data Science internship? When should you consider seeking a data science internship, and why is the timing important?</p>
<p>Before we dive in, let me tell you that if you do have a technical degree such as a Masters in Statistics, Econometrics, Computer Science, or other similar programs, then you just need to grasp the fundamental DS concepts, build a project portfolio, and you can apply to full-time Data Science jobs (don't forget about interview preparation)!</p>
<p>But if you don't fall under this category, entering the Data Science and AI field will be much easier through a Data Science Internship. It can help you gain the experience and knowledge you'll need to kick start your Data Science career.</p>
<p>Data science internships can be highly beneficial at various stages of your technical career, depending on your career goals and your background:</p>
<ol>
<li><p><strong>Early in Your Academic Journey</strong>: If you are a student pursuing a degree in statistics, data science, computer science, or a related field, getting an internship early on while you are studying can be beneficial. This will provide you with real-world exposure to data science practices, helping you apply classroom theory to practical situations.</p>
</li>
<li><p><strong>Career Switchers</strong>: If you are considering a career switch into data science or AI, Data Science internships can serve as a bridge between your previous experience and your new path. It will allow you to gain hands-on experience and build your personal portfolio, which can be the key to kick-starting your career.</p>
</li>
<li><p><strong>Mid-Career Advancement</strong>: Even if you are already in a Data-related domain, pursuing a data science internship can be a strategic move. It enables you to acquire specialized skills like GenAI, LLM, or Quantum Computing, stay up to date with industry trends, and potentially explore more senior roles or leadership positions.</p>
</li>
<li><p><strong>Exploring Specializations</strong>: Data science incorporates such a wide range of specializations, from advanced analytics and machine learning to natural language processing and deep learning. Internships can offer you the opportunity to explore these different areas within data science and identify where your interests and strengths lie.</p>
</li>
</ol>
<h3 id="heading-importance-of-data-science-internships">Importance of Data Science Internships</h3>
<p>Data science internships present an unparalleled opportunity for aspiring data scientists to apply their knowledge and abilities in practical settings.</p>
<p>As an intern you will gain hands-on experience working with data, analyzing trends, utilizing various tools and technologies and working alongside industry professionals. This will give you invaluable insight into its practical aspects as well as an expanded understanding of its applications.</p>
<h3 id="heading-bridging-theory-and-practice">Bridging Theory and Practice</h3>
<p>Though theoretical knowledge forms the core of data science, practical experience is equally essential to become an adept data scientist.</p>
<p>Data science internships serve as a bridge between theory and practice by providing opportunities to apply academic learnings to real-life data challenges while honing your problem-solving abilities.</p>
<p>Through internships, aspiring data scientists can enhance their skills, gain exposure to real-world challenges, and perfect their problem-solving techniques.</p>
<h3 id="heading-finding-your-niche-in-data-science">Finding Your Niche in Data Science</h3>
<p>Data science is an expansive field that spans multiple domains and industries. To explore your passions and abilities in data science effectively, it is vital that you explore various paths. Machine learning, data analysis, and data visualization are all present within this discipline, so there are untapped opportunities just waiting to be explored.</p>
<p>As we move through the following sections, we will explore each element of securing a data science internship, from tips for standing out during application processes to building necessary skills and overcoming any potential hurdles that may stand in your way.</p>
<p>Real life examples and success stories will also serve as guides on your journey towards your first data science internship!</p>
<p>Keep in mind that data science is an evolving field that demands dedication, continuous learning, and perseverance if you want to excel. Let's discover together the world of data science in 2023 and uncover its secrets.</p>
<h2 id="heading-3-whats-your-path-in-data-science">3. What's Your Path in Data Science?</h2>
<p>The internet is bursting at its seams with courses, tutorials, and advice on data science and machine learning. So it’s easy to get lost or even overwhelmed. Information overload is real!</p>
<p>If you’re feeling swamped, it’s time to take a step back. Ask yourself: “What in data science lights my fire?” It’s all about finding that sweet spot that aligns with your passion and drive.</p>
<p>First, get clear on what Data Science is and what are kind of projects Data Scientists do in the current market, as it's changing a lot over time. What are some emerging trends in Data Science and where are they used? In what companies with what applications?</p>
<p>If you want a clear summary and want to learn everything about Data Science or AI, check the Resources section in this end of this handbook.</p>
<p>So, if you’re scratching your head, wondering how to craft your path in the world of data, start with understanding the landscape. Get clear on what is out there and makes you tick, focus on it, and trust me, that internship won’t feel out of reach for long.</p>
<h3 id="heading-understand-different-data-and-ai-business-titles">Understand Different Data and AI Business Titles</h3>
<p>You must also know the differences between various data and software titles that are being used interchangeably in the industry. Often it’s on you to know whether a Data Science job is actually a Data Engineering job or a Data Analyst job.</p>
<p><strong>Data Analyst:</strong> Interprets complex datasets to extract insights and support decision-making. Often uses statistical tools and software like Excel, R, or Python.</p>
<p><strong>Data Engineer:</strong> Designs and maintains the architecture (like databases and large-scale processing systems), pipelines, and data sets that data analysts and data scientists use.</p>
<p><strong>Machine Learning Researcher:</strong> Focuses on developing new algorithms and models in machine learning. Their work often contributes to academic knowledge and might be published in journals.</p>
<p><strong>Machine Learning Engineer:</strong> Applies machine learning algorithms and models into applications, ensuring they run smoothly in real-world conditions. Often collaborates with data scientists to integrate ML models into applications.</p>
<p><strong>AI Researcher:</strong> Explores advanced concepts, theories, and methodologies in artificial intelligence. Their goal is often to push the boundaries of what machines can do.</p>
<p><strong>AI Engineer:</strong> Designs and implements AI models into products and solutions, optimizing them for performance and scalability.</p>
<p><strong>NLP Specialist:</strong> Works specifically with machines to process and analyze vast amounts of natural language data, aiming to teach machines how to understand human language.</p>
<p><strong>Product Data Scientist:</strong> Focuses on applying data science techniques to improve products, enhance user experience, and drive product strategy.</p>
<p><strong>Full Stack Data Scientist:</strong> A jack-of-all-trades in the data world. Basically, a person who does it all, from data analytics and Machine Learning to Engineering. They can handle everything from data extraction and cleaning to deploying machine learning models, often bridging the roles of data analyst, engineer, and machine learning practitioner.</p>
<p>This is the least you should know before selecting your portfolio projects and crafting your digital DNA. I've written an in-depth post on this if you want to dive deeper. You can read it <a target="_blank" href="https://www.linkedin.com/posts/tatev-karen-aslanyan_machinelearning-dataanalytics-ai-activity-7089246004050354177-d7hf/?utm_source=share&amp;utm_medium=member_desktop&amp;source=post_page-----1a03d24e29a7--------------------------------">here</a> on LinkedIn for more info.</p>
<h2 id="heading-4-what-is-a-data-science-internship"><strong>4. What Is a Data Science Internship?</strong></h2>
<p>While some view data science as data analysis or AI engineering, the reality lies somewhere in between. A data science internship offers aspiring data scientists the chance to connect theoretical knowledge with practical application in the form of meaningful projects. It offers them hands-on experience while honing their craft for real world projects, which can really help when it comes time for the job hunt.</p>
<p>At its core, data science internships involve working with data to gain insights, solve problems, and make data-driven decisions. Interns work alongside experienced professionals in the industry. Interns learn from more experienced data scientists' expertise while contributing to projects with tangible impacts.</p>
<p>A data scientist intern's daily responsibilities may vary depending on their organization or project scope. Let's look at a few of them in more detail:</p>
<h3 id="heading-data-exploration-and-cleaning">Data Exploration and Cleaning</h3>
<p>Data science interns gain experience in maintaining data quality and integrity. Working with diverse datasets, they explore and clean them to ensure accuracy and consistency of results for analysis purposes. Identifying missing values, handling outliers, and reconciling discrepancies to prepare the data are all part of this task.</p>
<h3 id="heading-data-analysis-and-modeling">Data Analysis and Modeling</h3>
<p>Interns employ statistical and machine learning algorithms to analyze data and draw meaningful insights. They develop models to predict trends, classify data or address specific problems. This requires an in-depth knowledge of various algorithms and the ability to select those best suited for specific situations.</p>
<h3 id="heading-bottom-line">Bottom Line</h3>
<p>Interns typically won't be asked to train complex Machine Learning or Deep Learning models like RNNs with LSTMs, GANs or LLMs unless the data requires large scale processing for big impact projects.</p>
<p>An intern's work may consist of easier Logistic Regression models for testing purposes or boosting models as part of part of a process that primarily focuses on easy data processing and requires fewer thought processes to achieve results.</p>
<h3 id="heading-data-visualization-and-communication">Data Visualization and Communication</h3>
<p>Data science interns don't just focus on crunching numbers and running algorithms. They also strive to effectively communicate their findings to stakeholders through visually appealing data visualizations that explain complex information quickly and clearly.</p>
<h3 id="heading-collaboration-and-networking">Collaboration and Networking</h3>
<p>Interns work closely with cross-functional teams, contributing their unique perspectives and working in a team environment while strengthening communication and interpersonal skills. Interns also gain the chance to develop professional relationships and expand their networks within the data science community.</p>
<p>Companies such as Microsoft and Amazon offer highly coveted data science internship programs. Interns who participate benefit from being exposed to cutting-edge technologies, receiving guidance from industry professionals, and working on impactful projects. They get valuable practical experience while making meaningful contributions in their respective fields.</p>
<h3 id="heading-an-inside-look-at-my-data-science-internship-a-preview-of-what-to-expect">An Inside Look at My Data Science Internship: A Preview of What to Expect</h3>
<p>Here is an example of what my Data Science internship looked like to help you know what might be coming your way.</p>
<p>While doing my Masters in Econometrics, a group of other students and I were working for a client while at the same time working for a tech conslutancy in Amsterdam. At high level, our goal was to use Machine Learning to identify customers who were leaving and to recommend them a personalized marketing strategy for the launch of their loyalty card.</p>
<p>We had to do this by modeling churn, clustering customers into good, better, and best, and identifying group dynamics.</p>
<p>My day-to-day responsibilities were:</p>
<ul>
<li><p>Collaborating with fellow Data Scientists: I had regular meetings with my peers to brainstorm ideas, receiving valuable instructions and insights from more senior developers.</p>
</li>
<li><p>In-Depth Research: I spent significant time doing extensive research, and I also learned about Machine Learning to develop a solid foundation in it.</p>
</li>
<li><p>Data Analysis and Visualization: I conducted data analysis and visualization to learn about the customers of this chain of stores and their buying behaviour.</p>
</li>
<li><p>Hands-On Coding: I did lots of coding, implementing various Machine Learning models including K-Means and Decision trees to cluster customers into 3 groups (Good, Better, Best) and their group dynamics (how likely is one customer to go from Good to Better cluster?).</p>
</li>
<li><p>Presentation Preparation: I employed my presentation skills, to craft engaging and business savvy presentations for the client.</p>
</li>
</ul>
<p>An internship in data science can provide an invaluable foundation for budding data scientists. By demystifying daily responsibilities of data science internships we hope to inspire individuals into taking this exciting path toward their career goals.</p>
<h2 id="heading-5-must-have-tech-stack-for-data-science-interns"><strong>5. Must Have Tech Stack for Data Science Interns</strong></h2>
<p>You might be wondering – what tools and technologies do you need to know to get a Data Science internship? This is a crucial question, because your technical stack not only shapes your daily work but also defines your career in Machine Learning and AI.</p>
<p>Here is a list of some of the programming languages and tools you may be expected to know:</p>
<p><strong>1. Programming Languages and IDEs:</strong> Python, SQL, R, Stata</p>
<p><strong>2. Technical Tools:</strong> Github, Excel</p>
<p><strong>3. Python Libraries:</strong> Machine Learning Libraries: ScikitLearn. Data Analysis Libraries: Pandas, NumPy, SciPy, StatsModels. NLP Libraries: NLTK. Data Visualization Libraries: Matplotlib, Seaborn.</p>
<p>As a Data Science intern, you are typically expected to know 1–2 programming languages like Python and SQL at a basic level. You'll also want to be familiar with some common Data Science libraries, like scikit-learn, Pandas, and Matplotlib. But more importantly, you'll need to know the <strong>fundamentals</strong> of Data Science.</p>
<p>The next section will be all about these must-know fundamentals that you need to know to become a well-rounded Full-Stack Data Scientist and later AI Engineer.</p>
<h2 id="heading-6-learn-data-science-fundamentals">6. Learn Data Science Fundamentals</h2>
<p>If you’re an aspiring data scientist, you might relate to a trend I’ve observed: many dive into the deep end, taking on intricate projects, especially those involving complex neural networks. Such ambition is admirable, but there’s a catch.</p>
<p>Before immersing yourself in the advanced realms of data science, make sure you have your fundamentals firmly in place – especially if you haven’t benefited from a technical degree background.</p>
<p>Many entry-level roles in data science won’t ask you to train and deploy complicated deep learning models right off the bat.</p>
<p>Instead, they’re looking for individuals adept at data analysis, visualization, statistical programming, data quality checks, A/B testing, text cleaning, and so on. They may also want you to be capable of training and testing straightforward machine learning models.</p>
<p>Hence, my suggestion to focus on the fundamentals.</p>
<p>And by fundamentals, I mean:</p>
<ul>
<li><p><a target="_blank" href="https://www.freecodecamp.org/news/top-statistics-concepts-to-know-before-getting-into-data-science/">Fundamentals of Statistics</a></p>
</li>
<li><p><a target="_blank" href="https://www.freecodecamp.org/news/machine-learning-handbook/">Fundamentals of Machine Learning</a></p>
</li>
<li><p><a target="_blank" href="https://www.freecodecamp.org/news/natural-language-processing-techniques-for-beginners/">Basics of NLP</a></p>
</li>
<li><p><a target="_blank" href="https://medium.com/lunartechai/simple-and-complet-guide-to-a-b-testing-c34154d0ce5a">A/B Testing and Experimentation</a></p>
</li>
<li><p>Programming for Data Science (for example <a target="_blank" href="https://www.freecodecamp.org/news/python-data-science-course-matplotlib-pandas-numpy/">Python basics</a> or <a target="_blank" href="https://www.freecodecamp.org/news/r-programming-course/">R basics</a>)</p>
</li>
</ul>
<p>Ensuring you have a rock-solid grasp of these foundational elements doesn’t just make you a more appealing candidate for that first job — it also paves the way for future growth. As you consolidate your knowledge in the basics, transitioning to more advanced projects becomes a natural progression.</p>
<p>Check out the resources section for free handbooks that I crafted meticulously for you covering all the fundamentals in one place.</p>
<h2 id="heading-7-how-to-select-projects-for-building-a-personal-portfolio">7. How to Select Projects for Building a Personal Portfolio</h2>
<p>Hands-on experience is crucial in the field of data science. Employers are often looking for candidates who have practical skills and can apply them to real-world scenarios.</p>
<p>As an intern, you likely won't be expected to have that many projects under your belt (compared to someone who wants to become a Junior Data Scientist right away). But it's still good to demonstrate that you have some hands-on experience.</p>
<p>So, when entering the field of Data Science, you'll need a portfolio of projects to showcase. This helps potential employers see that you not only know the theory but that you also have that hands-on experience.</p>
<p>The essence of your portfolio lies not just in its existence, but in the careful selection of the projects it houses.</p>
<p>Beyond the projects you work on for your coursework or through online platforms, taking the initiative to create your own personal projects can significantly enhance your skills and make you stand out.</p>
<p>Choose a topic or problem that interests you and design a project that allows you to explore different aspects of data science. This not only demonstrates your proactivity but also shows your ability to identify and tackle data-related challenges independently.</p>
<p>It’s crucial to focus on 2–5 outstanding projects that not only demonstrate your skill set but also align with your desired specialization.</p>
<p>For instance, if you’re leaning towards becoming an NLP specialist, anchor your portfolio around relevant projects instead of diverting into Computer Vision. Similarly, aspiring GenAI or AI Engineers should demonstrate their skills in these areas, rather than focusing on, for example, Product Data Science projects.</p>
<p>These deliberate choices ensure that your portfolio is not just a testament to your technical prowess but a clear indicator of your career trajectory and specialization intentions. Present these high-caliber projects on platforms like a personal website or GitHub, ensuring they are underpinned by thorough documentation and engaging narratives.</p>
<p>Remember, a thoughtfully curated portfolio doesn’t just spotlight your skills – it gives potential employers a window into your focus and passion.</p>
<p>For instance, if you’re gravitating towards being a <strong>Data Analyst</strong>, projects that showcase your adeptness in interpreting complex datasets using tools like Excel, R, or Python can be pivotal. Those aiming to be Data Engineers might want to emphasize projects that deal with designing databases or maintaining large-scale processing systems.</p>
<p>Future <strong>Machine Learning Researchers</strong> can consider sharing innovative algorithms or models they’ve worked on, especially if they’ve contributed to academic research or been featured in journals. On the other hand, <strong>Machine Learning Engineers</strong> should pivot towards projects that integrate these algorithms seamlessly into applications, demonstrating real-world efficacy.</p>
<p>If <strong>AI Research</strong> is your calling, your portfolio should encapsulate advanced theories and methodologies that push the boundaries of machine intelligence. <strong>AI Engineers</strong>, in contrast, could prioritize projects that weave AI models into scalable and high-performance products.</p>
<p><strong>NLP Specialists</strong> should focus on projects that delve deep into processing and interpreting vast volumes of natural language data, bridging the gap between machines and human language. Those with a penchant for <strong>Product Data Science</strong> can select projects that illuminate their prowess in enhancing user experiences, driving product strategies, or improving existing products using data insights.</p>
<p>Lastly, if you identify as a <strong>Full Stack Data Scientist</strong>, your portfolio should be a smorgasbord of projects, touching upon data extraction, cleaning, ML model deployment, and more, highlighting your versatility.</p>
<p>Remember, the key lies in aligning your projects with your aspirations. Your portfolio doesn’t just display your skills but also signals your specialization to potential employers. It helps ensure that you’re seen as a valuable asset in your chosen domain.</p>
<h2 id="heading-8-how-to-showcase-your-work">8. How to Showcase Your Work</h2>
<p>For those who’ve mastered the fundamentals but find themselves grappling with how to convey their knowledge, the issue often boils down to presentation.</p>
<p>Just possessing knowledge isn’t enough – it’s crucial to communicate it effectively. How you structure your wealth of skills and knowledge, especially on platforms like your résumé, can be the deciding factor in your career trajectory.</p>
<p>So, you need:</p>
<ul>
<li><p>Personal website</p>
</li>
<li><p>Github profile</p>
</li>
<li><p>LinkedIn</p>
</li>
<li><p>Résumé</p>
</li>
</ul>
<p>You might wonder, “What if I lack a technical degree?” or “How do I present my diverse learning experiences?” The answer lies in storytelling.</p>
<p>Across numerous discussions, whether it's on LinkedIn or in personal interactions, I consistently emphasize the power of narrative. Don’t just showcase your code. Narrate the journey, the challenges, the solutions, and the results.</p>
<p>A compelling narrative is best complemented by a well-curated résumé that’s concise yet impactful. You'll also want to maintain a meticulously organized GitHub repository and a personal website that mirrors your data science journey and passion.</p>
<p>These platforms not only demonstrate your technical skills, but also your commitment to the field and your professional demeanor.</p>
<p>If you’re at the starting line, pondering on how to plunge into the data science realm, consider enrolling in a specialized course or bootcamp. These platforms can offer structured learning and can provide a springboard to build those crucial portfolio projects.</p>
<p>Remember, in the digital age, your online presence — your ‘Digital DNA’ — is your brand. It’s more than just a showcase – it’s a testament to your dedication, skills, and your unique story in the vast world of data science.</p>
<p>Here are my trips for you on how to craft each of those 4 products:</p>
<h3 id="heading-how-to-build-an-unforgettable-personal-website">How to Build an Unforgettable Personal Website</h3>
<p>In my journey through Data Science, Machine Learning, and AI, I’ve come to realize the importance of a robust digital presence.</p>
<p>A personal website, essentially, acts as a 24/7 résumé, broadening your horizon for various opportunities. If you’re a fellow tech enthusiast, establishing this personal platform is an absolute must.</p>
<p>Here are my tips, distilled from my experiences, on crafting a compelling personal website. I'll use <a target="_blank" href="https://tatevaslanyan.com/">my own as an example</a>.</p>
<h4 id="heading-about-you-page">About You Page:</h4>
<ul>
<li><p>Introduction: Start with a brief, engaging statement about who you are and what drives you in the tech field.</p>
</li>
<li><p>Educational Journey: Detail your academic path, spotlighting your university, and any significant achievements or distinctions you’ve earned.</p>
</li>
</ul>
<p>Below is my About Me page of my personal website and the <a target="_blank" href="https://tatevaslanyan.com/about-me/">link</a> to it:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/1-zToDLB03zjBUoiahn2_KZA.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><em>My "About Me" page on</em> <a target="_blank" href="https://tatevaslanyan.com"><em>Personal Website</em></a></p>
<h4 id="heading-portfolio-page">Portfolio Page</h4>
<ul>
<li><p>Project Overviews: Highlight your pivotal projects, providing insights into the companies you’ve collaborated with, the roles you undertook, durations, and your pivotal contributions.</p>
</li>
<li><p>Interactive Demonstrations: Think about incorporating dynamic data visualizations or interactive elements to make your page more engaging.</p>
</li>
</ul>
<h4 id="heading-tech-stack-and-work-samples-page">Tech Stack and Work Samples Page</h4>
<ul>
<li><p>Showcasing Your Code: Share sections of codes you’ve worked on, be it in Python, PySpark, SQL, or other tools/languages. Accompany them with brief annotations or explanations to offer context.</p>
</li>
<li><p>Direct Links: Guide your visitors to platforms like GitHub where they can explore the full breadth of your work.</p>
</li>
</ul>
<p>Do note that below is a sneak pick into my Tech Stack, and I have been in the field for quite some time, and as an intern you won't be expected to have worked with some of those technologies such as PySpark, Git, DataBricks, OTEL you get the idea! So, create a section similar to this one but include your tech stack. As an intern you will be expected to know basic Python (with IDE PyCharm for instance), you might have also experience in R, Matlab depending on your background.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/1-QcU6aCON7gVOGTSiYQHjHA.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><em>My "Tech Stack" page showing the tools and programming languages I'm comfortable using</em></p>
<p>Make sure to add code samples too!..</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/1-r5WOP5j4UGK2WqQ7ckKpZg.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><em>Example of code samples on</em> <a target="_blank" href="https://tatevaslanyan.com"><em>Personal Website</em></a></p>
<h4 id="heading-publications-amp-tech-blogs-page">Publications &amp; Tech Blogs Page</h4>
<ul>
<li><p>Your Research Corner: If you’ve ventured into research, list out your papers, particularly if you’ve been the first author.</p>
</li>
<li><p>Your Voice in the Field: Share articles, tech blogs, or opinion pieces you’ve penned, giving visitors a glimpse into your thoughts and expertise beyond your regular job.</p>
</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/1-63CnQCZX3SUp9NDOSMH53w.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><em>My "Featured Research" page on</em> <a target="_blank" href="https://tatevaslanyan.com"><em>Personal Website</em></a></p>
<h4 id="heading-press-releases-page">Press Releases Page</h4>
<ul>
<li>Your Moments in the Limelight: Chronicle any media interactions you’ve had, be it interviews, podcast appearances, or notable mentions, emphasizing your influence in the industry.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/1-IC2l4ZSe-i1jeFYFpXNxlg.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><em>Listing global publications that have featured my work from</em> <a target="_blank" href="https://tatevaslanyan.com"><em>Personal Website</em></a></p>
<h4 id="heading-contact-page">Contact Page</h4>
<ul>
<li>Keep Communication Lines Open: Offer a straightforward channel for peers, potential collaborators, or recruiters to connect with you. Integrating scheduling tools can also streamline interactions and show your organizational skills.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/1-JMyKlG4KiSPzwXHvE9fl_A.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>_Snippet from Contact Me page from [Personal Website](https://tatevaslanyan.com/contact/" data-href="https://tatevaslanyan.com/contact/" class="markup--anchor markup--figure-anchor" rel="noopener" target="<em>blank)</em></p>
<h4 id="heading-free-resources-page">Free Resources Page:</h4>
<ul>
<li>Contributions to the Community: If you’ve created any resources, such as handbooks, guides, coding libraries, or tools, list them here. Not only do these provide value to visitors, but they also underscore your commitment to the wider tech world.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Screenshot-2023-11-21-at-9.06.33-PM.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><em>Free Resource from my</em> <a target="_blank" href="https://tatevaslanyan.com/free-resources/"><em>Personal Website</em></a></p>
<p>Your personal website should be an evolving testament to your professional trajectory. Regular updates ensure you stay on the cutting edge, reflecting your growth in our dynamic industry.</p>
<p>And here's another example of a personal website from <a target="_blank" href="https://www.linkedin.com/in/vahe-aslanyan/">Vahe Aslanyan</a> which you can find <a target="_blank" href="https://www.vaheaslanyan.com/">here</a>.</p>
<h3 id="heading-how-to-craft-a-proper-github-profile">How to Craft a Proper Github Profile</h3>
<p>In my journey as a data scientist, I’ve had the privilege of speaking to many aspiring individuals.</p>
<p>One common starting point which we often discuss is their <strong>GitHub</strong> repository.</p>
<p>But there are a few things I’ve learned that I want to emphasize here:</p>
<p><strong>It’s not just about the code</strong>. Your GitHub repository can reveal a lot about your technical abilities, but it’s your ability to go beyond the code that truly sets you apart. Data science is not just about writing algorithms and scripts – it’s about telling a story.</p>
<p><strong>Every data science project is a narrative</strong>. It’s the story of a problem, a solution, and the impact it can have. It’s about understanding that we code, visualize, and analyze models, all for one purpose: to solve a real-world problem.</p>
<p><strong>You should cultivate the art of data storytelling</strong>. When you present your portfolio, don’t just share your code – tell the story behind it. Explain the problem you were tackling, insights you discovered, and the value it brought. Use visualizations to make your narrative come alive.</p>
<p>So, aspiring data scientists, remember this: the ability to weave a compelling story around your projects is what will truly set you apart. It’s not just about the algorithms. it’s about the impact and the journey.</p>
<p>For your reference, here is my <a target="_blank" href="https://github.com/TatevKaren">Github Profile</a>:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/Screenshot-2023-11-18-at-1.41.02-PM.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><em>Snippet from my</em> <a target="_blank" href="https://github.com/TatevKaren"><em>Github Account</em></a></p>
<p>A visible and well-maintained GitHub profile can be a game-changer when applying for data science internships. It serves as a portfolio of your data science projects and showcases your coding abilities, problem-solving skills, and collaboration approach.</p>
<p>Make sure to include a variety of projects that highlight your expertise in areas such as data analysis, machine learning, and data visualization.</p>
<p>It's also helpful to actively participate in the data science community by contributing to relevant repositories and engaging in discussions.</p>
<p><strong>The Takeaway:</strong> In data science, storytelling is a superpower. It’s the bridge that connects your technical skills with real-world impact. So, the next time you showcase your work, remember to let the story shine through.</p>
<h3 id="heading-how-to-craft-an-impressive-linkedin-portfolio">How to Craft an Impressive LinkedIn Portfolio</h3>
<p>In today’s digital age, LinkedIn stands out as the de facto platform for professional networking, job hunting, and brand establishment. Especially for those in the tech arena, a meticulously curated LinkedIn profile can unlock doors to incredible opportunities.</p>
<p>Here’s my step-by-step guide, based on personal experiences, to building a stellar LinkedIn portfolio:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/1-I46e56VyXvtbvAUAHNupow.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>_My[ LinkedIn Profile](https://www.linkedin.com/in/tatev-karen-aslanyan/" data-href="https://www.linkedin.com/in/tatev-karen-aslanyan/" class="markup--anchor markup--figure-anchor" rel="noopener" target="<em>blank)</em></p>
<p>Use a Professional Headshot</p>
<p>A clear, well-lit, and professional image speaks volumes. It’s the first visual interaction a visitor has with your profile, so make sure it represents you authentically.</p>
<h4 id="heading-use-an-engaging-headline">Use an Engaging Headline</h4>
<p>More than just your current job title, use this space to convey your expertise and passion succinctly.</p>
<p>For example, “Data Scientist | ML Enthusiast | Transforming Raw Data into Actionable Insights.”</p>
<h4 id="heading-write-a-summaryabout-section">Write a Summary/About Section</h4>
<p>Craft a narrative about your professional journey. Discuss what drives you, your significant achievements, and where you see yourself in the tech industry’s future.</p>
<h4 id="heading-share-your-experience">Share Your Experience</h4>
<p>Detail your professional roles, ensuring each entry is concise but provides context on your responsibilities, the projects you’ve been part of, and any notable accomplishments.</p>
<h4 id="heading-list-skills-amp-endorsements">List Skills &amp; Endorsements</h4>
<p>List key skills relevant to your profession. Encourage colleagues and collaborators to endorse you, adding credibility to your listed abilities.</p>
<h4 id="heading-provide-recommendations">Provide Recommendations</h4>
<p>A few well-worded recommendations from peers, supervisors, or collaborators can significantly elevate your profile. Consider writing genuine recommendations for others in your network too – reciprocity is often appreciated.</p>
<h4 id="heading-add-your-education-amp-certifications">Add Your Education &amp; Certifications</h4>
<p>Include not just formal education but also any certifications or courses that enhance your professional stature, particularly in the tech domain.</p>
<h4 id="heading-include-a-featured-section">Include a Featured Section</h4>
<p>Showcase pivotal projects, publications, or any media appearances. Provide direct links to your work, be it on GitHub, personal blogs, or other platforms.</p>
<h4 id="heading-be-active-on-linkedin">Be Active on LinkedIn</h4>
<p>Engage with the LinkedIn community. Share insightful articles, comment on posts, and contribute your own content. This showcases your active involvement and keeps your profile buzzing.</p>
<h4 id="heading-use-a-customized-url">Use a Customized URL:</h4>
<p>Personalize your LinkedIn URL, making it cleaner and more professional. This also makes it easier to share on business cards or email signatures.</p>
<h3 id="heading-how-to-create-a-compelling-resume">How to Create a Compelling Résumé</h3>
<p>Here is an in-depth and step-by-step guide on <a target="_blank" href="https://medium.com/lunartechai/unlocking-data-science-mastery-transform-your-passion-into-profit-with-proven-resume-strategies-784e0371f335">building a perfect Data Science résumé</a>.</p>
<p>I also go in detail in my Data Scienced career handbook which you can find in the Resource section below – so let’s save us some time and space in this section.</p>
<p>Just a quick tip to keep in mind: make sure your résumé is written in the language where your primary, target Hiring Managers and jobs are.</p>
<h2 id="heading-9-understanding-nuances-of-data-science-tools">9. Understanding Nuances of Data Science Tools</h2>
<p>Data science is not just about building models – it’s about understanding the complexities and nuances of data, tools, and statistics.</p>
<p>You'll need to take the time to dive deeper into statistical concepts, exploratory data analysis techniques, and data preprocessing methods. Understand the strengths and limitations of various algorithms and be able to apply them appropriately to different types of data.</p>
<p>Having a comprehensive understanding of the foundations of data science will enable you to make informed decisions and produce reliable insights.</p>
<p>Remember, building the necessary skills goes beyond completing online tutorials or attending workshops. It requires a commitment to continuous learning, active engagement in the data science community, and a willingness to go beyond the basics.</p>
<p>By developing hands-on experience, cultivating a visible GitHub profile, working on personal projects, and delving into the nuances of data science, you’ll position yourself as a strong candidate for a data science internship.</p>
<h2 id="heading-10-tips-for-landing-your-dream-data-science-internship">10. Tips for Landing Your Dream Data Science Internship</h2>
<p>To secure a data science internship, it's essential to follow certain strategies that can set you apart in a competitive field. Here are a few steps you can take to increase your odds of landing your ideal data science internship:</p>
<h3 id="heading-focus-on-communication-skills">Focus on Communication Skills</h3>
<p>No matter your technical expertise, as an aspiring data scientist you'll need to possess excellent communication skills.</p>
<p>Being able to turn complex code and algorithms into stories that resonate with both technical and non-technical audiences is crucial for data scientists wishing to become effective communicators. This means effectively sharing your findings and insights in an organized fashion.</p>
<h3 id="heading-use-social-media-platforms-and-university-resources">Use Social Media Platforms and University Resources</h3>
<p>Make use of social media platforms like LinkedIn and Twitter to engage with data science professionals in the community. Join relevant discussions to show off your knowledge and passion for data science.</p>
<p>You can also take advantage of resources offered by your university if you attended one, such as career services or alumni networks for insight-gathering, networking, and finding internship opportunities.</p>
<h3 id="heading-attend-virtual-career-fairs">Attend Virtual Career Fairs</h3>
<p>Virtual career fairs have become an increasingly popular way to connect with potential employers and discover internship opportunities.</p>
<p>Do your research beforehand on each company attending the fair, and come prepared with questions and a pitch that highlights your skills and enthusiasm.</p>
<h3 id="heading-think-about-the-timing">Think about the Timing</h3>
<p>Timing is of the utmost importance when applying for data science internships. Many companies start recruiting months in advance, so be proactive and keep an eye out for internship postings as soon as they become available.</p>
<ul>
<li><p>Start planning your summer internship search as early as in November or December. Many top companies (big tech), especially in competitive fields like data science or AI, begin posting summer internship openings as early as January or February. By starting your planning early, you will have a head start in discovering potential opportunities and preparing your application.</p>
</li>
<li><p>Make sure to take advantage of your university's resources, including career fairs and expos. Usually, in the early spring semester, your school may host career events where you can interact with recruiters from companies offering internships in Data Science. These events are great opportunities to gather internship opportunities and make valuable connections.</p>
</li>
</ul>
<p>Keep in mind that landing a data science internship involves more than technical skills alone. It requires showing passion, eagerness to learn, and dedication. By following these strategies and tips you may increase your chances of securing an internship.</p>
<h2 id="heading-11-how-to-discover-internships-when-starting-out">11. How to Discover Internships When Starting Out</h2>
<p>Launching into data science can be both exhilarating and daunting – and finding internships may feel like an insurmountable hurdle. But there are strategies and platforms available that can help you if you're just beginning out.</p>
<p>In this section, we will cover effective methods of finding data science internships when you're just starting out.</p>
<h3 id="heading-utilize-online-platforms-and-job-boards">Utilize Online Platforms and Job Boards</h3>
<p>One of the easiest and fastest ways to locate data science internships is via online platforms and job boards, including LinkedIn, Indeed, Glassdoor and InternMatch. These platforms enable you to filter your search based on location, duration, and specific skills required.</p>
<p>You can regularly check these platforms for new internship postings that suit your interests and qualifications before making your selections.</p>
<h3 id="heading-network-and-seek-referrals">Network and Seek Referrals</h3>
<p>Networking can be an invaluable way to find internship opportunities when starting out in data science, especially as an undergraduate student.</p>
<p>Use platforms like LinkedIn or attend industry events and conferences to connect with professionals already working in this field. Reach out to professors, mentors or fellow classmates who may know about open internship positions.</p>
<p>Referrals can significantly increase your odds, as companies often place value on a recommendation from trusted individuals.</p>
<h3 id="heading-research-and-reach-out-to-companies">Research and Reach Out to Companies</h3>
<p>Research companies that fit your interests and goals for data science. Many renowned tech giants, like Apple, Microsoft, and Google offer data science internship programs. Make sure you explore their websites' career or internship opportunities sections to see if any positions are open. Even if an internship program doesn't explicitly advertise itself, it's worth inquiring into potential internship opportunities.</p>
<h3 id="heading-university-career-services-and-academic-resources">University Career Services and Academic Resources</h3>
<p>If you attended university, take advantage of the career services they provide. They may have resources, job boards, and connections with employers who can help you secure internships in data science.</p>
<p>You can also consult with professors or academic advisors as they may provide invaluable insight and knowledge regarding internship opportunities available within your university or industry partnerships.</p>
<h3 id="heading-customise-your-application-materials">Customise Your Application Materials</h3>
<p>When applying for data science internships, it's essential that your application materials reflect each opportunity. Make sure your résumé, cover letter, and portfolio reflect relevant coursework, projects, and skills which meet internship requirements.</p>
<p>You'll want to demonstrate your technical abilities such as knowledge of various programming languages as well as any data analysis/machine learning experiences you've gained through academic studies or personal projects.</p>
<h3 id="heading-stay-proactive-and-persistent">Stay Proactive and Persistent</h3>
<p>Securing an internship in the competitive field of data science requires perseverance and proactive effort. Once your applications have been submitted, follow-up with companies. Also, making an impression at networking events or career fairs can also provide invaluable opportunities to meet companies directly and make connections directly.</p>
<p>Make sure that you demonstrate your passion for the subject matter while showing that you are committed to learning and growing within it.</p>
<p>Starting out in data science may seem intimidating, but with persistence and proper strategies in place, you can discover invaluable internship opportunities to kickstart your career.</p>
<p>Take an active approach by taking advantage of online platforms, networking with professionals and personalizing application materials so as to stand out among other candidates. Every step will bring you closer towards reaching your goal of securing an internship position in data science.</p>
<h2 id="heading-12-how-to-apply-to-internships"><strong>12. How to Apply to Internships</strong></h2>
<p>Applying for a data science internship can seem intimidating at first. With proper approach and preparation, though, the application process should become less daunting.</p>
<p>Here are some key tips and strategies that will make applying easier so that you can land that dream data science internship.</p>
<h3 id="heading-make-a-good-first-impression-with-your-resume">Make a Good First Impression with Your Résumé</h3>
<p>A résumé often serves as the initial impression for potential employers, so it is vitally important that it makes a good first impression.</p>
<p>Tailor it for each company/internship so it highlights relevant skills and experiences aligning with the requirements. Add any coursework, projects, or certifications that demonstrate your technical abilities related to data analysis, machine learning or visualization. And quantify your achievements, when possible, to demonstrate impact.</p>
<h3 id="heading-create-an-engaging-cover-letter">Create an Engaging Cover Letter</h3>
<p>An engaging cover letter can set you apart from other candidates. Use it to showcase your passion for data science and explain why this internship interests you specifically.</p>
<p>Include details about relevant skills, experiences, and accomplishments which make you an excellent match for the role. You can also highlight skills that fit with the internship's requirements and qualifications outlined in the posting.</p>
<h3 id="heading-create-and-maintain-an-internal-knowledge-repository">Create and Maintain an Internal Knowledge Repository</h3>
<p>Building a knowledge repository is an effective way to demonstrate both your expertise and commitment to continuous learning.</p>
<p>Start by creating a personal website or blog where you can post information about data science projects, case studies, and insights. Not only will this serve as an avenue to showcase your abilities, but it will also showcase how well you communicate technical concepts.</p>
<h3 id="heading-understand-your-interviewers-perspective">Understand Your Interviewer's Perspective</h3>
<p>To be successful at an interview, it's crucial to gain an understanding of the perspective of the interviewer. Do your research on the company, its culture, and specific projects they are working on as well as any data science techniques and tools they utilize.</p>
<p>This knowledge will not only allow you to craft thoughtful questions but also to tailor answers according to company goals and values.</p>
<p>After an interview, it's essential to follow-up with an email or note expressing your appreciation and reasserting your desire for the internship role. This simple gesture shows professionalism and enthusiasm, and helps you keep the dialogue alive by inquiring about next steps in hiring process.</p>
<p>Try not to become discouraged. Landing a data science internship requires more than technical skills alone. Employers look for candidates who can effectively communicate their work, think critically, and demonstrate an enthusiasm for data science.</p>
<p>By creating an attractive résumé and cover letter, organizing a knowledge repository, understanding interviewer perspectives, and following up, you can increase your odds of securing that dream data science internship.</p>
<h2 id="heading-13-how-to-overcome-challenges-and-stand-out"><strong>13. How to Overcome Challenges and Stand Out</strong></h2>
<p>Aspiring data scientists often encounter challenges on their journey towards landing an internship opportunity. With proper mindset and strategies in place, you can overcome these hurdles.</p>
<p>In this section, we'll explore some common challenges and offer effective solutions to make you stand out from your peers.</p>
<h3 id="heading-align-your-skillset-with-industry-needs">Align Your Skillset With Industry Needs</h3>
<p>One of the greatest challenges faced by aspiring data scientists is keeping up with industry demands and the latest technologies and trends. Biggest key here is to know what are the latest trends but also whether you want to learn those trends.</p>
<p>By following Data Scientists and AI Engineers online, on platforms like LinkedIn or X (Twitter), you can usually discover the latest trends as these people tend to be the first ones to talk about them.</p>
<p>You can also read technical articles written by Data Scientists and AI Engineers who have been in the field for some time. This can also help you learn about the latest trends and to stay up to date. Read blogs on these topics, watch YouTube tutorials, and if you can afford it, take a course and do a project.</p>
<p>Also, subscribe to newsletters in Data Science and AI, which will tell you what those trending topics are. Example of this is our upcoming [<a target="_blank" href="https://tatevaslanyan.substack.com">The Data Science and AI Newsletter</a>] or other newsletters in the field.</p>
<p>There you go, you are up to date!</p>
<p>Then the question is whether you should follow the trends you discover. Consider reaching out to people you admire and asking what they think about those trends and where they see them going at a high level.</p>
<p>This is important because, if you don't like Neural Networks and advanced math like Linear Algebra and Differentiation theory, then no matter how fancy GenAI might sound – it might not be the right path for you.</p>
<p>To overcome this challenge, consider these tips:</p>
<p><strong>1. Keep Your Skills Current and Enhance them:</strong> Data science is an ever-evolving field, making it essential that you keep learning about the latest tools, programming languages, and algorithms. Take advantage of online courses, tutorials, and practical projects to expand your technical expertise and increase productivity.</p>
<p><strong>2. Recognize and Build upon Core Competencies:</strong> While having an in-depth knowledge of various data science concepts is important, identifying your core strengths is equally as essential to making yourself stand out as well as making yourself more desirable to potential employers. This will not only increase your employability but will make you standout among competitors as well.</p>
<p><strong>3. Collaborate and Network:</strong> Engaging with the data science community can bring invaluable insight and opportunities for collaboration. Join online forums, attend webinars or conferences, participate in data science competitions or even online competitions in order to expand your network and gain exposure to diverse perspectives.</p>
<h3 id="heading-how-to-differentiate-yourself-from-other-candidates">How to Differentiate Yourself From Other Candidates</h3>
<p>An increasingly competitive job market makes it hard to distinguish yourself from other candidates. To increase your odds of landing an internship position in data science, here are some strategies:</p>
<h4 id="heading-build-your-personal-brand">Build Your Personal Brand</h4>
<p>Develop an online presence through a personal website, blog, or social media profiles focused around Data Science. Share projects, insights, and learning experiences to demonstrate your expertise and showcase yourself and your skills.</p>
<p>But you might be wondering – what is a personal brand, and how do you establish it? Well, personal brand is much bigger than your digital blue print. It's the story you tell to others and how others perceive you. It's essentially how you present yourself to the world, especially in a professional context and in the tech world.</p>
<p>Your personal brand is a unique combination of skills, experiences, and personal characteristics that you want the world to see in you. It should show you as a whole and differentiate you from the rest.</p>
<p>What I mean here is that if you and someone else have worked at the same company and you have the same degree, your personal brand will show the differences in who both of you are.</p>
<p>Are you an energetic and creative self-starter with an "I can do it all" attitude? Are you thoughtful and deliberate with great attention to detail and incredible listening skills? Are you a leader, a visionary, who wants to inspire others? These are all things you can convey through developing your personal brand.</p>
<p>Here is an my own example of personal branding:</p>
<p>You will see consistency across various platforms where you find information about me. You will see that I have similar pictures showing casual, business-casual types of images, because that's my brand. I distinguish myself as someone who not only has expertise in the field of Data Science but also in the areas of Machine Learning and AI, so I am all about full-stack knowledge and then specialization.</p>
<p>You will also see that across many platforms, whether it's freeCodeCamp, LinkedIn, X, Medium, or LunarTech, everywhere I'm trying to help other data scientists and AI engineers get into the field by making education accessible to them. I also constantly explain and showcase my intention to do so, as I have seen firsthand how hard it can be to spend years and a lot of funds on learning Data Science and AI.</p>
<p>I try to help others so that they don't have go through the same long and expensive process by simplifying it.</p>
<p>I also advocate for women in tech. I showcase my skills and my areas of expertise in Machine Learning and Data Science across all these different platforms. Also when I'm networking and maintaining my professional contacts, I try to spread information about my brand and what I stand for and why I'm doing what I'm doing.</p>
<p>A brand isn't just about your online presence – it's also about your personal story. What's your background? What's your experience? What's the journey you took in order to become who you are? What motivated you? What helps you to stay motivated? And what is unique about your story?</p>
<p>For instance, in my case, I have faced many challenges as a woman in tech to get where I am. But I've learned to see all the setbacks as opportunities to get to the next level. To never give up.</p>
<p>So, how does your intended audience perceive you or think about you? In the beginning, it might be very different than once you start to build your brand. How are others talking about you? Are you ambitious? Are you an individual contributor or manager type? Do you like to interact with people? Are you only passionate about technology or are you also passionate about people, and the business? These are all things to consider.</p>
<h4 id="heading-use-your-soft-skills">Use Your Soft Skills</h4>
<p>Don't ignore the value of soft skills! Focus on honing your communication, collaboration, and problem-solving capabilities, too. They're as essential for teamwork and client interactions as any technical skills you have.</p>
<h4 id="heading-networking-and-mentorship">Networking and Mentorship</h4>
<p>Connect with professionals in the data science industry through networking events, LinkedIn, or industry conferences. Seek mentors who can guide and advise during your journey. Their insights may prove invaluable when applying for internships.</p>
<h2 id="heading-14-conclusion-the-journey-ahead"><strong>14. Conclusion: The Journey Ahead</strong></h2>
<p>At this point, take some time to reflect upon all of the wisdom and insights you've learned throughout this guide. By following the steps outlined here, you now have a strong base from which to launch into Data Science's dynamic field.</p>
<p>Just remember, Data Science isn't just one thing – but rather, the field offers numerous opportunities that await discovery.</p>
<p>Now you can step confidently into your data science journey with confidence and intent. Take pleasure in exploring its diversity while following your passion along the way.</p>
<p>Here is a snapshot of key takeaways from this guide:</p>
<ol>
<li><p><strong>Build a Solid Foundation:</strong> Start by developing a comprehensive understanding of data analysis, machine learning, and visualization as building blocks of data science. These skills will form your roadmap on your data science journey.</p>
</li>
<li><p><strong>Gain Practical Experience</strong>: Although courses and bootcamps have their place, practical experience is an indispensable component of data science. Create an active GitHub profile and work on personal projects that showcase your talents and expertise to advance in this industry.</p>
</li>
<li><p><strong>Always be Learning:</strong> Data science is an ever-evolving field with new techniques and technologies emerging almost daily. Stay current on trends, research papers, and industry developments by regularly investing in expanding your knowledge and abilities.</p>
</li>
<li><p><strong>Network Effectively</strong>: Networking is essential in the data science community. Attend virtual career fairs, engage with professionals on social media platforms such as LinkedIn or social media groups like Reddit, or utilize university resources. Networking can open doors to exciting internships or employment opportunities.</p>
</li>
<li><p><strong>Craft an Impactful Application</strong>: When applying for data science internships, it's crucial that your application stands out. Using a résumé, cover letter, and portfolio can help you convey your story of what makes you unique as an individual. After all, coding skills are just one component. Likewise, highlight experiences, projects, and achievements so they separate you from competitors.</p>
</li>
<li><p><strong>Overcome Challenges</strong>: Aspiring data scientists face numerous hurdles along their journey. From lack of experience or technical barriers, to rejection and setbacks, remember that resilience and perseverance are vital qualities needed for success. Look to mentors, peers, and online communities to seek assistance for overcoming barriers.</p>
</li>
</ol>
<p>Keep this in mind as you start out on your data science journey: success won't just mean landing an internship. Rather it should involve continuous learning and growth. Be open to exploring various industries as data science opportunities exist across healthcare, finance, e-commerce and more.</p>
<p>Now is the time to embrace all that awaits you in data science. Take advantage of all its endless opportunities!</p>
<h2 id="heading-about-the-author-thats-me"><strong>About the Author — That’s Me!</strong></h2>
<p>I am <strong>Tatev</strong>, Senior Machine Learning and AI Researcher. I have had the privilege of working in Data Science across numerous countries, including the US, UK, Canada, and the Netherlands.</p>
<p>With an MSc and BSc in Econometrics under my belt, my journey in Machine and AI has been nothing short of incredible. Drawing from my technical studies during my Bachelors &amp; Masters, along with over 5 years of hands-on experience in the Data Science Industry, in Machine Learning and AI, I've gathered this high-level summary of ML topics to share with you.</p>
<h2 id="heading-become-job-ready-data-scientist-with-lunartech"><strong>Become Job Ready Data Scientist with LunarTech</strong></h2>
<p>If you’re keen to dive even deeper and structured learning is your style, consider joining us at <a target="_blank" href="https://lunartech.ai/">LunarTech</a>. You can become a job ready data scientist with <a target="_blank" href="https://lunartech.ai/course-overview/">The Ultimate Data Science Bootcamp</a> which has earned the recognition of being one of the <a target="_blank" href="https://www.itpro.com/business-strategy/careers-training/358100/best-data-science-boot-camps">Best Data Science Bootcamps of 2023</a>, and has been featured in esteemed publications like <a target="_blank" href="https://www.forbes.com.au/brand-voice/uncategorized/not-just-for-tech-giants-heres-how-lunartech-revolutionizes-data-science-and-ai-learning/">Forbes</a>, <a target="_blank" href="https://finance.yahoo.com/news/lunartech-launches-game-changing-data-115200373.html?guccounter=1&amp;guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&amp;guce_referrer_sig=AQAAAAM3JyjdXmhpYs1lerU37d64maNoXftMA6BYjYC1lJM8nVa_8ZwTzh43oyA6Iz0DfqLtjVHnknO0Zb8QTLIiHuwKzQZoodeM85hkI39fta3SX8qauBUsNw97AeiBDR09BUDAkeVQh6eyvmNLAGblVj3GSf1iCo81bwHQxknmhgng#">Yahoo</a>, <a target="_blank" href="https://www.entrepreneur.com/ka/business-news/outpacing-competition-how-lunartech-is-redefining-the/463038">Entrepreneur</a> and more.</p>
<p>This is your chance to be a part of a community that thrives on innovation and knowledge. You can enroll in the free trial <a target="_blank" href="https://courses.lunartech.ai/enroll/2519456?price_id=3321299">here</a>.</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/CqWnbU9eTQI" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<p> </p>
<h2 id="heading-connect-with-me"><strong>Connect with Me</strong></h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/10/Screenshot-2023-10-23-at-6.59.27-PM.png" alt="Screenshot-2023-10-23-at-6.59.27-PM" width="600" height="400" loading="lazy"></p>
<p><em>Image Source: [LunarTech](https://lunartech.ai" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; font-size: 17.6px; vertical-align: baseline; background-color: transparent; color: var(--gray90); text-decoration: underline; cursor: pointer; word-break: break-word;)</em></p>
<ul>
<li><p><a target="_blank" href="https://www.linkedin.com/in/tatev-karen-aslanyan/">Follow me on LinkedIn for a ton of Free Resources in ML and AI</a></p>
</li>
<li><p><a target="_blank" href="https://tatevaslanyan.com/">Visit my Personal Website</a></p>
</li>
<li><p>Subscribe to my <a target="_blank" href="https://tatevaslanyan.substack.com/">The Data Science and AI Newsletter</a></p>
</li>
</ul>
<p>Thank you for choosing this guide as your learning companion. As you continue to explore the vast field of machine learning, I hope you do so with confidence, precision, and an innovative spirit. Best wishes in all your future endeavors!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How I landed offers from Microsoft, Amazon, and Twitter without an Ivy League degree ]]>
                </title>
                <description>
                    <![CDATA[ By Zhia Chong This is for those of you out there who are about to start your job search and who may be worried that you can’t land a top-tier tech job without a Stanford CS degree. Someone told you that you’re not good enough to get a job at ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-i-landed-offers-from-microsoft-amazon-and-twitter-without-an-ivy-league-degree/</link>
                <guid isPermaLink="false">66d461c857503cc72873deea</guid>
                
                    <category>
                        <![CDATA[ Backend Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ career advice ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ careers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ coding ]]>
                    </category>
                
                    <category>
                        <![CDATA[ coding interview ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Facebook ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Google ]]>
                    </category>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Interviews ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Microsoft ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Twitter ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Sun, 23 Feb 2020 08:14:06 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/02/1_QuyFfwka5D5j7Z2IR4mcCQ.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Zhia Chong</p>
<p>This is for those of you out there who are about to start your job search and who may be worried that you can’t land a top-tier tech job without a Stanford CS degree. Someone told you that you’re not good enough to get a job at Microsoft or Facebook. </p>
<p>But I’m here to tell you that you can get that job. Here’s how I landed my dream job at Twitter.</p>
<p>Read more about my courses <a target="_blank" href="https://docs.google.com/document/d/1PeK69h4H82rwKjhactiE_sAIorCcZgXgXTY7k-nXpnE/edit?usp=sharing">here</a> to learn how I prepared.</p>
<p>You can read about my experiences after a year at Twitter <a target="_blank" href="https://www.freecodecamp.org/news/what-ive-learned-in-1-year-at-twitter-65150f5d4af2/">here</a>.</p>
<h3 id="heading-what-this-article-covers">What this article covers:</h3>
<ul>
<li>My background</li>
<li>How I landed interviews with top tech companies in the world: Facebook Google, Amazon, LinkedIn, Microsoft, Twitter, Pinterest, Snapchat, and others.</li>
<li>How I landed multiple offers as a full-time software engineer</li>
<li>Lessons from my interview experience</li>
<li>Subscribe <a target="_blank" href="http://eepurl.com/dnt9Sf">here</a> for more article updates from me</li>
</ul>
<p>If you prefer to watch my story instead, I made a video here:</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/83Reyvrs-VQ" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h2 id="heading-background">Background</h2>
<p>I did not graduate from an Ivy league school. I went to a community college in Idaho for two years, and then finished my CS degree at a small Catholic university.</p>
<p>I started learning computer science in my junior year of college, because it sounded fun to me at the time. The only thing resembling a computer I had growing up was a Chinese copycat of the Nintendo SNES. Even then, it would break every time I put a cartridge in it.</p>
<p>To support myself through college, I took multiple part-time jobs like cleaning floors and working stand-up concessions.</p>
<p>When I graduated, I didn’t have a job lined up. I applied to as many big tech companies as I could, and had the good fortune of landing a few phone interviews.</p>
<p>At this point, I didn’t have a single notion of what a technical screen would be like, much less how to prepare for it. I headed into these interviews thinking that the interviewer would ask me what a linked list or binary tree was.</p>
<p>I <strong>didn’t pass</strong> any of those interviews.</p>
<h2 id="heading-moving-forward">Moving forward</h2>
<p>I didn’t delve too much into whether I was good. I knew that I could learn things fast. I just needed an opportunity.</p>
<p>As the saying goes, cast your net far and wide. So that’s what I did.</p>
<p>What I did next is something I’m particularly proud of. I wrote a simple Python script that scraped job listings on Craigslist with titles containing keywords from a list, and collected the emails in a spreadsheet. For the actual war story, you can read the article <a target="_blank" href="https://www.freecodecamp.org/news/how-i-built-a-web-crawler-to-automate-my-job-search-f825fb5af718/">here</a>.</p>
<p>It wasn’t the smartest solution, but people who post on Craigslist are surprisingly accurate with their titles.</p>
<p>Craigslist, however, didn’t like people scraping their website. To work around this, I ran my script through a VPN, and had a timer that would pause the script every few minutes or so. It wasn’t perfect, but it worked well enough.</p>
<p>In the end I collected about 500 emails from around San Francisco, Portland, Spokane, and Seattle. I filtered the results by how specific and recent they were, and kept improving it by adding more and more features.</p>
<p>As it turned out, there were a few bots in the market already that crawled Craigslist and sent out automated emails. These were mostly offshore companies that were looking to pitch their company to the US market.</p>
<p>One of my workarounds was that I crafted emails that used keywords from their listings in the title of my emails. I then added more details using the body of the postings to make it seem more personable. I did a quick A/B test, and the replies I received had increased quite a bit from around 2–3% to 10%.</p>
<p>Out of the 500 or so emails, I received about 50 replies, and landed phone screens with a small percentage of those. I stopped at 500 because I was short on time and needed to finalize a job as soon as possible. I was optimizing for results rather than reach at that point.</p>
<p>As luck would have it, I finally landed a job at a startup in Seattle as a junior software engineer. The startup was located in Kirkland at the time, so I had to take a 45-min bus ride to make it in time for the interview.</p>
<p>I then stayed there for the next 3.5 years, where I learned a great deal of stuff like Amazon AWS, EC2, DynamoDB, SQS, and Docker. I grew a lot during this period. I learned how to write modular, maintainable code. I learned how to reason about software design. And I learned how to handle people problems.</p>
<p>I was working next to a group of smart people who held jobs at Microsoft, Amazon, and LinkedIn, and I tried to be the “sponge” in the group. I absorbed anything and everything they threw at me. I believe this made a huge impact in my career.</p>
<h2 id="heading-startup-days">Startup Days</h2>
<p>During my stint at the startup, I worked almost exclusively on backend development, with some dev-ops in between. I started out writing some functions to add/modify a feature that were mostly small in scope. But it was a great opportunity to understand the codebase and get some code reviews.</p>
<p>A year into it, I started owning parts of the codebase, and then I was tasked with turning a set of features into a service. That was the start of the SOA phase for the startup. We started turning various components of the site into services, and that’s how I started learning more about RESTful services, authentication, AWS services, pub-sub, distributed systems and so forth.</p>
<p>The interesting part here is that <em>I didn’t learn about any of these through books or formal education.</em> Rather, I needed to get that set of features done and there were the bottlenecks.</p>
<p>So I thought, let’s go solve it!</p>
<p>There were many times where I was stuck in analysis paralysis — a state where I over-analyzed scenarios and ended up not able to make progress.</p>
<p>Those trying times were the <strong>greatest</strong> learning opportunities. I started to learn feature scoping, negotiations, monitoring, alerting, and documentation. Each step of the process revealed more things I needed to learn. I grew the most during these 2–3 years, both as an individual and software engineer.</p>
<h2 id="heading-how-i-prepared-for-my-interviews">How I prepared for my interviews</h2>
<p>After suffering through my first job search, I told myself that I must be prepared in future interviews.</p>
<p>I started preparing for interviews by charting out an overview of what I was good at, bad at, and where I could improve. I broke it down into three categories: <strong>data structures, algorithms, and system design.</strong></p>
<p>Having worked in PHP for most of my professional career, and C++ in college, I wanted to try something a little simpler and less verbose for interviewing.</p>
<p>For this reason, I picked Python. It is a great language to learn, easy to pick up, supports many data structures out of the box, and can be written quickly on the whiteboard. I learned Python by going through YouTube tutorials like <a target="_blank" href="https://www.youtube.com/watch?v=Z1Yd7upQsXY">these</a>, and also reading their documentation. I prefer Python 2.x, but you can go for either 2.x or 3.</p>
<p>Also, another reason why I picked Python is that it’s highly readable and easy to write on a whiteboard. Here’s a trivial comparison between C++ and Python.</p>
<p>A C++ program to sort in descending order:</p>
<pre><code class="lang-c++"><span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">&lt;bits/stdc++.h&gt;</span></span>
<span class="hljs-keyword">using</span> <span class="hljs-keyword">namespace</span> <span class="hljs-built_in">std</span>; 
<span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{   
    <span class="hljs-keyword">int</span> arr[] = {<span class="hljs-number">1</span>,<span class="hljs-number">10</span>,<span class="hljs-number">0</span>,<span class="hljs-number">4</span>,<span class="hljs-number">5</span>};
    <span class="hljs-keyword">int</span> n = size(arr)/<span class="hljs-keyword">sizeof</span>(arr[<span class="hljs-number">0</span>]);   
    sort(arr, arr + n, greater&lt;<span class="hljs-keyword">int</span>&gt;());   
    <span class="hljs-keyword">for</span> (<span class="hljs-keyword">int</span> i = <span class="hljs-number">0</span>; i &lt; n; i++) {       
        <span class="hljs-built_in">cout</span> &lt;&lt; arr[i] &lt;&lt; <span class="hljs-string">" "</span>;   
    }    
    <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;
}
</code></pre>
<p>Compare that with Python’s version:</p>
<pre><code class="lang-py">a = [<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">4</span>,<span class="hljs-number">5</span>,<span class="hljs-number">1000</span>]
a.sort(reverse=<span class="hljs-literal">True</span>)
<span class="hljs-keyword">print</span> a
</code></pre>
<p>I’ve received feedback from interviewers to <strong>err on the side of brevity</strong> in an interview. In a 45-minute interview, you want to use most of your time solving the actual problem.</p>
<p>Pro tip: pick a language that’s less verbose so that you can write the code more quickly on the whiteboard.</p>
<h2 id="heading-preparation-mode">Preparation mode</h2>
<p>I spent about a week going through simple challenges on LeetCode, HackerRank, and Project Euler to familiarize myself with their interfaces, and to get used to writing code in Python.</p>
<p>The first week gave me insights into my competence level at certain programming languages. I spent another week going through some design challenges like “design X” and went as wide and deep as I could.</p>
<p>This was a lot of fun for me, because I often looked at iOS apps and tried to figure out how they did it. For example, how would you build Instagram from scratch? (I was asked this at Facebook.)</p>
<p>My background is in API designs and service-oriented architecture, so I took this opportunity to show how I would design my own version of Instagram. And because I have some iOS programming experience from my side-projects, I could talk a little bit about callbacks and push/long-polls here.</p>
<p>I started the conversation with some features I’d like to have on my own version of Instagram: likes, upload a photo, and a simple timeline. Feature scoping enabled me to build a very solid API because I know these scenarios well.</p>
<p>I then drew some pictures of a high-level design, of how the client would interact with the backend, and of how the backend would store the data.</p>
<p>I started small, and then added more components where needed and proactively sought where the bottlenecks were. I made educated guesses (read <strong>educated, not blind guesses</strong>) on what the requirements would be, and how each technology would fit in well. And also equally important, what technologies would <em>not fit well.</em></p>
<p>For example, why would you use Cassandra over MySQL to store certain information (hint: scale, speed of development, schema reviews), why use OAuth over simple authentication, Redis vs Memcached for caching data, streaming vs batch processing, and so on.</p>
<p>There are many areas you can explore here, so typically a one-hour session is not enough. To do well on these questions, you have to read and learn about trade-offs. Pros and cons of technologies in the industry. For this, I recommend a site like <a target="_blank" href="http://highscalability.com/all-time-favorites/">HighScalability</a>.</p>
<p>Take it like a typical brainstorming session with a coworker, so explore <em>as widely and as deeply</em> as you can.</p>
<p>It’s crucial to know that these design interviews are meant to explore how much you know and how well you know it, and it’s <strong>an opportunity for you to shine.</strong> I watched this YouTube <a target="_blank" href="https://www.youtube.com/watch?v=ZgdS0EUmn70">video</a> from an ex-Facebook engineer about how to solve design problems, and it gave me insights that helped me tremendously with my design interviews. My two main lessons from it: <strong>drive the design conversation,</strong> and <strong>show what you know</strong>.</p>
<p>I listed out my competency level for: <strong>data structures</strong> (linked list, hash map, binary tree, binary search tree, heap, array), <strong>algorithms</strong> (binary search, hashing, dynamic programming, sorting), and <strong>language-specific syntax and libraries</strong> (like sort, lambda for Python, appending, indexing).</p>
<p>I picked the area I was worst at, and started working on it: <strong>algorithms</strong>.</p>
<p>Algorithms have never been my forte. It’s been a while since my college days, and I didn’t spend much time doing binary search in my day-to-day career. I had an inkling of how each algorithm would perform, and in what scenarios to use them. But I wasn’t 100% comfortable with writing a binary search in under 10 mins. On a whiteboard. In front of an interviewer.</p>
<p>I also picked up a bunch of fine-point markers from <a target="_blank" href="https://www.amazon.com/86601-Low-Odor-Markers-Assorted-8-Count/dp/B000Z88D2E/ref=sr_1_3?ie=UTF8&amp;qid=1518801079&amp;sr=8-3&amp;keywords=white+board+pens">Amazon</a>, which work amazingly well. Perhaps it’s just me, but the fine-point markers in interviewing rooms usually don’t work at all. I’d usually scramble for 2–3 mins looking for a working pen, and that’s 2–3 mins you can’t afford to waste. Plus, fine-point markers allow you to write 5–8 more lines of code on a typical whiteboard vs. thicker ones. :)</p>
<p>Pro tip: Get your own set of fine-point markers.</p>
<p>I got a whiteboard from Costco for $50, some books from Amazon (listed in the tools I recommend section below), and started practicing. I made sure I ramped up on binary search, recursion, dynamic programming, BFS and DFS. A lot of interviewing questions revolved around recursion and binary search or some variations of it.</p>
<p>The best interviewing questions I’ve seen had many different solutions to them, and there’s an additional layer added on top as you progress through.</p>
<p>One Google question I had was related to file-system directories, and how to traverse them (hint: recursion). I solved that relatively quickly, and the interviewer asked how to identify a missing file in that directory. That was a little more difficult, but I got through it. And we then moved into how to rebuild the directory, how to serialize/deserialize it, and we spent a good chunk of time debating how file directories work underneath the hood. It was a very enjoyable session for me.</p>
<h2 id="heading-interviewing-at-top-tier-companies">Interviewing at top-tier companies</h2>
<p>It was a nerve-wracking experience, to say the least, and a real roller-coaster.</p>
<p>I allocated my time in the following manner: 20% resume, 20% research and 60% interview preparation.</p>
<p>I spent 20% of my time fixing up my resume, which hadn’t been updated in at least three years. I took a hard look at the stuff I’ve done in the past, and picked projects I handled end-to-end, <strong>regardless of complexity.</strong></p>
<p>The reason for doing this is two-fold. Taking a project from start to completion demands discipline and leadership — two of the traits I’d like to be identified with.</p>
<p>Secondly, ownership of a project end-to-end means I can talk about each aspect of the project <strong>at length and in depth.</strong> This proved critical in helping me navigate my design round at Twitter, where they grilled me hard on not only the designs of my projects, but also the decisions behind them.</p>
<p>20% of my time was used for research. Research in this case meant doing due diligence on companies I was interested in and reaching out for referrals. Having referrals helps with return calls.</p>
<p>From my experience, I sent out 20 or so cold messages to startups and mid-stage companies, and only heard back from a handful. But, almost all the companies I was referred to by an existing employee sent me a message within a week. This is anecdotal, but there’s value to be had there.</p>
<p>I am not that sociable, and I didn’t know many people who’d be able to refer me to a company I was interested in. To solve that problem, I went on LinkedIn. They have a search functionality that I used to search for 1st and 2nd-level connections. 2nd-level connections are people who’re one hop away from your immediate circle. In other words, we have mutual friends who can <strong>vouch for my credibility</strong>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/02/linkedin-search.png" alt="Image" width="600" height="400" loading="lazy">
<em>LinkedIn search</em></p>
<p>This is incredibly important, because cold-calling someone for a job is very, very hard, especially in today’s market. People tend to err on the side of caution when it comes to cold-callers. Using LinkedIn was super helpful for my research phase.</p>
<p>Looking back at all the companies I interviewed at, here are my thoughts on each of them:</p>
<ul>
<li><strong>Facebook/Google</strong> — very mechanical. The standard interviewing process, and I didn’t feel any personal connection to them.</li>
<li><strong>Pinterest</strong> — not the best interviewing experience, but a cool product and company.</li>
<li><strong>Microsoft</strong> — loved the team and especially the manager and her manager. Standard interviewing questions, but very personable. Close-second choice. Your mileage may vary, though — each team at Microsoft interviews differently.</li>
<li><strong>Amazon</strong> — standard interviewing process. About 50% of the people love it, the others don’t.</li>
<li><strong>Twitter</strong> — incredibly fun and personal. Loved the interviewing process, gave a lot of emphasis on the individual and what I’d done in the past.</li>
<li><strong>Snapchat</strong> — cool office in LA, great bunch of people who decided to jump on the startup bandwagon. Felt like things were shrouded under a cloud of secrecy.</li>
<li><strong>Lyft</strong> — near to where I live, nice office, standard interviewing process. No strong feelings about it.</li>
</ul>
<h2 id="heading-lets-talk-about-my-favorite">Let’s talk about my favorite</h2>
<p>In many ways, I’d say Twitter’s interviewing style was hard. But at the same time, it was more interesting and personable than other companies I’ve interviewed at.</p>
<p>Their interviewing process starts with an introductory phone call with an engineering manager. That’s followed up by one or two technical phone screens, depending on how you perform. If you do well, they’ll fly you out to the office you’re interviewing for, which was Seattle in my case. There are three 1-hour-and-15-minute rounds, each with two interviewers.</p>
<p>The first two technical phone screens are the standard, run-of-the-mill technical screens where you solve coding problems on a shared coding doc.</p>
<p>The onsite rounds, however, are much more conversational and feel much less intimidating. The interviewers will ask you in-depth questions about your past projects, and they’ll grill you on what you’ve done in the past. If you claim ownership of a project, you should expect some questions about it. You’re encouraged to use them for references and to bounce ideas off of.</p>
<p>I never felt any pressure to magically come up with a fully working solution, and it felt highly collaborative.</p>
<h2 id="heading-the-others">The others</h2>
<p>In comparison, interviewing at Facebook and Google felt much more mechanical. They have one or two technical phone screens, and five to six onsite coding rounds. Each round involves some coding on a whiteboard, and you’re expected to come up with a near-perfect solution in a reasonable amount of time.</p>
<p>Facebook has two coding rounds, one design round, and one behavioral round.</p>
<p>I went through an additional shadow round at the end of the day, which didn’t count towards my overall score.</p>
<p>Google had five coding rounds, none of which focused on designs, and not a single interviewer asked about my previous projects. I don’t necessarily think this is bad. But I think it felt very mechanical and didn’t give much opportunity for the engineer to show what they’re capable of. Some people do well in these scenarios, much like some students do well in exams.</p>
<p>I <strong>did not enjoy</strong> my interview with Pinterest. I think the product itself is interesting, and their engineering team seems to be working on very cool technical <a target="_blank" href="https://medium.com/@Pinterest_Engineering">problems</a>. But I definitely had a negative experience during my interview there.</p>
<p>Pinterest has three coding rounds and one design round. Of those four rounds, the design round was most disappointing to me. Here’s why:</p>
<p>The interviewer came in late, and he spent a few minutes glancing over my resume before proceeding to draw some APIs on the board. He gave a short description of what he expected the API to do, and asked how I would solve it. We clarified the features of the API, and I started describing my solution using the whiteboard. About 5 minutes into it, I turned around and <strong>saw him taking a nap!</strong></p>
<p>Not cool.</p>
<p>I gave the recruiter my feedback in a survey, and I didn’t hear back from them after that.</p>
<p>I won’t delve into specifics of the questions I was asked during all the interviews. Instead, I’ll share some of the insights and useful tips I learned from my preparation process.</p>
<h2 id="heading-what-i-learned">What I learned:</h2>
<ul>
<li>Be <strong>honest</strong> on your resume. Most companies <em>will</em> ask you questions about your resume, and they can tell if you made it up. It’s better to be able to know <strong>100% about one project than to know 10% about 10 different projects.</strong></li>
<li>One-page resumes are <strong>recommended</strong>. This is especially true for tech companies, and it seems that the wisdom within the tech sphere is that you should reserve two pages and longer for post-doctoral work, or if you’ve done a lot of projects that you know and care deeply about. A friend of mine runs a <a target="_blank" href="https://www.jobscan.co/">company called Jobscan</a> that scans resumes and makes <em>specific, actionable</em> improvements on them. They’re pretty awesome, so try them out :)</li>
<li><strong>Socialize and establish a network</strong>. There’s a lot of competition for software engineering jobs, and these top tech companies are filtering through thousands of resumes a day. Having a referral will help you get some eyes on your resume.</li>
<li><strong>Nail</strong> your pitch. Every company that’s interested in you wants to know why you’re interested in them. <strong>A bad answer</strong>: I just need a job right now to pay bills. <strong>A less-bad answer</strong>: I was browsing online and found you guys. Sounds like you’re working on interesting things. <strong>A good answer</strong>: I know you’re doing some interesting work in X to achieve Y. I’ve done some work in the past and here’s what I learned about A, B, C that might be related to X. I am passionate about Y because blah. (<em>Don’t</em> use this as a template. Instead, you should see the pattern here — do your research, use your background, and show the company why both of you would fit well together.)</li>
</ul>
<h2 id="heading-some-more-advice">Some more advice</h2>
<p>Technical interviews are incredibly difficult, and sometimes it’s a hit-or-miss. The best opportunities, however, are reserved for those <em>who are prepared.</em></p>
<ul>
<li><strong>Prepare early, prepare <em>well</em></strong>. Everyone knows that they should prepare for an interview, but most don’t know how to do it <em>well</em>. As with anything worth doing, it takes deliberate practice to do well at something. And deliberate practice means you need to have a system.</li>
<li><strong>Build a system</strong> to practice technical skills. I started by rating myself from 1–10 on how good I was, and worked on the ones I was worst at. I spent days on different types of questions until I fully mastered each concept. And I <strong>wrote notes daily on Evernote</strong>. I had a note that serves as a brain dump for all things programming. It is full of programming tips &amp; tricks, common errors and misconceptions, frameworks for solving specific types of questions, and much more.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/02/my-notebook.png" alt="Image" width="600" height="400" loading="lazy">
<em>My notebook</em></p>
<ul>
<li><strong>Keep a notebook</strong> of the things you’ve learned. I use both <a target="_blank" href="http://evernote.com">Evernote</a> and <a target="_blank" href="http://onenote.com">OneNote</a> to keep track of things. OneNote for technical stuff/code, because I like that I can easily format the note any way I like. I use Evernote for essays/thoughts. The image above shows a note I keep on architecture and system designs.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/02/evernote.png" alt="Image" width="600" height="400" loading="lazy">
<em>Evernote for thoughts/tips</em></p>
<ul>
<li><strong>Jot everything down</strong>, even if you don’t think you’ll use it. I tend to forget very easily, so anything that I learn I write it down, including shell commands. I read technical blogs from time-to-time, and if I find anything interesting I jot it down on Evernote right away. I’ll revise it every week or month and reorganize accordingly. This has helped me tremendously over my career.</li>
<li><strong>Get mock interviews</strong>. This was definitely very valuable and I highly advise it. I had mock interviews with friends and tried to practice as much as I could. If you can’t find friends to practice with, then I recommend Refdash, which is an Interview-As-A-Service. They have a group of interviewers who work at big tech companies like Google, Facebook, and Microsoft. These interviewers will assess you on your coding and design skills. The best part of it is they’ll give you a score at the end of it with specific actionable items on how to improve.</li>
<li>It’s <strong>OK to fail. I failed multiple interviews during this whole process.</strong> Sometimes you just have a bad day. It’s not the end of the world if you fail. Companies are biased towards saying no because it’s a lower risk for them. A false positive costs more than a false negative in the long run. The first few rejections definitely stung the most. I failed multiple phone screens when I first started interviewing, and my confidence level sunk. I had doubts in my mind about my abilities and started fearing that my skills weren’t relevant in today’s job market. However, I gave myself a tip: If you fail 10 times, then try 10 times more. <em>All you need is one success.</em> That reassurance gave me a lot of confidence to keep pushing through and when my first offer came through, the other offers came much more easily.</li>
</ul>
<p>It took me about <strong>2 months</strong> of deliberate practice and preparation for my interviews. I spent about <strong>20 hours/week, or 80 hours/month,</strong> learning and writing notes on top of a full time job.</p>
<p>To build up my resume, it took 3.5 years of focused, deliberate work. I intentionally picked things that were tough and icky so that I could learn more than anyone else. Even though I don’t have a brand name university or top-tier tech company on my resume, I made up for it with a clear, thorough understanding of the projects I worked on. And this was possible because I researched and wrote down notes of everything I learned, and have a system to review them.</p>
<p>Remember: the strong survives, the tough thrives.</p>
<p>TL;DR: Don’t give up, set yourself up for opportunities, practice a lot, and stay hopeful. Focus on the process, and take a disciplined, dedicated approach to the process.</p>
<h3 id="heading-tools-i-recommend">Tools I Recommend</h3>
<ul>
<li><a target="_blank" href="https://amzn.to/2I80wup">Designing Data-Intensive Applications</a>: Awesome book for learning about scaling distributed systems! Highly recommended.</li>
<li><a target="_blank" href="http://amzn.to/2Dcs6Qd">Elements of Programming Interviews</a>: Great for solving coding problems.</li>
<li><a target="_blank" href="http://amzn.to/2Hj91OH">Cracking The Coding Interview</a>: Great for covering foundational CS coding problems.</li>
<li><a target="_blank" href="https://www.dailycodingproblem.com/zhiachong">Daily Coding Problem.com</a>: This is a free-to-try website that offers free daily coding problems. You can sign up for interesting daily coding challenges, and you can pay for solutions if you want.</li>
<li><a target="_blank" href="https://db.tt/tdUSP79S">Dropbox</a>: I keep all my files, pictures, resume here. Easy access, installed once and available everywhere. Love it ❤️ (If you sign up thru this link, both of us will get free 500MB!</li>
<li><a target="_blank" href="https://coderunnerapp.com/">CodeRunner</a>: I love this Mac app! I used this multiple times to run ad-hoc Python scripts/functions and it just works amazingly well. ?</li>
<li><a target="_blank" href="https://amzn.to/2D8FUxS">Kafka the Guide</a>: I used this book as a reference guide, and enjoyed it for the high-level description.</li>
</ul>
<p>(I share more resources I personally have used and recommend on <a target="_blank" href="http://zhiachong.com/resources">zhiachong.com</a>, if you’re interested in learning more.)</p>
<p>Thanks for reading my story! You can find me on <a target="_blank" href="https://twitter.com/zhiachong">Twitter</a> and <a target="_blank" href="https://www.linkedin.com/in/zhiachong/">LinkedIn</a>. I would love to connect and talk more about tech, startups, travel :D</p>
<p><strong>Credits:</strong></p>
<p><a target="_blank" href="https://twitter.com/hakczar">Brandon O’brien</a>, my mentor and good friend, for proof-reading and providing valuable feedback on how to improve this article.</p>
<p><a target="_blank" href="https://medium.com/@yksugi">YK Sugishita</a>, an up-and-coming Youtube star who left his job at Google to pursue his dreams, for proof-reading and giving critical feedback.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Learn to Code and Get Your First Job ]]>
                </title>
                <description>
                    <![CDATA[ By Glyn Lewington How I Learned to Code and Got My First Job My coding journey began about two and a half years ago, and I started working my first full-time developer job recently (wooo!). This might seem like a long time for some of you, but I didn... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/learning-to-code-your-first-job/</link>
                <guid isPermaLink="false">66d45ede182810487e0ce18a</guid>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ job ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Job Change ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Job Hunting ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Job Interview ]]>
                    </category>
                
                    <category>
                        <![CDATA[ jobs ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learn to code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learning to code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ website development, ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 30 Oct 2019 10:02:15 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5f9c9fc0740569d1a4ca445a.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Glyn Lewington</p>
<h2 id="heading-how-i-learned-to-code-and-got-my-first-job">How I Learned to Code and Got My First Job</h2>
<p>My coding journey began about two and a half years ago, and I started working my first full-time developer job recently (wooo!). This might seem like a long time for some of you, but I didn't rush it and wasn't trying to find work until two months ago. Many people have done it more quickly and I was probably ready for a while. So I've decided to share my story, my resources, and what worked for me when learning web development.</p>
<h2 id="heading-how-i-got-interested-in-coding">How I got interested in coding</h2>
<p>I was living in Thailand, training and fighting Muay Thai while working about 10 hours a week as a social media manager. I wasn't really enjoying marketing as a career and it wasn't as flexible as I wished, since I needed to be active at certain hours of the day. </p>
<p>Luckily I had the time to learn something new. I'd looked at a few things online which sounded like good skills to have that were flexible and that could be done remotely. But it wasn't until I met a guy traveling through Vietnam, who was working as a web developer, that I was intrigued and started to play around a little bit with coding.</p>
<h2 id="heading-where-to-learn">Where To Learn?</h2>
<p>At first, I was jumping around trying out different sites such as Codecademy, freeCodeCamp, and others I can't recall. I never really got anywhere with these to start with but they got me interested. </p>
<p>After researching, I decided to take CS50 - Introduction To Computer Science, a famous Harvard course run by David Malan. It teaches the real basics of computer science such as data structures, algorithms, and the relevant workings of a computer. This is all done in C but the basics you learn and the confidence you build apply to every language.</p>
<p>Once I completed CS50 I started on freeCodeCamp. What I loved about freeCodeCamp most was the projects. They give you great ideas to practice and test your skills as you are learning. Once I got through the first couple of sections on HTML/CSS/JavaScript and onto more advanced topics, I didn't find the lessons thorough enough. So I ditched them for Udemy courses which went more in depth on a topic. Then I could go back and build the freeCodeCamp projects for practice.</p>
<p>I used this combination of Udemy and freeCodeCamp until I had a solid grasp of HTML, CSS, JavaScript, Node, React, and Redux. I also completed all of the projects on freeCodeCamp except for the data visualisation section using D3.js, as I didn't find this skill in demand when looking at jobs.</p>
<h2 id="heading-what-next">What Next?</h2>
<p>Although I was confident in these skills, I still hadn't gotten involved in open source except for a couple of tiny pull requests. I simply didn't know where to get started. Every time I looked at issues I couldn't see anything interesting. Or those that were interesting had already been claimed by someone else. </p>
<p>Eventually, I got involved with freeCodeCamp as a contributor. I would recommend just making a habit of checking the issues once a week or so to see if there's something that you want to help with. </p>
<p>Along with my work with open source, I also got an internship as a front-end developer focused on React. It wasn't the ideal internship but it was remote and I learned a lot by working on a codebase someone else had built. I was the only dev on the front-end. This presented it's own challenges, like being given a problem and being responsible for researching and solving it. In this time, I learned about and implemented internationalisation as well as React Native.</p>
<h2 id="heading-getting-the-job">Getting the Job</h2>
<p>I had a strong mix of skills, projects and experience to show off, my résumé in hand, and a <a target="_blank" href="https://glynlewington.com">portfolio site</a> promoting my work. I was ready!</p>
<p>Getting the job was mostly a game of patience. All together it took me 2 months of searching and applying every day to jobs. Most of the time I didn't hear back. I applied for a lot of jobs which were looking for mid level developers or more experience than I had, which didn't work out. Most of the jobs I found on job boards were advertised by recruiters and I found these the most fruitful. I often received a call and meeting with recruiters who were impressed by my résumé and skills and were looking for junior roles for me.</p>
<p>I was also attending meetups to network and look for jobs. I didn't find any roles directly, as the companies weren't looking for juniors. However, I did meet a recruiter at a React meetup whom I grabbed coffee with the next week. He had a role from a company that was open to juniors and this is where I ended up accepting a position.</p>
<p>The hiring process for this position consisted of a tech test (https://github.com/GlynL/tech-test-prendi), and then an interview where I was actually offered the job at the end. It's a great small company where I'm working with the senior developer and can bounce ideas and get help when I need it. It's a full-stack job, I get to use React daily, and I will get the chance to work with a lot of technologies as projects require them.</p>
<p>When I was interviewing, the thing that people appreciated most was that I had worked on a real application in an internship. Even if I could have done everything in a personal project it proved that I could work on a real world application with other people. I would certainly recommend seeking out internships as this will look great on your résumé and will be a talking point during interviews.</p>
<h2 id="heading-what-would-i-do-differently">What would I do differently?</h2>
<p>If I were to do it all over again, there's a couple of things I would do differently. </p>
<p>For starters, I would get more involved with open source projects much earlier on. There's always something you can contribute to a project even if you are still learning HTML and CSS. You may have to be more particular about the issues you pick up but you can definitely help! The skills you gain in navigating a large codebase and working with others are invaluable. And as you learn more you can pick more complex issues to match your skills.</p>
<p>Secondly, I would also start networking earlier as this might've led to securing internships and/or junior positions. If people know you are searching for an opportunity then they will think of you when they have something. Or it'll at least give you an advantage in the application process as they will know who you are and that you have a genuine interest in the field.</p>
<p>Please feel free to let me know if you have any questions or would like me to elaborate on any of the points. I'd be happy to help!</p>
<p>You can contact and connect with me on Twitter <a target="_blank" href="https://twitter.com/GlynWebDev">@glynwebdev</a>.  </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to find a Software Developer Internship as a student ]]>
                </title>
                <description>
                    <![CDATA[ By Grazietta Hof Side note: Although this article is directed at students (because I am one so I can easily relate), I’m sure a lot of these tips can still be helpful for people that are not students and are looking for a software developer internsh... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-find-a-software-developer-internship-as-a-student-663836bd7e92/</link>
                <guid isPermaLink="false">66c351f1bc39b1419091be3f</guid>
                
                    <category>
                        <![CDATA[ coding ]]>
                    </category>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Thu, 31 Jan 2019 20:28:28 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*CarqHUfn4kFuHgMtDC8URA.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Grazietta Hof</p>
<blockquote>
<p><strong>Side note:</strong> Although this article is directed at students (because I am one so I can easily relate), I’m sure a lot of these tips can still be helpful for people that are not students and are looking for a software developer internship.</p>
</blockquote>
<p>As my last internship comes to a close, I’ve reflected a lot on what I would have done differently when searching for internships. I’m going to tell you everything I know, but first I need to give a bit of background about myself.</p>
<p>Around two and a half years ago, I officially decided to change my major to Computing Science. Around that time I also had to start looking for internships. Coming from a Statistics background I was clueless about the tech industry but finally found an internship as a QA developer.</p>
<p>Here is the first lesson I learned - you don’t have to accept the first job offer you get. It was my first ever interview too! It wouldn’t have hurt to wait a couple of months to find an internship I was excited about. But to be honest, I was inexperienced and just really wanted a job in the field.</p>
<p>I didn’t really enjoy the work I was doing as a QA developer intern. It just wasn’t for me. But during that time, I did realize that I wanted to a be a software developer, and started to understand the tech job market a bit more and how to build an attractive portfolio.</p>
<p>So even though I now have the privilege of working as a software developer intern at a company I feel passionate about, I can’t help but wish I knew the things I know now from the start (I know, right - wishful thinking).</p>
<p>That’s why I’m writing this article to help other people find a kickass first internship. ?</p>
<p>So here’s my advice ?</p>
<h4 id="heading-1-dont-worry-if-it-takes-a-long-time-to-get-your-first-internship-as-a-software-developer">1. Don’t worry if it takes a long time to get your first internship as a software developer</h4>
<p>I’ve witnessed many students apply for internships for over eight months with no job offer. And I’ve seen their confidence crumble and them being harsh on themselves, but I think having a hard time finding your first internship is a pretty normal experience especially for students that haven’t taken any upper-level courses yet. So don’t stress.</p>
<p>I can gladly say that my friends who struggled to find internships at first have found internships at great places. Also, many companies look for students that have about a year left of school. They have more experience, and the company can more easily offer them a full-time position for when they graduate. This plays a huge factor in why a lot of people who apply in second year struggle to get jobs.</p>
<h4 id="heading-2-personal-projects-are-just-as-important-maybe-even-more-as-your-gpa">2. Personal Projects are just as important (maybe even more) as your GPA</h4>
<p>My whole life I’ve been very focused on school, believing that my grades were going to make me successful, and give me the life I want and that bad grades would destroy me. But now that I think back, I could have cared a little less about school, and focused on things like passion projects that would have made me a happier person. Besides, personal projects related to your field of study look great on resumes. It shows employers you are creative and have initiative.</p>
<p>When I finally let go of caring too much about my grades and started to focus more on my personal coding projects, I started to notice that my grades didn’t budge. I spent less time on school but I was doing equally as well. Probably because I wasn’t stressing so much about my performance, and could retain more information by being relaxed.</p>
<p>The personal projects I built have definitely helped me find the internship I have now. Employers don’t care so much about your grades as much as they do about your software development skills. Unless you’re planning on going to a top tier grad school, grades don’t matter that much in the tech industry.</p>
<p>So if you worry a lot about school like me, my advice would be to worry less, and get your hands dirty building software.</p>
<h4 id="heading-3-keep-testing-the-market-always-apply-even-if-youre-not-looking-for-a-job-right-now">3. Keep testing the market - always apply even if you’re not looking for a job right now</h4>
<p>Always apply to internships when you can. Popular companies like Microsoft give out internships a year in advance, so even if you’re not currently looking for a position - just apply. Worst case scenario you get more interview practice. Applying to jobs often also helps you to ‘test the market’. What this means is that you find where you stand in terms of your competition. Getting no interviews? Work a little harder. Build another project. Then come back, and apply again.</p>
<h4 id="heading-4-try-to-do-research-on-the-workplace-culture-before-accepting-a-job">4. Try to do research on the workplace culture before accepting a job</h4>
<p>I learned this the hard way. But this is especially important for underrepresented minorities. Some tech companies can be uncomfortable to work at when you are a minority. Ending up at a workplace like this can be soul-sucking, and deter you from tech completely. So do your research. Ask around if someone in your network has worked at the company and if so, how their experience was.</p>
<h4 id="heading-5-aim-high">5. Aim high</h4>
<p>Up until a year ago, I didn’t believe I could ever get a job at Google or Microsoft because I thought I would never be good enough. Those companies are for geniuses who have been coding their whole life, I thought. Now I know that’s not true.</p>
<p>Companies look for good developers but also for people with good soft skills that can bring a fresh perspective to a team. So if you work hard, have experience working on personal projects, and a decent GPA (not a big requirement but it helps your case), and prep well for interviews - you definitely have a chance with Google, and you <strong>should</strong> apply.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How Mozilla takes care of Firefox’s health — and what you can learn from it ]]>
                </title>
                <description>
                    <![CDATA[ By Syeda Aimen Batool Currently, I’m working on a Firefox health dashboard as a part of my Outreachy internship with Mozilla. And here are the major goals we intend to achieve during the internship. Add new features to the graphical presentation of ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/here-is-how-we-take-care-of-firefox-health-at-mozilla-8f7f9b085955/</link>
                <guid isPermaLink="false">66c34c58a7aea9fc97bdfb48</guid>
                
                    <category>
                        <![CDATA[ Firefox ]]>
                    </category>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Mozilla ]]>
                    </category>
                
                    <category>
                        <![CDATA[ open source ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Thu, 24 Jan 2019 21:55:03 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*3orZX4NPEQbwNxUgz7Wm4Q.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Syeda Aimen Batool</p>
<p>Currently, I’m working on a <a target="_blank" href="https://github.com/mozilla-frontend-infra/firefox-health-dashboard">Firefox health dashboard</a> as a part of my <a target="_blank" href="https://medium.freecodecamp.org/how-i-got-a-remote-paid-internship-at-mozilla-through-outreachy-60958fe9264a">Outreachy internship with Mozilla</a>. And here are the <a target="_blank" href="https://github.com/mozilla-frontend-infra/firefox-health-dashboard/projects/2">major goals</a> we intend to achieve during the internship.</p>
<ul>
<li>Add new features to the graphical presentation of performance data</li>
<li>Transfer existing JS Team (Firefox Performance) dashboard to the health dashboard</li>
<li>Enhance existing information on charts and fix some bugs</li>
</ul>
<p>The main purpose of this post is to explain the project to someone who is not in the community and not familiar with the stuff we are doing at Mozilla. The intention is to help newbies and other contributors to understand the dashboard so they can contribute to this opensource project with more sense of what is going on inside.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/Amkrf0TIX5AYgBBaD9bSbFGQg0eL7mVGCdrr" alt="Image" width="800" height="502" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/photos/0-SGyQFiDRI?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="_blank" title=""&gt;rawpixel on &lt;a href="https://unsplash.com/search/photos/health?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="<em>blank" title=")</em></p>
<h3 id="heading-what-is-firefox-health-dashboard">What is Firefox Health Dashboard?</h3>
<p>Firefox health is a project to create dashboards for project managers and engineers. It displays Firefox matrics and insights to help meet release criteria. It allows including data/metrics from Mozilla’s issue tracker (Bugzilla), performance data (Perfherder), product metrics (Telemetry) and few more sources. All data is displayed in the form of graphs using an open source graphing library ChartJS to display insights against different dates and platforms.</p>
<p>It was previously known as Platform Health. It was <a target="_blank" href="https://github.com/mozilla-frontend-infra/firefox-health-dashboard/issues/29">refactored in Jan 2018</a> as Firefox Health Dashboard. One of the major changes in this refactorization was to separate backend from the front-end. This improved code maintainability.</p>
<h4 id="heading-technologies">Technologies:</h4>
<p>The <a target="_blank" href="https://github.com/mozilla/firefox-health-backend">backend</a> is written using NodeJS and Koa. The <a target="_blank" href="https://github.com/mozilla-frontend-infra/firefox-health-dashboard">front-end</a> is built using ReactJS along with an open source graphing library ChartJS. Some of the data is coming from different hosts through different libraries. For example, perf-google is querying Mozilla’s Perfherder for performance data. Information about the reported bug is coming from Bugzilla. So if you are planning to contribute sometime in the future, you need to have an understanding of the technologies mentioned above.</p>
<p>This dashboard caters to performance of different Firefox versions and devices. But today we are going to talk about <a target="_blank" href="https://health.graphics/android">Firefox android</a> and how engineers at Mozilla take care of its performance.</p>
<h3 id="heading-datametrics-for-firefox-android">Data/metrics for Firefox android</h3>
<p>Currently, data for Firefox android is coming from different sources. We display the data in the form of graphs for better understanding and analysis. You can see all insights to <a target="_blank" href="https://health.graphics/android">Firefox android on the health dashboard</a>. Here are some sources and information about Firefox android to help engineers improve the performance of the browser.</p>
<h4 id="heading-bugzilla">Bugzilla:</h4>
<p>Developed by Mozilla, Bugzilla is a free, open-source tool for tracking bugs, issues and change requests in large complex applications. It is used by thousands of organizations to keep track of their product performance. We are using it in the Health Dashboard to keep an eye on the bugs popping up in Firefox Android.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/dKEOkAJGbvDDvS3M-pUPMS8GvHtasek7oJ1D" alt="Image" width="800" height="350" loading="lazy">
<em>A graph displaying bugs from Bugzilla</em></p>
<p>As mentioned above, we are using ChartJS to display data. Here we have a graph representing the number of bugs reported on different dates for Firefox Android at Bugzilla. Bugs with P1 label have the highest priority. They need to be fixed as soon as possible. Then comes P2 bugs with the 2nd highest priority. P3 level bugs are with lowest priority and engineers can fix them whenever they have time. This helps developers and product managers to review bugs of different priorities more effectively and solve them according to the priority.</p>
<h4 id="heading-nimbledroid">NimbleDroid:</h4>
<p>We are using a third party service called NimbleDroid to get some data insights after running the tests against Firefox Android. NimbleDroid is a functional performance testing service for android and IOS devices.</p>
<blockquote>
<p>Monitor every critical user flow for every build of your mobile app. Pinpoint issues that degrade user experience early in the dev cycle. Seamlessly integrate with your CI workflow. — Official Site</p>
</blockquote>
<p><img src="https://cdn-media-1.freecodecamp.org/images/QtqHkLwQwTP0szF2tkiNZyvA-HWLQ1Sl7jkP" alt="Image" width="800" height="471" loading="lazy">
<em>Showing data insights given by Nimbledroid</em></p>
<h4 id="heading-telemetry">Telemetry:</h4>
<p>Telemetry is a tool that has the capability to provide performance and usage information to Mozilla to help engineers and decision makers to measure the performance of Firefox in the real world. It has the ability to collect performance, hardware, usage, customization, and other non-personal information from the user of Firefox and send it to Mozilla on daily bases to help engineers improve the quality and efficiency of the browser.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/xshtOGlnr9LFHhteDt7yxJFkOif5bD80akVO" alt="Image" width="800" height="305" loading="lazy">
<em>Telemetry graph view</em></p>
<p>For an Android device, the browser measures the time taken by it to load a content page on a device and reports it back through Telemetry. We then display it in graphical form. For instance, the screenshot says 75% of the users reported a total content page load time of 4.9 seconds on Sep 19, 2018. And this data is gathered from different devices from different users. This helps the engineers to keep an eye on loading time of the browser to improve its speed and make it more efficient.</p>
<h4 id="heading-perfherder">Perfherder:</h4>
<p>Perfherder is a system to help engineers visualize and analyze the performance data produced by the many automated tests run against Mozilla products such as Firefox or Firefox Android. Perfherder is a part of Treeherder project. It is another dashboard for check-ins to Mozilla’s projects. The main goal of this tool is to make sure that the performance of the Firefox gets better over the time. It assists developers in the understanding of their changes and potential fixes by reporting regressions.</p>
<p>In the coming articles, we will talk about Firefox Quantum and JS team dashboard. We will see how these tools are working to improve the performance of the Firefox browser.</p>
<h4 id="heading-contribution-guide">Contribution guide:</h4>
<p>If you care about the health of Firefox or interested in contributing to the project, then here is the way.</p>
<ul>
<li>Clone and set up the <a target="_blank" href="https://github.com/mozilla-frontend-infra/firefox-health-dashboard">project</a> on your local machine</li>
<li>Follow the <a target="_blank" href="https://github.com/mozilla-frontend-infra/firefox-health-dashboard#firefox-health-dashboard">readme</a></li>
<li>And start with <a target="_blank" href="https://github.com/mozilla-frontend-infra/firefox-health-dashboard/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22">good-first-issues</a> if you are finding it overwhelming to start</li>
</ul>
<p>Stay tuned to know more about the awesomeness we are doing at Mozilla.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to be The Superstar Intern You Know You Are ]]>
                </title>
                <description>
                    <![CDATA[ By Maple Ong Curb the Impostor Syndrome and get prepared for your upcoming Software Engineering Internship _Photo by [Unsplash](https://unsplash.com/photos/Hcfwew744z4?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-be-the-superstar-intern-you-know-you-are-54eb0372b5e5/</link>
                <guid isPermaLink="false">66c34f1fa7aea9fc97bdfb7a</guid>
                
                    <category>
                        <![CDATA[ College ]]>
                    </category>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 21 Jan 2019 16:40:58 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/0*GPNSIPFmDzmkwhka" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Maple Ong</p>
<h4 id="heading-curb-the-impostor-syndrome-and-get-prepared-for-your-upcoming-software-engineering-internship">Curb the Impostor Syndrome and get prepared for your upcoming Software Engineering Internship</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/BrkgNFuRUfQsU9-67MkelVZAur9hVwFYY2ka" alt="Image" width="800" height="533" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/photos/Hcfwew744z4?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="_blank" title=""&gt;Christin Hume on &lt;a href="https://unsplash.com/search/photos/study?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="<em>blank" title=")</em></p>
<p>I am a self-taught developer with a degree in Health Studies. Naturally, most of what I know about industry-level software development came from my internships.</p>
<p>I currently have two internship experiences and I am now at my last internship at Shopify. I have received return offers from both of the companies I have previously worked at.</p>
<p>You can bet that making the best out of an internship is on my home turf.</p>
<p>Most interns feel inadequate, especially if it is their first internship ever. Don’t fret, hopefully this will be a helpful guide for the journey through your internship.</p>
<p>As a Software Engineering Intern, you are getting paid to learn new technology. No one has the expectation for you to be proficient from day one. Companies are taking a chance on you to find out if you would be a good fit as a full-time hire.</p>
<p>The way you can stand out at your company is to have impact on the work you do, make meaningful connections and grow your skills. Above all else, enjoy your time learning and code away!</p>
<h3 id="heading-impact"><strong>Impact</strong></h3>
<p>Depending on the company you work at, you may be assigned work that would otherwise be assigned to a full-time software engineer. This is a great opportunity to make important decisions and in turn, have some sort of (hopefully, positive) impact on the team or project. But, you may also be tasked to fix bugs that are long due.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/i1V64icD6o3RmalF4Do0Qx6AgnbN8Z5Ged20" alt="Image" width="500" height="355" loading="lazy">
<em>Credits: QuickMeme.com</em></p>
<p>If you are fixing bugs, you better make darn sure that there are no bugs left when you’re finished. If you are building an experimental project, build it for the long term.</p>
<p>Regardless of the work assigned, you want to maximize the impact you make on your team and project. As always, there is more than one way to make an impact. You could share your ideas in team meetings or take the initiative to learn something out of your scope to contribute to your projects.</p>
<p>If you’re having any doubts on how much work you feel like you are contributing, don’t hesitate to bring it up with your mentor or manager.</p>
<p>Having an impact on your team and project is one of the biggest factors that affect your internship and how you can shine as an intern. This is especially true if you want the opportunity to work at the company full time.</p>
<h3 id="heading-one-on-one-time"><strong>One-on-One Time</strong></h3>
<p>As a Software Engineering Intern, you will likely have a mentor, a manager, or both — and you will also be having one-on-one meetings with them.</p>
<p>One-on-one meetings (sometimes called sync-ups) with your mentor are valuable opportunities.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/HwyAFRaB6HD8a4lxgQfdW6eHWJNdUZGLVgnC" alt="Image" width="800" height="533" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/photos/IgUR1iX0mqM?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="_blank" title=""&gt;NESA by Makers on &lt;a href="https://unsplash.com/search/photos/code%2C-girl?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="<em>blank" title=")</em></p>
<p>It is time you can use to ask your mentor, someone with experience working in the field, anything you please. Typically, this is also the time you can talk about any blockers you may be having, any issues you may be experiencing in your day-to-day, or just anything interesting you learned.</p>
<p>I have had the pleasure of being mentored by thoughtful and smart engineers, which made me look forward to my one-on-one time with them. In our meetings, I was able to talk to them about my goals, set any expectations (for both parties), and get to know them better on a professional and personal level.</p>
<p>Don’t take your one-on-one time for granted!</p>
<h3 id="heading-get-to-know-your-team">Get to Know Your Team</h3>
<p>Aside from that, it is important to make connections with your co-workers as well. They can give you a good idea of how it’s like to work at the company full-time. Also, they are a good resource outside of your mentor and manager for work-related questions.​</p>
<p>I found that having a strong relationship with my coworkers made me feel happier going to work every day. It also increased my work satisfaction.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/P8GTu1D8BE6WNnWgLyBIRNpWN9bfdnouUfqy" alt="Image" width="599" height="392" loading="lazy">
_Credits: [startupPong](https://startupheretoronto.com/sectors/technology/startupong-wants-torontos-tech-community-to-give-back-with-ping-pong/" rel="noopener" target="<em>blank" title=") — A ping-pong tournament for startups in Toronto</em></p>
<p>Although it may seem intimidating to approach full-time coworkers, people tend to be inclusive regardless of whether or not you are an intern. A great way to get to know people is to show up to social events outside of work, like board game night or the company’s indoor soccer team playoffs.</p>
<p>Another tip in making connections is to ask questions to learn more about what their role is in the company. People will feel more comfortable answering specific questions about their role and chatting about how their day to day would look like.</p>
<p>This is especially useful if you want to gain a better understanding of how the tech stack at your company works. Which, by the way, will be helpful in gaining more insight for the systems design portion in your full-time software engineering interview.</p>
<h3 id="heading-the-growth-mindset"><strong>The Growth Mindset</strong></h3>
<blockquote>
<p>“In a growth mindset, people believe that their most basic abilities can be developed through <strong>dedication and hard work</strong> — brains and talent are just the starting point. This view creates a love of learning and a resilience that is essential for great accomplishment.” — Carol Dweck on <a target="_blank" href="https://mindsetonline.com/whatisit/about/index.html">Mindset</a></p>
</blockquote>
<p>Technical growth is a factor that is proportional to the impact you have on your team and project. However, you could be making some level of impact and not be growing as a software developer because you aren’t absorbing anything new.</p>
<p>With that said, I find that asking myself, “What can I learn next?” or “Where else can I apply this knowledge?” can show me what I need to do to keep taking my technical skills to the next level. The simple act of asking questions and learning continuously will be beneficial to your growth.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/q1gLb00rAPEjIgf3D0UVAxLTs2pmzEH4mPfS" alt="Image" width="800" height="533" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/photos/MdexOj4D-MU?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="_blank" title=""&gt;Stanislav Kondratiev on &lt;a href="https://unsplash.com/search/photos/growth?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="<em>blank" title=")</em></p>
<h3 id="heading-learn-efficiently"><strong>Learn Efficiently</strong></h3>
<p>Science says that learning styles, despite being around since the 1950s, are a <a target="_blank" href="https://www.businessinsider.com/auditory-visual-kinesthetic-learning-styles-arent-real-2018-2">myth</a>. However, expanding your knowledge and learning efficiently is a productive habit to have — especially as an intern. So how can we learn more efficiently?</p>
<p>One of the first things I noticed about my learning style during my first software engineering internship was that I preferred <em>watching</em> a tutorial video to <em>reading</em> a tutorial. My mind gets easily distracted when I try to read a tutorial and then implement something.</p>
<p>On the other hand, I also enjoy reading articles that are written by experts in fields I am unfamiliar with. Unlike in tutorial-focused articles, general articles provide a different level of detail and examples that cannot fit into a 3-minute video.</p>
<p>Fortunately, the internet is overflowing with well-written articles. A quick Google search on a topic of your interest would prove this point.</p>
<p>To learn more efficiently, it is best to focus on the medium you enjoy the most. Perhaps your favorite YouTuber covered a topic you are unfamiliar with. Or a famous CEO wrote an article on that new technology you are curious about. Be open and explore new ways to learn and stick with it.</p>
<p>The key is to self-reflect and learn more about how you absorb information. Don’t be afraid to change things up if you find that reading boring API documentation makes you want to rip your hair out.</p>
<h3 id="heading-ask-good-questions"><strong>Ask Good Questions</strong></h3>
<p>People say there are no dumb questions, but for goodness sake — don’t ask your mentor something trivial you can solve with a quick Google search.</p>
<p>Make sure you try to understand and solve the issue to the best of your ability before reaching out for help. There should be a balance between asking for a spoon feed versus having a discussion on the issue.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/bpOJcjbglN6hni4ZkttlMO9NCU8ofLfjs3Wa" alt="Image" width="800" height="533" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/photos/komOcyIICoA?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="_blank" title=""&gt;rawpixel on &lt;a href="https://unsplash.com/search/photos/talking%2C-computer?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="<em>blank" title=")</em></p>
<p>Which brings me to my next point: you should always be ready to discuss your thoughts and ideas. Don’t just ask for the answer, show that you have done some thinking and research! After all, you want to use some of your brain power to do the solving.</p>
<p>Regardless of your technical skill level, the effort you put into your internship will be proportional to what you get out of it.</p>
<p>Stay positive and keep learning — your time as an intern will just fly by.</p>
<h3 id="heading-action-items">? Action Items:</h3>
<ul>
<li>Set expectations with your mentor/lead for the term: What is your goal for this internship? How can we achieve that together?</li>
<li>Speak up in meetings, don’t be afraid to contribute!</li>
<li>Ask for constructive feedback on both your soft and hard skills</li>
<li>Ask someone on your team to go on a coffee run</li>
<li>Take part in a non-work social event for fun</li>
<li>Find and connect with your coworkers on LinkedIn</li>
<li>Listen to a technical podcast that interests you! I highly recommend <a target="_blank" href="https://softwareengineeringdaily.com/">Software Engineering Daily</a>.</li>
<li>Talk to your mentor about what you have learned in the past week. How can you apply that knowledge on a project in the future? What would you like to learn next?</li>
</ul>
<p>You made it to the end of this article — thank you for reading! Please give it a clap if you liked it, and a comment ? if you have something to add.</p>
<p>Connect with me on <a target="_blank" href="https://www.linkedin.com/in/mapleong/">LinkedIn</a> and say “Hi!”</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How I’m working to overcome my struggles as a junior developer ]]>
                </title>
                <description>
                    <![CDATA[ By Syeda Aimen Batool I believe the other name for coding is the “struggle”. And if you are a beginner or a junior developer, this struggle often is multiplied by 100. Learning to code, finding the right resources, making a portfolio, hunting an inte... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-im-working-to-overcome-my-struggles-as-a-junior-developer-a6ab18ac29b2/</link>
                <guid isPermaLink="false">66c34e5c465d1b2f886ba3ff</guid>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Junior developer  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 09 Jan 2019 23:00:51 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*OQkzvkQ6BG0ncMxTcl_J4g.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Syeda Aimen Batool</p>
<p>I believe the other name for coding is the “struggle”. And if you are a beginner or a junior developer, this struggle often is multiplied by 100. Learning to code, finding the right resources, making a portfolio, hunting an internship or a junior dev job, and then working on a real-life project — everything can be a struggle.</p>
<p>But the good thing about struggling is that you learn and come out of your comfort zone to experience new things and implement new ideas, eventually polishing yourself to be a better version of you.</p>
<p>In the tech industry, there are a lot of success stories presenting a long journey of struggle and learning. Everything looks fascinating from the outside. Especially for junior developers, their senior colleagues and mentors are the best people who come up with great logic and astonish them with their amazing ways of writing code.</p>
<p>But when we get closer and see things clearly we realize that everyone has to face challenges, everyone gets stuck with bugs and errors. But through time and experience, we see that they just get stuck on bigger and complex challenges than we do.</p>
<p>Let me share my two favorite tweets from two people from whom I learned a lot. These tweets always make me smile and motivate me. I realize that perhaps we are all in the same boat and sharing the same vision for the same destination.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*ph8vWRYFMVSbyYvOCNGlWQ.png" alt="Image" width="800" height="448" loading="lazy">
<em>This is MPJ one of my favorite tech YouTubers</em></p>
<p>Life let me see this tweet at the time when I was a struggler and trying hard to get JavaScript into my brain. It was an awful concept a few months ago. And it took me around 10 months to learn, explore, implement things and finally getting <a target="_blank" href="https://medium.freecodecamp.org/how-i-got-a-remote-paid-internship-at-mozilla-through-outreachy-60958fe9264a">a remote paid internship</a>.</p>
<p>In the learning phase, I was always in search of appreciation and acknowledgment that I would ever become a good programmer. I wanted to know if programming was my thing or not, or if I would ever be able to write good logic and code as other great programmers do.</p>
<p>Getting stuck on small issues and not being able to fix things quickly used to make me flustered and frustrated. But seeing some top programming celebrities being honest and displaying to their followers that they are also not perfect helped me believe in myself.</p>
<p>And my second most favorite tweet during my time of struggle was from one of the finest developers and the author of the You Don’t know JS series, Kyle Simpson.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*o8DMwlwAYw5QcWbaT1r8RA.png" alt="Image" width="800" height="695" loading="lazy"></p>
<p>Haah! Feeling good? I’m not sure about you but this made me feel a bit more relaxed for some time at least.</p>
<p>After sharing my story of learning and not earning in <a target="_blank" href="https://medium.freecodecamp.org/how-i-got-a-remote-paid-internship-at-mozilla-through-outreachy-60958fe9264a">my previous article</a>, today I’m going to share another phase of my technical journey: after a long struggle of getting a job, struggling to survive in that job.</p>
<h4 id="heading-a-bit-of-recap">A bit of recap</h4>
<p>I recently started a remote internship at <a target="_blank" href="http://outreachy.org/">Outreachy</a>. I’m working with Mozilla on the Firefox health dashboard for the next three months. I realized that with learning and experience, my fears and insecurities about my career also changed. This article is part of my internship assignment — to write down the fears and challenges I faced during the first few weeks of the internship. I hope it helps newcomers and those junior developers who are struggling to get in the race or survive and lets them know that everyone struggles and it is necessary for learning.</p>
<p>I was excited and a bit nervous to start my first week at <a target="_blank" href="https://www.mozilla.org/en-US/">Mozilla</a> with everything ready the night before. but I didn’t see an unexpected thing coming: a nine hour long electricity shortage at my place. I was unable to communicate with the mentors and start anything at work.</p>
<p>Thankfully, it came back at 5pm and I had a very welcoming onboarding meeting with Outreachy fellows and the mentors from Mozilla. Things were quite interesting and new to me, like meeting people from around the world and communicating in English for almost an hour. I met my mentors Armen and Dustin for the first time, and it was good to see them. It felt totally different than emails and messages.</p>
<p>My mentors already had a <a target="_blank" href="https://github.com/mozilla-frontend-infra/firefox-health-dashboard/projects/2">trello like board</a> organized at GitHub with some issues placed according to their complexity. Starting the next day, I had to pick issues and start working on them. After starting to work on the issues I realized that the party has just begun. The previous struggles were just a trailer.</p>
<h3 id="heading-its-all-about-understanding-the-code">It’s all about understanding the code.</h3>
<p>My feelings while applying for the internship were totally different from the feelings when I started. Now the fears of not getting this opportunity got replaced with the fear of not doing well and ending up losing it.</p>
<p>And it was really hard when I was stuck with my first issue which was to customize the graphJS tooltip according to the requirements. At first, I thought I would be able to do it easily but it really gave me a tough time. I was unable to figure out the solution for two days.</p>
<p>I asked a couple of questions from the mentors and was trying my best to solve it. But for a moment, I believed that I wouldn’t be able to fix it and that was depressing.</p>
<p>At that time, my mentors didn’t pressure me. Instead, they gave me the confidence and the idea that it is totally okay to struggle with a new, large code base. Sometimes it takes time to understand things and the code written by others, so we shouldn’t be hard on ourselves. We need to take our time to grasp new things.</p>
<p>After realizing that I was struggling to understand the code base, with hundreds of functions and files, my mentor told me about the <a target="_blank" href="https://en.wikipedia.org/wiki/Rubber_duck_debugging">Rubber Duck Technique</a> and asked me to explain the code to the rubber duck. This would help me get a better understanding of the code and what was going inside.</p>
<blockquote>
<p>“It is okay to get stuck, we all get stuck with issues and errors. With the years of experience we get stuck less, but we still get stuck.” — <a target="_blank" href="https://www.freecodecamp.org/news/how-im-working-to-overcome-my-struggles-as-a-junior-developer-a6ab18ac29b2/undefined">Armen Zambrano</a></p>
</blockquote>
<h3 id="heading-so-here-are-my-findings">So here are my findings</h3>
<h4 id="heading-knowing-where-to-start-is-half-the-battle">Knowing where to start is half the battle</h4>
<p>Most of the time you know the solution, and maybe the logic, and how to implement it, but you don’t know WHERE TO BEGIN! With a lot of code files and functions, you get confused as to where this solution should be placed to work well. My mentor <a target="_blank" href="https://www.freecodecamp.org/news/how-im-working-to-overcome-my-struggles-as-a-junior-developer-a6ab18ac29b2/undefined">Dustin Mitchell</a> suggested that I use comments to understand the code and functions, in addition to my own technique to console.log(everything that comes in the way).</p>
<p>After the first issue, things went a little smoother but were still challenging. I got stuck again on a relatively complex issue and it took a few days to get fixed. But luckily, our mentors and people in opensource are kind enough to understand that we, the junior developers, sometimes struggle — and they don’t make us feel bad for this. We need more people like these in tech who are willing to help and mentor, who provide juniors with the best resources to learn and not to burn out.</p>
<h4 id="heading-merge-conflicts-hurt">Merge conflicts hurt!</h4>
<p>Ah!! If you are a beginner and new to opensource, I want to warn you about merge conflicts. It hurts badly when you don’t know to how to resolve them, you have spent hours on finding the solution of a problem and you end up losing your code in an attempt to fix the merge conflict.</p>
<p>I ran into some conflicts and I messed up with a few git commits. It was annoying and scary. But I wouldn’t have learned some new concepts in git merging, committing, and resolving conflicts if I hadn’t done this. Thanks to <a target="_blank" href="https://www.freecodecamp.org/news/how-im-working-to-overcome-my-struggles-as-a-junior-developer-a6ab18ac29b2/undefined">Sarah Clements</a> and <a target="_blank" href="https://www.freecodecamp.org/news/how-im-working-to-overcome-my-struggles-as-a-junior-developer-a6ab18ac29b2/undefined">Dustin Mitchell</a> for helping me get out of the merging trap.</p>
<h4 id="heading-recognizing-your-own-code-is-a-struggle">Recognizing your own code is a struggle</h4>
<p>This holds true for almost everyone, and it is really funny that even after a few days we fail to recognize our own code, written by our own hands. After solving a bug, I tried to solve a similar bug and went back to the previous one for reference. And I was like… how come I wrote this code and why the hell is it working?!</p>
<p>Working code can be as confusing as a non-working code. In most cases, the working code gives us a tougher time. And sometimes after coming back to old code, you rethink it and you can come up with a better solution. So you don’t need to worry or feel bad if you don’t understand your own code or others’ code. Maybe you are close to learning something new.</p>
<h3 id="heading-tell-me-how-to-survive">Tell me how to survive</h3>
<p>Based on my first few weeks as an intern, I have some suggestions for myself (and others) for the rest of the internship. And most of these suggestions are from my mentors and awesome people I met at <a target="_blank" href="https://www.freecodecamp.org/news/how-im-working-to-overcome-my-struggles-as-a-junior-developer-a6ab18ac29b2/undefined">Mozilla</a> during the internship. I am sharing them with you, so that maybe they can help you, too.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*OQkzvkQ6BG0ncMxTcl_J4g.jpeg" alt="Image" width="800" height="600" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/photos/6yGy5qBHTCY?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="_blank" title=""&gt;Darran Shen on &lt;a href="https://unsplash.com/search/photos/struggle?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="<em>blank" title=")</em></p>
<h4 id="heading-dont-take-things-personally-and-focus-on-learning">Don’t take things personally and focus on learning</h4>
<p>This suggestion is by <a target="_blank" href="http://sarah-clements.com">Sarah</a> and I second that. It is hard to not take things personally and feel insulted when a senior dev or mentor makes a correction or suggestion. It’s even harder when you’re working in open source and it’s in a public platform.</p>
<p>But I recommend that you focus on this point and have a learning attitude. You won’t be able to learn new concepts and good coding practices unless you have a humble and learning attitude. Put all your ego aside and focus on learning from the experience and knowledge of others.</p>
<h4 id="heading-absorb-the-maximum-amount-of-information-and-ask-about-new-things">Absorb the maximum amount of information and ask about new things</h4>
<p>Keep your eyes and ears open and try to absorb the maximum amount of information and have a thirst to learn new things. Don’t be afraid of trying new and different things which are not in your comfort zone. Sometimes we feel comfortable with our way of thinking and writing code but there are some good practices and design patterns we aren’t aware of. Try to learn as much as you can. This is only possible if you follow the advice mentioned in the first point.</p>
<h4 id="heading-do-your-homework-before-asking-questions">Do your homework before asking questions</h4>
<p>Asking questions is not a bad thing, and especially when you are stuck. But it is good practice to do your homework and due diligence first and come up with some valid questions or a solution. Then you can get a review from your mentor or seniors.</p>
<p>This will help you to figure out how to do things on your own. Your mentors will also not feel that you are not putting in the effort before asking. People in open source and in senior positions are often nice and willing to help you if you come up with a valid question.</p>
<h4 id="heading-do-not-compare-yourself-with-others">Do not compare yourself with others</h4>
<p>Do not keep comparing yourself with others. It will affect your performance and you will end up losing your confidence. Remember, every master was once a beginner. Everyone struggles, and even your seniors were also at your place in the beginning. They are familiar with the pain and the challenges a junior developer goes through. No one becomes a master just in one night — there is a process and everyone has to pass through the process. Wait for your time to come, and until then, work hard.</p>
<p>Remember, every junior developer is in the same boat you are — you are not an exception. What we study in college is very different from what we have to implement in real life, and we need to learn a lot of things to be a competent developer in the industry. And every senior has been at your place and is familiar with the pain you are in. You just need to focus and have a learning attitude to keep learning and keep growing.</p>
<p>I’m planning to share more things based on my experience and learning. This is the 2nd article of the series I am writing after <a target="_blank" href="https://medium.freecodecamp.org/how-i-got-a-remote-paid-internship-at-mozilla-through-outreachy-60958fe9264a">getting my remote, paid internship through Outreachy.</a></p>
<p>Feel free to share your thoughts <a target="_blank" href="https://twitter.com/AimenBatool">@aimenbatool</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How I got a remote, paid internship with Mozilla through Outreachy ]]>
                </title>
                <description>
                    <![CDATA[ By Syeda Aimen Batool I started learning JavaScript 10 months ago and the journey has been full of frustration, hope, and motivation. Before starting JavaScript, I thought I knew most of it — but I was wrong. There was a lot to learn, Vanilla JavaScr... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-i-got-a-remote-paid-internship-at-mozilla-through-outreachy-60958fe9264a/</link>
                <guid isPermaLink="false">66c34db7912fb29c4f156c03</guid>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ open source ]]>
                    </category>
                
                    <category>
                        <![CDATA[ outreachy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ remote-working ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 04 Dec 2018 22:16:26 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*MOR-y_bZJGpa3t58smMubg.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Syeda Aimen Batool</p>
<p>I started learning JavaScript 10 months ago and the journey has been full of frustration, hope, and motivation. Before starting JavaScript, I thought I knew most of it — but I was wrong. There was a lot to learn, Vanilla JavaScript, Node.js, React — and then making some dummy side project to apply the knowledge. And time was short because I wanted to learn and implement everything in just 2–3 months to start a job as soon as possible.</p>
<p>Being jobless and not having the skills you want to work with is the worst feeling ever. And you need great willpower and motivation to keep learning and keep going, staying hopeful for the future.</p>
<p>I started the <a target="_blank" href="https://freecodecamp.org">freeCodeCamp</a> curriculum along with a couple of other tutorials (I’ll share more about them in another post) to learn and polish my JavaScript skills. After grasping a good amount of knowledge and making a fully functional web app in Express.js, Node.js, Handlebars and MongoDB, I got some confidence and decided to jump on the front-end and learn React.js. Then I got hold of some basic knowledge of React and made some throwable apps.</p>
<p>But I couldn’t focus on learning more, as I wanted to earn now. It had become hard for me to work without making money anymore. So, I actively started applying to remote JavaScript jobs. I used to apply for at least 2 jobs a day but for most of them, I was not the perfect candidate so the answers were NO.</p>
<p>After applying for numerous jobs I realized that most companies are not interested in hiring a junior developer remotely. They prefer to have juniors on site, while those who have some experience can work remotely.</p>
<p>Disheartened but motivated, I decided to fully focus on completely learning React, and went back to my freeCodeCamp curriculum. I decided to make a portfolio in addition to making myself worthy enough to get a fine remote job.</p>
<p>One morning when I opened my mailbox there was an e-mail from the <a target="_blank" href="https://www.outreachy.org/">Outreachy</a> newsletter announcing the opening of their applications. I had signed up for this newsletter a few months back when the applications for the previous rounds were about to close and I was just starting my journey. I almost forgot about it and it popped up again after a few months right at the time I needed it. So I forgot all the jobs I applied to, stopped looking for more jobs, and fully focused, deciding to work hard to get the Outreachy Internship.</p>
<p>I read numerous articles by the previous alumni, noted down their suggestions, explored Outreachy, watched Youtube videos and what not. I gave myself a chance to prove myself. I couldn’t see anything else except Outreachy. I worked hard, learned about open source, stayed awake late nights, and worked on weekends to achieve my target. It was a chance to prove myself to myself.</p>
<p>Today, I’m sharing my journey with you to help you. To help someone who is struggling to code, who is struggling to survive in this tech world, who is dreaming of a great remote job and a dream home office desk. This article is for you, Outreachy is for you.</p>
<h3 id="heading-what-is-outreachy"><strong>What is Outreachy?</strong></h3>
<p>Outreachy is a program that provides 3 months paid internships in Free and Open Source Software for people who are typically underrepresented in those projects. Interns are paid a $5,500 stipend and a $500 travel grant to attend any national or international event related to their project approved by their mentors. Outreachy internships are not limited to programming only. They also includes UI/UX, documentation, data science, graphic design, video documentation, and illustration.</p>
<p>The best thing about this internship is that it is remote and Interns can work anywhere from the world without the differences of color, nation, religion, gender or culture affecting their work.</p>
<p>Many dream tech companies share their projects and accept interns to mentor them and give them the opportunity to work with their best developers. Mozilla, Debian, Git, GNOME, Kubernetes, and OpenStack are a few.</p>
<p>Previously Outreachy was only accepting Women, Transgender, Trans-men, gender-queer and some other underrepresented people in Tech. But the good news is that from this round it is open for all now.</p>
<h3 id="heading-how-i-won-the-outreachy-internship-at-mozilla"><strong>How I won the Outreachy internship at Mozilla</strong></h3>
<p>Here is the Outreachy application process and how I went through it.</p>
<h4 id="heading-1-initial-application">1) Initial Application</h4>
<p>After creating the account I found an initial application form. You provide some information and they decide whether an applicant is accepted or rejected for the next stage. In this form, you provide info such as your name, gender, country, city and most importantly your availability during the internship.</p>
<p>Outreachy requires interns to be available full time during the internship, which is 40 hours per week. I came to know that one applicant couldn’t make it to the next step because she was not available for full-time. So the first step is to filter those candidates who qualify through the criteria. I qualified for the next step which is selecting a project and starting contributions.</p>
<h4 id="heading-2-project-selection-and-contribution">2) Project selection and contribution</h4>
<p>Ahhh! This is <strong>the most important</strong> step and a bit of a tough part of the process. A wrong project choice can cause you to lose the internship or the right choice can open doors of learning and exposure for you. After clearing step one, interns now can see the list of all projects and their details.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/QC3MrgFqyAA4fvRPkxBGr5zSJgqoU0r398L3" alt="Image" width="800" height="377" loading="lazy">
<em>The project I was selected for</em></p>
<p><strong>Wrong way of selecting:</strong><br>Going through every single project and company, reading details, and not remembering anything and thus ending up getting all confused.</p>
<p>You don’t need to read and see details of every project and switch from one to another. It will burn your time and energy.</p>
<p><strong>The right way:</strong><br>Just shortlist the projects based on the required skills which match your skillset. Now you have a few projects in your bucket. Next, you can further shortlist based on the supporting skillsets required with the major skill. Or you can choose based on your area of interest.</p>
<p>In my case, I am good at JavaScript. I had many JavaScript based projects but I was interested in ReactJS to enhance my skills. It was easy for me to choose a project and stop wasting time on other projects because I was clear in my mind that I wanted to work with React.</p>
<h4 id="heading-3-setting-up-the-project-understanding-the-codebase-and-starting-contributions">3) Setting up the project, understanding the codebase, and starting contributions</h4>
<p>Ladies and gentlemen, tighten your seat belt as you are going to experience a lot of different emotions at this stage of the application. You are going to feel dumb, not confident at all, fear of contribution, fear of rejection of pull request, fear of not writing quality code, fear of asking questions of the repo owner to help you set up the project, and much more.</p>
<blockquote>
<p>Throw that syndrome out the window :)</p>
</blockquote>
<p>This is what my mentor asked me to do in response to my fears. And I recommend you do so, too. Once you throw it out you will do well. You will win it. Fear is going to take you nowhere!</p>
<p>Now you have to set up the project repo, make it run on the local machine with the help of available documents, and start finding good first issues. It is helpful to start with good first issues as they get solved pretty easily and you gain a lot of confidence and motivation to continue.</p>
<p>Remember, Outreachy requires at least one contribution to be eligible for the final application and internship — but they highly encourage interns to keep contributing to increase chances. Now, based on my experience I warn you not to get trapped and feel accomplished with one or two contributions.</p>
<p>Competition is tough, people contribute more than once from around the world and increase their chances of selection. So make sure you have more than one — and really good contributions increase your chances.</p>
<p>I had never contributed to any project ever before, I didn’t even know what a Pull Request was and how to do it. In fact, I learned everything during the application process.</p>
<p>I found one issue unassigned and opened a Pull Request with a solution. My mentors were in a different time zone, so before they would wake up I had two Pull Request opened and I couldn’t sleep just waiting to see the response. I stayed up till 3 AM until I got the response on my PR. And to my surprise it was…</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/jaC-CCfQyk5eoaPMYHlHh4jo6NvSce2ZVNY3" alt="Image" width="796" height="148" loading="lazy"></p>
<p>and then</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1BpvIojMNj47uqLOqc7-QYgONysnHpIbK6cg" alt="Image" width="796" height="194" loading="lazy">
<em>Yay :-D</em></p>
<p>You can’t imagine how happy I was. I felt like flying, like Superman going up above the sky. In short, I was in 7th sky!</p>
<p>But I had to come down to solve more issues. This gave me great confidence and then I didn’t stop contributing. By the time of the last date of application submission, I had 6 Pull Request merged. I submitted my final application and kept contributing afterward.</p>
<p>Before the Outreachy results were announced, I had a total of 10 Pull Requests in my bucket which made me a stronger applicant for this project.</p>
<h3 id="heading-results-announcement">Results announcement</h3>
<p>It was hard to wait for the results. I was impatiently counting days to get the news. With confidence and hope, there was nervousness too. And the news of acceptance was nothing more than a cool breeze in the weather of frustration and journey of learning. I was excited and happy and what not. A long journey of learning and making test applications got me here at <a target="_blank" href="https://www.mozilla.org/en-US/">Mozilla</a> working with the finest developers on earth.</p>
<p>I couldn’t stop imagining learning more and become another fine developer in the next few months. And then the news of a getting a MacBook Pro from Mozilla was like a cherry on the cake. I already started disliking my HP machine. :-D</p>
<p>Finally, I am now going to start another journey of learning by working on a real project with mentors in one of the world’s top tech companies. My internship is starting on 4th Dec 2018. I’m excited and can’t wait to start it. I am hoping to learn and get the most out of it.</p>
<h3 id="heading-why-i-found-mozilla-so-special"><strong>Why I found Mozilla so special</strong></h3>
<p>Interns at Mozilla get three more benefits other than the stipend and travel grant, which make this internship even more exciting.</p>
<ol>
<li>All Mozilla interns get the latest MacBook Pro with cool heavy specs.</li>
</ol>
<p>My MacBook Pro is arriving in a few days with the following specs:</p>
<ul>
<li><em>2.9GHz 6-core 8th-generation Intel Core i9 processor, Turbo Boost up to 4.8GHz</em></li>
<li><em>32GB 2400MHz DDR4 memory</em></li>
<li><em>Radeon Pro 560X with 4GB of GDDR5 memory + Intel UHD Graphics</em></li>
<li><em>512GB or 1TB PCIe-based Flash Storage</em></li>
<li><em>Touch Bar</em></li>
</ul>
<p>Mouthwatering? It definitely is!</p>
<ol start="2">
<li><p>An Invitation to Mozilla All Hands, which is an event where all the company’s employees are invited to meet their colleagues in person and share experiences and interact with other people they may not normally meet in person. Interns get a chance to meet other employees, volunteers and more specifically their mentors of the project.</p>
</li>
<li><p>All Mozilla interns get LDA credentials which mean they will have an official Mozilla e-mail id — username@mozilla.org.</p>
</li>
</ol>
<h3 id="heading-nuggets-of-wisdom-to-win-outreachy"><strong>Nuggets of wisdom to win Outreachy</strong></h3>
<p>Based on my experience and observations, here are the things which led me to win this opportunity that I suggest you do:</p>
<ul>
<li>Leave every fear, insecurity or moment of low confidence behind and jump into it. Apply for Outreachy, contribute, learn, ask questions, try to solve the issue. It is okay if you don’t get it correct at first attempt — you will get feedback and you can make it in the 2nd or 3rd or 4th attempt. In the end, learning matters — not the number of times you made mistakes.</li>
<li>Don’t feel too accomplished or overconfident after making one or two contributions. Try to solve as many issues as you can. Keep contributing even after the deadline until you get the results.<br>This helped me a lot. It made my mentors realized that I’m a learner, enthusiast, and an active participant and they always appreciated it. So I recommend you to keep contributing.</li>
<li>Don’t be afraid of asking questions even if they are stupid. For one issue I asked too many questions from my mentor, but he was kind enough to answer them all.<br>Still, make sure you are asking after some personal research. Don’t throw any random questions out there. Ask if anything is not clear to you. Ask. Ask. Ask.</li>
<li>Keep an eye on your competitors. I used to visit the project repo daily to check how many new applicants were trying to solve the issues. How many PRs were opened and who would be my biggest competitors.<br>My heart used to beat really hard whenever a new applicant popped up which helped me not to stop.</li>
<li>Start as early as possible. Sign up for the newsletter. If you start early you will have a lot of unassigned easy bugs which you can solve. You will have a good chance to understand the project and solve the most issues.<br>The application process is long and time consuming, and you can’t make it in one or two weeks.</li>
<li>Engage with the project mentor. Don’t let them forget you.<br>Contribute, solve bugs, and ask (valid) questions.</li>
<li>Most Important: I already knew that Mozilla offered a Laptop and All Hands meeting invitation, but I didn’t apply to the Mozilla project for these two things. I applied because among all listed projects, there were only a few projects that required JavaScript and React — and only 2 projects I could understand a little bit. And one of them was from Mozilla.<br>Your primary purpose should be winning the internship with any organization, gaining knowledge, learning and making your way towards a better future. Don’t select one company because of a few perks. You will end up losing a good project and banging your head against some other project that’s not of your type. Select a project if you really feel that you can do well there.</li>
<li>Focus on one project and give your best to it. In case your project doesn’t have more issues, ask your mentors to refer you to some other project. This happened in my case.</li>
<li>Forget about the outcome. It’s okay if you don’t win the internship, you will learn a lot. You will get some mentors and a start to the opensource journey. At a point, I decided to keep contributing to the project even if I didn’t win the internship.<br>Because the amount of knowledge I gained during the process was significant compared to what I gained working on demo projects over the past few months.</li>
</ul>
<p>Hah! I have a lot to say. I should keep other things for the next article. I’m excited to start my internship at Mozilla. And I highly encourage struggling newbies to apply for Outreachy. You don’t need to be a great developer — you just need to be a great learner.</p>
<p>These internships are here to teach you to increase your knowledge. If I can get it you can definitely get it. Anyone who is motivated and willing to learn and work hard can get it. Next round of Outreachy is starting in Feb 2019. Don’t miss it!</p>
<h3 id="heading-a-big-thanks"><strong>A Big Thanks</strong></h3>
<p>In the end, a big shout out to Outreachy organizers <a target="_blank" href="https://twitter.com/_sagesharp_">Sage Sharp</a>, <a target="_blank" href="https://twitter.com/marinaz">Marina</a>, Elizabeth Noonan at Mozilla and everyone who supports Outreachy helping newbies to learn and excel in open source. Lastly, a big big big thanks to my husband for telling me about Outreachy, sending me the link, and motivating me to apply and work hard. This wouldn’t be possible without his moral support.</p>
<p>It would be totally unjust if I don’t mention the support and motivation given by my mentors <a target="_blank" href="https://www.freecodecamp.org/news/how-i-got-a-remote-paid-internship-at-mozilla-through-outreachy-60958fe9264a/undefined">Armen Zambrano</a> and <a target="_blank" href="https://www.freecodecamp.org/news/how-i-got-a-remote-paid-internship-at-mozilla-through-outreachy-60958fe9264a/undefined">Dustin Mitchell</a>. I feel blessed to have supportive mentors who celebrated little achievements. Needless to say, their unwavering support was always there to sort out all kinds of issues I faced. Thanks a bunch for being so kind and helpful.</p>
<p>Ahh! I can’t wait to start!</p>
<h4 id="heading-motivated"><strong>Motivated?</strong></h4>
<p>If you are planning to apply for next round and not feeling confident or feeling lost in the application process, feel free to get in touch. I would be happy to help you. I want Outreachy to reach out to everyone struggling for a good career start.</p>
<h4 id="heading-remember">Remember</h4>
<blockquote>
<p>“People are capable, at any time in their lives, of doing what they dream of.” -Alchemist</p>
</blockquote>
<p>My code is <a target="_blank" href="https://github.com/aimenbatool">@aimenbatool</a> and I tweet @<a target="_blank" href="https://twitter.com/aimenbatool">aimenbatool</a>. Contact me if you need help.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How I got my Software Engineering Internship after 4 months of Self-Study ]]>
                </title>
                <description>
                    <![CDATA[ I was a freshman and began self-studying programming around January - February. In May, I got my internship offer at a well-known company. What I can say is getting a software engineering internship is hard nowadays. You have to go through the whole ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-i-got-my-software-engineering-internship-after-4-months-of-self-study-5b5c4836bd6f/</link>
                <guid isPermaLink="false">66c34dc5465d1b2f886ba3ed</guid>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ interview ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Job Hunting ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 19 Nov 2018 17:03:42 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5f9ca83e740569d1a4ca7c95.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>I was a freshman and began self-studying programming around January - February. In May, I got my internship offer at a well-known company.</p>
<p>What I can say is getting a software engineering internship is hard nowadays. You have to go through the whole process of applying, studying for technical interviews and getting ghosted over and over. I understand the struggle, as I applied to over 700 companies to get my offer.</p>
<p>However, it is totally possible to get into the industry by self-study if you are rigorous and study the right way.</p>
<p>Below is a rough step by step guideline with the important steps I have taken, and a walkthrough of what I did in particular.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/EECQlyadPa3gR9nLWyjA9vNeL8nVhw1SDgJi" alt="Image" width="800" height="360" loading="lazy"></p>
<h3 id="heading-step-1-learning-the-basics">Step 1: Learning the Basics</h3>
<p><a target="_blank" href="https://www.freecodecamp.org/">freeCodeCamp</a> and <a target="_blank" href="https://www.codecademy.com">CodeCademy</a> are the best resources if you are starting out, hands down.</p>
<p>They both offer explanations in the simplest way possible and teach you the absolute basics of what you have to know in order to break into the industry. I recommend starting out with CodeCademy to learn the syntax of the language of your choice.</p>
<blockquote>
<p>Note: It is important to know which roles you want to apply to in order to study effectively. For example, if you are aiming for a front-end internship, the web development course on freeCodeCamp will be particularly useful. This guide will mainly focus on the front-end side.</p>
</blockquote>
<h4 id="heading-what-i-did"><strong>What I did:</strong></h4>
<p>Personally, I have always been more interested to work on the front-end. For a front-end web developer, a deep knowledge of JavaScript, HTML, and CSS is arguably the most important thing.</p>
<p>Hence, I started my first week of self-study by spending all my time on CodeCademy’s excellent <a target="_blank" href="https://www.codecademy.com/learn/introduction-to-javascript">Introduction to Javascript</a> course. It is completely free with beginner-friendly explanations. To make my study even more effective, I regularly took notes on what I learned and what I did not understand. I would later review those notes to refresh my memory, which is crucial in order to not forget what I have learned.</p>
<p>HTML and CSS are relatively easier to learn. I moved on to <a target="_blank" href="https://learn.freecodecamp.org/">freeCodeCamp’s complete course on web design</a>. It is one of the best free resource available. If you get through the whole course, you would know more than the basics of web development.</p>
<p>When you feel like you know the basics, I highly recommend to keep learning with the <a target="_blank" href="https://github.com/FrontendMasters/front-end-handbook-2018">Front-end developer’s handbook</a>. It provides a complete list of resource for more advanced learners, both paid and free. It contains thousands of hours of reading and will teach you all the tricks a master web developer should know.</p>
<h3 id="heading-step-2-creating-projects">Step 2: Creating Projects</h3>
<p>After a few weeks, you should be ready to commit to creating a small project. Projects are huge on your resume when you don’t have a lot of experience. Again, <a target="_blank" href="https://www.freecodecamp.org/">freeCodeCamp</a> offers very good project ideas. Start with something small.</p>
<p>If you are struggling on finding project ideas, you can Google “100 project ideas in X language” and it usually does the trick. Also, take a look at other GitHub repos and learn from their code.</p>
<p>When you are done, test it and put the source code on Github. This is crucial, as it is the only way companies can validate your skills without prior work experience. Put good quality code with documentation when you can.</p>
<h4 id="heading-what-i-did-1"><strong>What I did:</strong></h4>
<p>When I got my offer, I had made 4 - 5 projects. I started with a small typing game web app forked from another student’s GitHub and learned a lot from their code, then added my own. I gradually moved towards more complicated projects. Here is a list of all the projects I made before getting my internship, their descriptions and the stacks I used:</p>
<ol>
<li>Various other small games like Minesweeper, all made with React and styled with CSS.</li>
<li>A map to visualize over half a million traffic data points made with Javascript and Mapbox.</li>
<li>A working React Native app to let users showcase their best pictures, with the backend implemented in Node.js and Mongoose, hosted on Heroku.</li>
</ol>
<p><img src="https://cdn-media-1.freecodecamp.org/images/EcsEKaQaVjTIHoaFzeKm6-RUklR2GiWV-0e5" alt="Image" width="800" height="653" loading="lazy"></p>
<h3 id="heading-step-3-applying-for-jobs">Step 3: Applying for Jobs</h3>
<p>I have the most experience in this area as I have applied to so many jobs. The best tips I have, regarding the job search and interview process, are:</p>
<ol>
<li>LinkedIn, Glassdoor and Indeed Easy Apply are not your friends. With those type of postings, the recruiter receives so many applications they usually use an ATS (Application Tracking System) to filter out all the resumes. If you don’t have any previous experience or impressive projects, the chances that you will get through the filter are very slim.</li>
<li>A cover letter is a double-edged sword. When done right, it can really differentiate you from the rest of the candidates. However, when done wrong, it can worsen your situation. My advice if you were to write one is to tailor, tailor, tailor it. Target your cover letter specifically to the company you are applying for. DO NOT send the same generic cover letter to every company, as recruiters know you have sent 100 of them already. Lastly, please make sure there are no grammatical errors. One typo is enough for the recruiter to reject you.</li>
<li>I had the most success either applying directly on the company’s website or through cold emailing recruiters (or even the CEO if the company is rather small). If the company does not have a public e-mail, you can usually guess as it is almost always in the form <code>hello at companyname dot com</code>. They have a MUCH higher chance of looking at your resume than if you submitted it via Indeed/Glassdoor. You can have a template and change slightly the wording for different companies.</li>
<li>Have thick skin. Companies reject you for all sort of random reasons and recruiters ghost you all the time. It is normal. If you have a less attractive resume, you stand a smaller chance of getting an interview. Keep applying and do not give up. It is never over until you stop trying.</li>
</ol>
<h3 id="heading-step-4-interviewing">Step 4: Interviewing</h3>
<p><img src="https://cdn-media-1.freecodecamp.org/images/pKKfwMITI0clk-BH8y--pbEG-vgFWYtSMDXE" alt="Image" width="800" height="555" loading="lazy"></p>
<p>When you finally land that sweet Interview, be sure to prepare for it. There are numerous resources online teaching you how to ace a technical interview. If you haven’t read it already, <a target="_blank" href="https://www.amazon.com.au/Cracking-Coding-Interview-Programming-Questions/dp/0984782850">Cracking the Coding Interview</a> is a very good read.</p>
<p>Technical interviews are very stressful. There’s no workaround for them - you have to grind algorithm questions. <a target="_blank" href="https://leetcode.com/">Leetcode</a> offers tons of good questions for practice.</p>
<p>However, since they are so widely known, it is very unlikely you will get the exact same question you practiced on an interview. The interviewer usually has a bank of random questions that are not posted online. Still, the basic idea remains the same. For instance, it is always good to know your data structures and Big O thoroughly.</p>
<p>Another thing to note: companies I interviewed with often brought up my projects and asked me technical questions about the implementation. It is their way of testing if you have lied on your projects, so be prepared for it.</p>
<h4 id="heading-what-i-did-2"><strong>What I did</strong>:</h4>
<p>To start off: it is ok to suck at interviews. I completely messed up my first ones. It is embarrassing to remember.</p>
<p>I realized I was not prepared enough for the technical questions. I started doing Leetcode 2 - 3 hours a day. The most important thing is not to spend too long on a single problem. You do not have unlimited time on your interview. Instead, put a timer, say 10 minutes for an easy question and 20 minutes for a medium one (you mostly won’t get Leetcode hard questions on your interviews if you are applying for an entry-level position or an internship).</p>
<p>If you cannot solve it in time, that’s completely ok. Look at the solution and try to understand it. Mark the question you cannot solve and try again in a week.</p>
<p>Since interviews also test your communication skills, you can prepare by saying your thoughts out loud when you do practice questions. Trust me, it may sound weird at first but it makes a huge difference in interviews when you are used to speaking up.</p>
<h3 id="heading-resources-where-to-find-entry-level-jobs-and-internships">Resources: where to find entry-level jobs and internships</h3>
<p>What I used to find internships (besides Glassdoor, Indeed, and Linkedin) include <a target="_blank" href="https://breakoutlist.com/">Breakout List</a> and <a target="_blank" href="https://angel.co/">AngelList</a>.</p>
<p><strong>My 2 cent</strong>s: I realized how dreadful it was to try and find internships openings. There’s no easy and fast way to find a complete list of companies with their internship listings. freeCodeCamp’s community is awesome and helped me a lot during my job, and I’d like to contribute back.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/3T3saxpYwzGMzlRCRR-qfAWKKIzYEQNVfSo7" alt="Image" width="800" height="463" loading="lazy"></p>
<p>I came up with <a target="_blank" href="http://mrshibe.me/?utm-source=medium">this app</a> after my internship as my side project, to compile a list of companies and their internships/entry level jobs, filterable by location, tags, school term, etc. I will elaborate on it in the next section.</p>
<h3 id="heading-conclusion">Conclusion</h3>
<p>Finding your first job/internship can be a long, frustrating and tedious process. However, the experience you gain from the actual workplace makes it totally worth it.</p>
<p>Here is a comparison of the project I made after my internship and one of my first projects ever.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/SkI7jb-B26cUC8GR0nC1IfYutc3MV7okKnrX" alt="Image" width="800" height="367" loading="lazy">
_My project to help students, new grads and self learners find internships and jobs. Available at [mrshibe.me](http://mrshibe.me" rel="noopener" target="<em>blank" title=")</em></p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/87mf4NMd9UTryu3og68M8H-UgS-JTLQNiWle" alt="Image" width="800" height="486" loading="lazy">
<em>The first project I made by myself. Minesweeper with a timer</em></p>
<p>Quite a difference, right?</p>
<p>This is why I think the time spent during my internship was totally worth it. I would never have been able to make my last project without all the guidance and experience I gained at my internship. The project is a platform and a job board to discover internships and entry level positions for students, self-taught developers and new grads. You can <a target="_blank" href="https://www.mrshibe.me/">view it here</a>.</p>
<p>I strive to improve, and any feedback is welcome. I’d like to write my next article as a step-by-step guide on how I designed and structured the app, so let me know if you are interested. I’d also love to help others that are just starting out, as I understand the struggle. If you have any questions, do not hesitate to send me a message (you can highlight this and click the message icon on the popup).</p>
<p>Good luck everyone!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How I’ve absorbed as much as I’m able on my Outreachy Journey ]]>
                </title>
                <description>
                    <![CDATA[ By Toni Shortsleeve I can’t believe this will be the last month of my internship at LibreHealth! ? Just when it was starting to all come together. But I still have a few more weeks to finish my projects, and I’m thankful for the time to work on them.... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-ive-absorbed-as-much-as-i-m-able-on-my-outreachy-journey-3e350c9e0362/</link>
                <guid isPermaLink="false">66c34e6439769b84d9fe96d5</guid>
                
                    <category>
                        <![CDATA[ Health, ]]>
                    </category>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Sat, 11 Aug 2018 21:50:28 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*l2XMmdd_4upTGH10T0kKPw.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Toni Shortsleeve</p>
<p>I can’t believe this will be the last month of my internship at LibreHealth! ?</p>
<p>Just when it was starting to all come together. But I still have a few more weeks to finish my projects, and I’m thankful for the time to work on them.</p>
<p>For those of you just joining me on my journey, I am an <a target="_blank" href="https://www.outreachy.org/alums/">Outreachy Intern</a> at <a target="_blank" href="http://librehealth.io/">LibreHealth</a> for this summer. I was accepted on April 23 this year to begin my internship on May 23, lasting until August 14. You can read more about how it started <a target="_blank" href="https://medium.freecodecamp.org/how-i-beat-the-odds-and-became-an-outreachy-intern-9a92f47cb44e">here</a>.</p>
<p>Since my last <a target="_blank" href="https://medium.freecodecamp.org/special-moments-on-my-outreachy-journey-78db1ff11ef4">article</a>, I have learned so much. The two documents that I’ve been working on, the <a target="_blank" href="https://wiki.ehr.librehealth.io/LibreHealth_EHR_Provider_Orders">LibreHealth EHR Provider Orders</a> and the <a target="_blank" href="https://wiki.ehr.librehealth.io/LibreHealth_EHR_Encounters">LibreHealth EHR Encounters</a>, were approved by my mentors and are now on the LibreHealth wiki.</p>
<blockquote>
<p><strong>Note:</strong> Patient and staff names or any data you may see inside my documents are completely fictional.</p>
</blockquote>
<h4 id="heading-my-outreachy-librehealth-internship-so-far">My Outreachy LibreHealth Internship so far</h4>
<p>In the <strong>Provider Orders</strong> document, we covered everything from the patient’s visit to referring the patient to an outside lab, and then transcribing the order.</p>
<p><strong>Medical Transcription</strong> was a new concept for me. When I first read the word “transcriptionist”, I imagined it being the court reporter being asked to read back notes from the previous witness. ?</p>
<p>It actually involves two documents being compared to each other, and then the Provider Order information is placed into the Referral Order form.</p>
<p>Sometimes the terms were similar, such as <strong>Referral Date</strong>…</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/yRVfSmYbUmqknbTBGEaYrs8B-oeCPBT3n6V0" alt="Image" width="650" height="354" loading="lazy"></p>
<p>… and <strong>Order Date</strong></p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/o5kWM-OFXaYmibY3QJE3549m1Wpmj7YdaFF6" alt="Image" width="638" height="166" loading="lazy"></p>
<p>Others were not quite so obvious.</p>
<p>For instance, the <strong>Reason</strong> on the <strong>Referral Form</strong></p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/JNeSmqHoLxAWzVr-4jzKQKFWUZzHO1gKdjyp" alt="Image" width="650" height="97" loading="lazy"></p>
<p>… is the same as the <strong>Clinical History</strong> from the <strong>Procedure Order</strong>.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/dCosJ-mMlhn29T1vcr5UdHDGRV9hfcwmECCz" alt="Image" width="650" height="184" loading="lazy"></p>
<p>When I design web pages, I am very spoiled with my coding. With HTML and CSS, I have the freedom to design my containers, image borders, and padding to keep space as needed. However, the wiki format doesn’t allow that.</p>
<p>A <code>&lt;</code>;p&amp;g<code>t; or</code> <br> had no affect at all. Thanks to my <a target="_blank" href="http://king21.neowordpress.fr/focus-on-markdown/">inter</a>n-mate Adele for sharing with me th<code>at I</code> needed <br> without the front slash. A totally different concept! I kept having to remind myself to break the habit of adding that front slash.</p>
<p>My mentor asked me to place these comparisons next to each other instead of above and below, to make it easier to read.</p>
<p>This is when I learned that wiki does take some HMTL in the formatting. Imagine my delight when I found that I could format my wiki with code like this:</p>
<pre><code>&lt;div&gt;&lt;blockquote&gt;‘’’Referral Transaction’’’: ‘Referral Date’ = ‘’’Procedure Order’’’: ‘Order Date’&lt;br&gt;&lt;br&gt;&lt;span&gt;[[File:trans-refDate.jpg|500px]] [[File:trans-ordDate.jpg|500px]]&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;
</code></pre><p>And have it look like this:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/mn0kSixpivfSzzsiqVG99Uq73Pxyuv-uCqO3" alt="Image" width="800" height="504" loading="lazy"></p>
<p>I think this looks much better. My mentor also agreed. ?</p>
<h4 id="heading-tackling-new-challenges">Tackling new challenges</h4>
<p>My two areas of challenge on the <strong>Provider Orders</strong> were the <strong>Flow Board</strong> and <strong>Fee Sheets</strong>.</p>
<p><strong>Flow Board:</strong> The Flow Board tracks the patient time in each segment of the visit. It updates every few seconds. It also holds on to everything that happened during the visit, including my mistakes, and automatically attempts to fix them. I was finally told how to turn that off, but by then it was too late. ?</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/s5y4Cs9lOfmNbfJ1tP-skr0CKPBkJYVUye1Z" alt="Image" width="800" height="444" loading="lazy"></p>
<p>Notice how the <strong>Appointment Time</strong> did not match the <strong>Start</strong> or <strong>End</strong> time. And the <strong>Total Time</strong> needed to be changed too. Not only that, there should only be one of each status change.</p>
<p>Apparently the patient Arrived three times. She went into the Exam Room twice. Well, you see what happened. That was one busy patient. ?</p>
<p>Also, the <strong>Total Time</strong> had to add up to the total section times.</p>
<p>This is where my development background, and my best friend the Chrome Inspector, came to my rescue. ?</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/gDJT-zwC9KSta-K65eoC8Fe8YsSEY6LotwUg" alt="Image" width="443" height="313" loading="lazy"></p>
<p>I was able to go in and change the details, then close the Inspector and take a new snapshot. Of course, every time I forgot a specific change, I had to start over. This image took a few different tries to get right:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/StI-STzGWCY-LqnEvgRtovndrzoeY2gJZOx-" alt="Image" width="650" height="326" loading="lazy"></p>
<p>The <strong>Fee Sheet</strong> had similar challenges because the codes needed to be added and the codes needed to be justified.</p>
<p>After struggling with the actual codes, I still had to make it look good in all areas.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/uIv2WkYDI8boVHFScxtwyJyM2kwoWmHPLeVI" alt="Image" width="800" height="348" loading="lazy"></p>
<p>And on the final image, I needed to remove the extra codes. We only need one ICD10 code for one actual visit and prescription.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/IAuCtqoHSYfliX13XzlYioMu-aH-le9gDfSp" alt="Image" width="800" height="302" loading="lazy"></p>
<p>In the figure above,</p>
<ul>
<li>CPT4 99203 is the code for a new patient visit and the price is $25.</li>
<li>CPT4 96372 is the code for an injection. There is no cost as it is inside the medical cost.</li>
<li>HCPCS J2800 is the code for the injection medicine.</li>
</ul>
<p>Each of the above codes were justified with ICD10 code M54.5.</p>
<p>As you can see, ICD10 M54.5 is the medical billing code for Low back pain.</p>
<p>Initially, this took a long time for me to understand, and then to bring it all together. I am very thankful to my mentor Harley Tuck for his patience.</p>
<p>But finally I did it, and I was able to create the <strong>Billing Screens</strong> and <strong>Final Receipt</strong>.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/-NvK2DUMv9PrWtvEbEtUTPx1GUtGN1HTkMrO" alt="Image" width="800" height="507" loading="lazy"></p>
<h4 id="heading-the-home-stretch">The home stretch</h4>
<p>Those were my <strong>LibreHealth EHR</strong> assignments. Now I am moving on to the <strong>LibreHealth Radiology</strong> segment and it will flow a little differently.</p>
<p>During my internship, I was able to take some time out to prepare to meet up with other FreeCodeCampers in New York City.</p>
<h4 id="heading-freecodecamp-2018-top-contributor-award">freeCodeCamp 2018 Top Contributor Award</h4>
<p>I was totally surprised to receive the email from <a target="_blank" href="https://twitter.com/ossia">Quincy Larson</a> telling me that I was chosen to be recognized for my contributions to the <a target="_blank" href="https://www.freecodecamp.org/">freeCodeCamp</a> Medium publication. I didn’t feel like I really did anything extraordinary.</p>
<p>I began to hang out in the chat rooms and forums a while ago because I wanted to know an answer to a question, or to learn a new solution to a problem. Then I started answering questions that I thought I knew the answers to. Sometimes I was actually correct. ?</p>
<p>I like coding. It forces me to use the logical side of my mind for problem-solving, and yet my creative side can make something pretty too.</p>
<p>But I also love to read. I am in an Advanced Review Copies (ARC) group for a couple of fiction authors. I like their work and I can sometimes spot an error before it gets published.</p>
<p>I’ve been reading the weekly articles sent by Quincy Larson, as well as the Medium Digest, since I joined freeCodeCamp. I found these articles helped me a lot, especially if the article was written at the same time that I was working on a similar project or trying to understand a similar concept.</p>
<p>So when the call went out for volunteer editors for the freeCodeCamp Medium publication, I saw this as a great opportunity to study under some of my favorite authors. I get to read the best articles first! And I try to help fix any typos or grammar issues that occur.</p>
<p>We have a great editing team, and I am proud to be a part of it.</p>
<p>When I applied for the Documentation Internship with LibreHealth, I used everything that I had learned editing here on Medium to help me with my work.</p>
<p>And so, when I got that email from Quincy, I mentioned the 2018 Top Contributor Award event to my mentor. He suggested that this could be made a part of my internship. It would then be possible to receive a stipend to help pay for my trip to New York.</p>
<p>My Outreachy coordinator, <a target="_blank" href="https://twitter.com/_sagesharp_">Sage Sharp</a>, agreed with my mentor! I will be in New York City on the 18th of August to celebrate with a bunch of other Top Contributors.</p>
<p>I will also have a chance to meet one of my other LibreHealth mentors in Manhattan during the day, before the freeCodeCamp event that evening.</p>
<p>And, of course, I also found out that some of my favorite freeCodeCamp heroes will be at the event. I’m excited!</p>
<h4 id="heading-last-words-for-now">Last Words - For Now</h4>
<p>I would like to remind women and other under represented members in the tech industry:</p>
<p>The next round of Outreachy Internships starts in September 2018. That is less than a month away. If you have not already done so, and are interested in applying, <a target="_blank" href="https://lists.outreachy.org/cgi-bin/mailman/listinfo/announce">Sign Up Now</a> to receive the announcements. You’ll be notified when the process begins.</p>
<p>And, freeCodeCamp campers are eligible to join too! ?</p>
<p>Thank you for staying on this journey with me. I’ll have more when I get back from New York.</p>
<h4 id="heading-previous-articles"><strong>Previous Articles</strong></h4>
<ul>
<li><a target="_blank" href="https://medium.freecodecamp.org/how-i-beat-the-odds-and-became-an-outreachy-intern-9a92f47cb44e">How I beat the odds and became an Outreachy Intern</a></li>
<li><a target="_blank" href="https://medium.freecodecamp.org/my-outreachy-internship-begins-today-heres-what-i-ve-done-and-learned-so-far-88fef9c18619">My Outreachy internship begins today! Here’s what I’ve done and learned so far.</a></li>
<li><a target="_blank" href="https://medium.freecodecamp.org/the-next-steps-on-my-outreachy-journey-docker-big-challenges-and-small-victories-2c3a2dd2277a">The next steps on my Outreachy journey: Docker, big challenges, and small victories</a></li>
<li><a target="_blank" href="https://medium.freecodecamp.org/every-step-brings-something-new-on-my-outreachy-journey-e7c0f7adf2ea">Every step brings something new on my Outreachy journey</a></li>
<li><a target="_blank" href="https://medium.freecodecamp.org/special-moments-on-my-outreachy-journey-78db1ff11ef4">Special Moments on my Outreachy Journey</a></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What I learned from my first ever software development internship ]]>
                </title>
                <description>
                    <![CDATA[ By Viraj Chavan I was a student at an engineering college in India. After 3 and a half years years of learning computer science academically, I now had a chance to test my knowledge in the real world through an internship. In this article, I’ll be sh... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-i-learned-from-my-first-ever-software-development-internship-701aa756a72f/</link>
                <guid isPermaLink="false">66c3656e0002df282f2225c9</guid>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Ruby on Rails ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 25 Jul 2018 16:27:43 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/0*IPx0r2K1gi55ZWAx" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Viraj Chavan</p>
<p>I was a student at an engineering college in India. After 3 and a half years years of learning computer science academically, I now had a chance to test my knowledge in the real world through an internship.</p>
<p>In this article, I’ll be sharing my internship experience at <a target="_blank" href="http://joshsoftware.com/">Josh Software</a>, Pune with the hope that it is helpful to other IT and computer engineering students that are looking for internships.</p>
<p>Like most of my colleagues at the college, I had a very limited view about software development in general and didn’t know what to expect from an internship.</p>
<p>Lucky for me, I was assigned a live project, which was based on Ruby on Rails, something that I had already developed an interest for.</p>
<p>After I had learned PHP and MySQL in the 2nd year of my studies, I built a basic web app, and all that it did was some CRUD (Create, Read, Update, Destroy) operations. I remember talking with a friend who had similar skills to mine, and said “Even we can build Facebook now that we know PHP and MySQL!”</p>
<p>How ridiculously simple things seemed at that time. Now I understand how complex building/maintaining a software can be.</p>
<p>So here’s what I learned from my Internship while working on a live project.</p>
<h3 id="heading-general-lessons">General lessons</h3>
<h4 id="heading-scale-makes-a-huge-difference">Scale Makes a huge difference</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*SsdGma80xb-AXYYFbEle5A.png" alt="Image" width="800" height="578" loading="lazy"></p>
<ul>
<li>How many users are going to use the software?</li>
<li>How much data will be processed?</li>
<li>What are the expected response times for a function?</li>
</ul>
<p>These are questions that we, as college students, hardly think about. Our college projects were usually short-sighted. In real-world projects though, the above questions fundamentally affect decisions about hardware, technologies/tools to be used, system architecture, algorithms, and so on.</p>
<h4 id="heading-working-with-a-large-codebase">Working with a large codebase</h4>
<p>Back in college, we used to work on projects that had like 15 - 20 files or so. Built in under a week, the whole project could be <strong>understood</strong> in a few hours.</p>
<p>Now the project I’m working on has hundreds of files spread across dozens of folders. It can take months to understand the whole project, and hours to debug a bug that’s spread across multiple files. And the first time you look at the whole project directory, you don’t know where to start understanding the code.</p>
<h4 id="heading-writing-maintainable-code">Writing maintainable code</h4>
<p>Knowing that the code you write will be read, understood, and improved/changed by someone else (or even yourself) in the future makes you write code that’s maintainable.</p>
<p>In college, all I focused on was getting the expected functionality to be complete, and never considered whether the code I wrote was maintainable.</p>
<p>This resulted in scrambled pieces of code that somehow worked at the time. But two days later even I wouldn’t understand why I had written a certain piece of code that way. And changing some part of the code almost always broke other parts. ?</p>
<p><strong>Code Maintainability is easier to recognise by its absence</strong>, like when something you thought should take an hour ends up taking a week.</p>
<h4 id="heading-using-a-version-control-system-properly">Using a version control system - properly</h4>
<p>When I first started building small software, all the files existed on my own development machine, and maybe they were backed up to Google Drive as regular files.</p>
<p>Then I got to know about GitHub, but I merely used it as a safe storage place for my code. I used the GitHub desktop app to commit all changes on just the master branch. I even hesitated using it through the command line.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*0o9GZUzXiNnI4poEvxvy8g.png" alt="Image" width="330" height="478" loading="lazy"></p>
<p>Now not a day goes by that I don’t use Git. It’s such a great tool for collaboratively writing code, distributed development, branching out for new features, pull requests, and so on.</p>
<p>Here’s a <a target="_blank" href="https://www.git-tower.com/learn/git/ebook/en/command-line/basics/why-use-version-control">little article</a> on why version control systems are awesome!</p>
<h4 id="heading-the-importance-of-using-a-test-driven-development-approach">The importance of using a Test Driven Development approach</h4>
<p>During my internship, I was assigned to work on a new feature that was to be added to the main project .</p>
<p>I wrote the code and tested if it was working the way it was supposed to. It worked perfectly, or so I thought. I deployed the feature to the production confidently, and moved on to work on something else.</p>
<p>After a few hours, <a target="_blank" href="https://rollbar.com">Rollbar</a>, a real time error reporting tool burst with a number of errors in our code deployed to production. I checked the errors and they seemed unrelated to anything I had ever worked on.</p>
<p>After some debugging, all of those errors traced back to a single method. A method that was called in numerous places, and in which I had modified just a single line, and hadn’t checked where else it was used.</p>
<p>Now this could’ve been avoided if the code that used that method had test cases written for it, and if I had checked if all the test cases ran successfully before deploying the code. That made me realize the importance of test driven development.</p>
<p><a target="_blank" href="http://sd.jtimothyking.com/2006/07/11/twelve-benefits-of-writing-unit-tests-first/">Here’s an article</a> to understand why writing test cases is important.</p>
<h3 id="heading-things-specific-to-ruby-on-rails-web-development">Things specific to Ruby on Rails/ Web Development</h3>
<h4 id="heading-the-mvc-architecture">The MVC Architecture</h4>
<p>Back in my college days, when I developed applications in PHP, I had no clue what Model, View, and Controller were. Any project was so complexly scrambled that I couldn’t find in which file a piece of important logic was written. The HTML embedded PHP scripts at odd places and I had placed all the files in just one folder.</p>
<p>Then I learned about the Rails framework, and got accustomed with the MVC architecture.</p>
<blockquote>
<p>Model-View-Controller (MVC) is an architectural pattern that separates an application into three main logical components - Model, View, and Controller. Each of these components are built to handle specific development aspects of an application (<a target="_blank" href="https://medium.freecodecamp.org/model-view-controller-mvc-explained-through-ordering-drinks-at-the-bar-efcba6255053">source</a>)</p>
</blockquote>
<p>MVC really simplifies things and is an important part of many major frameworks.</p>
<h4 id="heading-dealing-with-databases">Dealing with Databases</h4>
<p>In the last 6 months, I haven’t written a single direct SQL database query. Yet I deal with databases everyday, even doing some complex operations. This is thanks to the ORM (Object Relational Mapper) that Ruby On Rails uses.</p>
<p>ORMs convert object-oriented programming language such as Ruby into database lingo in which to perform operations. Which makes data access more portable and abstracted from the required database queries that are necessary when manipulating data.</p>
<p>Thanks to ORM, it’s much much easier to query the database. This gives a big <a target="_blank" href="https://m.signalvnoise.com/conceptual-compression-means-beginners-dont-need-to-know-sql-hallelujah-661c1eaed983">advantage to beginners</a>, who can start writing applications without even knowing SQL.</p>
<h4 id="heading-writingusing-rest-apis-application-programming-interfaces">Writing/Using REST APIs (Application Programming Interfaces)</h4>
<p><a target="_blank" href="https://hackernoon.com/what-are-web-apis-c74053fa4072">APIs</a> make it easier for one application to talk to another.</p>
<p>APIs make some other applications’s functionalities easily accessible to our application. For example, I once developed a Road Trip Planner application that used the Google Maps API to show various places on a map that a user could visit on a particular route.</p>
<p>APIs can also be used to separate the front-end and the back-end completely. For example, we can write the back-end as an API-only Rails application that can be used by a web site, an Android/iOS application, or even some third party applications.</p>
<h4 id="heading-using-elasticsearch-for-searching">Using ElasticSearch for searching</h4>
<p>Although I don’t know much about ElasticSearch so far, but I’ve learned that it’s a NOSQL, distributed full text database. It acts as a distributed search engine that is incredibly easy to scale and returns results at lightning speed.</p>
<p>Why would we need it for searching? Because having millions of records in a regular database can make it really complex to make efficient searches.<br>With Elasticsearch, we can index the documents needed to be searched and it can perform queries across all those millions of documents and return accurate results in a <strong>fraction of a second</strong>.</p>
<p>Elasticsearch has a Restful API, which makes it really easy to query the searches and get the results.</p>
<p><a target="_blank" href="http://joelabrahamsson.com/elasticsearch-101/">Here’s a tutorial</a> that helped me, and here are some <a target="_blank" href="https://www.elastic.co/blog/found-uses-of-elasticsearch">use cases</a> of Elasticsearch.</p>
<h4 id="heading-using-asynchronousbackground-tasks">Using asynchronous/background tasks</h4>
<p>Sometimes the user will perform an action on our application that takes a considerable amount of time to complete. We don’t want the user to sit there waiting for this action to complete, so we send it off to a background worker.</p>
<p><a target="_blank" href="https://blog.iron.io/every-web-application-needs-background/">Here’s a link</a> that explains it better.</p>
<p>In Ruby On Rails, I came across <a target="_blank" href="https://sidekiq.org/">Sidekiq</a>, which makes it <a target="_blank" href="https://medium.com/@aledalgrande/3-ways-to-make-your-web-pages-more-responsive-with-sidekiq-a3fcb1e9dcef">easy to handle background tasks efficiently</a>.</p>
<p>Thanks for reading! If you found this article helpful, give me some claps. ?</p>
<p>There’s still a long way to go!</p>
<p>Check out my Github profile <a target="_blank" href="https://github.com/virajvchavan">here</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Special Moments on my Outreachy Journey ]]>
                </title>
                <description>
                    <![CDATA[ By Toni Shortsleeve It has been an amazing few weeks. For those of you who have been following my journey, thank you for seeing me over half-way through the internship. This is a remote position, and it’s been an excellent experience working with peo... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/special-moments-on-my-outreachy-journey-78db1ff11ef4/</link>
                <guid isPermaLink="false">66c35f4aa365c359945c9b75</guid>
                
                    <category>
                        <![CDATA[ healthcare ]]>
                    </category>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 23 Jul 2018 16:43:26 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*U-NqeYjddhD7khr5OGW0bA.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Toni Shortsleeve</p>
<p>It has been an amazing few weeks. For those of you who have been following my journey, thank you for seeing me over half-way through the internship.</p>
<p>This is a remote position, and it’s been an excellent experience working with people from all over the world. Patience is a virtue when waiting for an answer, but it also is very exciting when we’re all online and working together at the same time.</p>
<p>For those who haven’t read the whole story, or missed a couple of articles, I’ll be happy to give you a quick catch up…</p>
<h4 id="heading-how-i-got-here">How I got here</h4>
<p>In my <a target="_blank" href="https://medium.freecodecamp.org/how-i-beat-the-odds-and-became-an-outreachy-intern-9a92f47cb44e">first</a> article, I shared how I beat the odds and was chosen to be one of two <a target="_blank" href="https://www.outreachy.org/">Outreachy</a> interns at <a target="_blank" href="http://librehealth.io/">LibreHealth</a>. I am providing some of the documentation on the LibreHealth Electronic Health Records system in English.</p>
<p><a target="_blank" href="https://medium.freecodecamp.org/@nguimatiobest">Adele</a> is my intern-mate. She is translating all of the documentation into French. I like working with her. She has a great sense of humor and is always there to help when I’m feeling a little lost.</p>
<p>The <a target="_blank" href="https://medium.freecodecamp.org/my-outreachy-internship-begins-today-heres-what-i-ve-done-and-learned-so-far-88fef9c18619">second</a> article discussed my preparation before I began the actual internship. Using the LibreHealth EHR demo site, I created documentation that guided a reader using an example of a patient that needed an x-ray referral.</p>
<p>In the <a target="_blank" href="https://medium.freecodecamp.org/the-next-steps-on-my-outreachy-journey-docker-big-challenges-and-small-victories-2c3a2dd2277a">third</a> article, I talked about a few of the technical challenges I experienced when I tried to set up the Radiology module within Docker on my age old machine. ?</p>
<p>My <a target="_blank" href="https://medium.freecodecamp.org/every-step-brings-something-new-on-my-outreachy-journey-e7c0f7adf2ea">last</a> article shared some of my work and goals. Since then, I have had documents reviewed with a lot of interesting feedback.</p>
<p>And today has been all about using that feedback to move forward, learning more lessons, and shaping my future goals.</p>
<h4 id="heading-documentation">Documentation</h4>
<p>I love the practice that I created, although Dr. Apgar was already there.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/93pUXvB8ze3kGmEcs0wap1O4Ov66sM03JJqV" alt="Image" width="186" height="173" loading="lazy">
<em>Dr. Virginia Vapgar is logged into the EHR system</em></p>
<p>This practice first showed up in the LibreHealth <a target="_blank" href="https://wiki.ehr.librehealth.io/LibreHealth_EHR_User_Guide">User Guide</a> that I documented. Now our staff is great, and they are showing us how a real practice is supposed to run.</p>
<p>While I am creating two different documents, there is a relationship between orders and encounters (or visits). For instance, orders can be one component of an encounter.</p>
<p>So occasionally the information overlaps. But I have to be careful that each document receives exactly the information needed.</p>
<p>I have been approved for the document about the Provider Order, which follows the patient and staff to create and transcribe an order for x-rays. I created a patient and with twin daughters for the purposes of my work.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/0E-kG5odBqTailReBKG3OgZ0iFZzV3bb9HPy" alt="Image" width="650" height="229" loading="lazy">
<em>X-ray Plan for “Jessica Johnson”</em></p>
<p>I have recently submitted my 3rd revision of the Encounters document. This is a little different because it involves medication. There is a new code to learn for the cost and amount of medicine to be prescribed - on top of the visit code and billing codes. I am still learning about these, so it may take a little more time to get it in place.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/jfbZR4Z3wVAYvkHECfHHoXfD3xSN3xuttIq5" alt="Image" width="487" height="463" loading="lazy">
<em>Medicine Plan for “Sarah Johnson”</em></p>
<p>I did my research to find what the medical codes were and how to create the orders. My EHR mentor was great at answering my questions and offering positive suggestions. Any errors are strictly my own. ?</p>
<h4 id="heading-fee-sheets">Fee Sheets</h4>
<p>I am still addressing the Fee Sheets. The codes must be placed in the correct order, justified with the proper codes, and priced correctly.</p>
<p>The ICD10 code is what the provider decides is the diagnosis for the problem being treated in that encounter. Several things go on a fee sheet - the ICD10 code(s) for the problem(s) treated in the encounter, the CPT4 and HCPCS codes for whatever services were rendered in the encounter, and any other miscellaneous fees.</p>
<h4 id="heading-oops">Oops!</h4>
<p>My EHR mentor has been so patient with me and my many missteps. Now that the Provider Orders document was approved, I had to place it in wiki format and onto the Libre wiki site. That was much easier said than done.</p>
<p>I wrote over a section that should not have been written over.</p>
<p>Fortunately, my mentor caught it before I did too much damage. Intern-mate Adele came to my rescue on how it should have been done. Now I’m revising the wiki document again.</p>
<p>At least I had uploaded most of the images first, so it won’t take as long as it did last time.</p>
<h4 id="heading-outreachy">Outreachy</h4>
<p>I’ve been listed as one of the <a target="_blank" href="https://medium.freecodecamp.org/announcing-our-freecodecamp-2018-top-contributor-award-winners-861da08a77e1">Top Contributors</a> at freeCodeCamp. It’s exciting to receive the award - but I’ve really just been focused on trying to stay sane, get answers, and help others who may stumble over the same obstacles that I have.</p>
<p>I contacted my Outreachy organizer hero, <a target="_blank" href="https://twitter.com/_sagesharp_">Sage Sharp</a>. She has approved my travel stipend and so I can pay for airfare and one night in New York. I’m looking forward to meeting my freeCodeCamp hero <a target="_blank" href="https://twitter.com/ossia">Quincy Larson</a> in person instead of just Skype, as well as members of our editor team. I am also looking forward to meeting my other personal FreeCodeCamp heroes who will be attending.</p>
<p>I am also looking forward to meeting my Tech mentor at LibreHealth. It will be my last chance to get answers to any additional questions I may have.</p>
<p>I’ve promised Outreachy that I will provide a special article with photos after the trip.</p>
<p>It’s only a month away, which is a reminder that my internship only has 6 more weeks now.</p>
<h4 id="heading-more-to-come">More to come …</h4>
<p>There was so much that I wanted to accomplish by now. But I still have 6 weeks to meet my goals.</p>
<p>I’ll go back and finish the LibreHealth EHR part of the documentation so I can continue the Provider Orders by showing what happens on the LibreHealth Radiology side.</p>
<p>Thank you for joining me on my journey.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Every step brings something new on my Outreachy journey ]]>
                </title>
                <description>
                    <![CDATA[ By Toni Shortsleeve This is the fourth installment of my Outreachy Internship articles. I’m writing one every two weeks to provide updates along my journey, and I have tried to stay on schedule. You can read my previous articles if you need to catch ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/every-step-brings-something-new-on-my-outreachy-journey-e7c0f7adf2ea/</link>
                <guid isPermaLink="false">66c349f00f58901a62091756</guid>
                
                    <category>
                        <![CDATA[ healthcare ]]>
                    </category>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learning ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 02 Jul 2018 14:50:50 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*pur5J3axs9LlRXvRUQRngg.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Toni Shortsleeve</p>
<p>This is the fourth installment of my Outreachy Internship articles. I’m writing one every two weeks to provide updates along my journey, and I have tried to stay on schedule. You can read my previous articles if you need to catch up or be reminded of what has happened so far.</p>
<p>In my <a target="_blank" href="https://medium.freecodecamp.org/how-i-beat-the-odds-and-became-an-outreachy-intern-9a92f47cb44e">first</a> article, I shared how I beat the odds and got accepted as an <a target="_blank" href="https://www.outreachy.org/">Outreachy</a> intern working with <a target="_blank" href="http://librehealth.io/">LibreHealth</a>. The <a target="_blank" href="https://medium.freecodecamp.org/my-outreachy-internship-begins-today-heres-what-i-ve-done-and-learned-so-far-88fef9c18619">next</a> article discussed my preparation to begin the actual internship after I was accepted. In the <a target="_blank" href="https://medium.freecodecamp.org/the-next-steps-on-my-outreachy-journey-docker-big-challenges-and-small-victories-2c3a2dd2277a">last</a> article, I talked about a few of the technical challenges I experienced. Today, I’ll share what has been happening since then.</p>
<h4 id="heading-what-im-doing">What I’m doing</h4>
<p>The LibreHealth Toolkit is a software API and user interface that can be used to create Electronic Health Records. The LibreHealth Radiology suite is a customized version of the LibreHealth Toolkit with additional tools for radiology and imaging professionals.</p>
<p>I am working on LibreHealth non-technical User Guides for both the Electronic Health Records (EHR) and Radiology modules. It’s been exciting to learn the workflow for Providers as well as Staff in the EHR module. I’m also in the process of learning the workflow for the Radiology Department.</p>
<p>I’ve enjoyed using the LibreHealth EHR <a target="_blank" href="https://librehealth.io/demos/">demo site</a> to create a new facility for a doctor’s practice, and the staff and procedures required to run the facility. I use Snag-it, Photoshop and the Google Inspector as needed to make the images work for the documentation.</p>
<p>The LibreHealth EHR demo allows me to keep the User Preference and new Patient information, so that it is still there the next time I use it.</p>
<h4 id="heading-very-little-tech">Very Little Tech</h4>
<p>I’m not yet as familiar with how the LibreHealth Radiology module should work or how easy it will be to keep the new patient and staff information that I will want to create. So I’m planning to download the actual software to make sure I can work with it.</p>
<p>I’m also hoping to create an easy-to-follow guide for downloading and installing the Toolkit and Radiology software.</p>
<p>I really like my tech mentor, and I’ve benefited from the way he approaches problem solving. When I work with the software and encounter any errors or messages, I tell him of the newest message that I see on my computer. It’s always fun when he says “hmm” or “weird”. After a short time, he gives me another solution to try out, which I test and let him know the outcome.</p>
<p>Currently, the Docker and Radiology install is on hold until I hear back from him again.</p>
<h4 id="heading-more-documentation">More Documentation</h4>
<p>But this was very good timing. My documentation mentor came back. He reviewed the second revision of my documentation and offered a few more suggestions. I like working with him because he explains why I should make those changes. And he listens to my thoughts and answers my questions patiently.</p>
<p>Since I was working on two different documents with similar styling, I had to ensure that the changes were consistently implemented in each document.</p>
<p>One user guide, the “Provider Orders”, follows a patient from check-in at the front desk, to visiting with the doctor. It walks through how the doctor documents the visit and then creates an Order for the patient to receive an X-ray. This document has been revised based on my mentor’s suggestions and is awaiting approval.</p>
<p>The other user guide, the “Encounters”, follows the patient through a similar process. However, in this document the doctor prescribes an injection and we follow the complete process to checkout.</p>
<h4 id="heading-another-step-backwards">Another Step Backwards</h4>
<p>I returned back to working on the “Encounters” documentation. I referred back to the Encounters video that I’ve been using as a base and re-opened the demo that I have used to create these user stories.</p>
<p>The Login Screen was in Spanish. I don’t speak or read Spanish. ?</p>
<p>I did what I thought was correct and brought the language back to American English. But it didn’t change. My documentation mentor looked at it and made a few suggestions on how to fix it. After we tried everything we thought would work, we put the call out to our tech mentor.</p>
<p>He immediately knew what was wrong and fixed it quickly. Imagine my embarrassment when he said, it could also be fixed in the Administrative =&gt; Global screen. The only one thing I forgot to check. ?</p>
<h4 id="heading-another-step-forward">Another Step Forward</h4>
<p>So I’m back on track again for the “Encounters” documentation and hoping this will help with the Radiology workflow.</p>
<p>I have found out more about Diagnosis, Procedure and Medication Billing codes. I will be going back to refine a couple of the images that changed due to this new information. I hope to have a second revision of the Encounters document completed in a few days.</p>
<h4 id="heading-meanwhile">Meanwhile…</h4>
<p>Needless to say, I haven’t been doing much editing on the freeCodeCamp Medium publication lately. I finally checked in to see what freeCodeCamp Medium has been publishing lately. I was excited to see the article by Quincy Larson announcing the <a target="_blank" href="https://medium.freecodecamp.org/announcing-our-freecodecamp-2018-top-contributor-award-winners-861da08a77e1">freeCodeCamp 2018 Top Contributor Award Winners</a>.</p>
<p>There were just over 200 people chosen for these awards. I’m excited and thankful to be among the ones chosen, and hoping to attend the New York celebration.</p>
<h4 id="heading-more-next-time">More Next Time</h4>
<p>Now, back to work. I hope next time I can tell you more about the inner workings of LibreHealth Radiology.</p>
<p>I think one of my favorite parts about writing these articles is finding really cool header images. The ones I use are from <a target="_blank" href="https://pixabay.com/">Pixabay</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ The next steps on my Outreachy journey: Docker, big challenges, and small victories ]]>
                </title>
                <description>
                    <![CDATA[ By Toni Shortsleeve This has been an interesting couple of weeks for me. As a result, I was slightly delayed in getting this article out. I was recently selected to intern at Outreachy. Outreachy is a program that organizes three-month paid internshi... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/the-next-steps-on-my-outreachy-journey-docker-big-challenges-and-small-victories-2c3a2dd2277a/</link>
                <guid isPermaLink="false">66c361e65731bdf41f8c642e</guid>
                
                    <category>
                        <![CDATA[ Docker ]]>
                    </category>
                
                    <category>
                        <![CDATA[ internships ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 13 Jun 2018 19:03:44 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*2-_OdNIVPbRBjJKb7OiNgw.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Toni Shortsleeve</p>
<p>This has been an interesting couple of weeks for me. As a result, I was slightly delayed in getting this article out.</p>
<p>I was recently selected to intern at Outreachy. Outreachy is a program that organizes three-month paid internships with free and open-source software projects for people who are typically underrepresented in tech.</p>
<p>As an Outreachy intern, I have been tasked with writing about my experience every couple of weeks. This is unique for me, as I am used to editing instead of writing.</p>
<p>In my first <a target="_blank" href="https://medium.freecodecamp.org/how-i-beat-the-odds-and-became-an-outreachy-intern-9a92f47cb44e">article</a>, I had just been accepted as an <a target="_blank" href="https://www.outreachy.org/">Outreachy</a> intern working with <a target="_blank" href="http://librehealth.io/">LibreHealth</a>. The next <a target="_blank" href="https://medium.freecodecamp.org/my-outreachy-internship-begins-today-heres-what-i-ve-done-and-learned-so-far-88fef9c18619">article</a> discussed my preparation to begin the actual internship after I was accepted. Today, I’ll share where I am at the moment, since the internship began.</p>
<h3 id="heading-wanting-to-learn-more">Wanting to learn more</h3>
<p>I recently submitted my latest revision of the documentation I’ve been working on, and I am waiting for feedback. Meanwhile, I realized I still didn’t have enough information about the Radiology module and the LibreHealth Toolkit that runs it.</p>
<p>My intern-mate <a target="_blank" href="https://medium.com/@nguimatiobest">@adele</a> turned me onto a great <a target="_blank" href="https://ivange94blog.wordpress.com/">blog</a> site. Ivange Larry Ndumbe is a GSOC 2017 intern who worked on the LibreHealth Radiology Module.</p>
<p>A couple of his articles led me in the right direction to help set-up the Toolkit. It turned out that I needed to download Docker. But there was just one problem: I had no idea what Docker was or what it does.</p>
<h3 id="heading-some-twists-and-turns">Some twists and turns</h3>
<p>But sometimes, timing is everything. Right around that time, I was fortunate to edit <a target="_blank" href="https://medium.freecodecamp.org/let-me-guide-you-through-your-first-date-with-docker-f03f35567d95">Let me guide you through your first date with Docker</a> for freeCodeCamp’s Medium publication. This gave a me good introduction to the Docker downloads. Except the Docker Windows download is only for Windows 10.</p>
<p>Do you remember Windows 95, Vista, and XP? My computer does. They were best friends through each new upgrade until Windows 8. I am perfectly happy with much of my software upgrades over the years. But I found that some of my favorites were no longer available after the upgrade. And personally, I’m not impressed enough with Windows 10 to give up my favorite suites. This has been the source of my angst over this past session.</p>
<p>More research led me to the Docker <a target="_blank" href="https://docs.docker.com/toolbox/overview/">Toolbox</a>. But first, the Docker documentation said:</p>
<blockquote>
<p>Make sure your Windows system supports Hardware Virtualization Technology and that virtualization is enabled.</p>
</blockquote>
<p><strong>This was scary.</strong></p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/pa-0s9ghXHuagCoD9VBrxNUSX2wLk2X9SlEv" alt="Image" width="650" height="443" loading="lazy"></p>
<p>Back for more research. I (sort of ) found a strategy to enable the Virtualization <a target="_blank" href="https://bce.berkeley.edu/enabling-virtualization-in-your-pc-bios.html">here</a>.</p>
<p>I had to go inside my computer BIOS as it was turning on, and change a code before it fully loaded.</p>
<p>It took a lot of reboots. I had to play with the suggested <code>F-keys</code> while being fast enough to catch it before the system totally moved forward in the turning-on phase. Then I repeated the reboot with a different <code>F-key</code> until I found the right one at the right time. After going through all those <code>F-keys</code> I tried the <code>Delete</code> key. Success!</p>
<p>Of course, my switch was hidden in the Advanced Section, and I had to search to find the right commands for it. But the next reboot had my Virtualization Enabled!</p>
<h3 id="heading-one-victory-at-a-time">One victory at a time</h3>
<p>Now it was time to download the Docker Toolbox. It took a couple of tries, but then I was ready to run the <code>docker-compose</code> command. But I forgot to run the command as an Administrator, and my access was denied.</p>
<p>So I ran it again, as Administrator this time. And I received a <code>File Not Found</code> error.</p>
<p>Back to the research. The <a target="_blank" href="https://www.freecodecamp.org/">freeCodeCamp</a> <a target="_blank" href="https://gitter.im/FreeCodeCamp/PairProgrammingWomen">PairProgrammingWomen</a> chatroom has been great in connecting with me through private message and sending me helpful links. And my tech mentor has been awesome in providing even more helpful links and information.</p>
<p>I’ve finally managed to get the Docker Compose to work! But now I can’t access my localhost. My mentor is continuing to work with me on this. It’s a process.</p>
<h3 id="heading-moving-forward">Moving forward</h3>
<p>I’m going to keep following the suggestion I got from the freeCodeCamp chatroom of using the Read-Search-Ask method. I’m also going to pour over all of those links and continue with creating a manageable Radiology facility.</p>
<p>This will be a great User Guide by the time we finish. Thank you for being with me as I continue my internship journey with Outreachy and LibreHealth journey. Until next time!</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
