Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What is your learning plan for 2020?
72 points by raybb on March 9, 2020 | hide | past | favorite | 36 comments
Some companies encourage employees to come up with a learning plan each year. These usually include what, why, and how for each thing you're interested in learning.

What are you planning on learning in 2020 and what resources do you plan to use to do it?

I'm looking forward to learning: Graphql - a deep(ish) dive Statistics - brushing up with an intro course Devops - will finally read Project Phoenix and see where that takes me




I turned 40 a few months ago so I am going to start fortifying my existing skillset to knock some rust off, make it compatible with the sprint to the public cloud, and just try to be hungrier than any of my younger peers so that I don't start getting painted into a corner before I am able to financially call it quits. I figure if I can beef up 10 more years of legitimate problem solving, I can sorta coast my way out for a meager retirement and shift to rice, beans, and dog walks til entropy gets me.


Assuming you mean Phoenix Project, I highly recommend reading Goldratt's books: The Goal, It's Not Luck, and Critical Chain. They're the inspiration for Phoenix Project and cover a good bit more material. I can't say they're great novels, they're no worse than Phoenix Project with regard to their prose, but they aren't stellar either. But if you really want to see where Theory of Constraints and Critical Chain Management come from, read those and it'll help make parts of Phoenix Project make more sense (at least it did for me).


Oops that was what I meant! Thanks for the recommendations.

Do you know if there are any books that are inspired by (or squeals of a sort) to Phoenix Project?


I am not aware of anything that is a sequel to The Phoenix Project itself. In many ways, it seems to be almost the conclusion of the idea of agile/lean software development borrowing from the classical ideas of ToC, Lean, Toyota Production System, etc.

If you want more readings that are not novels, but cover translating the ideas from manufacturing/production to IT and software development I'd suggest any books by Mary and Tom Poppendieck [0] and to explore their "bookshelf" [1]. The bookshelf is in reverse chronological order, so don't take the order to be an indication of anything positive or negative.

[0] http://www.poppendieck.com/people.htm

[1] http://www.poppendieck.com/reference.htm


Funny you mentioned Mary and Tom Poppendieck as I just saw them for the first recently at the O'Reilly Software Architecture Conf. Are they quite well known in the field or is this just coincidence?


I think they're pretty well-known, but my part of industry likes to pretend that nothing has changed since 1985. So I'm busy reading what I can and dragging us into the modern era. I came across them via references from some other book or site. I don't recall where, now.


There is the Unicorn Project by Gene Kim that was just released earlier this year. I believe it is a sequel to the Phoenix Project.


The author of Phoenix Project released a companion/sequel piece titled 'The Unicorn Project'. Same series of events, but from the PoV of a sr swe / tech lead.

I'd recommended reading through all or half of Pheonix and then moving to Unicorn. I found lots of value in both


For me it's the following:

I want to improve my APL(Dyalog/co-dfns), Rust, and Coq skills to passible levels, i.e. being able to comfortably use them and writing code in an idiomatic style.

I also want to improve my skill with SystemVerilog and VHDL. I'm decent with HDLs but I need a lot of work with regard to my testbench writing, translating specs to a TB, and using the random constraints based testing(similar to property based testing in the SW world).

I'm trying to properly pick up C++ template meta-programming and improve my familiarity with minimal to zero cost abstractions w.r.t FP and HOF.

Outside of programming skills, I want to start learning some project management skills, i.e. feature breakdowns, timeline estimation, and the basics of when/how to pivot.

Finally, I'm trying to learn how to tell when I start falling into one of my biggest issue as a developer and how to curb it: getting stuck on an idea and overlooking better alternatives.

It's a bit to take on but I'm young and don't have too many commitments so I figured it shouldn't be too unachievable.


> getting stuck on an idea and overlooking better alternatives

Care to elaborate on this at all?


For me the issue basically boils down to getting hung up on a certain way of doing something or implementing some feature/subsystem.

An example is reinventing the wheel in a (what is in hind sight) pretty janky way of handling dependency injection because I for whatever reason was hung up on minimising dependencies. It was in C++ and within a month I had realised my mistake but the damage to the code was already done.

I should note that the overall principle of my design/decision I still think has value but it was implemented poorly due to entirely pointless self-imposed constraints.

I've gotten better about this but I still occasionally see myself getting hung up on what are ultimately pointless details and self imposed constraints.

One of the problems for me has been finding where to draw the line on my self imposed constraints since a lot of them help me write better, more maintainable code but when taken to extremes they can occasionally negatively impact my work and cause long-standing technical debt.


I want to grind Leetcode and tackle FAANG interviews. Working at companies like Microsoft and Google looks very fun and the pay obviously goes without saying.


Brushing up on some social skills. Been reading How to Win Friends and Influence People by Dale Carnegie, and The 7 Habits of Highly Effective People by Stephen Covey. I'd be curious if anyone on here has good recommendations for this area.

On the tech side I'm going to try to develop my python skills a little more. Expand my DevOps knowledge in my current professional stack which will mean Azure DevOps. Perhaps sprinkle in some LeetCode. I don't really want to grind it, but I would like to move someone warm like Florida, and it'll probably be a good idea to study a bit.


How to talk to anyone was a good book. Tells you things that you can develop and put some effort on, like reading a bit of topics outside of your interests so you have higher chances of having a good question to ask.

Like say you meet someone that likes cars, if you don’t know anything about it, it’ll be hard to ask something non chitchat, but if you read a few news of motor sports, you might be able to ask something that sparks conversation.

“Cool, yeah I don’t know anything about them hehe”

Vs

“Oh I don’t know much about it but I heard that X class is really competitive, what do you think?”

Or something like that. Applies to anything really.


I am reading the same two books, lol. I have planned for leetcoding and take up a few classic HN recommendations related to data structures and system design.

I wonder how many people start with this exact combo and then it evaporates after a few months.


I recently read The Art of Gathering by Priya Parker. It's a little less individualistic than Carnegie or Covey but does have some really great concrete ideas about how to get people together.

Might be worth at least skimming if you're interested.


> anyone on here has good recommendations for this area

Never Eat Alone by Keith Ferrazzi


Looks good. Added to the list. :D


I'm learning Elixir & Vim this year. I hope to become productive with vim and make it my primary editor by replacing PyCharm, Sublime Text 3 & nano by the end of this year :)

I am also taking notes of all the resources that I'm finding useful and have some plans to utilize my spare time to publish those as a series of blog articles(hopefully). Merely to share my vim & elixir journey on my personal blog[0] :)

[0] https://wasi0013.com/blog/


Last year I learned the basics of Elixir and wrote some toy projects with it. This year I'm starting to delve into the more advanced aspects of Elixir and I'm hoping to get into Elixir web development with Phoenix before the end of the year.

As part of the Elixir learning process, I've been writing a series called Learn With Me: Elixir at https://inquisitivedeveloper.com/, so that other people can learn Elixir along with me.

At first the idea was just to help other people out in learning the language by explaining it from my perspective as I learned it, since there aren't large numbers of Elixir learning resources out there, but I found out that writing about Elixir and explaining it has been enormously useful in helping me learn. It helps me to think about the topic in more detail and I feel motivated to answer questions that pop up in my head while I'm writing, leading me to understand Elixir better.

So for anyone wanting to learn something, I recommend writing about it as well. Attempting to explain it to others has a learning value all on its own.


I'm trying to get more comfortable with ML (I have an okay theoretical understanding of quite a few things, but very little experience writing actual code).

My plan is to expose myself to new concepts or go more in depth on things I already know about (planning to go through a few books I have been meaning to, for example), and then whenever my memory fails me about something I already understood, go back to the best resources on that subject that I have saved from the first time I explored it.

This sort of spaced repetition works wonders for me.

I'll then complete a couple of courses to familiarize myself with syntax of at least one commonly used framework (thinking fastai which uses pytorch, give me suggestions if you got a better one).

I've also started reading the SRE book from Google after developing an appreciation for my coworkers who do that sort of thing.

I also want to study music (guitar specifically) but I don't know if I can find a good resource that includes material to study on a weekly basis for example or if I will have to get a tutor.


I am pursuing certifications in Configuration Management. Completing 8 days of training with CMPIC and taking a certification exam through NDIA.

I build CM tools, so maybe I'll sound a bit more confident. So far, the training courses have reinforced my intuitions about how CM is performed in the enterprise. I'm feeling more able to tackle our engineering inefficiencies.


I'm looking forward to using Golang. I built my personal website using Hugo and was very pleased with the simplistic nature of Goland. I Will also probably work to use more VIM in my daily editing for easier navigation. Also going to be learning website design, because I can build any feature, but I sure dont know how to make it pretty :'D


Careful with vim, you won't be able to go back to a normal editor.


I am currently a trainee, so learning is essentially all I'm doing at my job. Also, I plan to take the CFA Level I exam in December. While my company does not support this, at least I can access the office on weekends where I have Wifi.

If anyone has advice for the CFA exam (or comments on the usefulness of the qualification), I glad for comments!


> or comments on the usefulness of the qualification

What are your goals?

What work do you do now?

Why are you posting about an investment finance exam in a tech board?


> What are your goals? Maximize salary over the next few years.

> What work do you do now? "IT Inhouse Consulting", but basically I'm making myself familiar with the IT department of the firm.

> Why are you posting about an investment finance exam in a tech board? My employer is an asset management firm, which I should have mentioned.


I'm taking a break from work related stuff. I'm focusing internally, build up my willpower, build up spiritually, build up my physical body. It's the year to kill bad habits and start new ones. Maybe dive into philosophy, psychology, economics, literature (i.e. cramming TV Tropes). Anything non-work.


My main aim is to get to grips with Reinforcement Learning. I'm using

* Stanford's CS234 class which is on youtube and has assignments at the course page [1]

* Textbook freely available from Sutton and Barto [2]

I'm hoping to use it in a project with Lean [3] to make an AI that proves theorems.

I'm intending to move to emacs (well, spacemacs) for all my non-Java text editing so I'm also investing time in that.

[1] http://web.stanford.edu/class/cs234/

[2] http://incompleteideas.net/book/RLbook2018.pdf

[3] https://leanprover.github.io/


This year I want to focus on transitioning to being a remote developer. Due to the corona virus I have been given the opportunity to be remote but I am finding I might as well be remote because my commute is long and most of the details I need would be better handled by email/text.


I'm quite interested in Kotlin and the Kotlin Multiplatform / Native project, I would like to try building a cross platfrom mobile app with it using Jetpack Compose and SwiftUI when it all matures a bit. I've also been watching the Rust hype train for the last two years and wondering when to jump on. I'd also like to finally finish SICP which I never get around to doing and finish a few side projects.


Core CS:

* DSA - Princeton Algorithms, CS61B UCB

* Computer Systems - CSAPP, CS61C UCB

Tools/Frameworks:

* Intermediate Apache Airflow

* Elasticsearch

* Django

* AWS


I'm wanting to learn Graphql as well. Specifically I want to learn a good JAM stack to match with Hasura. I'd like to learn a more functional way to build web apps with a database first approach to the architecture.


Mostly continuing certifications in InfoSec. Got OSCP recently, will be getting GWAPT in a few months. Looking to earn OSWE before the end of the year.


I am interested learn machine learning or AI course because both are top trending concepts in 2020.


1. learn .net core

2. doing youtube

3. push MVP into production




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: