DEV Community

Cover image for My plan to become a better developer in 2019.
Carlo Teran
Carlo Teran

Posted on

My plan to become a better developer in 2019.

I know what you might be thinking: "It is almost February and the cliché New Year's resolution posts are still rolling on my timeline (now on dev.to)." And I do not blame you! But even that I do not normally take part of the New Year's resolution fever (normally I end up frustrated for not keeping them afterwards) this year I felt that I needed one, that I needed to formulate a good plan if I wanted to see tangible results by the end of the year.

The reason

Looking back at 2018, it was a year in which I established myself at my current (first) job as a Web Developer for a small IT consultancy company in Los Angeles, I got familiar with a lot of new web technologies and 'best practices', and I was part of the top Grow with Google applicants awarded with a full scholarship to the Mobile Web Specialist Nanodegree by Udacity.

Even that it does not sound like a bad year, the lack of tangible results made me feel defeated. I still did not have a decent portfolio, I did not finish most of the online courses that I started, I was not contributing to open source projects, I did not know much about TDD, I was not writing enough blog posts, etc...

Am I the only one who feels this way? How do the other amazing developers do it? How many years of my life do I need to spend my weekends coding to be a good developer?

I knew I had to do things differently, but how?

Then, I did some research...

First, I found that I was not the only one who felt that way. Erik Trautman explained on this post the multiple phases and difficulties of learning how to code. I realized that I am currently on the phase that he calls The Desert of Despair:

When you progress into the third phase, the scope of knowledge balloons wider. You now need to understand what tools to use, what languages to learn, underlying CS fundamentals, how to write modular code, object-orientation, good style, and how to ask for help (to name just a few). Every trip to Google or Hacker News takes you down another set of rabbit holes and overwhelms you with more things you don't know but feel like you should...

Even if you're able to get some apps running, it's hard not to feel lost in the greater scheme of becoming a true professional. It's difficult to measure your progress. How do you know what you need to learn or if you're even learning the right things?

Also, Quincy Larson described perfectly my situation on his tale of learning to code:

But as an individual, with so many options out there, it’s really hard to decide what to learn. I know because I was that dog circling around an intersection, chasing one car after another. A good programmer’s skill set can be described as T-shaped, with shallow knowledge in many areas, but deep knowledge in at least one. But after months of stress and hard work, I was shaped more like an underscore.

Second, I found that there was a way out. Luckily, Erik Trautman and Quincy Larson not only described my situation perfectly, but also suggested a way out. This is what they suggested:

  1. Have a goal. I realized that I was trying to learn too many things at once. I needed to write down my goal and learn to say 'no' to those interesting things that can be unproductive and distracting.

  2. Find a path (write a plan). I needed to write a plan that will lead me to achieve my goal. This way I can decide which curriculum to follow and stick to it.

  3. Focus. I believe that this post will help me to keep my sanity and stick to this plan even when it gets difficult. I need to constantly trust my judgment and remember why I am writing this today. By sharing this to you I am publicly committing to follow this plan and write the results of it at the end of the year.

The goal

Going back to the T-Shaped type of programmer. I would like to have a good understanding on general Web Development concepts and technologies, but I would like to have a deeper knowledge on Ruby on Rails.

I have multiple reasons for choosing Ruby on Rails, but in order to keep it short, I just need to say that working with Ruby and RoR made me realize that I wanted to write code for a living (even after completing a CS degree). For more reasons of what makes Ruby on Rails so much fun to work with you can look at the Rails Doctrine by DHH.

In conclusion, my goal is to become a better Ruby on Rails developer and eventually land a Rails job (remote, side-project, or agency work).

The plan

I decided to divide the plan into quarters. That way it will help me to stay focus on what I need to learn and have a good visual of the projects that I want to finish.

1) I will start with some Web Development concepts, mostly the ones that I left inconclusive from last year. 2) and 3) I will start working on Ruby on Rails using Upcase by Thoughtbot and their apprenticeship program as a guidance. 4) I will get some familiarity with Vue.js and put it all together on a final project.

Q1 - Web Development

Objectives

  • Improve Design skills
  • Prototype monthly projects with Figma
  • Improve GIT workflow
  • CSS Grids and Flexbox
  • SCSS
  • Webpack Fundamentals
  • Improve problem solving skills with Ruby
  • Review Data Structures concepts.
  • BEM - Block Element Modifier
  • 7-1 Pattern
  • Write at least one post per month.

Resources

Projects

  • Finish Personal Website (Portfolio). Lighthouse scores 90+
  • Build 2 websites for a friend, business, non-profit. Lighthouse scores 90+

Weekly Commitments

  • Practice at least 4 Codewars Katas
  • Study Resources related to project from 30 min to 1 hr a day.
  • Work on Projects for 5 - 10 hr per week.

Q2 - Ruby on Rails (part 1)

Objectives

  • Deeper understanding of Ruby
  • Understanding Fundamentals of TDD
  • RSpec
  • Build features like: Uploads to S3, Auth0, email transactions.
  • Deployment with Heroku.
  • Deployment with Capistrano.
  • Go to at least one Ruby LA meeting.
  • Go to RailsConf
  • Write at least one post per month.

Resources

Projects

Weekly Commitments

  • Practice at least 4 Codewars Katas
  • Study Resources related to project from 30 min to 1 hr a day.
  • Work on Project for 5 - 10 hr per week.

Q3 - Ruby on Rails (part 2)

Objectives

  • Build features like: User Identification with SMS, real-time messaging, payments with Stripe, searching.
  • Clean Code and Refactor
  • Write at least one post per month.

Resources

Projects

Weekly Commitments

  • Practice at least 4 Codewars Katas
  • Study Resources related to project from 30 min to 1 hr a day.
  • Work on Project for 5 - 10 hr per week.

Q4 - Vue.js and Final Project.

Objectives

  • Review and improve JavaScript skills.
  • Have a good understanding of Vue.js
  • Use Vue.js on Rails project.
  • Contribute to Open Source project.
  • Write at least one post per month.

Resources

Projects

  • 30 Days of Vue
  • Create Application with Rails API Back-End and Vue.js Front-End.

Weekly Commitments

  • Practice at least 4 Codewars Katas
  • Study Resources related to project from 30 min to 1 hr a day.
  • Work on Project for 5 - 10 hr per week.

Conclusion

As I mentioned before, by sharing this with you I am publicly committing to follow this plan and write the results of it at the end of the year.

This guide is not definitive and I want to learn from you, so please let me know if you have any suggestions or advice.

Thank you and wish me luck!

Latest comments (55)

Collapse
 
crazyrobert profile image
Crazy Robert

Your work is truly appreciated brother, thanks for suh a detailed post. In fact, the guidelines are suitable still in 2022. I have recently developed Cinema HD , which is one of the finest movie apps for android devices today.

Collapse
 
back_shout profile image
ShoutMeBack

I have deep interest in Web Development. In the past times, I have studied and build various projects with Tech stacks like MERN, PHP, Ajax, jQuery, Bootstrap, Material-UI. I have recently also started to learn about SEO since it is necessary for us to know about it if we are building an application or website. You can check it out at - fhwa.dot.gov/reauthorization/reaue...

 
austinjohnson1 profile image
AustinJohnson1

Hi, Earning money becomes really tough these days, and lots of people play casinos now a day. But they are confused about which site they choose there are lots of sites present on google in which you can play casino games. But lots of them are frauds. But don't worry visit online gambling security where you get to know everything about gambling security.

 
dechamp profile image
Petry DeChamp Richardson

sure, whats the issue you're having.

Collapse
 
jangdong1 profile image
jangdong1

Really I love it ❤❤. slope unblocked

Collapse
 
free_ai_tools profile image
Free AI Tools

Thank you

Free AI Tools

Collapse
 
free_ai_tools profile image
Free AI Tools
Thread Thread
 
free_ai_tools profile image
Free AI Tools
Collapse
 
jackchadwick profile image
Jack chadwick

Thanks for sharing great information. I always love to read and spread this kind of information that is unique and really informative. This was the first time I ordered from Dissertation Help UK. My order went smoothly with the help of the support team, They were as good as they said. The written material came well before the timeline, And it was flawless.

Collapse
 
ginaddavis profile image
GinaDDavis

Thanks for sharing these amazing post with us. By the way, Do you guys know about any site where I can get a online casino $5 minimum deposit and while reading about it on loopx.io/online-casinos/minimum-de..., I mistakenly click on your post link, in which you share how you make a better plan to become better developer.

Collapse
 
ianrmaher profile image
IanRMaher

Nice article, thanks for sharing this with us. By the way, if you need any help regarding business plan then you can talk to our business plan writers on ogscapital website who will help you in standing your own business like developing company.

Collapse
 
ankitsharma3214 profile image
ankitsharma3214

Nice post. Thanks for your ideas. Students can get information from this post. Here you can check Semrush Free Trial which will help you to spy on your competitors

Some comments may only be visible to logged-in visitors. Sign in to view all comments.