My first year as a dev
Tags: codenewbie, womenintech, gratitude, wecoded
Published: 2020-03-04 18:55:30

I recently remembered that my work-aversary was about a month ago.  
The general advice is that junior devs shouldn't start out working remotely.  Not only are most companies not eager to hire for that level in the first place, juniors need mentorship, which can be challenging in a distributed team.
And so while I was thrilled to be hired with my team as a remote contributor, I kept that lurking fear all year (I'm sure impostor syndrome contributed to this too).
The work anniversary lead me to reflect on the year that had past, so I conducted my own sort of informal retrospective on what I've learned and accomplished, where I'd like to improve, and goals.
This would have been a great exercise to do at the 6-month point, and I definitely encourage all new devs to do the same.
While I'm here recommending things, this Coursera course "[Learning How To Learn](https://www.coursera.org/learn/learning-how-to-learn)" has taught me a few new things that are already changing the way I learn - which, as we know, is crucial for being a successful dev. 

## Wins
1. Learned how to write **browser automation tests**, including one involving a tricky race-condition that [I wrote about in a pretentiously-titled blog post](https://dev.to/ddhogan/puppeteer-stochasticity-and-timely-pauses-3kb6).
    * Ironically, I feel more comfortable writing these kinds of tests than writing unit tests. I would like to improve on this in the coming year.
1. Further developed my React/Router/Redux skills.
    * Even started ejecting React apps that were initialized with Create React App in order to customize webpack.
1. I got a little better at manipulating the contents of a **webpack config**, but I'm still nervous about it, and would like to be better at this in the future. And perhaps make my own React boilerplate rather than using CRA.
1. Became more fluent in Git/Github and integration with VSCode.
1. Dabbled in **Kibana** and PowerBI
1. Learned what **AWS Lambdas** are, and wrote my first!
    * Related to this, learned about **virtual environments for Python** projects.
1. My first **Docker**-ized web app!
1. **Asked for something**, and it was fine!
1. Wrote my first, very basic **chatbot** (using [Botkit](https://botkit.ai/), that uses some simple NLP to make searches for you and reports back some answers.
    * Made a tiny contribution to its library.💛
1. Made use of **continuing education** resources like egghead.io, Udemy, YouTube, PluralSight, FreeCodeCamp, books, Slack/Discourse communities, Coursera, and lots of Podcasts. 
1. Picked up a spot of **Sass**.  It's not so scary!  Since my CSS needs are usually very simple, and variables are available in plain CSS now, I might not use Sass very often, but I often run into it when working with other devs so this was important to learn.
1. Started picking up a new JS framework: **Vue.js**!
1. Learned a lot about **a11y/accessibility**.  Running audits with aXe, Lighthouse, WAVE, and some basics about aria attributes, contrast and colors, and semantic HTML.  Tried a screen reader (gonna leave that to the pros)
1. Learned about **static site generators**, including Jekyll and eleventy, and spun up a simple one for a work assignment and [wrote about how to publish it on GitHub Pages](https://dev.to/ddhogan/publishing-an-eleventy-site-to-github-pages-40c5).

## Room for improvement
1. My **anxiety slows me down**. So, I've re-started therapy, and am re-visiting some old tools to help me cope (like mindfulness practices and rescue medications). It also prevents me from asking for help in a timely manner (like, asking a human is absolute last resort), but perhaps with practice this will improve.
2. **Writing tests** is still a challenge for me, particularly unit and functional tests.
3. **Webpack** is still mysterious and scary.  I can debug sorta (because the error messages are actually very good), and make certain edits, but would like to do better here.
4. I've **neglected my old portfolio projects**.  This means my resume is woefully out of date.  I need to either move them off, or update them.  I could also postpone this until I plan to start looking for another job.
5. **I haven't attended any meetups.** Just been too busy or out of energy.
    * But, I did buy tickets for [CodeLand 2020](https://codelandconf.com/), and am am keeping an eye on some local (+/-) meetups.
6. While I keep good personal notes in markdown format, I haven't really been **keeping up with blogging** or any kind of communication about my learning progress (aside from daily stand-ups, but that's not really about my own development).
    * I want to **re-visit my personal blog/page**, and start writing in a more formal way and sharing it.  This post is part of that, like a tiny bit of accountability.
7. **Piles of learning fantasies:** In Todoist, the "backlog" and "lookit" things are overflowing, and I have a bookmark folder called "learn" and "current learning", and haven't touched them in some time (because I'm learning other things, of course!), and then there's Pocket and the dozens of newsletters and Slack/Discord groups, ahhhh
    * Am I ever going to rescue the old Rails projects from Heroku? Before the stack's [EOL ends](https://devcenter.heroku.com/changelog-items/1603)???

On balance, I'm basically satisfied with my progress! It can be done! And while becoming a member of the chronic condition community/disabled may have prompted me to consider this as a career initially, even if I miraculously was all better tomorrow I'd still want to do the same work, I just might be more inclined to consider working on-site (for some portion of the week), or would attend meetups or tackle a more ambitious side-project.
Here's to another year! 👩‍💻