If you are interested in reading this article in Spanish, check out my blog The Developer's Dungeon
Well, another year is ending. Even though I don't believe in new year resolutions I do believe in setting commitments for myself.
During 2019 I made a lot of mistakes but I did perfect a process that works for me and allows me to focus, learn and improve physically, mentally and in my career. The end of the year is a good time to review what I have done wrong, what was right and which goals I can set myself for 2020. Planning is great, but let's not kid ourselves, it is hard work day by day what will allow us to reach these goals.
This year was especially very clarifying for me in terms of personal development and deliberate practice, if you are interested in the process I am using for planning and improving myself you can check my other article.
So without further ado, these are my goals, related to software development, for 2020 and the actions I am planning to take in order to achieve them.
1. Become relatively comfortable with Functional Programming
- Finish the book Learn you a Haskell for great good
- Create a Snake game like this one but using Haskell
- Read again Mostly adequate guide to functional programming (I still don't get everything)
- Do the Snake game again but using Functional JavaScript
- Read Functional programming for the object oriented programmer
- Read Structure and interpretation of computer programs AGAIN
- Apply functional programming knowledge and constructs to my daily job using JavaScript/TypeScript
- Have one personal project using 1 functional programming language(Elixir, Elm, Clojure, and F# are the possible options for now)
2. Gain a deep understanding of Software Architecture and Computer Science
- Read the full imposter's handbook series
- Read and study Clean Architecture
- Read Domain Driven Design: Tackling complexity in the heart of software
- Read Implementing Domain Driven Design
- Diagram and analyze the projects I am currently working on and see ways to improve them
3. Become a decent frontender, not just a backend guy who does frontend
- Subscribe to Frontend Masters
- Learn about reactive functional programming(Rxjs)
- Finish styling my personal website and blog to get a better grip of CSS and animations
- Dive deeper into the framework used at my workplace, currently Angular.
4. Get a fully remote job
- Apply to jobs on sites like WeWorkRemotely and many others
- Apply to companies I would like to work in that offer 100% remote jobs
- Get better at coding interviews practicing at sites like HackerRank (I am especially bad at this kind of interviews)
- Read Cracking the coding interview
5. Write at least 1 blog post a week
- Plan my time during the week to have a specific schedule for blogging
- Create a list of possible blog post subjects that I would be interested in doing
- Document my progress learning Functional Programming and Software Architecture
- Create tutorials to solidify my knowledge
6. Give at least 1 public talk at a meetup
- Create a list of subjects I would be interested in public speaking
- Prepare the talk and give it in an online format as practice
- Give the talk at my current workplace
- Go to meetups frequently so I can get in touch with organizers
- Go to meetups frequently so I can get to know other members, talk to them and reduce my social anxiety
WOW! Now that I wrote down everything I want to do it looks like too much, right? Well I truly think that if I focus and use the process I have been developing during 2019 I can certainly accomplish all these things and others I have planned for myself but are not related to software.
If you think my goals are interesting and would like to follow then please let me know, we can help each other out during the process. Or if you have different goals for yourself, I invite you to detail them in the comments and tell me what steps are you taking to accomplish them.
If you believe there are steps missing for me to get better results please leave them in the comments, I βd love to learn about it π
Finally, thank you very much for taking the time to read this blog post, I wish you a very happy new year π.
Top comments (15)
I have some shared points with you(2,5), besides I want to create something to open source community although it's repetitive but I'll do it. My plans are:
1: Open Source Community:
2: Learn and refresh my knowledge:
3: Writing and teaching:
Practice my French and start learning German.
Happy New year ππ
Those are great goals, take a look at my article about deliberate learning. It might give you some ideas how to plan that in order to actually do it :).
Also if you need some help with .net core and C# that is my main line of work so just give me a shout on Twitter and I will help you out.
Thanks!!! I followed you.
Best of luck on accomplishing all of this, you can do it!
What were your thoughts on "Structure and Interpretation of Computer Programs" the first pass through? I have it sitting on my bookshelf and I really intend to read it one of these days...
Also, if you do end up subscribing to FrontendMasters, the author of "Mostly Adequate Guide to Functional Programming" has multiple versions of a series on functional programming in JS, and that might supplement the re-reading of the book!
Hey, thank you for that suggestion I will definitely look into it. It is a great book, what I liked the most was first getting to know a little about Lisp dialects(in this case the book uses Scheme), once I understood it, it made me see how beautiful Clojure code is.
Second is that since OOP wasn't big when the book was written it just explains functional programming without compromises, not at as an alternative but rather as a proper way of doing computer software. It feels very natural. Give it a try, it is definitely a good book.
Subscribed to frontend masters and already checking his hardcore functional programming course, thank you for the heads up.
I wrote a similar article, see programming-decoded.com/2019/12/31..., and was curious what other developers plan to study. Your post gave me some ideas of additional things I could study if I find the time.
Glad it helped, I love the content from Christopher, so his series on design patterns is definitely a good one. I am gonna check Khan academy since I am also interested in learning statistics.
This is a very good solid plan, keep it up. I'm also gonna read sicp again -well I didn't finish it last time-. Also gonna read some haskell goodness (wikibook haskell).
Don't forget to contribute with some FLOSS
Whatβs up with βbackend guy who does frontendβ π just curious.
This is how I feel unfortunately ahaha. I have done backend most of my career and although I have done frontend here and there, I do some Angular now at work I still don't feel completely in my game.
Best of luck.
Thank you very much
That's a great list, even if you don't hit all your goals (or end up changing them as the year goes on) I think it's great exercise to help figure out what you want from your career.
Yeah indeed, 2019 I accomplished so much and I think it's because of this practice. Thanks Joe. Btw big fan of your podcast π