<?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: Ellie O'Connor</title>
    <description>The latest articles on Forem by Ellie O'Connor (@ellieoconnor).</description>
    <link>https://forem.com/ellieoconnor</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%2F1118300%2Fee004dc2-16ab-4faa-b251-593605c8a5d5.png</url>
      <title>Forem: Ellie O'Connor</title>
      <link>https://forem.com/ellieoconnor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ellieoconnor"/>
    <language>en</language>
    <item>
      <title>'Introducing Myself: From Classroom Teacher to Full-Stack Developer'</title>
      <dc:creator>Ellie O'Connor</dc:creator>
      <pubDate>Tue, 17 Mar 2026 23:03:16 +0000</pubDate>
      <link>https://forem.com/ellieoconnor/introducing-myself-from-classroom-teacher-to-full-stack-developer-28nk</link>
      <guid>https://forem.com/ellieoconnor/introducing-myself-from-classroom-teacher-to-full-stack-developer-28nk</guid>
      <description>&lt;h1&gt;
  
  
  Introducing Myself: From Classroom Teacher to Full-Stack Developer
&lt;/h1&gt;

&lt;p&gt;Hi! My name is Ellie, and I'm a full-stack software developer.\&lt;br&gt;
This is my first blog, and I'll admit, I'm feeling a little self-conscious about it. There are so many blogs out there–why add to the noise? Well, this blog isn't just for you; it's for me. It's a space for me to reflect, learn and grow as a developer. If you stick around, you may just find something valuable here too.&lt;/p&gt;

&lt;h3&gt;
  
  
  My Journey So Far
&lt;/h3&gt;

&lt;p&gt;My journey into software development started in an unlikely place: a special education classroom.\&lt;br&gt;
Back in 2014, I learned just enough code to mock up some screens for my dissertation on assistive technology. At the time, I never imagined I could become a developer. I had all these preconceived notions about working tech that I used to gate-keep the field from myself.&lt;/p&gt;

&lt;p&gt;In 2016, I landed my first job in special education. I loved the role, but I couldn't shake the feeling that students and teachers deserved better tools. In my department, we used three different programs just to write and track students' progress towards their IEP goals, and another seven websites and software programs to create instructional materials. It was overwhelming and inefficient.&lt;/p&gt;

&lt;p&gt;That's when I started coding with a dream: to create a one-stop-shop for special education teacher–a tool that could handle IEP goal building, tracking, and resource creation all in one place. Step one? Learning web development basics, HTML and CSS (thank you FreeCodeCamp!).&lt;/p&gt;

&lt;p&gt;My journey accelerated in 2022 when I left teaching. It was terrifying–teaching was all I'd known for nearly a decade–but I know it was the right move for me. I had been working my way through FreeCodeCamp and a Python book, but felt overwhelmed. Everywhere I looked on social media, someone had an opinion on the "best way to learn to code". And even more people wanted to sell their mentorship or knowledge for thousands of dollars.&lt;/p&gt;

&lt;p&gt;On a coding Discord server, I discovered #100Devs, a free, live coding bootcamp hosted on Twitch. I had missed the first class but joined for the second one. That changed everything for me.\&lt;br&gt;
The #100Devs classes and community helped me build a foundation I could stand on and continues to be a source of community and learning. I truly attribute my career change to that moment when I joined.&lt;/p&gt;

&lt;p&gt;Today, I'm part of a lean team at the number one ERP system for the metal casting industry, putting my skills to work every day. &lt;/p&gt;

&lt;h3&gt;
  
  
  Why I Build This Blog
&lt;/h3&gt;

&lt;p&gt;So, why a blog?&lt;/p&gt;

&lt;p&gt;For me, writing is a way to solidify what I'm learning. When I put my thoughts into words, I understand them better. This blog is a space for me to explore the lessons I'm learning and talk about the projects I'm working on.&lt;/p&gt;

&lt;p&gt;But, it's also about connection. I'm hoping to meet others who are on similar journeys–whether you're a seasoned developer, a career changer like me, or just someone who's curious about tech.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let's Connect
&lt;/h3&gt;

&lt;p&gt;If you've made it this far, you're a legend and I appreciate your time and energy. If you'd like to see more of my work, stay tuned to this website. I'll be adding my projects over the next few weeks and posting more about my learning progress. You can find ways to connect with me on my "Contact" page.&lt;/p&gt;

&lt;p&gt;I'm a big fan of virtual coffee chats and would love the chance to meet others.&lt;/p&gt;

&lt;p&gt;I'm excited to share my journey with you, and I can't wait to see where it takes us.&lt;/p&gt;

&lt;p&gt;Until next time,&lt;/p&gt;

&lt;p&gt;Ellie&lt;/p&gt;

</description>
      <category>career</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Legend Of Imposters: How a Beginner Project Helped Me Battle Shame</title>
      <dc:creator>Ellie O'Connor</dc:creator>
      <pubDate>Sat, 06 Dec 2025 01:29:05 +0000</pubDate>
      <link>https://forem.com/ellieoconnor/legend-of-imposters-how-a-beginner-project-helped-me-battle-shame-jf6</link>
      <guid>https://forem.com/ellieoconnor/legend-of-imposters-how-a-beginner-project-helped-me-battle-shame-jf6</guid>
      <description>&lt;p&gt;There are two wolves that live in Ellie – one with an endless desire to improve, learn, get really good at what I do, and put myself out there. The other - shame. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Why don't I know this stuff better?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This project is lame.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;People will think "how the heck does she have a job?"&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;The truth is, I really enjoyed my latest project. I learned a ton, and yeah, I'm a little embarrassed that this didn't click earlier for me. I'm here regardless because I'm excited that I learned something. Months from now, I'll look back and see how far I've come. Even if you've been at this for years, put yourself out there and ask the questions. Do the "lame beginner project." The only time you lose is when you don't try.&lt;/p&gt;

&lt;p&gt;I have often heard people talk about imposter syndrome, and I've often thought, "Okay, but with me, if they &lt;em&gt;really&lt;/em&gt; knew...It's not imposter syndrome if I'm really an imposter!" That fear kept me from posting about my journey, asking questions, and celebrating my wins. I'm taking a step forward now. Reflection and feedback are part of how I learn, so here we are.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Went Back to the Basics
&lt;/h2&gt;

&lt;p&gt;I LOVE &lt;em&gt;The Legend of Zelda: Breath of the Wild&lt;/em&gt;. It's easily in my top 5 games I've ever played. So when I wanted a small, low-stakes project to understand API and frontend interactions better and stumbled on a free API for the game...I was stoked.&lt;/p&gt;

&lt;p&gt;The purpose of the project was twofold. First: get more at ease with APIs – how to read them, accessing properties, and transforming data into something users can actually interact with. I do this all the time at work, but I often feel like I understand too little. I know what works, but not &lt;em&gt;why&lt;/em&gt;.\&lt;br&gt;
What happens if I try doing a, b, c like x, y, z instead? This project gave me the safety and creative space to explore that.&lt;br&gt;&lt;br&gt;
Second: practice some CSS because… why not have fun with it?&lt;/p&gt;

&lt;p&gt;I learned a lot! Most of it wasn't even what I was aiming to learn. I thought I’d deepen my basics and turn APIs from “dev magic” into “a puzzle I can solve.” Instead, I discovered how much architecture, naming, and structure affect my ability to reason about a project. And apparently, DOM manipulation can absolutely humble you after years of living inside frameworks.&lt;/p&gt;

&lt;p&gt;This year I've had a huge emphasis on learning architecture and design principles. So imagine my surprise when I discovered that even in a small free-API project requires architectural thinking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mapping the World: Mental Models &amp;amp; APIs
&lt;/h2&gt;

&lt;p&gt;This was a fun, easy-to-read API. Hats off to the maintainer because they did a great job. It's an API I would recommend for anyone who wants to explore projects with BOTW data.\&lt;br&gt;
As I started poking around the data, something I’d only heard about in recent months finally made sense: “mental models.” I first heard the term on a podcast and Googled it, but it didn’t click. Only after working with the API and reflecting later did I realize I’d been building those internal maps all along — picturing how the data flows, how pieces connect, and how the UI should act. When I used Postman to explore the endpoints, I was actively building mental models.&lt;/p&gt;

&lt;p&gt;I originally imagined something much more complex, but after actually interacting with the data, I pivoted. A straightforward compendium — where I could easily look up items and their locations in the game — ended up being perfect. No need for back buttons or multiple views.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Combat: Async Tracks and DOM Manipulation
&lt;/h2&gt;

&lt;p&gt;I was honestly shocked at how quickly I lost track of data and responses. I intentionally used &lt;code&gt;.fetch().then().then().catch()&lt;/code&gt; chains instead of modern syntax to force myself to understand the Promises that power the &lt;code&gt;async/await&lt;/code&gt; world we live in.&lt;/p&gt;

&lt;p&gt;At one point I spent half an evening wondering why my data looked perfect in a console log inside the fetch… but never made it to the UI. Turns out I never returned the Promise in one of my &lt;code&gt;.then()&lt;/code&gt; chains. Console showed the right thing — but my UI literally had nothing to work with.&lt;/p&gt;

&lt;p&gt;Tracking where data was lost became a theme in my project. I learned very quickly that when classes are grouped properly, debugging becomes so much easier. Clean structure helped me follow the data from start to finish. Most of the bugs I hit boiled down to losing track of data flow. This project showed me clearly where I need to improve: Tracking data from fetch to frontend. &lt;/p&gt;

&lt;p&gt;DOM manipulation also kicked my butt. Adding elements dynamically felt foreign after working in Angular all day. But I walked away with a dozen new Anki cards and a better grasp of built-in method quirks. My go-to pattern was: find a working solution (hello, StackOverflow), understand why it works, compare it to my broken version, and then use AI as a rubber duck. I always told it not to give me answers, just to ask questions, so I had to think more deeply.&lt;/p&gt;

&lt;h2&gt;
  
  
  New Game Plus: Lessons in Architecture
&lt;/h2&gt;

&lt;p&gt;Now that I actually know what mental models are and have a little more experience with designing and architecting, I’d do a few things differently.&lt;br&gt;
I’d start by writing out 1–3 interactive user flows—what the user is trying to do and what alternatives they might take. That alone would have shaped my UI choices and my expectations for the data.&lt;/p&gt;

&lt;p&gt;I’d also stop throwing everything into a class. Learning that classes should represent &lt;em&gt;behavior plus state&lt;/em&gt; helped me untangle a lot of the mess I created early on. It also showed me how much cleaner my code can be when helpers live separately from the things that actually manage data.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Loot: What I Actually Learned
&lt;/h2&gt;

&lt;p&gt;This project unlocked understanding in so many places I didn’t expect—architecture, async flow, DOM manipulation, and honestly, confidence. I walked away feeling like I finally “get” Promises in a way that’s not just theoretical.&lt;/p&gt;

&lt;p&gt;More than that, it reminded me that tiny, low-stakes projects can level up a whole range of skills at once. I’m already building my next little experiment, and I’m excited to share that one too.&lt;/p&gt;

&lt;p&gt;And the next time those two wolves start arguing about whether my project is lame or whether I should post it anyway… well, I’ve got a little more evidence that feeding the curious one pays off.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
