Teresa Ibarra


Software Engineer


how do i reflect and summarize the most intense, healing, and intellectually stimulating three months of my life? i will try to do so in a fun, casual, singular “blog post”.


why did i want to attend rc? (this is what i submitted for my rc application so everything is capitalized and well formatted…):

To cope with how difficult it felt to survive in tech, I approached my career like a game – complete as many internships as possible, win hackathon prizes, see how far you can climb towards success with little institutional or network support. That way, no one could question whether I deserved to be in the room.


I’ve been working since I was 17. I have missed weddings, parties, vacations, and school breaks and gave myself few opportunities to explore my interests. Anything that wasn’t needed to graduate and get the job wasn’t worth it. I was too stressed about surviving.


The further along I got, the more shame I felt about not having developed a deep understanding of a particular topic. I just kept working and burned out the moment I began my full-time job.


At 25, I understand how my skills and strengths could translate to business value. But I’d like to give myself the opportunity to play, to try to understand what my interests are, and to push myself out of my intellectual comfort zone.


Pursuing this alone is daunting, so I’d much rather attempt it with other people. I’m excited to hear about what others are exploring and are curious about. Wherever other RCers are in their journey, I’d love the opportunity to support them in the process too.


After finishing RC, the prospect of joining a community that explores intentionally and supports freely feels too good to be true. I think I’ve been winging it on my own for a bit too long.


what did i want to work on? (also from my rc application):

  • Explore creative technology projects. I’ve had this dream of running NLP techniques on my social media data and messages to see if there are significant patterns. I’d love to share this so people can run it on their own data to learn about NLP and consider how social media companies analyze their data.
  • Learn about the current landscape of open source projects and begin contributing to one.
  • Make a small, short video game with GameMaker. I haven’t made a game since 2014.
  • Work with hardware to automate a task at home (ex. a machine that dispenses X amount of dog kibble at Y time). I’ve never tinkered with a Raspberry Pi and have generally avoided hardware.
  • Learn the basics of technologies used in animation & visual effects pipelines (Maya, Houdini) and create a working UI interface in Qt for Python.
  • Gain a better understanding of web security, its history, and how cybercrime has and will continue to evolve. I enjoy learning about how people break things.


what i actually worked on:

  • completed two creative programming projects that i’m excited to build out more: analyzing text messages with my ex-boyfriend and beatmatching techno to your heartbeat
  • paired a lot: i scheduled 18 pairing sessions!
  • talked a lot: i scheduled 28 coffee chats!
  • talked a lot! seriously, i talked so much during rc. i learned the most at rc by just talking to people
  • programmed a good amount: worked mostly in python and tried my best to integrate lessons from “pragmatic programmer” and “the missing semester” into my work every day.
  • presented a good amount: presented on my text analysis project twice, presented my heartbeat techno project one, presented talks on gel manicures and society & culture through makeup
  • ran interest groups: i’ve been running the web development interest group and a group where we discuss every lecture in MIT’s “The Missing Semester”
  • went to interest groups: I often frequented: Graphics, Creative Coding, HCI
  • attended one-off workshops and presentations, highlights include: Zach S’s SuperCollider and soldering workshops, Jake L’s Volumetric Clouds talk, Dani B’s Tools of Curiosity, Dan V’s Effective Typescript, Maud Gautier’s Database Internals, Ben A’s writing workshop, Hannah R’s Creative Coding for All
  • went to social events: Peter K’s baseball game was genuinely one of the best nights of my life
  • made new friends. so many new friends.
  • got through don’t make me think, got through 80% of the pragmatic programmer
  • picked up many recommended blog posts and programming books that i’m actually excited to read through!
  • worked on an impossible day project where i listened on my home’s security camera’s motion detector API
  • rewrote my personal website and made a blog post!


what worked for me:

  • filling my days up with joy. i’ve repeated the rc-recommended phrase “follow your joy” so many times while in batch.
  • going easy on myself. i was and am hard on myself. i was constantly practicing gentleness and grace every day.
  • making structure. a lot of the structure that i made for myself was implicit – go to your first group session in the morning, eat lunch, program until a pairing session in the afternoon, more group sessions, and then a final programming session at the end of the day.
  • not thinking about job stuff until the very end of the batch so i can focus on projects that sparked my curiosity and joy
  • pacing myself, being mindful of my energy levels, and not pushing myself
  • challenging myself to do the hard stuff / “working at the edge of my abilities”
  • writing check-ins once a week! it was nice to share and reflect on everything that had happened as evidence to myself that i was actually accomplishing something.
  • created a personal organization system: writing a to-do list everyday, keeping a to-do list for every project that i worked on, keeping an engineering daybook to log my insights and programming-related thoughts


how i felt:

  • pain lol, there was a lot of healing that happened over the course of the batch for wounds i did not know existed
  • joy at meeting new people! holy cow people are incredible!
  • very uncomfortable! there were a lot of difficult things to work through
  • very tired! if it’s not clear by now, i did a lot


what surprised me:

  • i didn’t realize how formative growing up in silicon valley was with respect to my relationship to programming and tech. i spent a lot of time at rc undoing my perceptions of what success, “being technical enough”, accomplishment, and fun looked like.
  • i carried a lot of maladaptive coping mechanisms from living in survival mode into my daily habits of programming. i found that the hurdles i face in programming are primarily mental obstacles of feeling like i wasn’t smart enough or good enough to understand something. i would push myself to hack together material as quickly as possible to “move fast and break things” instead of approaching new things to learn with curiosity and gentleness
  • i’ve been able to accomplish so much because i paced myself and didn’t push myself to put in long hours or work on the weekends. i maintained strict boundaries with work and after work activities.


what i learned about programming:

  • i’m a good programmer, but not in the way that i expected myself to. i love being creative and it shined in the projects that i worked on. i like making software for people.
  • there’s really good people out there in tech. when i interacted with people at rc i was “brain off” – i didn’t feel the need to mask or hide how i really felt, which was an enlightening experience. it was and is okay to be myself.
  • i am a tinkerer at heart. rabbit holes are ok to go down. rabbit holes can go into any subject that you want, even programming. after rc i’ve been much more likely to use programming to solve household tasks without it feeling like a chore.
  • programming could just be a job. not wanting to do it all the time and not wanting to become a technical expert isn’t a fault, it’s just who you are and what you prefer to do with your time.
  • programming is beautiful. it is an artform, it is a craft, it is a technical marvel that we can write and compile code, it is extremely difficult, it is massively rewarding.


what i learned about myself:

  • more often than not, it’s not that deep. i have lived my life as a severe perfectionist, but at rc i finally had the chance to make mistakes and be open about it. it was key that no one ever made me feel ashamed for it.
  • openly not knowing is helpful for yourself and for other people. running the “missing semester” group was a big exercise in being vulnerable about what i don’t understand. as someone with “a good resume”, there’s stuff about programming and navigating computers that i felt ashamed to admit. making a space that’s intentionally for beginners was a great way to reinforce and support the inner monologue in myself that it was, actually, really ok to not know everything.
  • i do a lot. i’m ambitious and expect myself to do a lot. and i like doing a lot. i got feedback that, from the outside, i’ve accomplished a lot. even though my weekly check-ins were literally a page long every week, it didn’t feel like i accomplished a lot. seeing how explicit the discrepancy of how i perceive myself to how others perceive me has been helpful.
  • being intentional about the spaces that i’m in and in the work that i do every day is so important to feeling fulfilled and satisfied.
  • i lost sight of the person that i was before coming to rc. i felt jaded and lost touch with the creative, ambitious part of me that sought joy and fun. i got that back within three months. rc helped me realize that i’ve actually been following my joy my entire life with the resources i was given.
  • i had a lot to work through at rc. i internalized a lot of the things that people have said to me while working as a woman of color in tech over the past 10 years. rc was a wonderful place to collect evidence that those things were not true.
  • it’s ok to be brave to pursue a life that you want and that will be fulfilling to who you are as an individual. during rc, i began pursuing a career change into vfx to be closer to creatives in my day-to-day work. while that hasn’t panned out given the state of the vfx industry, i’ve been much more intentional about the jobs i’m interviewing for in hopes of creating a more sustainable life for myself.
  • the most difficult part about working at the edge of your abilities is getting through the initial discomfort and fear. it gets easier the more you do it and likely, things aren’t as scary as you think they are
  • there is always room to laugh and have joy – you just have to find and accept it. while i was pairing with Ava F., i was having a difficult time figuring out how to help her center a div. while i got progressively more frustrated, and in response she just laughed at how absurd the situation was. i realized that the situation was absurd! i had forgotten how to approach programming with silliness and a light heart.
  • it is ok to fail. in a concrete way, i’ve noticed that i play video games differently now. i don’t put as much pressure on myself to win a level – i just try my best, learn as much as i can from my failures, and then try again.
  • it’s ok to give up and leave things unfinished. i don’t have to force myself do something because i feel that i have to do something. in almost every situation, i have the autonomy to choose how i react.
  • you don’t always have to strive for excellence. you can make very long-winded, unstructured blog posts because that’s what you want to do!
  • it’s ok to be open about works in progress. i love the concept of a digital garden, where it’s ok to publish material in varying states of “completion”. this post so far is certainly like a big compost pile full of worms…


should you apply to rc? it’s up to you, but i thought it was pretty fun and life-changing!




last updated: 5/10/2024

polish level (1-10): 2 :]