<?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: Emma Zarate</title>
    <description>The latest articles on Forem by Emma Zarate (@yoshimii).</description>
    <link>https://forem.com/yoshimii</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%2F171690%2F97ae3d72-8ba7-41f1-9fd3-d9a9a69e6c97.png</url>
      <title>Forem: Emma Zarate</title>
      <link>https://forem.com/yoshimii</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/yoshimii"/>
    <language>en</language>
    <item>
      <title>What I learned from my first time with Terraform and CI/CD</title>
      <dc:creator>Emma Zarate</dc:creator>
      <pubDate>Sat, 26 Dec 2020 19:37:37 +0000</pubDate>
      <link>https://forem.com/yoshimii/what-i-learned-from-my-first-time-with-terraform-and-ci-cd-25dd</link>
      <guid>https://forem.com/yoshimii/what-i-learned-from-my-first-time-with-terraform-and-ci-cd-25dd</guid>
      <description>&lt;p&gt;I was tasked with creating AWS resources with Terraform and it was my first time with both. I was also still new to Continuous Integration and Continuous Deployment (CI/CD) at the enterprise level. &lt;/p&gt;

&lt;p&gt;These are some bits of knowledge I reflected on after a successful deployment of an RDS that I will carry on to the next Terraform task.&lt;/p&gt;

&lt;p&gt;Going in order from what would have saved me the most time had I known:&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Know what pipeline you're on and know it well.&lt;/u&gt; You'll likely have multiple Terraform pipelines, one for each version. Be aware of how access is managed for the version of Terraform you are going with and make sure you and the rest of your development team has proper access to run its jobs. &lt;/p&gt;

&lt;p&gt;As general best practice, you want to keep up with the latest version of Terraform. Here are &lt;a href="https://www.terraform.io/upgrade-guides/index.html"&gt;Terraform's official upgrade guides&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Knowing the jobs attached to your pipeline will help you narrow down the source of an error. If you know your pipeline is good, you can start debugging your code.&lt;/p&gt;

&lt;p&gt;But the pipeline can tell you much more than the source of bugs. Once you push your terraform configuration, take a look at what's going on at each job. You'll likely see all the terraform commands being used at different stages. For example, you might see a &lt;em&gt;terraform init&lt;/em&gt; followed by &lt;em&gt;terraform validate&lt;/em&gt; followed by &lt;em&gt;terraform plan&lt;/em&gt;, with the big &lt;em&gt;terraform apply&lt;/em&gt; as a manual job at the end. This can teach you a lot about how your team is using Terraform and its features.&lt;/p&gt;

&lt;p&gt;This can also help you narrow down errors and know what Terraform docs to reference.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Terraform is written in Hashicorp Configuration Language (HCL)&lt;/u&gt; Terraform abstracts the machine out of cloud service providers and maintains those rather than maintaining the software on the machines themselves. That's what allows Terraform to be cloud neutral. HCL is meant to be an easy read for both humans and machines.&lt;/p&gt;

&lt;p&gt;The syntax between versions of Terraform can be drastically different. If you're writing for v0.12 in v0.11 you may get errors and warnings at main commands such as &lt;em&gt;terraform init&lt;/em&gt; and &lt;em&gt;terraform plan&lt;/em&gt; over how you're calling a variable, for example.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Terraform state is stored locally in a file called &lt;strong&gt;terraform.tfstate&lt;/strong&gt; by default but can be stored remotely.&lt;/u&gt; If you're working on a team, it is likely you will have a pipeline that stores your state files in the cloud. Therefore, it is best not to commit your local state to your version control system. &lt;/p&gt;

&lt;p&gt;You might see potential issues with having a shared state which multiple developers can write to. Terraform uses state locking on any operation that could potentially write to state to prevent others from writing to it simultaneously. Terraform queues up the most recent updated state and runs that first. In other words, if two Terraform jobs are run at the same time, it will take the most recent updated state and run your job against that. &lt;/p&gt;

&lt;p&gt;This was somewhat of a shallow deep dive, if that makes sense, but these were some of the bits about Terraform that allowed me to code more comfortably. If you are also of the type who can't sleep soundly without knowing the &lt;em&gt;whys&lt;/em&gt; maybe this helped you too.&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>cicd</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>The Hardest (Best) Part of Lambda School: Lambda Labs</title>
      <dc:creator>Emma Zarate</dc:creator>
      <pubDate>Tue, 12 Nov 2019 19:40:53 +0000</pubDate>
      <link>https://forem.com/yoshimii/the-hardest-best-part-of-lambda-school-lambda-labs-3gcn</link>
      <guid>https://forem.com/yoshimii/the-hardest-best-part-of-lambda-school-lambda-labs-3gcn</guid>
      <description>&lt;p&gt;Alright peeps. It's been a while since I've tweeted, 'Gramd, or done anything social. After completing the full-stack portion of Lambda School, you kind of come up for air, take a large breath, and think "what the heck just happened?"&lt;/p&gt;

&lt;p&gt;It's hard to have a sense how much time has passed because you really haven't had time to think about anything but code. Going through the full-stack core curriculum is like watching a train zoom by like: 🚄git-UI-CSS-pre-processors-React-Context-Redux-Hooks-Node-Express-RDBMs-SQL-Authentication💨 &lt;/p&gt;

&lt;p&gt;So yeah, there's a decompression period that occurs over the next couple of weeks which unfortunately gives you more time than you're used to, to think👾. The hardest part of Lambda school is equally the technical challenge as it is the mental one, and starting Labs triggers a major episode of the latter. You don't have sprints to pass anymore, or ways of earning daily validation. No diploma telling that you have accomplished something huge! And it is. It is such a feat to get this far. You've done so much but you're just half way there. Time stands still and suddenly you are in the valley of despair (see chart below, &lt;a href="https://www.infocusleadership.ca/blog/five-stages-move-emotionally-changing-behavior/emotional-cycle/"&gt;source: www.infocusleadership.ca&lt;/a&gt; ). The pressure to find a job is on. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SBtdrjo3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jltim7xnnnndobruxwfs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SBtdrjo3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jltim7xnnnndobruxwfs.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ideally by the end of the core full-stack curriculum you've completed 4 polished portfolio apps. It's really more like 4 solid starts. I mean you get a heck of a lot done in the the work week you get to build each, which is impressive and you feel so accomplished with what you produce. However, sometimes (in my case 75% of the time) they require a lot of debugging and cleanup to be portfolio worthy. This is no one's fault. One of the hardest working teams I was part of turned out the least presentable product. That had much more to do with the complexity of the app and size of the team. &lt;/p&gt;

&lt;p&gt;So there's the mounting pressure to go back and update your resume, portfolio and projects to be more reflective of your new skills. Then there's the sudden realization that in order to be a stronger candidate you have to complete Labs to get through to the Computer Science curriculum. What you've been looking so forward to and makes Lambda School so special suddenly seems like a bridge troll preventing  you from accessing that sweet data structures and algorithms knowledge.&lt;/p&gt;

&lt;p&gt;The key to getting you the coveted software engineering title is still 14 weeks away. (Labs: 8 weeks + CS: 6 weeks) Jeepers! 😰&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m8yVcPpW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ov28gv7fafgazcbt6r3b.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m8yVcPpW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ov28gv7fafgazcbt6r3b.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you ever get to this point, or are there now and can relate, remember: YOU DID THIS! &lt;/p&gt;

&lt;p&gt;Just kidding. &lt;/p&gt;

&lt;p&gt;Do remember this: You planned for this. You have chosen to commit this time and more. In fact, it's something like 9 months you've budgeted for, to over a year for part timers. If you are in Labs, take a breath. Everything is going to plan. Don't mind your new and super talented friends getting hired left and right. They  have already put in the time and work, but more important, their story is not yours. Everyone's got a number. Put your head down and work until yours comes. (This is obviously more of a self-help article versus advice for you. I needed to hear this.)&lt;/p&gt;

&lt;p&gt;Now let me really tell you what's so awesome about Labs and why it's so important to keep your eye on the ball and be here now. &lt;/p&gt;

&lt;p&gt;Labs offers you the chance to push your technical and soft skills. The projects you work on offer opportunities to learn new skills outside of the curriculum. These were the projects I was shooting for when it came time to bid for them. I was lucky to get my first choice project: &lt;a href="https://www.futurehopeschool.com/"&gt;Future Hope&lt;/a&gt;. Future Hope helps retirees in the west assist classrooms in Ghana and Nepal to fill a shortage of quality educators. It has been so exciting meeting with our stakeholder in getting some key features off the ground. &lt;/p&gt;

&lt;p&gt;The tech stack: React/Redux front-end and Firebase hosted backend. Firebase is totally new to me and picking it up quickly has really shown what I've gained at Lambda School: learning how to learn. I know code concepts enough to pick up a new technology with ease and confidence. &lt;/p&gt;

&lt;p&gt;These past two first weeks in Labs I've gotten to present the project and product research to my peers, professional software engineers, product designers, and engineering managers. This experience is invaluable to a career changer like me. Writing code is one thing but ask any hiring manager what they're looking for in a developer and it's those soft skills: communicating complex ideas clearly and succinctly, talking through problems, being a personable team member, being a solid individual contributor but also leading when necessary. I am empowered everyday to lead team meetings and apply project management tools as I see fit. Anyone can fill any role they like during Labs. As long as you are meeting product cycle objectives on time, the possibilities for you to grow as a professional are endless. &lt;/p&gt;

&lt;p&gt;So yeah, it's going to be scary sometimes during your time at Lambda School. After all, it's such a huge leap you've taken, trusting that you have the grit it takes to complete the program and trusting that Lambda School will provide the tools you need to be a professional software engineer at the end. I can say halfway through the full-stack full-time web program, yes. You do have what it takes and Lambda School is the best structured code school out there. Sure, there will be at least one: blood, sweat, and or tears, but those are usually the signs of major change, of growth. There's a reason not everyone is a software engineer and it's not based on smarts. It's dedication and hard work. Laser. Focus.&lt;/p&gt;

&lt;p&gt;I've had two weeks of rolling around like a marble in that dreaded valley of despair, a cycle of self-doubt, impatience, frustration, nearing depression. Some tips to get you through this: &lt;/p&gt;

&lt;p&gt;Make Labs your b!%$#. Your time is no longer determined by lecture hours and required daily graded projects. If you find you have lots more time, it's up to you to make your days and nights as tireless as they were when that full-stack core train was zooming by before getting to labs. Find that drive again. Dig up that first acceptance email you received from Lambda and tape it to the wall if you have to. Remember your 'Why.'&lt;/p&gt;

&lt;p&gt;Find balance. One way to reduce the pressure and focus on just improving and refining your programming skills is to get actionable items done. Get to a good point with your resume. Meet with careers early and as needed to get a sense of where it's at. Once it's solid, fight the urge to redo your portfolio website yet again. Stick to one design. I've seen all kinds of portfolios get people jobs. It's just one part of a whole so don't sweat it too much. It's there to host your projects. Focus on those and make them shine. This is where you can really leverage Labs. Labs is the first Lambda project you can potentially work on the full stack. Really highlight everything you are capable of here. &lt;/p&gt;

&lt;p&gt;Play games. Or knit, or do whatever brings you joy. It's so easy to forget who you are in your code cave and it's so important to remember and take care of yourself. It's you that's getting hired and if you don't know yourself how will any hiring managers know what makes you a unique asset. &lt;/p&gt;

&lt;p&gt;That's it. That's all I've got. Thanks for letting me get that out.&lt;/p&gt;

&lt;p&gt;Tomorrow is our first day writing code. Future Hope's Trello is set up. My development environment is ready to go. Got a good Firebase foundation down. I'm ready to push some code, baby!&lt;/p&gt;

</description>
      <category>lambdaschool</category>
      <category>beginners</category>
      <category>codeschool</category>
      <category>lambdalabs</category>
    </item>
    <item>
      <title>Learning React? Make it accessible now</title>
      <dc:creator>Emma Zarate</dc:creator>
      <pubDate>Mon, 26 Aug 2019 16:57:33 +0000</pubDate>
      <link>https://forem.com/yoshimii/learning-react-make-it-accessible-now-1bb7</link>
      <guid>https://forem.com/yoshimii/learning-react-make-it-accessible-now-1bb7</guid>
      <description>&lt;p&gt;Howdy devs 🤠!&lt;/p&gt;

&lt;p&gt;This is the first post in a series for anyone new to programming who doesn't have the time to read every dang thing. The idea here is that I read about a topic (React these days) and share points that I find simple and applicable to projects I'm working on now.&lt;/p&gt;

&lt;p&gt;1️⃣ First things first: title page&lt;/p&gt;

&lt;p&gt;The first thing a user with a screen-reader hears is the name of the page they've landed on. Make the name meaningful. Give the user some context! Yada yada, we know. Right? But, how do you name the different component routes of a single page application? Glad you asked! &lt;strong&gt;Enter:&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/gaearon/react-document-title"&gt;React Document Title&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;A simple installation &lt;code&gt;npm install --save react-document-title&lt;/code&gt; and you've got Yousef and yourself an NPM package with a 'declarative way to specify &lt;code&gt;document.title&lt;/code&gt; in a single-page app.' &lt;/p&gt;

&lt;p&gt;2️⃣ This second thing just right out surprised me: modals &lt;/p&gt;

&lt;p&gt;Modal was a word I never cared to learn much about. It's not really one of those buzzwords we hear talked about all the time like-- ahem, agile or, cough vanilla JavaScript. But they are actually everywhere and are notoriously not #a11y (another good buzzword) friendly.&lt;/p&gt;

&lt;p&gt;It's those annoying boxes that block your view of what you really want to see. They say things like: 'Join today...,’ or 'Be the first to know...' when what they really mean is 'Give us your email address now.' Imagine not being able to escape that hell.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now we can help others out of modal limbo with:&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/davidtheclark/react-aria-modal"&gt;react-aria-modal&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Yet another simple npm package that can help make people happier on the web.&lt;/p&gt;

&lt;p&gt;react-aria-modal uses ARIA (Accessible Rich Internet Applications) attributes to achieve a fully accessible experience. &lt;/p&gt;

&lt;p&gt;Just &lt;code&gt;npm install react-aria-modal&lt;/code&gt;and the user can tab through the different fields in the modal as well as press escape to close it.&lt;/p&gt;

&lt;p&gt;I love that someone took the time to build this, and as of this posting it does look like they are seeking co-maintainers! So, it's also a great opportunity to contribute to an open source project. Boom. Two birds one stone.&lt;/p&gt;

&lt;p&gt;Disclosure: This last thing isn't React specific so feel free to move on, but it's super easy to apply and to remember to do. Promise.&lt;/p&gt;

&lt;p&gt;3️⃣ Third thing and often overlooked is: contrast 🖤&lt;/p&gt;

&lt;p&gt;It's arguable that design is the most fun part of a new project. While some people wish it was just done already, others wish they had more time to make things pixel perfect. Not everyone has the luxury of being that opinionated. &lt;/p&gt;

&lt;p&gt;Color vision deficiency affects millions of web users around the world. Even those without it have had some experience with getting monitor or TV settings just right. &lt;/p&gt;

&lt;p&gt;Can you imagine not having that choice as you scour Google for bread recipes? It just wouldn't be &lt;em&gt;rye...t&lt;/em&gt;. In fact, it'd be downright sour. Wheat can't have that 🍞. I couldn't decide on the right bun. Not sorry. &lt;strong&gt;Anyway, here to help is:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://webaim.org/resources/contrastchecker/"&gt;WebAIM&lt;/a&gt;&lt;/strong&gt; has been helping improve that experience since 1999. Really!&lt;/p&gt;

&lt;p&gt;Their contrast checker tests your colors to see if they get the WCAG (Web Content Accessibility Guidelines) stamp of approval. You can easily check if your contrast ratio passes by testing foreground and background colors against each other. You need at least a 4.5:1 on normal sized text to pass AA level ratings. I fantasize about the moment I get to highlight the accessibility of my portfolio to a recruiter🌠.&lt;/p&gt;

&lt;p&gt;As makers of internet things, it's up to us to make all the things for everyone. These are all quick ways to make immeasurable differences in people's lives for the better.&lt;/p&gt;

&lt;p&gt;This is my first post so here’s a quick note:&lt;/p&gt;

&lt;p&gt;I find myself with the luxury of spending my time 100% on learning web development. (I go to Lambda School. Ask me about it.) So, I have a schedule that is dedicated to learning full time and even &lt;em&gt;I&lt;/em&gt; don't have enough time to read every tab I end up opening in a day. I hope I zoned in on helpful bits of knowledge you too can apply now.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>ally</category>
    </item>
  </channel>
</rss>
