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!

Top comments (52)

Collapse
 
dechamp profile image
DeChamp

This is seriously such a great post. Thank you. I literally just wrote a post about how I have 25 years of coding and feel like I'm just starting. It's great that you posted out a plan. I'm going to be ready over this many more times and taking notes! Thank you.

Collapse
 
carloteran19 profile image
Carlo Teran

Thank you very much for your words! I will check out your post for sure! Best of luck with your goals!

Collapse
 
dechamp profile image
DeChamp

Thank you, I appreciate it!

Collapse
 
anduser96 profile image
Andrei Gatej

Great article! I’ve enjoyed it even more because I can relate to it. I have also tried this approach, to organize my tasks, goals etc.. but it didn’t work as espected.

As a very curious person, whenever I try to study a topic, I run into different other concepts that sometimes are not essential to fulfilling my goal, but they are still related concepts that I personally can’t skip without making sure that I grasp the idea of how they work.

And because of that, time passes even faster. And then I find out that I have completed only a few “todos” out of how many I was supposed to complete.

My solution to this is to set a few larger, long-term goals(like watching a comprehensive tutorial which could represent a starting point for a project) and to have some small todos that you can solve when you know the time won’t allow you to work on a project.(coding katas, articles, small tutorials).

Good luck! I hope you’ll fulfill your goals!

Collapse
 
carloteran19 profile image
Carlo Teran

Thank you so much for sharing your experience. I will definitely keep in mind what you said, and have some small todos related to my long-term goal, for those moments when time will not allow me to work on the project. Thanks again, and best of luck!

Collapse
 
ianrmaher profile image
IanRMaher

I must say your plans are really amazing. I always remember these things you said in your post. But for now, My niece asked me to help her with her essay work. But I am busy with my exam preparation. So I am thinking about suggesting her best essay writing help, I am searching for it on google. And I hope I will find the best one soon.

Collapse
 
frcharry profile image
Fabio Ricardo Charry

Hi Carlo, it was a bless to know that others feels the same way. Despite of I don't have Yet my first web developer job Yet, I consider myself as a web developer, and keep on the path to make it real. Greetings from Bogotá.

Collapse
 
carloteran19 profile image
Carlo Teran

Hi Fabio! I am glad it was helpful, remember we are all on the same boat. Keep working hard, you got this! Btw... I really like Colombia and met some amazing developers there, best of luck.

Collapse
 
carolccoutu profile image
CarolCCoutu

Well, that s really great thing that you met amazing developers there, I am also visiting Colombia end of this month, Hope I also meet amazing developers there. By the way, Do you know where I can get the best online casino games software? I need it urgently. Hope I will find it soon.

Collapse
 
pabiforbes profile image
Pabi Moloi, but Forbes

Hey Carlo, glad I am not the only one feeling that way, I have two amazing project ideas that could really help me progress with my career, but finding the time and motivation to do it all is a problem. Between my full time job, exercising, writing blog posts, and completing online courses and side projects, it all seems impossible.
But let me attempt to follow a plan. Thank you for the awesome post.

Collapse
 
carloteran19 profile image
Carlo Teran

Hello Pabi, thank you for your words. I am glad this might be helpful. Best of luck with your projects, keep us in the loop!

Collapse
 
silverman42 profile image
Sylvester Nkeze • Edited

Big thanks, Carlo, for these wonderful piece. When i started leaning Javascript ES6 functionalities through the same Udacity Nanodegree Program, a strong yearning for a deeper understanding in JS grew in me (coming from a guy who saw nothing else other than PHP). Now i just want to keep exploring more grounds in javascript and this year i will be starting with Typescript

Collapse
 
carloteran19 profile image
Carlo Teran

I'm glad this is helpful! Typescript sounds like a good way to go. Keep us in the loop to see the things you create with JS. Best of luck!

Collapse
 
rjpsyco009 profile image
Ryan Norton

Thanks for Linking me to this post. You make some great points and so much of it was me relating directly to your situation. There's so much to learn, and you've inspired me to really expand my commitment to make a plan, write it out and share it. I really think that's going to help. Best of luck to you, Carlo!

Collapse
 
carloteran19 profile image
Carlo Teran

I am glad you found it helpful! Can't wait to see your plan! Best of luck!

Collapse
 
diabysoryib profile image
I'm Sory

Thank you thank you thank you, I had exactly the same feeling a few months ago and your article was a lot inspired sincerely I also plan to do a program and learn better thank you again and good luck to us. Be Strong

Collapse
 
carloteran19 profile image
Carlo Teran

Thank you for your words! Good luck on your plan, we got this!

Collapse
 
ianrmaher profile image
IanRMaher

Yeah, I agreed with you.

Thread Thread
 
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
 
suganoo profile image
suganoo

I am inspired of your article. I understand it is very difficult to keep own goal. but it makes you fruitsful results at end of this year.
To be a honest I gave up Ruby on Rails haha...and so keep studying Golang now. I hope you completing your plans.

Collapse
 
carloteran19 profile image
Carlo Teran

Thank you! I heard a lot about Golang haha best of luck with your goals as well!

Collapse
 
kathysratcliff profile image
KathySRatcliff

Hi, My sister is a very amazing writer, But she meets with an accident a few days and she gets a facture in her hand. So she asks me to complete her essay work. But I am busy with my exam preparation so I am looking for an essay writer service for it. Hope I will find it soon.

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
 
henryjones147 profile image
henryjones147

Perfect plan man.. Executive it soon. We guys are with you. If you face any problem in anything related to scripting, you can directly come to me for help.
Thanks for sharing this.


Dissertation help

Collapse
 
sahadat49 profile image
Sahadat Husain

Hi Carlo Teran,
This is really such a great post. Thank you. I am deeply attracted by your post. It is really a nice and informative one. Surely I will recommend it to my friends. I am also a tech lover and sometimes write tech-related articles on my website nextprotips.com and top10bests.com .you are invited to see my blog article. Thank you

Collapse
 
jacobor83661854 profile image
Jacob Oram

Thanks for sharing this nice and informative post. We should read this kind of posts and forward our knowledge to our new generation. theacademicpapers.co.uk/dissertati...

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
 
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...

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.

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