<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Klesta</title>
    <description>The latest articles on Forem by Klesta (@klesand).</description>
    <link>https://forem.com/klesand</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F897608%2F5155bd65-1ffa-4aef-b2b9-02be43b13d4c.jpg</url>
      <title>Forem: Klesta</title>
      <link>https://forem.com/klesand</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/klesand"/>
    <language>en</language>
    <item>
      <title>My 2024 Year in Review</title>
      <dc:creator>Klesta</dc:creator>
      <pubDate>Sun, 05 Jan 2025 16:54:42 +0000</pubDate>
      <link>https://forem.com/klesand/my-2024-year-in-review-14fp</link>
      <guid>https://forem.com/klesand/my-2024-year-in-review-14fp</guid>
      <description>&lt;h2&gt;
  
  
  Reflecting on 2024: A Year of Growth and Contributions in My Career
&lt;/h2&gt;

&lt;p&gt;As 2024 came to an end, I took some time to write down and reflect on the growth opportunities that have shaped my year. Here’s a look at the highlights from my journey this year, spanning volunteering, professional achievements, learning, and building connections.&lt;/p&gt;




&lt;h2&gt;
  
  
  Volunteering
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Collab Lab&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This year, I continued supporting early-career professionals as a career mentor during the final stages of their experience. My contributions included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reviewing resumes and LinkedIn profiles&lt;/li&gt;
&lt;li&gt;Conducting mock interviews&lt;/li&gt;
&lt;li&gt;Providing feedback and career advice.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Back in 2022 I was part of TCL-50 cohort where I built a smart shopping app with really cool people and mentors. I wish I had written my own article about my experience but &lt;a href="https://dev.to/the-collab-lab/the-collab-lab-tcl-50-recap-2gob"&gt;this post by one of the mentors does it quite well&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;In addition, I previously volunteered on the curriculum revamp committee, where I helped redesign aspects of the program to better serve future cohorts. I wrote about &lt;a href="https://dev.to/klesand/volunteering-as-a-developer-win-win-for-you-and-the-tech-community-1e27"&gt;the benefits of volunteering here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Unfortunately, The Collab Lab closed due to the challenges of running a non-profit solely with volunteers but I am incredibly grateful to have been part of this great community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chingu&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
As a project/voyage mentor, I guided a team through the project development process following agile methodologies. My role was intentionally hands-off, focusing on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Observing team communication and stepping in only if necessary&lt;/li&gt;
&lt;li&gt;Assisting when the team was stuck after trying to resolve challenges between themselves.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This experience allowed me to foster team autonomy while ensuring support when it was most needed.&lt;/p&gt;

&lt;p&gt;Back in 2022 I also collaborated with a team at Chingu, though at the time there were no project mentors. &lt;a href="https://dev.to/klesand/my-experience-with-chingu-3m48"&gt;I wrote about my experience here&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Work
&lt;/h2&gt;

&lt;p&gt;This year has been packed with impactful projects and professional development opportunities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Building New Applications:&lt;/strong&gt; I contributed to the development of security software in Attack Surface Risk Management (ASRM), empowering organizations to proactively identify and mitigate risks to protect critical assets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the second half of 2024, my team and I developed a mock-up for a new app that was presented at Black Hat, one of the world's leading cybersecurity events. I loved building this mock-up. I leveraged AI tools like GitHub Copilot to bring it to life quickly.&lt;/p&gt;

&lt;p&gt;The app quickly gained client interest and through collaboration across 6+ teams, is now in private preview. For the front end, we’re leveraging React, TypeScript, and D3.js. I’m currently focused on delivering a key feature for the upcoming public preview release. This project has been my favourite to date.&lt;/p&gt;

&lt;p&gt;In the first half of the year, I contributed to adding new features for an app we had started building in 2023, continuing to work with the same tech stack to enhance its functionality.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Improved Internal Communication:&lt;/strong&gt; Supported initiatives to enhance communication within the R&amp;amp;D organization, including hosting Q&amp;amp;A sessions and implementing an internal news feature. These efforts resulted in a measurable 2% improvement in organizational communication efficiency.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Participating in this initiative was a lot of fun! It was fulfilling to contribute to meaningful change while building connections and collaborating with colleagues across teams.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CTF Event Participation:&lt;/strong&gt; Took part in a Capture The Flag (CTF) event, diving into cybersecurity challenges with my team.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Knowledge Sharing:&lt;/strong&gt; Contributed to knowledge sharing within team and whole R&amp;amp;D organization by delivering presentations, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exploring three use cases for GitHub Copilot.&lt;/li&gt;
&lt;li&gt;Showcasing a front-end feature my team built, presented in collaboration with the back-end team.&lt;/li&gt;
&lt;li&gt;Team sprint demos highlighting various features I worked on.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mentorship:&lt;/strong&gt; Acted as a buddy for a co-op student over two terms (eight months), providing guidance, support, and fostering her growth and integration within the team.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;RISE Empowered Women’s Development Program:&lt;/strong&gt; Participated in this multi-day professional development program, which featured sessions on topics such as impact, networking, visibility, leadership styles, and career resilience.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Courses/Workshops&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Building with Amazon Bedrock and LangChain&lt;/em&gt; Workshop by AWS. This workshop introduced generative AI concepts through hands-on exercises. Labs included prompt engineering, security and guardrails, chatbots, retrieval-augmented generation (RAG), image generation &amp;amp; editing, and multimodal capabilities. &lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Artificial Intelligence Foundations: Thinking Machines&lt;/em&gt; on LinkedIn Learning. This course helped me learn some key concepts behind artificial intelligence, including differences between "strong" and "weak" AI, while covering the history of AI, machine learning, technical approaches, AI in robotics, and integrating AI with big data.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  Conferences
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;CascadiaJS in Seattle&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Attending CascadiaJS was a major highlight of the year. I expanded my technical expertise, built connections with other developers, and shared key insights with my colleagues through a presentation at work. &lt;a href="https://dev.to/klesand/my-experience-at-cascadiajs-2024-insights-507j"&gt;Check out my blog post here&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Content Creation
&lt;/h2&gt;

&lt;p&gt;This year, I co-wrote an article with Web Dev Path titled &lt;a href="https://dev.to/wdp/how-to-spot-and-avoid-job-scams-a-guide-for-junior-tech-professionals-2be8"&gt;How to Spot and Avoid Job Scams: A Guide for Junior Tech Professionals&lt;/a&gt;. The guide was aimed at helping early-career professionals navigate job hunting safely and confidently.&lt;/p&gt;




&lt;h2&gt;
  
  
  Relationship Building
&lt;/h2&gt;

&lt;p&gt;Building relationships has been another cornerstone of 2024:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Casual coffee chats with colleagues, as well as individuals outside of work, helped me build new relationships, expand my network, and foster shared learning.&lt;/li&gt;
&lt;li&gt;Active participation in the Women’s ERG book club fostered meaningful discussions, broadening my perspective and deepening my understanding of diverse experiences.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Closing Thoughts
&lt;/h2&gt;

&lt;p&gt;I’m happy with the balance I struck between contributing to the developer community, growing in my professional role, and making meaningful connections. These experiences have not only strengthened my technical and leadership skills but also enriched my journey as a collaborator. I’m excited to continue exploring new opportunities for growth and impact this upcoming year.&lt;/p&gt;

</description>
      <category>career</category>
      <category>learning</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>My Experience at CascadiaJS 2024: Insights</title>
      <dc:creator>Klesta</dc:creator>
      <pubDate>Tue, 31 Dec 2024 12:51:57 +0000</pubDate>
      <link>https://forem.com/klesand/my-experience-at-cascadiajs-2024-insights-507j</link>
      <guid>https://forem.com/klesand/my-experience-at-cascadiajs-2024-insights-507j</guid>
      <description>&lt;p&gt;Although months have passed since CascadiaJS 2024, the ideas and experiences I gained at the conference have stuck with me. Reflecting on the event now feels like the perfect way to revisit and share what I learned. Attending CascadiaJS inspired me not only to write this article but also to give a presentation at work to share key insights. I also got to meet some awesome people. I'm grateful to my company for giving me the opportunity to attend and for supporting my professional growth through events like this.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sharing the Experience at Work
&lt;/h2&gt;

&lt;p&gt;In December, I presented key insights from CascadiaJS 2024 to my team at work. It was an opportunity to showcase what I learned, from AI engineering to a project built with AI + React and beyond.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh1h0ymyjki7o93hfsari.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh1h0ymyjki7o93hfsari.jpg" alt="Presentation" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  CascadiaJS 2024 Overview
&lt;/h2&gt;

&lt;p&gt;CascadiaJS 2024 was an unforgettable two-day event held on June 20–21 at Town Hall Seattle, bringing over 20 speakers and countless developers eager to learn and share. From hands-on workshops and thought-provoking talks to lively social events like the welcome reception, opening party, and even a karaoke closing celebration, the conference offered something for everyone. Topics ranged from cutting-edge advancements in AI and web performance to career growth, accessibility, and the future of software engineering. I had the opportunity to attend an insightful pre-conference workshop, AI for React Developers, which set the tone for an engaging and educational experience. There were many great sessions, but here are a few of my favorites.&lt;/p&gt;

&lt;h2&gt;
  
  
  Highlights and Takeaways
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;AI for React Developers - Pre-conference workshop&lt;/strong&gt;&lt;br&gt;
The workshop was held at AWS Skills Center which was a really cool building. They host free cloud training and interactive exhibits.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ilxmw7mw0u6z920js7i.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ilxmw7mw0u6z920js7i.jpg" alt="AWS Skills Center" width="800" height="1420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built with the AI SDK by Vercel, this workshop focused on equipping developers with tools to build AI-powered apps using frameworks like React, Next.js, Node.js, etc. The AI SDK Core simplifies integration with large language models (LLMs) by standardizing methods, enabling features like text generation/streaming. The AI SDK UI provides hooks like &lt;code&gt;useCompletion&lt;/code&gt; to easily build chat interfaces and manage state. This workshop was a great introduction to practical AI development and set the stage for deeper discussions during the conference.&lt;/p&gt;

&lt;p&gt;I added my own creative twist to the project’s UI, channeling the voice of Captain Jack Sparrow for a bit of flair (and even threw in a fun GIF to match). Take a look and see how it turned out!&lt;br&gt;
&lt;iframe src="https://player.vimeo.com/video/1042964329" width="710" height="399"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Software 3.0 and the AI Engineering Landscape&lt;/strong&gt;&lt;br&gt;
Shawn Swyx Wang discussed the rise of AI engineering, driven by foundation models like ChatGPT. Shawn explained how these tools allow faster deployment of AI solutions without needing deep machine learning expertise, emphasizing practical application and integration. He highlighted how accessible APIs are changing the field. He also discussed new opportunities (such as the emergence of the AI Engineer role) and challenges in AI development, making advanced technologies more accessible to developers and businesses.  Shawn compared AI Engineers and ML Engineers, referencing Andrej Karpathy's prediction that:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“In numbers, there’s probably going to be significantly more AI Engineers than there are ML engineers / LLM engineers. One can be quite successful in this role without ever training anything.” - &lt;em&gt;Andrej Karpathy&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Putting Fun Back Into Coding&lt;/strong&gt;&lt;br&gt;
Jason Lengstorf’s session was an interesting take on making work more fun and meaningful. Jason shared how embracing challenges, trying new things, and connecting with others can turn tough projects into exciting wins. He also had stories about how playful side projects can spark creativity and build skills, eventually solving real world problems. It was a very inspiring session.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your AI Needs an Assistant&lt;/strong&gt;&lt;br&gt;
Josh Goldberg explored the practical applications and limitations of AI in software development. He shared his experience as an open-source maintainer, emphasizing that while AI tools like ChatGPT can assist with code generation, they often lack precision and context. He advocated for leveraging tools, such as linters and type checkers, along with AI to ensure code quality. Ultimately, Josh underscores the complementary role of AI in enhancing productivity when paired with traditional development practices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting with others
&lt;/h2&gt;

&lt;p&gt;I was fortunate to connect with some amazing people at CascadiaJS, including developers and professionals from all kinds of companies and industries. Here are a few photos from the event, though I do wish I had taken more!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6dt2aucd5b4m17z662gl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6dt2aucd5b4m17z662gl.jpg" alt="Group photo" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6u21mgr7aie994mmblyf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6u21mgr7aie994mmblyf.jpg" alt="Group photo" width="800" height="1420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F20ptg2vt5abj0iv7f5fl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F20ptg2vt5abj0iv7f5fl.jpg" alt="Group photo" width="800" height="1420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvnky0wo8pw4yxpjnc9pf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvnky0wo8pw4yxpjnc9pf.jpg" alt="Stage" width="800" height="792"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8q8oheqs5b75c3e9v7jz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8q8oheqs5b75c3e9v7jz.jpg" alt="Stage" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;CascadiaJS 2024 was an inspiring event that left me with new tools, ideas, and connections. Presenting these insights at work reminded me of how conferences like this can have a lasting impact, not just on individual attendees but also on their teams and workplaces. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>techtalks</category>
      <category>ai</category>
    </item>
    <item>
      <title>How to Spot and Avoid Job Scams: A Guide for Junior Tech Professionals</title>
      <dc:creator>Klesta</dc:creator>
      <pubDate>Tue, 20 Feb 2024 23:03:56 +0000</pubDate>
      <link>https://forem.com/wdp/how-to-spot-and-avoid-job-scams-a-guide-for-junior-tech-professionals-2be8</link>
      <guid>https://forem.com/wdp/how-to-spot-and-avoid-job-scams-a-guide-for-junior-tech-professionals-2be8</guid>
      <description>&lt;p&gt;In the digital age, finding your first or next tech position online has never been easier. Scammers have become increasingly sophisticated, often masquerading as legitimate employers to prey on unsuspecting job seekers. In a recent discussion in our &lt;a href="https://www.webdevpath.co/" rel="noopener noreferrer"&gt;Web Dev Path&lt;/a&gt; Slack community, we highlighted the importance of vigilance when searching for tech jobs online. Here’s how you can arm yourself with knowledge and avoid falling victim to scams.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Research the Company Thoroughly
&lt;/h2&gt;

&lt;p&gt;Before you even consider applying, do a deep dive into the company. A legitimate business should have a strong online presence, including a professional website, social media accounts, and reviews or mentions in industry publications. The red flags raised regarding a suspicious job posting—for instance, may be the absence of employees on LinkedIn and the lack of substantial information on the company's website—are prime examples of warning signs to look out for.&lt;/p&gt;

&lt;h3&gt;
  
  
  Actionable Tips:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Verify the company’s existence through multiple sources, not just LinkedIn.&lt;/em&gt; A genuine company typically has a website, social media presence, and other online footprints that align with its name and profile.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Google the company name and look for any red flags or warning signs.&lt;/em&gt; Sometimes people who have come across job scams will post their experiences or questions on platforms like &lt;a href="https://www.reddit.com/r/learnprogramming/comments/18jhj3x/are_these_recruitment_companies_legit/" rel="noopener noreferrer"&gt;Reddit&lt;/a&gt;, Quora, or Trustpilot. Look for reviews or discussions about the company in professional forums or on platforms like &lt;a href="https://www.glassdoor.ca/Reviews/index.htm" rel="noopener noreferrer"&gt;Glassdoor&lt;/a&gt;. You can learn a lot from the experiences and opinions of current or former employees, as well as other job seekers who have interacted with the company.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Check the domain name of the company’s website and email address on &lt;a href="https://who.is/" rel="noopener noreferrer"&gt;who.is&lt;/a&gt;.&lt;/em&gt; This useful tool can provide information about when and where the domain was registered, as well as who owns it. If you notice that the domain is quite new, has a different name or location compared to the company, or is hidden behind a proxy service, it might be an indication that it could be a scam.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Verify the contact details of the company and the recruiter.&lt;/em&gt; Legitimate companies tend to provide clear and professional information such as phone numbers, email addresses, and physical locations. If the contact details are vague, inconsistent, or use free email services like Gmail or Yahoo, be wary.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Analyze the Job Posting
&lt;/h2&gt;

&lt;p&gt;Scammers often post job listings that seem too good to be true, such as offering exceptionally high salaries for junior positions or requiring minimal experience for roles that typically demand more.&lt;/p&gt;

&lt;h3&gt;
  
  
  Actionable Tips:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Be wary of vague job descriptions and listings that lack detailed responsibilities or qualifications.&lt;/em&gt; A legitimate job posting will have a clear and specific description of the role, the skills and experience required, and the expectations and benefits of working for the company.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Question high salaries for entry-level positions, especially if they're significantly above market rate.&lt;/em&gt; A legitimate employer could offer a competitive and realistic salary that matches the level and scope of the job, and will not try to entice you in with false or exaggerated promises.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Beware of the Recruitment Process
&lt;/h2&gt;

&lt;p&gt;A legitimate hiring process involves multiple stages, including interviews, technical assessments, and often, interactions with multiple team members. If a company offers you a job with little to no interview process, it’s a red flag. Scammers might also ask for personal information too early in the process or require payment to proceed with your application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Actionable Tips:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Never pay to apply for a job or to purchase equipment directly through a link provided by the recruiter.&lt;/em&gt; This is a common tactic used by scammers to steal your money or personal information. A real employer wouldn't ever ask you for any money up front or any kind of payment.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Be cautious if you're offered a position without a formal interview or vetting process.&lt;/em&gt; This could mean that the job is not genuine. A reputable employer will want to assess your skills, qualifications, and overall suitability for the role.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Check the recruiter’s profile on LinkedIn and see if it is complete and well-connected.&lt;/em&gt; A legitimate recruiter will have a detailed and professional profile with a clear photo, a summary of their experience, and endorsements or recommendations from others.They will also have a large network of connections, particularly in the industry or field that they are hiring for.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Verify the email domain of the recruiter and the company.&lt;/em&gt; Be careful of generic or suspicious email addresses, such as free services Gmail or Yahoo, or those that have misspellings, typos or extra characters. A legitimate recruiter will typically use a company email address that matches the company name and website.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Even if the email domain appears legit, be aware that email spoofing can be used&lt;/em&gt; to manipulate the email header in the hopes of tricking the recipient into thinking the email came from someone legit. Email spoofing is a technique that changes the sender’s address or name to make it look like it came from a trusted source. To protect yourself, double-check the email header for any red flags, such as mismatched domains, or reply-to addresses.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Be careful if you’re approached for a job via text message or WhatsApp.&lt;/em&gt; Legitimate recruiters are not known to reach out to candidates this way, as it can be unprofessional and inefficient. Sometimes, these jobs are vague, such as “Are you interested in a full, part time or WFH job role?” or they could be tech/developer specific roles. SMS messages can also be spoofed to appear like they’re coming from a local phone number, when in fact they are from a different country or region. Additionally, scammers can use stolen or fake phone numbers, such as those generated by Google Voice or other services, to text you from what appears to be a local area code.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;A tool called &lt;a href="https://www.virustotal.com/gui/home/url" rel="noopener noreferrer"&gt;virustotal.com&lt;/a&gt; allows you to scan files and URLs for viruses, malware and other threats.&lt;/em&gt; It can be useful for checking the legitimacy of attachments or links that you receive from potential employers or recruiters. However this is not a foolproof way to detect job scams as some scammers can disguise their malicious intent so be careful when opening or clicking on anything that seems suspicious.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Protect Your Personal Information
&lt;/h2&gt;

&lt;p&gt;Some scammers' primary goal is to harvest personal details for data farming or identity theft. Be judicious about the information you share, especially in initial communications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Actionable Tips:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Only provide necessary personal details after verifying the legitimacy of the job offer.&lt;/em&gt; Do not share any sensitive information, such as your social insurance number or social security number, bank account, or credit card details. Make sure to only provide these details if you are confident that the employer is legitimate and has a valid reason for requesting them.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Use job search platforms that have robust privacy policies and security measures.&lt;/em&gt; Choose reputable and reliable websites that protect your data and identity. Be cautious and refrain from clicking on any suspicious or unsolicited links that may introduce phishing scams or malware attacks.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Consider using a new or separate email address specifically for your job search&lt;/em&gt; that you can easily discard later that isn’t linked to any confidential information. This way, you can reduce the risk of spam, identity theft, or hacking, and keep your personal and professional emails separate.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Have multi-factor authentication (MFA) activated on your email address, preferably using an authenticator app.&lt;/em&gt; This can prevent unauthorized access to your email account and the information stored in it, if your email and password are involved in a data breach.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Check &lt;a href="https://haveibeenpwned.com/" rel="noopener noreferrer"&gt;haveibeenpwned.com&lt;/a&gt; to see if your email address or password have been compromised in a data breach.&lt;/em&gt; If it has, you should change your password and enable MFA as soon as possible.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;If you have a Gmail address, you can take advantage of Google Security to scan and check if your email address or password is on the dark web. The dark web is a hidden part of the internet that is often used for illegal or malicious activities, such as selling stolen data or credentials.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Trust Your Instincts
&lt;/h2&gt;

&lt;p&gt;If something feels off, it probably is. Allow your intuition to lead to a closer examination of a dubious job posting, ultimately protecting yourself from potential exploitation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Actionable Tips:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;If you have doubts, seek advice from mentors or peers within your professional network.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;Use online forums and communities, like Reddit or specialized tech forums, to seek opinions and share experiences.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In our collective effort against job scams, knowledge, and vigilance are our best defenses. By sharing experiences and supporting one another, we can create a safer job search environment for all tech professionals. Remember, if a job opportunity seems too good to be true, it probably is. Stay curious, stay cautious, and let’s keep the score in our favor: Scammers: 0. Applicants: 1.&lt;/p&gt;

</description>
      <category>jobsearchsafety</category>
      <category>techjobscams</category>
      <category>techcareeradvice</category>
    </item>
    <item>
      <title>Git Basics: Git Commands and How to Use Them</title>
      <dc:creator>Klesta</dc:creator>
      <pubDate>Mon, 27 Nov 2023 22:45:52 +0000</pubDate>
      <link>https://forem.com/klesand/git-basics-git-commands-and-how-to-use-them-5718</link>
      <guid>https://forem.com/klesand/git-basics-git-commands-and-how-to-use-them-5718</guid>
      <description>&lt;p&gt;If you’re a beginner in the world of development and you’re ready to begin using the terminal, these are some basic git commands that can get you started.&lt;/p&gt;

&lt;p&gt;Git is a powerful tool for version control - it helps you keep track of changes in your code and easily collaborate with other developers. In my opinion, git is the coolest thing since sliced bread.&lt;/p&gt;

&lt;p&gt;Git creates and stores snapshots of your code, called commits, in a repository. A repository (repo) is a folder that keeps track of your code and its changes. You can create a repo on your local machine, or on a remote server like GitHub.&lt;/p&gt;

&lt;p&gt;To use git, open a terminal and navigate to the folder where your code is. Once you’re in the correct folder, you can run git commands to interact with your repository. Here are some of the most common ones along with a brief description of each command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git init&lt;/code&gt; - makes the existing directory a git repository.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git status&lt;/code&gt; - shows you the current state of your repo. It lists which files have been modified, added, deleted, or are untracked (not part of the repository yet).&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git add .&lt;/code&gt; or &lt;code&gt;git add &amp;lt;file&amp;gt;&lt;/code&gt; - if you use the period (&lt;code&gt;.&lt;/code&gt;) it adds all the files in the current folder  to the staging area. Add the &lt;code&gt;&amp;lt;file&amp;gt;&lt;/code&gt; name if you just want to add a specific file to the staging area. The staging area is where you prepare your files for the next commit.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git commit -m “&amp;lt;message&amp;gt;”&lt;/code&gt; - commits the staged snapshot. Including a message in this command prevents a text editor from launching so you can do it directly from this command. The message should describe what changes you made to the code.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push&lt;/code&gt; - sends your commits to GitHub, where they are stored in your repo. This is important if you want to collaborate by sharing your code with others or back it up online.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git log&lt;/code&gt; - shows you the history of your commits, beginning from the most recent one. You can see different types of information like the message, date, author, and ID of each commit. You can also add some options at the end of the command to filter or format the output, for example &lt;code&gt;--oneline&lt;/code&gt;, &lt;code&gt;--graph&lt;/code&gt;, or &lt;code&gt;--pretty&lt;/code&gt;. So it would look like this &lt;code&gt;git log --oneline&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git diff&lt;/code&gt; - shows the differences between two versions of the code. You can compare between your working directory (the files you are currently editing) with the staging area (the files you have added) or the last commit (the files you have committed).&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git branch&lt;/code&gt; - shows you the list of branches in your repo. A branch is like a parallel version of your code where you can work on different features or experiments without affecting the main branch (usually called master or main). Branches are a lot of fun - &lt;a href="https://www.atlassian.com/git/tutorials/using-branches" rel="noopener noreferrer"&gt;read more about it here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git checkout -b &amp;lt;branch&amp;gt;&lt;/code&gt; - creates a new branch (&lt;code&gt;&amp;lt;branch&amp;gt;&lt;/code&gt;) and switches to that branch.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git checkout &amp;lt;branch&amp;gt;&lt;/code&gt; - switches to an existing branch (&lt;code&gt;&amp;lt;branch&amp;gt;&lt;/code&gt;). When you switch branches, your code editor matches the current branch you’re on.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git pull&lt;/code&gt; - it pulls the latest changes from the remote server and merges them with your local branch. Use this command if someone else has pushed new commits to the same branch as you, and you want to sync your code with theirs. Also use it to update your main branch locally after someone else has merged their changes into the main branch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Useful Resources
&lt;/h2&gt;

&lt;p&gt;If you like to learn by playing games, &lt;a href="https://learngitbranching.js.org/" rel="noopener noreferrer"&gt;Learn Girl Branching&lt;/a&gt; and &lt;a href="https://ohmygit.org/" rel="noopener noreferrer"&gt;Oh My Git!&lt;/a&gt; are fun ones to try.&lt;/p&gt;

&lt;p&gt;When I first got started with command lines, I took this free Udacity course: &lt;a href="https://www.udacity.com/enrollment/ud123/1.0.1" rel="noopener noreferrer"&gt;Version Control with Git&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>gitbasics</category>
      <category>gitcommands</category>
      <category>versioncontrol</category>
      <category>programming</category>
    </item>
    <item>
      <title>Volunteering as a Developer: Win-Win for You and the Tech Community</title>
      <dc:creator>Klesta</dc:creator>
      <pubDate>Mon, 13 Nov 2023 13:47:54 +0000</pubDate>
      <link>https://forem.com/klesand/volunteering-as-a-developer-win-win-for-you-and-the-tech-community-1e27</link>
      <guid>https://forem.com/klesand/volunteering-as-a-developer-win-win-for-you-and-the-tech-community-1e27</guid>
      <description>&lt;p&gt;I recently had the opportunity to become a buddy for an intern at my job. A buddy is someone who helps onboard a new hire. Their role is to help the new hire to feel welcome and become productive faster. They provide guidance, support, and information, both technical and otherwise. I also decided to extend my leadership skills beyond the office by volunteering in the developer community.&lt;/p&gt;

&lt;p&gt;Before landing my first developer role, I was involved in a variety of collaborative projects. I contributed to an &lt;a href="https://dev.to/klesand/how-i-started-contributing-to-open-source-27i8"&gt;open source project with Web Dev Path&lt;/a&gt;, participated in a &lt;a href="https://dev.to/klesand/my-experience-with-chingu-3m48"&gt;Chingu voyage&lt;/a&gt;, collaborated with mentors and other early career developers at &lt;a href="https://dev.to/the-collab-lab/the-collab-lab-tcl-50-recap-2gob"&gt;The Collab Lab&lt;/a&gt;, and joined an open source Hacktoberfest project. During these experiences, I was fortunate to connect with incredible mentors who played a significant role in my professional growth. Their guidance and support have shaped me into the professional I am today.&lt;/p&gt;

&lt;p&gt;I couldn’t wait to give back and share my knowledge with others! I didn't need to have years upon years of experience as a developer to start helping out. There are many ways to lend a hand within the community, both in technical and non-technical capacities.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Volunteering Experience
&lt;/h2&gt;

&lt;p&gt;Recently, I've been volunteering at The Collab Lab. I have been reviewing LinkedIn profiles, conducting mock interviews, providing feedback, and offering career advice to early career software developers in the program. I'm also a committee volunteer that's working on revamping the program.&lt;/p&gt;

&lt;p&gt;I have to say, it has been a fulfilling experience so far! There are so many positive aspects to my volunteer work. It's not only satisfying to know that I'm making a difference in their lives, but it's giving me the opportunity to sharpen my feedback giving skills. Additionally, being able to share my own tips and tricks, which I've gathered over many years, is truly rewarding.&lt;/p&gt;

&lt;p&gt;By collaborating with others to help revamp the program, I get to meet and work with different people. I have the opportunity to learn from their perspectives and approaches to problem solving. The most fulfilling aspect of this experience is knowing that my contributions will shape the new program where future participants will learn to work in an agile software development team, alongside supportive project mentors. &lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7126988007726833664/" rel="noopener noreferrer"&gt;Check out this conversation&lt;/a&gt; to see what we are working on, how you can get involved or apply to participate in the next cohort.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Volunteering
&lt;/h2&gt;

&lt;p&gt;I love volunteering! I'm actually a part of so many amazing tech communities that sometimes I wish I had more time to contribute. It's such a rewarding and enriching experience that helps me grow not only as a developer, but also as a person.&lt;/p&gt;

&lt;p&gt;You can make a positive impact on the world by using your skills and knowledge to help create applications, websites, databases etc. for non-profit organizations that support social, environmental or any other cause that matters to you.&lt;/p&gt;

&lt;p&gt;You can learn a new programming language or framework, other technical and soft skills, by collaborating with others. Volunteering can help practice and improve coding, design, testing, debugging, project management or any other skills you want. You don’t have to wait for new opportunities in the workplace, volunteering can be a valuable experience that can enhance your resume and career prospects.&lt;/p&gt;

&lt;p&gt;Another great benefit of volunteering is that you can get references and recommendations from the organizations you work with. It's a fantastic way to build relationships and make connections with professionals and potential employers who share your interests and values.&lt;/p&gt;

&lt;p&gt;And let's not forget the social aspect of volunteering! As a developer, it can be a source of creativity while expanding your social network by connecting with people from all around the world in the process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://greatergood.berkeley.edu/article/item/how_volunteering_can_help_your_mental_health" rel="noopener noreferrer"&gt;There's plenty of research&lt;/a&gt; on the subject of volunteering. Studies have shown that compared to non-volunteers, those who have volunteered in the past year tend to feel more satisfied with their lives and rate their overall health as better. So, not only does volunteering benefit the causes you care about, but it also has a positive impact on your own well-being. Diving into volunteering is a fantastic way to combine your skills, passion, and desire for personal growth while making a positive difference in the world.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to find volunteering opportunities
&lt;/h2&gt;

&lt;p&gt;If you're interested in volunteering, there are plenty of opportunities available both online and in your local community. You have the freedom to select a cause or organization that aligns with your interests, skills, and schedule. Additionally, you can explore various forms of volunteering, including one-time, short-term or long-term.&lt;/p&gt;

&lt;p&gt;There are many online tech communities that are seeking volunteers to help build and maintain their platforms or programs. The best part is that you can choose to volunteer in either a technical or non-technical role, depending on your interests and skills. In the technical realm, you could get involved in exciting projects for non-profit organizations, allowing you to develop your skills while making a positive impact. Or, if you prefer a non-technical role, you can engage in activities such as mentoring others, mock interviewing, or providing help at tech events.&lt;/p&gt;

&lt;p&gt;Take Virtual Coffee, for instance, where we have dedicated room leaders and note takers for our virtual coffee meetings. Recently, volunteers organized a lunch and learn session on "How to write an effective tech blog post." This inspired me to write this article and contribute to our &lt;a href="https://virtualcoffee.io/monthlychallenges/nov-2023" rel="noopener noreferrer"&gt;monthly challenge&lt;/a&gt;. You can find many other enthusiastic volunteers in our community who contribute to its growth and success. If you prefer face-to-face interactions, you also have the option to join or create an in-person tech community or a community focused on a specific programming language.&lt;/p&gt;

&lt;p&gt;Last but not least, open source projects! As a developer, I believe it's one of the coolest aspects of our career. By contributing to open source projects, you get to expand your skills and knowledge by learning new technologies or tools, and you also have the opportunity to collaborate with interesting individuals. You can even find a mentor to guide you or be a mentor to someone with less experience. It's such a fantastic way to grow and engage with the developer community. &lt;a href="https://www.freecodecamp.org/news/git-and-github-workflow-for-open-source/" rel="noopener noreferrer"&gt;Check out this article on how to contribute to open source projects&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Discovering a role you enjoy in a community you love can enhance your experience. When you come across such an opportunity, it's important to ensure clear communication, respect deadlines, and collaborate effectively with your team. Additionally, being open to learning, embracing feedback and challenges will further contribute to your growth.&lt;/p&gt;

&lt;p&gt;Volunteering is an amazing way to contribute to the tech community and enhance your career as a developer. By volunteering, you have the opportunity to assist others in achieving their goals, preserve a vibrant community, and also enhance your own skills and network. Have you had the chance to volunteer or receive support from a volunteer developer? How did it go?&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>softwaredevelopment</category>
      <category>webdev</category>
      <category>learning</category>
    </item>
    <item>
      <title>My Experience with Chingu</title>
      <dc:creator>Klesta</dc:creator>
      <pubDate>Mon, 28 Nov 2022 15:05:16 +0000</pubDate>
      <link>https://forem.com/klesand/my-experience-with-chingu-3m48</link>
      <guid>https://forem.com/klesand/my-experience-with-chingu-3m48</guid>
      <description>&lt;p&gt;After a couple of significant pull requests in an &lt;a href="https://dev.to/klesand/how-i-started-contributing-to-open-source-27i8"&gt;open source project&lt;/a&gt;, I decided to apply to Chingu and join in the next voyage (Voyage 40). &lt;/p&gt;

&lt;p&gt;Chingu is a global platform where UI/UX designers, project managers and developers work remotely in small teams to create an MPV (minimum viable product) in 6 weeks. It's free and facilitated by volunteers. As an early career developer, I wanted to gain experience and see what it was like collaborating with others to build a project together from scratch while improving my soft skills. I also wanted to learn from others.&lt;/p&gt;

&lt;h2&gt;
  
  
  The application
&lt;/h2&gt;

&lt;p&gt;I applied on Chingu’s website. There are 3 tiers to choose from - beginner, intermediate, advanced. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tier 1 is for beginners with HTML, CSS, and a little bit of JavaScript experience. &lt;/li&gt;
&lt;li&gt;Tier 2 is if you have more frontend experience. &lt;/li&gt;
&lt;li&gt;Tier 3 is fullstack.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I chose tier 2, submitted my own React project and I also joined their Discord channel. &lt;/p&gt;

&lt;p&gt;After they reviewed my solo project, they gave me valuable feedback and I got accepted into the next voyage. I filled out a form to include my timezone and other details, like how many hours a week I can commit to the project. I was placed in a team of other Chingus with similar skills within a few hours of my timezone.&lt;/p&gt;

&lt;p&gt;At this point I received more information on Agile sprint project management and how to be successful in the voyage. Chingu runs interactive roundtables each week where they teach various topics needed to complete a successful voyage and questions are encouraged. The roundtables aren’t mandatory to attend but I recommend attending as I found them very beneficial.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meeting the Team
&lt;/h2&gt;

&lt;p&gt;After our team channel went live, it took a couple of days for everyone on the team to begin participating. We had our first meeting as soon as we could and we met via voice call for 1-2 meetings every week. Though it was a front-end project, we had a backend developer on the team so we decided our stack to be React.js, NodeJS and MongoDB.&lt;/p&gt;

&lt;p&gt;It would have been amazing to have had a project manager and a UI/UX designer on the team so instead, we had to share these roles. One team member wanted to practice his Figma skills so he took on the role to create the design for the landing page and the login/register forms. I quickly created a wireframe for the core part of the app where the user uploads photos, votes and comments.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Project
&lt;/h2&gt;

&lt;p&gt;We decided to build a project that would be useful to designers. The app has a landing page where the user can login or register.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flro6gk0qk0bi61u2oy7p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flro6gk0qk0bi61u2oy7p.png" alt="landing page" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I worked on the login/register forms with email/password and Google authentication using Context API and OAuth, the logout functionality and automatic logout after one hour.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fytn8ktgdt246rq94vu50.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fytn8ktgdt246rq94vu50.png" alt="login page" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's the best part of the app with instructions for the user step by step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhowwba446jjw4tvlodwt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhowwba446jjw4tvlodwt.png" alt="WeDesign" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The user can upload two photos.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9h9oy2ai8tfqbwdi25v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9h9oy2ai8tfqbwdi25v.png" alt="uploading photos" width="800" height="761"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Both Canadian Rocky mountain photos are from Pexel by &lt;a href="https://www.pexels.com/@samuel-butikofer-3490375/" rel="noopener noreferrer"&gt;Samuel Bütikofer&lt;/a&gt; and &lt;a href="https://www.pexels.com/@joshuaworoniecki/" rel="noopener noreferrer"&gt;Joshua Woroniecki&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The user creates a voting page they can share with others where users can vote on the photo they prefer, and post comments on the page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ciu98h8qqjog6r728me.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ciu98h8qqjog6r728me.png" alt="voting page" width="800" height="755"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Challenges
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Consistent communication was often a challenge, with some members more active than others and there were 6 of us on the team initially. Members would get busy with their lives outside the project and pull back without notifying the team but would come back again later.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Another challenge was to get members to push code weekly to stay on track with Agile sprints because they preferred to code locally. If I were to join another Chingu voyage, I would definitely insist on putting up code weekly, even if it’s just a simple skeleton of a part of the app. Putting the code together at the end is more challenging, likely to create bugs and code review might be done too quickly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Initially we set up Firebase for the backend just so we could run tests with APIs for the login/registration forms and uploading/storing photos on the Firestore while the backend developer worked on setting up the backend. Unfortunately, the backend developer and another frontend developer dropped out in the middle of the project, so the four of us decided to stick with Firebase and we quickly adapted to finishing the project on time with fewer people. This was also really cool because we saw the team come together to make sure we met the deadlines despite our challenges.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Flexibility, Adaptability, Teamwork
&lt;/h2&gt;

&lt;p&gt;With no project lead, all decisions are made as a team. That means that being flexible was important as we discussed decisions but then voted when we disagreed. This helped us move forward quickly, not getting attached to small things, but keeping in mind what most of the team preferred.&lt;/p&gt;

&lt;p&gt;Adapting is the best skill to learn here. One example is that since two of our members dropped out without notice, we had to quickly change the way we split our work between us and the way we used Firebase as a team. I prefer to work consistently during a project but sometimes it can't be helped and a rush is necessary at the end of the project. We came together and put in extra hours to make sure it was done - and that was awesome!&lt;/p&gt;

&lt;p&gt;Team members filled out an optional weekly check in form so Chingu facilitators were aware of our challenges and successes. Then the facilitators messaged us privately and made sure to communicate recognition from the other team members. For example, often I heard that the team appreciated my efforts, like helping others, which helped keep up team motivation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning &amp;amp; Experience
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This experience threw me head first into an independent, yet collaborative experience. There was no hand holding of any kind. If the team members didn’t come together for the project, there would be no project at the end of the voyage. Even if we hadn’t finished the project on time, it still would have been an important learning experience. Luckily, we finished on time! It’s great to have a completed project after the work we put into it,  while seeing a team come together despite being strangers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It can be challenging to work with others and this experience taught me a lot and increased my confidence as a team member. It helped that we could reach out to Chingu facilitators for advice on collaboration.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I got to learn from others by reading their code but also seeing how they manage team relationships - the good and the bad. I learned how to balance being a laid back team member and when to take charge to make sure the team meets deadlines. I learned (and enjoyed) improving other people’s code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I experienced what it’s like to work on a remote team and I worked on a real project, ending up with my first team project coded from scratch. I also got to experience a lot in six weeks that gave me a lot to talk about in behavioral interviews about coding, team collaboration, lessons learned etc. It also allowed me to experience what it would be like to work in this career.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This was a great experience for me and we finished the project on time. But even if we hadn't finished on time, it still would have been just as good of a learning experience. I gained both technical and soft skills and I would definitely do it again.&lt;/p&gt;

</description>
      <category>collaboration</category>
      <category>teamwork</category>
      <category>chingu</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How I Started Contributing to Open Source</title>
      <dc:creator>Klesta</dc:creator>
      <pubDate>Thu, 22 Sep 2022 13:32:15 +0000</pubDate>
      <link>https://forem.com/klesand/how-i-started-contributing-to-open-source-27i8</link>
      <guid>https://forem.com/klesand/how-i-started-contributing-to-open-source-27i8</guid>
      <description>&lt;p&gt;It’s almost time for &lt;a href="https://hacktoberfest.com/" rel="noopener noreferrer"&gt;Hacktorberfest 2022&lt;/a&gt; and I thought I’d share my experience of how I started contributing to open source as an early career Front-End developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Just a little HTML
&lt;/h2&gt;

&lt;p&gt;My very first contribution was actually in a small open source project where I saw an issue to add OG meta tags. I thought this was a great way to test forking, cloning and running someone else’s project locally, making the changes, doing a pull request and seeing what happens. I figured it was an easy first pull request. My PR was accepted and merged. I was thanked for my contribution and that little “win” made me want to hunt for something more. But none of the other open issues interested me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking for a team
&lt;/h2&gt;

&lt;p&gt;I remembered that a while back, before I learned how to code in React, I had come across another open source project that I’d saved for later. &lt;a href="https://www.webdevpath.co/" rel="noopener noreferrer"&gt;Web Dev Path&lt;/a&gt; is an initiative that allows a new dev to work in a structured project under guidance, following the industry’s best practices, using git version control. I had already joined their Slack channel and had told them I’d be back to contribute when I was ready. Well, I still didn’t feel anywhere near ready but I was really curious and needed a challenge where a team counted on me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scary at first
&lt;/h2&gt;

&lt;p&gt;To contribute, I would have to understand the codebase. I read through their README and wiki and followed the instructions to get started locally. But it was hard to read code I didn't write. I saw a new issue had been open for a few days and I thought I should assign it to myself but I was too nervous. I thought that if I made the changes locally and I figured it out on my own, I could then pick up the issue. I started to read through the codebase and the issue instructions but before I could even make any changes, another developer claimed the issue.&lt;/p&gt;

&lt;p&gt;Fair enough, the issue was un-assigned. It was probably for the best because while waiting for another interesting issue to open up, I started familiarizing myself with the project by understanding their tech stack (React.js, Next.js, Sass) and started participating in their Slack channels to communicate with the team.&lt;/p&gt;

&lt;h2&gt;
  
  
  Starting with documentation
&lt;/h2&gt;

&lt;p&gt;Chatting in Slack, the team needed someone to update their wiki by adding the UX/UI Design process documentation. I thought this would be a great first issue while I got to know everyone. &lt;/p&gt;

&lt;p&gt;The project team lead added me as a collaborator and she encouraged me to use git version control to update the page. Another dev on the team was also very supportive when I had questions. I saw that it was pretty comfortable working with the team.&lt;/p&gt;

&lt;h2&gt;
  
  
  The first significant contribution
&lt;/h2&gt;

&lt;p&gt;A couple days later I saw a new issue opened to make the site a Progressive Web App (PWA) and I had 10 days to do it. This was something new for me to learn and I didn’t have to be very comfortable with the codebase to be able to implement it. Still, I ended up becoming a little bit more familiar with the folder structure, site manifest and env keys. First I tried to figure things out on my own and when I was stuck I asked specific questions.&lt;/p&gt;

&lt;p&gt;I tested it locally using Lighthouse in Chrome dev tools, then created a PR. I learned how to communicate in a PR and in Slack and started to use more dev talk like “in development” and “in production”.&lt;/p&gt;

&lt;h2&gt;
  
  
  Community matters
&lt;/h2&gt;

&lt;p&gt;The team was respectful and supportive. It felt like the right spot for me and once the PR was merged, I was on cloud nine!&lt;/p&gt;

&lt;p&gt;It was so fun to contribute and collaborate that I wanted more! I moved on to diving deep into the codebase, updating the footer, the about us page, and now working on the contact form, all from Figma designs created by designers on the team who were also learning to work with developers. From the beginning I made sure I kept the consistency by writing my code similar to the code already there. &lt;/p&gt;

&lt;p&gt;I’m a regular contributor and through this project I have been improving my communication skills as a frontend developer by building relationships, communicating on issues, pull requests and on Slack, receiving feedback on my code, participating in code reviews, practicing git version control and determining when and how to ask for help.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Some discomfort or fear of messing up is normal but I’m glad I looked past it and saw how fun collaborating can be in a respectful and supportive team. I became more open to working with other teams, participating in more projects and building relationships with other devs remotely.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>One New Healthy Habit this Month</title>
      <dc:creator>Klesta</dc:creator>
      <pubDate>Thu, 18 Aug 2022 11:29:00 +0000</pubDate>
      <link>https://forem.com/klesand/one-new-healthy-habit-this-month-hd2</link>
      <guid>https://forem.com/klesand/one-new-healthy-habit-this-month-hd2</guid>
      <description>&lt;p&gt;Learning web development is a lot of work. It's fun but the work never ends.&lt;/p&gt;

&lt;p&gt;Between collaborating in an open source unfamiliar codebase, starting a fullstack project with other developers, being more involved in the community, taking a computer science course and submitting problem sets, learning about Redux and using it in a personal project, exploring the job market as an early career developer looking for advice and networking, AND writing my first blog post, my mind has certainly been busy.&lt;/p&gt;

&lt;p&gt;I try to stay healthy - I mostly cook at home and keep consistent at the gym where weightlifting and cardio are part of my routine. Still, I kept getting excited at night thinking about code, solving the next problem or all the cool things I could do with a skill like coding. But I need to learn to give my brain a rest.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Challenge: A New Habit
&lt;/h2&gt;

&lt;p&gt;I decided to join in on VC’s monthly challenge called &lt;a href="https://virtualcoffee.io/monthlychallenges/aug-2022" rel="noopener noreferrer"&gt;“Healthy habits for Happy devs.”&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This challenge couldn’t have come at a better time! I decided my goal would be 5 minutes of meditation every day for 30 days, and hopefully keep the new habit going after that. I needed to learn to quiet the mind, to prevent burnout and have a healthy long-term career. This new habit would also help me process my learning.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Achieving the Goal
&lt;/h3&gt;

&lt;p&gt;Developing a new habit is basically a new goal so there has to be a plan.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;I started to track the habit daily by blocking the time on my calendar. The goal is small enough that it should be easy to do daily.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;My favourite way of creating a new habit is &lt;a href="https://www.reddit.com/r/theXeffect/wiki/index/" rel="noopener noreferrer"&gt;The Xeffect&lt;/a&gt;, where I go full-on old school &lt;a href="https://imgur.com/zupkEZb" rel="noopener noreferrer"&gt;pen and paper&lt;/a&gt; to keep track by crossing off a big X on a large square.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I downloaded a free meditation app. I'm not a big fan of guided meditation so I use the app's timer function. I can set the number of minutes, whether or not there is a bell to tell me it's the end of the meditation and if I want to listen to any sounds/music during it or just focus on my breathing and listen to nothing.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I just sit comfortably or lay down, and start by taking 3 slow deep breaths in and out. When I realize my thoughts trailed off, I just bring my attention back to my breathing. Repeat until the bell rings.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Halfway there
&lt;/h3&gt;

&lt;p&gt;Here's what my Xeffect looks like.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsvt6l11s0pf9wvkjfxu4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsvt6l11s0pf9wvkjfxu4.jpg" alt="xeffect" width="800" height="604"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I can't find my markers but anything will do as long as I have a way of keeping track.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;It’s been two weeks. It feels like a chore to start but some days, once the 5 minutes are up I wish I could sit there longer. So I’m gonna up it to 10 minutes a day and see how that goes.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>challenge</category>
      <category>mentalhealth</category>
    </item>
  </channel>
</rss>
