<?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: Anzelika </title>
    <description>The latest articles on Forem by Anzelika  (@anzelika).</description>
    <link>https://forem.com/anzelika</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%2F371766%2Fab8ae924-88c5-4f4c-8c92-4ca40657307a.jpeg</url>
      <title>Forem: Anzelika </title>
      <link>https://forem.com/anzelika</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/anzelika"/>
    <language>en</language>
    <item>
      <title>5 ways of displaying i18n translations in Vue</title>
      <dc:creator>Anzelika </dc:creator>
      <pubDate>Tue, 14 Jul 2020 11:09:17 +0000</pubDate>
      <link>https://forem.com/anzelika/4-ways-of-displaying-i18n-translations-in-vue-42eh</link>
      <guid>https://forem.com/anzelika/4-ways-of-displaying-i18n-translations-in-vue-42eh</guid>
      <description>&lt;p&gt;When your Vue app needs internalization, you'll probably come across &lt;a href="https://kazupon.github.io/vue-i18n/started.html"&gt;i18n&lt;/a&gt;. It took me a while to get a proper grasp on how to display messages in different scenarios (especially #5), so I'm laying out a quick easy-digest summary here.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Basic interpolation
&lt;/h2&gt;

&lt;p&gt;With the interpolation curly brackets you can render any content that can be placed directly in your template HTML.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;{{$t('introText')}}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Binding the value
&lt;/h2&gt;

&lt;p&gt;Useful for input placeholders or labels.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;v-text-field&lt;/span&gt; &lt;span class="na"&gt;:label=&lt;/span&gt;&lt;span class="s"&gt;"$t('form.firstName')"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/v-text-field&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Within a function
&lt;/h2&gt;

&lt;p&gt;Note that within the Vue instance it would be necessary to use &lt;code&gt;this&lt;/code&gt; keyword&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;btnLabel&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;$t&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;buttons.save&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Using &lt;code&gt;v-t&lt;/code&gt; directive
&lt;/h2&gt;

&lt;p&gt;With &lt;code&gt;v-t&lt;/code&gt; directive you may specify the path of the translation string in the data object and then easily render it in the template.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
   &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;buttons.add&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;  
&lt;span class="p"&gt;}),&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt; &lt;span class="nt"&gt;&amp;lt;v-btn&lt;/span&gt; &lt;span class="na"&gt;v-t=&lt;/span&gt;&lt;span class="s"&gt;"path"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/v-btn&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; This directive is &lt;strong&gt;not&lt;/strong&gt; reactive, therefore the content needs to be manually reloaded when the locale changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Using &lt;code&gt;v-text&lt;/code&gt; directive
&lt;/h2&gt;

&lt;p&gt;To solve the reactivity problem, you may use &lt;code&gt;v-text&lt;/code&gt; directive instead.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
   &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;buttons.add&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;  
&lt;span class="p"&gt;}),&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt; &lt;span class="nt"&gt;&amp;lt;v-btn&lt;/span&gt; &lt;span class="na"&gt;v-text=&lt;/span&gt;&lt;span class="s"&gt;"$t(path)"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/v-btn&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Hope this comes in handy for our translation wizards! Give me a shout if there's a technique I missed 😜&lt;/p&gt;

</description>
      <category>vue</category>
      <category>i18n</category>
      <category>internalization</category>
    </item>
    <item>
      <title>User-friendly way to set your CSS font size</title>
      <dc:creator>Anzelika </dc:creator>
      <pubDate>Mon, 13 Jul 2020 18:33:34 +0000</pubDate>
      <link>https://forem.com/anzelika/user-friendly-way-to-set-your-css-font-size-2351</link>
      <guid>https://forem.com/anzelika/user-friendly-way-to-set-your-css-font-size-2351</guid>
      <description>&lt;p&gt;Today I learned that from the perspective of accessibility, it's bad practice to hardcode a root font size in your application in pixels 🙈&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;html&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Why? Some users may have increased the default font size in their browser settings to help with the legibility. By hardcoding the root font size in your CSS with pixels, the web browser won't have an effect on your site and the user may end up struggling or resorting to manual zoom. And that's just bad UX.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, how to solve the situation when you want your app's root font size to differ from the default 16px?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We need to tell our CSS to calculate it as a percentage from the default. If 16px is 100% then 10px is 62.5%.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;html&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;62.5%&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this set-up, you can now set up the rest of your app's elements with rem:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.btn&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.6rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Everyone wins!&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your app has its custom settings&lt;/li&gt;
&lt;li&gt;Your app also listens to default browser settings and takes the user's chosen font size as the new root font size to make calculations from&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;💻 Information from Jonas Schmedtmann's &lt;a href="https://www.udemy.com/course/advanced-css-and-sass/"&gt;Advanced CSS course&lt;/a&gt;&lt;/p&gt;

</description>
      <category>todayilearned</category>
      <category>css</category>
    </item>
    <item>
      <title>8 things I learned during my internship</title>
      <dc:creator>Anzelika </dc:creator>
      <pubDate>Sun, 07 Jun 2020 01:51:08 +0000</pubDate>
      <link>https://forem.com/anzelika/8-things-i-learned-during-my-internship-59ma</link>
      <guid>https://forem.com/anzelika/8-things-i-learned-during-my-internship-59ma</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Wireframing &amp;amp; prototyping&lt;/li&gt;
&lt;li&gt;Version control&lt;/li&gt;
&lt;li&gt;It pays off to contribute&lt;/li&gt;
&lt;li&gt;Back End wizards are your best friends&lt;/li&gt;
&lt;li&gt;Deploying&lt;/li&gt;
&lt;li&gt;Your worth =/= lines of code&lt;/li&gt;
&lt;li&gt;Localization&lt;/li&gt;
&lt;li&gt;Experience &amp;gt; money&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After learning web development via online courses for a year, a long awaited opportunity arose - Front End internship for some real life experience! I've been at it for a few months now and my responsibilities revolve around designing the GUI and building Vue projects. It's been like trying to drink from a firehose - so much information! You can watch as many Udemy lectures as you want, but nothing quite prepares you for that very first developer job. Here are some takeaways I've gathered from my experience so far:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Wireframing &amp;amp; prototyping 🏗️ &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;As a freelancer my workflow was pretty straightforward: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Idea&lt;/li&gt;
&lt;li&gt;Generic sketch on paper&lt;/li&gt;
&lt;li&gt;Coding&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;During my internship, I quickly learned that this isn't how things work "in the real world". As projects get bigger and more people are involved in the decision making process, it's important that you spend time coding the right thing. Our project's new feature needed a GUI but its design had to be a team decision, therefore I was tasked to build a clickable prototype. My freelancer 3-step process turned out to be a team effort of 7 steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Idea&lt;/li&gt;
&lt;li&gt;Sketch on board&lt;/li&gt;
&lt;li&gt;Basic wireframe on Balsamiq&lt;/li&gt;
&lt;li&gt;Internal user testing (asking team members to click through and gather feedback)&lt;/li&gt;
&lt;li&gt;Analzye feedback and build a prototype on Proto.io&lt;/li&gt;
&lt;li&gt;Internal user testing (asking team members to click through and gather feedback on the reassessed version)&lt;/li&gt;
&lt;li&gt;Coding&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I thorougly enjoyed the collaborative aspect of all this where you can lean on expertise of your team members. As a developer, it's easy to focus on the technical and forget nuances of the product itself. Gathering feedback on prototypes before even touching the code editor helps avoid unpleasant surprises and make sure that you create something that brings value to the users.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Version control 🕒  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This was something I never really got into before the internship. As a beginner, my solo projects felt too small for version control and the idea of git commands being able to modify my files felt.. downright scary (what if I accidentally delete all my stuff?). When I anxiously admitted this to my team it naturally earned a collective gasp "You've never used git???". I'm lucky to have good spirited coworkers and very soon my Slack was full of links and tutorials to nail the concept and a cheat sheet of the commands I need to get my repo running. I've now worked with Bitbucket repositories, branched and merged and pull requested for 2 months and while merge conflicts still seem a bit scary, version control in general is becoming more and more second nature.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fq98lagiggj3xcobjpgf3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fq98lagiggj3xcobjpgf3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. It pays off to contribute 🤝 &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;You get back what you give. As an intern I had to learn things from scratch and naturally there were hiccups along the way when you just didn't know what to do. I looked up Discord channels Vue Land and Vuetify to network with fellow developers. It was heartwarming to see how responsive people were in offering help when I felt most hopeless.&lt;/p&gt;

&lt;p&gt;To give back to the community, I started responding to other beginner's questions as much as my knowledge allowed. This had many benefits:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;By thinking along to someone else's problem I learned and solidified what I already knew myself&lt;/li&gt;
&lt;li&gt;It's a great confidence boost. As a beginner it's often discouraging to realise the mountain of tools and languages you still don't know. But seeing someone's question, having a 💡 go off, make a suggestion for a fix and hear back it works... there's hardly a better drug for me in terms of feeling like a coding wizard despite my humble experience&lt;/li&gt;
&lt;li&gt;Networking with developers working with same technologies. What started as a typical help request grew into a casual fun online comradery. Joking about shortcomings of a certain technology or sharing the pains of getting something to work really helped me feel like I "belong"
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F705vowutiwtznw559owk.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;It got me noticed by Vuetify's core team. I was active in asking/offering help and shared a self-made helper class cheat sheet in Vuetify's discord channel. Not long after I was approached and asked if I'd like to become a contributor. Naturally I said yes, and ever since I've worked on drafting some beginner tutorials and been a bit closer to the product in general. I'm excited to see where this can lead in the future!
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwwu631ii5kkrg2ejuo3s.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  4. Back End wizards are your best friends 🧙‍♂️ &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Building something in a small company is a piggyback process. When building logic for the app, have a good talk with the people who "magic" the data into it. When there's effective collaboration between Front/Backend, you can bring projects to life so much easier. &lt;br&gt;
&lt;a href="https://i.giphy.com/media/3ohhwoy4AB7fXp0GVq/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/3ohhwoy4AB7fXp0GVq/giphy.gif" alt="amazing"&gt;&lt;/a&gt;&lt;br&gt;
Quite often you can avoid dozens of lines of code and confusing nested loops in Front End codebase by having some help from Back End (tweaking API calls, adding new data fields, normalising data etc).&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Deploying 🚀 &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;We needed a clickable demo of the prototype accessible for the team and for a prospective user as well. I spent the day learning how to &lt;a href="https://cli.vuejs.org/guide/deployment.html#heroku" rel="noopener noreferrer"&gt;deploy Vue apps&lt;/a&gt; and how to hook them up to Heroku. It was a definite learning curve about remote repositories and it feels awesome knowing how to bring projects live now!&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Your worth =/= lines of code 🏆 &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;I come from a call centre/customer support background. For years, my worth was pretty much calculated in the number of e-mails I did per day and if I took extra 10 min for my lunch/pee break, it was very well noticed.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/622tjz4c1x1B62VHEu/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/622tjz4c1x1B62VHEu/giphy.gif" alt="Alt text"&gt;&lt;/a&gt;&lt;br&gt;
Only after working as a developer for a few months I realise how dehumanising that sector was and the detrimental effect it eventually had to my perception of self worth. It's hard to detach yourself from a mindset of "must produce visible results" and accept that you ARE working even when you spend hours watching tutorials or a bug in your console or drawing pseudo code on post-its. As a customer support agent my work revolved around immediately perceivable daily results. As a developer my work revolves around projects - my team trusts me how I spend my time, as long as the long term goals are met. There is a daily morning checkin call, but after that I get to put on my headphones, zone in and do my thing. My team trusts my process and it's awesome. &lt;/p&gt;

&lt;h3&gt;
  
  
  7. Localization &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Before my internship I never had to deal with matters related to localization or multilingual interfaces. In Switzerland though, basically every site needs to be in German, Italian and French. This affected my development in several ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Translated button elements can break UI. For example a basic button with a 1-word English label may look awesome, but not when it needs to be a 2-word French expression. It's now in the back of my mind not to put text label buttons in places where their width needs to be fixed.&lt;/li&gt;
&lt;li&gt;Dates can not be hardcoded, since most of the time you save a &lt;code&gt;new Date()&lt;/code&gt; object and render it in DOM with &lt;code&gt;.toLocaleDateString()&lt;/code&gt; or something similar.&lt;/li&gt;
&lt;li&gt;Learning to implement i18n to switch interface language and replace all hardcoded values in the codebase with references to i18n locale files.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  8. Experience &amp;gt; money 💸 &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In my area in Switzerland, a junior front end web developer with 0-2 years of experience gets roughly 6-7K USD/month. I've self-taught myself for the past 1.5 years and of course it's easy to daydream about those paychecks. But experience in agile web development is more important to me than a paycheck right now. The team I'm working with creates a great environment to observe and gain the skills I need on my journey to call myself a web developer with confidence. &lt;br&gt;
&lt;a href="https://i.giphy.com/media/vgsj2QCJGv7Xi/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/vgsj2QCJGv7Xi/giphy.gif" alt="Alt text"&gt;&lt;/a&gt;&lt;br&gt;
Big-shot positions may be in the books one day, but for right now, my job is to be a sponge and enjoy the ride 🎢&lt;/p&gt;

&lt;p&gt;If anyone stumbled here and would care to mention their takeaways from their very first web dev job, I'm all ears!&lt;/p&gt;

</description>
      <category>career</category>
      <category>codenewbie</category>
      <category>beginners</category>
    </item>
    <item>
      <title>1-line solution for importing and registering your Vue component </title>
      <dc:creator>Anzelika </dc:creator>
      <pubDate>Sun, 07 Jun 2020 01:39:41 +0000</pubDate>
      <link>https://forem.com/anzelika/1-line-solution-for-importing-and-registering-your-vue-component-ng5</link>
      <guid>https://forem.com/anzelika/1-line-solution-for-importing-and-registering-your-vue-component-ng5</guid>
      <description>&lt;p&gt;Today I was working on some Vuetify themes and was pleasantly surprised to learn an elegant 1-line solution to import and register a component. The pattern I usually saw in Vue projects was this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;template&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;v&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;home&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;system&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;home&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;view&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;home&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;footer&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/v-app&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/template&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;SystemBar&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/layouts/home/SystemBar&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;View&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/layouts/home/View&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Footer&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/layouts/home/Footer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
  &lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;components&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;HomeSystemBar&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;SystemBar&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;HomeView&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;View&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;HomeFooter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Footer&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/script&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above you can see that the components are imported separately and then registered in the &lt;code&gt;components&lt;/code&gt; object. There is actually no need for a separate line to import, you may do all of it in &lt;code&gt;components&lt;/code&gt; with an arrow function expression:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;template&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;v&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;home&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;system&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;home&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;view&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;home&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;footer&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/v-app&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/template&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;HomeLayout&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;components&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;HomeSystemBar&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/layouts/home/SystemBar&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="na"&gt;HomeView&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/layouts/home/View&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="na"&gt;HomeFooter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/layouts/home/Footer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/script&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;How cool is that? When dealing with multiple imported components, this certainly makes things cleaner 🧹&lt;/p&gt;

</description>
      <category>todayilearned</category>
      <category>vue</category>
    </item>
    <item>
      <title>Custom styling Vuetify buttons</title>
      <dc:creator>Anzelika </dc:creator>
      <pubDate>Thu, 14 May 2020 16:12:30 +0000</pubDate>
      <link>https://forem.com/anzelika/custom-styling-vuetify-buttons-8e6</link>
      <guid>https://forem.com/anzelika/custom-styling-vuetify-buttons-8e6</guid>
      <description>&lt;p&gt;As a developer working on user interfaces, it’s a common struggle to find yourself in this scenario: You find an awesome library to work with, the site components come together ultra fast and you feel invincible! Well, that’s right up until the point you want to overwrite some default CSS for your application. And then you find yourself elbow-deep in your Devtools and Stack Overflow trying to figure out &lt;code&gt;What selector should I use?&lt;/code&gt; and &lt;code&gt;How many lines of !important do I need to add to make this style show up?&lt;/code&gt; 😐&lt;/p&gt;

&lt;p&gt;Today we’re going to  take a look at how to overwrite some of the behaviour and styling of Vuetify's default buttons. Check out the Codepen below to see what we get out of the box and what we want to achieve:&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/anzuj/embed/wvKXLOj?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h4&gt;
  
  
  🎨 Button width
&lt;/h4&gt;

&lt;p&gt;Let's begin with trying to make the button take on a square styling. By default, Vuetify's button height is &lt;em&gt;36px&lt;/em&gt;.&lt;br&gt;
Therefore, it would make sense that setting &lt;code&gt;.v-btn { width: 36px; }&lt;/code&gt; creates a square button, right?&lt;br&gt;
That was my first instinct, but the button was still rectangular 🤔 In order to hunt down what was going on, I opened my Devtools. When you find yourself trying to style something and it just doesn't work as expected - a good first step is to look under the hood! 🛠️&lt;br&gt;
In order to do that, right click the element you want to style in your project and choose "Inspect" ("Inspect element" in Firefox).&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2jo9q7z2c776gj1wt352.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2jo9q7z2c776gj1wt352.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Next, when we check the styles on the &lt;code&gt;div&lt;/code&gt; with a class &lt;code&gt;.v-btn&lt;/code&gt;, we can see that Vuetify's default styling is interfering with our square plans.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsb8w5dny75lvavvph2cg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsb8w5dny75lvavvph2cg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here you can see that &lt;code&gt;.v-btn&lt;/code&gt; has a &lt;code&gt;min-width: 64px&lt;/code&gt; property, which is the culprit in the matter. Therefore, to get our button square, we need to overwrite that in our stylesheet like so:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;

&lt;span class="nc"&gt;.v-btn&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;36px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;36px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  🎨 Ripple effect
&lt;/h4&gt;

&lt;p&gt;Ripple effect is what happens by default after you click a &lt;code&gt;.v-btn&lt;/code&gt;. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F73vfpniybfxykg5uymw0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F73vfpniybfxykg5uymw0.gif" alt="Alt Text"&gt;&lt;/a&gt;The color of the effect is generated automatically by Vuetify from the color of the button itself. &lt;br&gt;
In most cases that's quite handy, since you can have a nice red ripple for your red button with 0 work. However, sometimes you want the ripple effect to be a different color. &lt;br&gt;
For example I wanted the button to be modest light gray, but the ripple effect to be blue. To modify the ripple effect, it would be necessary to hack a bit into Vuetify's &lt;code&gt;v-ripple&lt;/code&gt; directive. You can use Material Design's &lt;a href="https://vuetifyjs.com/en/styles/colors/" rel="noopener noreferrer"&gt;color palette&lt;/a&gt; names or theme colors (primary, secondary, success etc) to modify the ripple color like so:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;

 &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;v&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;btn&lt;/span&gt; &lt;span class="nx"&gt;v&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;ripple&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;{ class: 'primary--text' }&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  🎨 Hover effects
&lt;/h4&gt;

&lt;p&gt;By default, Vuetify buttons have a hover effect of a slightly darker background color. I wanted to remove that so that the only hover effect would be the icon scaling up. Interestingly enough &lt;code&gt;.v-btn:hover { background-color: none; }&lt;/code&gt; or any other background property removal attempts did not work. It wasn't until scrolling all the way down in Devtools when I started to suspect the &lt;code&gt;::before&lt;/code&gt; pseudo selectors. &lt;code&gt;::before&lt;/code&gt; was there before &lt;code&gt;:hover&lt;/code&gt; was cool 😉 &lt;br&gt;
Here's how to get rid of that sneaky hover color:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;

&lt;span class="nc"&gt;.v-btn&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;transparent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;And a cherry on top, enlarging the icons on hover is easy to change like so:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;

&lt;span class="nc"&gt;.v-btn&lt;/span&gt; &lt;span class="nt"&gt;i&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;And that's a wrap! Hope you found these little tips useful when wrestling with Vuetify buttons in your own projects 💪&lt;/p&gt;




&lt;p&gt;🐣 This blog post is a part of &lt;a href="https://vuetifyjs.com/en/introduction/guide/" rel="noopener noreferrer"&gt;Vuetify Beginner's Guide Series&lt;/a&gt;. Each blog has been collaboratively worked on by the Vuetify Core Team. &lt;br&gt;
💡 Interested in contributing a topic? Reach out to &lt;a href="https://dev.to/johannarlee"&gt;Johanna&lt;/a&gt; on Dev.to or in the &lt;a href="https://discord.com/invite/s93b7Fv" rel="noopener noreferrer"&gt;Vuetify Community Discord&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>vue</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Story of a self-taught web developer: humble beginnings #2</title>
      <dc:creator>Anzelika </dc:creator>
      <pubDate>Sat, 09 May 2020 13:27:18 +0000</pubDate>
      <link>https://forem.com/anzelika/story-of-a-self-taught-web-developer-humble-beginnings-2-48de</link>
      <guid>https://forem.com/anzelika/story-of-a-self-taught-web-developer-humble-beginnings-2-48de</guid>
      <description>&lt;p&gt;3 months ago in a tiny startup office in the middle of Zurich, a woman was sitting down for her first interview for a web developer internship. A lot was on the line, but she kept on a brave face, trying to somehow, by some miracle, get the foot in the door in tech world. She was armed with vanilla JS/CSS, a touch of Bootstrap and a bucket of enthusiasm. That woman was me and this is my story.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/l0He0cVv8lGggpruo/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/l0He0cVv8lGggpruo/giphy.gif" alt="pleading" width="480" height="270"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h4&gt;
  
  
  What was the company like?
&lt;/h4&gt;

&lt;p&gt;It's a startup of 6 people, focusing on improving the microclimate of workplaces. Their webapp has a user-friendly and engaging twist on feedback surveys that employees get. Results are displayed in a visual and meaningful way, allowing team leaders to track trends, mark down problems, set deadlines, delegate issues etc. &lt;/p&gt;

&lt;h4&gt;
  
  
  What was the job opening?
&lt;/h4&gt;

&lt;p&gt;They were looking for a front end web developer to finalise their webapp (big part of it is served to clients with Google Charts and manually put together slideshows at the moment). They were looking for someone with a few years of experience, knowledge of Vue+Vuetify and using CSS preprocessors. I had none of that, but did that stop me from bugging them? No! 😄&lt;/p&gt;

&lt;h4&gt;
  
  
  How did I apply?
&lt;/h4&gt;

&lt;p&gt;I was not fooling myself, I knew I was missing some major requirements. But I decided to go for it anyway, since startups are my weak spot and it was one of the few postings where German was not a necessity (their team speaks stellar English!). In my cover letter I decided to be honest and just a tad bit pleading.&lt;br&gt;
Here's what I sent, unedited:&lt;br&gt;
&lt;a href="https://i.giphy.com/media/CT5Ye7uVJLFtu/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/CT5Ye7uVJLFtu/giphy.gif" alt="pleading" width="500" height="170"&gt;&lt;/a&gt; &lt;/p&gt;




&lt;p&gt;&lt;em&gt;Hello, I am writing to apply for a junior front end web developer position. As someone self-taught via online courses, I am hoping to practice my skillset in a real-life work environment to bring aesthetically pleasing and responsive projects into the world, one pixel at a time!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I've always enjoyed an ambitious environment of a start-up company, especially with no ironclad "hierarchy", allowing people's creative minds work together for a common goal. I am very passionate about proving myself in this field as an asset to the development team with my dedication, enthusiasm and an eye for detail. My work ethic of encountering a technical problem is to try and tackle it independently first and never shy away from learning a more elegant solution.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;As a junior web developer, I take responsibility and initiative for improving my skillset. This means that if a framework or library which I am not familiar yet is needed for the project, I will make it a personal priority to find online resources to teach the concept to myself instead of expecting others to tutor me from ground-up (for example for this opening I expect to spend many evenings with Vue courses!).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If a standard position is not available due to me being relatively new to the field, I would be interested even in a minimally paid temporary intern position assisting the senior frontend developers. Perhaps this way I could showcase my working ethics and earn a place in your company in the future. You may find more information and work examples on my portfolio site here: &lt;a href="https://anzudev.com"&gt;https://anzudev.com&lt;/a&gt;. I'm excited and hopeful to hear back!&lt;/em&gt;&lt;/p&gt;




&lt;h4&gt;
  
  
  Interview
&lt;/h4&gt;

&lt;p&gt;They replied that for a front end developer position they were looking for someone a bit more experienced which was absolutely expected. BUT! Here comes the unexpected part. They said they noticed the drawings in my portfolio which matched their app's illustrations and that they really liked my last paragraph offering myself up as an intern, as it showed my eagerness to learn. I was invited to a meeting in their office and I immediately loved their easygoing vibe, product idea and how it was visually presented to clients.&lt;/p&gt;

&lt;p&gt;The only pickle was: they need the project to be finalised with Vue/Vuetify. I just straight up honestly said: "Phew, it has been in my bucketlist for months, but I am a total green leaf on that as of right now!". Here's where the magical bit lies: instead of sending me out of the door they said "Well, why don't you come and learn it in our office? Let's have a trial period of 2 months and see how quickly you can catch things on?"&lt;br&gt;
&lt;a href="https://i.giphy.com/media/aQYR1p8saOQla/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/aQYR1p8saOQla/giphy.gif" alt="happy" width="222" height="245"&gt;&lt;/a&gt;&lt;br&gt;
Needless to say, I was on board! Some would say "Eh, just as an intern?", but for me, that's everything. As someone self-taught without a physical support system, this experience would be invaluable for the hands-on approach and learning how to work in a team. We agreed on a 80% contract, for 6 months.&lt;/p&gt;

&lt;p&gt;As for money, I was lucky enough to be in a position were that was not my main concern. I asked for a modest internship paycheck, just to cover the basic bills (health insurance, public transport, food etc).&lt;/p&gt;

&lt;h4&gt;
  
  
  First day
&lt;/h4&gt;

&lt;p&gt;I was of course a complete nervous wreck, barely slept the night before! I did not know what to expect, will they slap on some tasks or maybe make me do a technical tests? To try and prepare myself, I followed some tutorials on Vue to grasp the concept of importing components and how they interact with each other, but I was a long way from bending them to my will at ease.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/APqEbxBsVlkWSuFpth/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/APqEbxBsVlkWSuFpth/giphy.gif" alt="confused" width="434" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Honestly, I needn't have worried. I arrived to the office, everyone was super encouraging and welcoming. My station was set up and they actually said I can just spend the day continuing the same tutorials to get a bit more comfortable with the component library! When other people arrived, they spoke German about some project specifics, but everyone still went out of their way to speak English as much as possible so that I would be included ❤&lt;/p&gt;

&lt;p&gt;We had lunch together as a team, I shared my lovestruck "move to Switzerland" story, we laughed about Swiss stereotypes, pondered about intermittent fasting and with these personal touches it felt like a small family already.&lt;/p&gt;

&lt;p&gt;This post concludes the "humble beginnings" series, from now on I'll write under the flag of my internship experience. Expect lots of Vue, Vuetify, prototyping extravaganza and Git heart attacks 🎉&lt;/p&gt;

</description>
      <category>womenintech</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Story of a self-taught web developer: humble beginnings #1</title>
      <dc:creator>Anzelika </dc:creator>
      <pubDate>Fri, 08 May 2020 19:10:47 +0000</pubDate>
      <link>https://forem.com/anzelika/story-of-a-self-taught-web-developer-humble-beginnings-1-c72</link>
      <guid>https://forem.com/anzelika/story-of-a-self-taught-web-developer-humble-beginnings-1-c72</guid>
      <description>&lt;h2&gt;
  
  
  🔥 Burnout
&lt;/h2&gt;

&lt;p&gt;2 years ago I found myself in a bad place. I had worked in a fintech startup as a customer support for 4 years, and while I adored the people, any meaningful career change within the company never happened. I had side projects, sure, but at the end of the day my worth was still calculated very plainly by the amount of calls and e-mails I handled per day. While wholesome coworkers can keep you going, deep down where it really matters, it can be... well, quite soul crushing 😑 &lt;/p&gt;

&lt;p&gt;I no longer took pride in what I was doing. It felt like anyone could pick up the phone and give a customer their status update. I wanted to do more, but I wasn't in an environment where I could actually do more. And so I kept seething in internal turmoil, secretly envying developers working one floor above mine, creating magic one pixel at a time. All my life I had been an artsy-craftsy person, and coding seemed like such a polar opposite of that. How can I write such abstract gibberish when I could create stuff from polymer clay or leather? Well, I took a leap of faith and as it turns out, you sure as hell can do &lt;strong&gt;BOTH&lt;/strong&gt;, and they're equally creative.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 Turnaround
&lt;/h2&gt;

&lt;p&gt;My final kick in the butt was in January 2019 when I said goodbye to the workplace and lifestyle I had for years. I was hermiting on my own and had all the time in the world to focus on self-improvement. Since I had savings to sustain me without work for 6-8 months, it was quite clear that by the time it runs out, I should be in a position where I could apply for junior/entry level dev jobs. There was simply no plan B. I couldn't go back to working in a call-centre. I couldn't just move back in with my parents and declare myself a failure. I had time and money for a limited amount of time. No distractions. No excuses of a tired brain after long day at work. &lt;strong&gt;This is it&lt;/strong&gt;. This is where I turn my life around.&lt;/p&gt;

&lt;h2&gt;
  
  
  💻 Online learning
&lt;/h2&gt;

&lt;p&gt;I decided to start my journey with &lt;a href="https://www.udemy.com/course/the-web-developer-bootcamp/"&gt;Colt Steele's Bootcamp&lt;/a&gt; and it was a great choice. Javascript was playfully etched to my mind by looping through all other dogs who are inferior to his Rusty and I was there for it 😄. Here are two examples of my take on what you build in the JS section of Colt's Bootcamp. In my defiance to Colt's dog-loving, I of course made it cat-themed.&lt;/p&gt;

&lt;p&gt;🎨&lt;strong&gt;Color game&lt;/strong&gt;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/anzuj/embed/rRKpBQ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;br&gt;
📝&lt;strong&gt;To do list&lt;/strong&gt;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/anzuj/embed/EzWqdJ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;br&gt;
Practicing with fun little projects like that got me the skills to make my first two solo projects with vanilla CSS, JS, jQuery and Bootstrap:&lt;/p&gt;

&lt;p&gt;🧙&lt;strong&gt;Magic School timetable generator&lt;/strong&gt; -&amp;gt; &lt;a href="https://anzuj.github.io/czocha/"&gt;visit&lt;/a&gt; &lt;br&gt;
🌲&lt;strong&gt;Homepage for a small Fir tree business&lt;/strong&gt; -&amp;gt;&lt;a href="https://anzuj.github.io/kuusetaimed/"&gt;visit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As the bootcamp went to the backend part, I lost the willingness to follow through since Colt used a cloud-based IDE which no longer is live, and getting the out-dated code to work via alternative means was just too much of a hurdle for a newbie like me to chew through (2021 disclaimer: the course has now been updated!). At this point my artsy craftsy side kicked in as well, and I just wanted to continue experimenting with the "fun bits". I kept following Youtube code-alongs for more advanced CSS, for example I very much recommend this  one that finally helped me build my first portfolio. &lt;iframe width="710" height="399" src="https://www.youtube.com/embed/T7PnWnTgusc"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;I'm very picky about online tutorials &amp;amp; mentors, since my ADHD plummets my attention span from 100 to 0 in 6 seconds. To be engaged in the learning, I need the mentor to project enthusiasm and think out loud with every step. Hand on my chest I can recommend these 3 guys whose material I always enjoy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.udemy.com/user/coltsteele/"&gt;Colt Steele&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/channel/UCW5YeuERMmlnqo4oq8vwUpg"&gt;NetNinja&lt;/a&gt; (Hi gang!)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.udemy.com/user/maximilian-schwarzmuller/"&gt;Maximilian Schwarzmüller&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  💼 Job hunting
&lt;/h2&gt;

&lt;p&gt;About halfway into my "hermit bootcamp" I moved countries to move in with my partner. It was more important than ever to get that first coding position for the living permit as well. But what did I really have to offer?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No bachelor's in anything&lt;/li&gt;
&lt;li&gt;Not speaking the local language (German in this part of Switzerland)&lt;/li&gt;
&lt;li&gt;Self-taught coding for a year&lt;/li&gt;
&lt;li&gt;Not knowing any frameworks yet&lt;/li&gt;
&lt;li&gt;No real work experience in web development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yeah.. not looking that great.&lt;br&gt;
But still, my amazing partner made sure I'd feel no financial pressure to stop my studies and encouraged me to apply to places even if the advertisement was in German and required skills I haven't even touched yet (SCSS, SASS, prototyping, React/Angular/Vue etc). My goal was to get an entry level/junior Front End web developer position. First consideration I got was from a startup who gave me a technical task of making interactive tables. It still makes me cringe, thinking back to that week I stayed up until 2-3AM, trying to chew through the algorithms of adding new data and manipulating DOM accordingly. I look back to &lt;a href="https://anzudev.blogspot.com/2020/01/technical-task-continues.html"&gt;this&lt;/a&gt; blog post describing how I tried my hardest to do it while knowing only vanilla JS and ooff, it still hurts! I handed in something hitting only 4 of the required 7 features, so needless to say I didn't end up getting chosen.&lt;/p&gt;

&lt;p&gt;Now, at this point I've had 10 no-response applications and 1 failed technical task behind me. It was downright scary. Look at all these frameworks I don't know! What are all these acronyms? Why would anyone ever hire me? German? Now I need to fast track German too? I'm not exaggerating with this GIF:&lt;br&gt;
&lt;a href="https://i.giphy.com/media/cEOG7nGA7448M/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/cEOG7nGA7448M/giphy.gif" alt="gif" width="500" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🎈 Opportunity arises
&lt;/h2&gt;

&lt;p&gt;Just when I was about to give up and apply at Starbucks, I got the most unexpected message in my inbox:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mr65DqcJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/b1860xQ/job.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mr65DqcJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/b1860xQ/job.png" alt="email" width="804" height="312"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Will you look at that, my artsy craftsy side and plea for an internship caught their attention! This was the ray of hope I so desperately needed (it was actually my birthday) and visiting their office started a new chapter in my developer journey, 14 months after it started.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;...to be continued&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>womenintech</category>
    </item>
  </channel>
</rss>
