Developer Diaries: Week 2 - All blocked up, making friends, reading docs
Tags: javascript, react, typescript, tooling
Published: 2021-09-09 20:23:39

This week was full of a bunch of activities. Let's dive right in!

# The Code

I managed to push some code for fixing an issue with needing our attachments to expire after 30 days instead of 14 (this was a super simple fix... literally changing a number.)

I also had an issue with [Homebrew](https://brew.sh/), so to confirm I fixed that, I went on a mission installing all sorts of things with Brew :) More on that below in my habits / tools section. 

**Advice: not every week is about pushing a ton of code.**

# The Stuck

And then after that, I got kinda stuck because we're doing a Salesforce data sandbox refresh, and we've had some funky issues in our app after that. We've had a couple developers on this and there hasn't been an obvious answer to what's going on. So it's been a struggle to test my other issue fix, which was trimming extension file types. I've got some code in place, but I can't confirm it's working! I think as of this morning, we might have a fix for it, so hopefully that'll be back up in action soon. But while I've been blocked, I've found some other productive stuff to do. 

**Advice: Don't spend too long being stuck before you ask for help. I thought I'd broken something when I first tried to run my test and I looked all over the app and tried to figure out what was wrong... then realized it wasn't my code, and it wasn't anything I'd done. It's taken two other more senior developers a lot of time this week to try and troubleshoot, and I'm glad I didn't spend a whole day on my own trying to solve it.**

# The Friends

For one, I have started connecting with more people in IT. My manager recommended some people that he thought would be good for me to know and get context on what they do, and I also stalked the org chart and found some other folks to meet with. It's been good to make those connections, everyone is so friendly, and literally, everyone has encouraged me to reach out to them if I have any questions. It's really wonderful having such a supportive team.

**Advice: I'm a firm believer no matter what you do, your team is the most important part. This solidifies that for me.**

# The Docs

I've still had a list of docs to go through and thankfully being blocked on work has made it easier to actually take the time to read it more carefully instead of rushing through. I was even able to make some edits to the docs to help make it a little more readable, or and fix some typos.

I have started to really appreciate good documentation, and I think it's the reason I want to keep doing this blog. Having things written down is a great way to solidify knowledge about something, and if it's well-written, it can be REALLY helpful for people coming after you. I want to develop a habit of being really intentional about writing down what I do, why I do it, and how it works. So, consider this blog my `documentation` on being a junior dev and getting your start in the full time programming world. Feel free to add comments and push me to write better if anything isn't clear :) 

**Advice - make sure to read the docs. Ask questions. If something doesn't make sense, ask the person who wrote it. Suggest edits to make things more clear. Try to run things on your own, and when you get stuck or have to google something, that's an opportunity to improve the docs.**

# The Habits / Tools

If you recall, I've also been working on developing more Dev Habits and researching tools and things that are helpful. I found a TON of cool stuff this week. First of all, just google "best tools for developers" and "best productivity tools for developers" and you'll find a million things. But some of my new favorites are:

- `brew install wifi-password` : will show you the wifi password of the network you're currently on
- `brew install htop` : basically like activity monitor but in your terminal. makes it easier to see what's running and kill stuff if needed
- [Github Pull Request Extension in VS Code](https://visualstudio.github.com/) - I love being able to see in my editor the comments made on my PRs so I can fix the code while I'm right there
- [Wakatime](https://wakatime.com/) : shows a dashboard with stats about your coding. Nothing impressive to show right now because I just installed it yesterday haha. 
- [Todo+ VS Code extension](https://marketplace.visualstudio.com/items?itemName=fabiospampinato.vscode-todo-plus): I don't think I'm going to actually keep using this cause I love Trello, but it's a nice way to make an easy to read todo list note in VS Code
- [I Hate Regex](https://ihateregex.io/): regex code generator
-[Regex Pal](https://www.regexpal.com/): nice regex code checker
- [All the cheatsheets](https://devhints.io/): syntax for css, bash, javascript, react... you name it
- [GitExplorer](https://gitexplorer.com/): if you're ever like "i want to do this... how do i say it in Git", this tool will help you out
- [Oh Shit Git](https://ohshitgit.com/): speaking of Git... if you've ever done something and immediately had regrets, this will show you how to fix your problems

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1626447395447/-HcVM5Oxm7.png)
*My Wakatime dashboard - don't just I just started using it yesterday :) *


And here are some habits and how I'm planning to incorporate them: 

- **Make time for learning.** I'm adding specific blocks to my calendar weekly for learning time, and reading articles I've collected throughout the week. I also plan to go through these [thinking models](https://untools.co/) so I can learn to think like a developer.
- **Write down things.** Exhibit A is this blog. But also I'm working on a system for documenting things in my Trello board of what I worked on, sprint updates, etc. I also want to make sure I'm clear in my code (using comments when necessary) and creating issues and PRs that have clear explanations of what I'm doing.
- **Pair programming.** Thankfully I'm doing a lot of this, and will likely keep doing it as I'm still requiring a good bit of assistance. But I learn so much each time, and I'm glad to see this is a healthy habit and not something that is unexpected or holding my team back. 
-**Say yes.** I know this got me in trouble a lot early on in my career in marketing, but I think it's also a healthy thing to do in programming. Not that I have to say yes to every project or every issue, and I definitely don't want to say yes to learning every new shiny thing. But I do want to make sure I'm staying open to opportunities to learn and grow and improve my skills. 
- **Pomodoro timer.** Time blocking and not letting myself spend too long trying to solve something on my own before asking for help. And also just making sure to remember to take breaks.

Speaking of... my Pomodoro timer just went off, so I think it's time to end this blog post. 👋 See y'all next week.