Ask HN: What is your learning plan for 2020?
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
39 comments
[ 4.0 ms ] story [ 95.9 ms ] threadIf anyone has advice for the CFA exam (or comments on the usefulness of the qualification), I glad for comments!
What are your goals?
What work do you do now?
Why are you posting about an investment finance exam in a tech board?
> 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 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.
Care to elaborate on this at all?
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 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 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/
Do you know if there are any books that are inspired by (or squeals of a sort) to Phoenix Project?
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
I'd recommended reading through all or half of Pheonix and then moving to Unicorn. I found lots of value in both
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.
Never Eat Alone by Keith Ferrazzi
I wonder how many people start with this exact combo and then it evaporates after a few months.
Might be worth at least skimming if you're interested.
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.
* DSA - Princeton Algorithms, CS61B UCB
* Computer Systems - CSAPP, CS61C UCB
Tools/Frameworks:
* Intermediate Apache Airflow
* Elasticsearch
* Django
* AWS
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.
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.
* 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/
2. doing youtube
3. push MVP into production