Reflection
Goals - April 2022
Created by Daniel Philip johnson
Revamp my website
At the end of last year, I started to migrate, my website from Gatsby.js to nuxt.js. The reason for this was to have a website with my current Tech Stack. I grew tired of updating markdown files and committing them to GitHub. I wanted to move to a JavaScript Content Management System. After some research and attending a conference with my good friend Alba I decided on Storyblok. The migration started very slow. I did not make the progress I hoped. So this year I want to fully migrate my website and implement some new features that allow me to blog much quicker.
A list of things I wish to add:
Make a new mobile nav
Use my skills I learnt from frontend masters Web Performance Fundamentals
Make individual project pages to demonstrate my portfolio work
Dark mode
Update my contact form to allow more personal feedback
Learn about Google Tag Manager and use it on my website
Create sections on the blog page to display my reflection and tech blogs
Become a Better developer
To become a better developer I've planned to improve following:
Continue to expand coding knowledge:
I want to improve my flexibility with writing code. I want to become knowledgeable in many different languages. I want to use GO more and build some cool microservices. Understanding many different programming languages is valuable because it gives you a deeper understanding of the different solutions you could use to fix a problem.
Know-How To Plan My Tasks Better: be able to successfully break big tasks into small chunks (better). To be able to give a better time estimate on how long a project will take to be fully completed. So I can be more efficient with my time.
Know-How To Communicate Well with Others: I understand that it's teams that build excellent products, so it's important to be able to work together with many different people. This year I will be focusing on improving my communication and pursuing public speaking.
See The Bigger Picture: Early in my career, I got so laser-focused on a single task, but you need to think about the bigger picture. I want to continue to expand my mind and look at the real problem I'm trying to solve. Not thinking about solving it today, but think about the problem several months from now. To determine if the current strategy will lead to difficult problems later.
Prioritizing what matters the most: It's painful to waste time on irrelevant tasks, that's why organising time is such an important factor. This is something I want to continue to improve. By tracking my time better I can improve my productivity and have a positive impact. It won't be an easy take, but practice makes perfect.
Understand That All Solutions Are Not Equal: Just because you found a solution to a problem doesn’t mean it’s the best solution. Finding the first flight to LAX does not mean it's the best solution. Having to make a lot of connecting flights to arrive in LAX will be painful. Therefore, is important to evaluate, the solution and determine its impact. I want to focus on improving it and resisting the urge to jump right into building the feature.
Keeping It Simple: Coming up with a complex solution does not make you a 10x dev. In my early career, I thought it was clever to be smart but readability is so important. I will focus a lot of my time on improving my code readability.
Know-How To Build and Break Stuff: Although, I spend a lot of time building projects in my spare time. I found that by breaking things I learnt so much more. This year I want to play around with Nuxt 3 and try to contribute more.
Learn To Take Issues To The Chin: Often you will come across some developers that aren't able to take responsibility for their own mistakes. They are quick to blame others. It's better to take responsibility for your actions. My current weakness is although I admit my mistakes, I take them too much to heart and let them affect my confidence.
Remember as an Engineers Stay Humble: Keep confidence levels measured as pride can seriously slow you down. It's better to stay level headed ad continue to learn and continue to listen. I'm going to improve my ability to listen as part of communicating.
I've created a reading list
Last year read a book a week this year I plan to do the same:
code craft
effective debugging
Understanding software
Software architects handbook
Professional git
seriously good software
kaban in action
Street Coder
Beginning software engineering
time management
project management basics
Build Projects:
I plan to make a Nuxt 3 and Prismic blog converting my old gatsby 2 react project. Next on my to-do list is to integrate Prismic with Bigcommerce perhaps with a mini amazon clone. Lastly, an invoice FullStack application for this I want to use Prisma, next.js, typescript and Nuxt.
Improved my skills with algorithm and code challenges
I'm planning to spend some of the weekend catching up with some awesome data structure and algorithm videos.
Then I want to finally finish HackerRank my progress over the years hasnt been so good 😬 => me. I really want to finish off Problem Solving and Start The HackerRank Interview Preparation Kit. I want to also take some HackerRank Certifications.
JavaScript (Intermediate) Skills Certification Test
Rest API (Intermediate) Skills Certification Test
Finally, I want to finish Master the Coding Interview: Big Tech (FAANG) Interviews
Commit to content creation and blogging more frequent
I'm going to start documenting my learning and release a blog a month. I want to start releasing blogs and eventually commit to a schedule. Releasing blogs at the same time every month. As part of the blogs, I want to make tutorials using my newfound knowledge and turn them into YouTube videos.
Continue to Master my Tech Stack
So the funny thing is when I was offered a role to be a FullStack developer I had to learn a whole new tech stack. I was excited to learn new things as I had used React.js and JavaScript for over 2 years. In six months I have moved to Tailwind, Nuxt and TypeScript on the frontend. Using various new CMS's such as Prismic, Storyblok and WordPress (I had never used one before 🤫). Integrating often with Stripe and firebase. For the backend, there were legacy projects of python and django-rest. Now there is a plan to move to a node-based backend. Hopefully nest.js 😍.
Master is something that rarely happens. I just want to be more proeffiecent with these framework, libraries and languages
In summary
Gain a better understanding of Vue and Nuxt
Improve my TypeScript skills
Become a master in firebase
Master Stripe
Master Prismic
Focus more on AWS. Mostly I've worked with netlify
Thank you for reading 👋
For now, I am just publishing my blogs to dev.to. In the future, I will look to expand to more blogging platforms and will start to host my blogs on my website. If you enjoy my blogs, you might also be interested in my tweets on my Twitter. Please feel free to share a tweet with #monthlyreflection, tag me and tell me about your month.