dwyl/book

Which technologies to learn first?

Opened this issue · 2 comments

Cleop commented

I'm interested in learning more about the following technologies and I was wondering which to start on:

I might start by reading our existing repo:

@iteles @nelsonic - I don't know if you have any suggestions.

@Cleop thank you for opening this issue to capture your learning list.

  • FoxPro is a legacy database system you may need to integrate with, but you should ask the DBA for help whenever that need arises. https://en.wikipedia.org/wiki/FoxPro
  • C# ... is a beast of a language https://en.wikipedia.org/wiki/C_Sharp_(programming_language)
    it's multiparadigm and in our experience people use all of the paradigms in the same codebase ...
    image
    My advice for learning C# is: order the highest rated book on Amazon and work your way through it in your spare time (e.g: while commuting).
  • React ... you have a massive head-start on learning React because of your experience with Elm.
    If you need to learn React, consider @bobziroll tutorial: https://scrimba.com/g/glearnreact
    as recommended by @perborgen ❤️
  • Angular ... I would strongly advise you to not learn until you know the version you are targeting because the breaking changes have been significant from v.1 to v.7 (i.e. don't waste your time learning the version that you aren't going to use... focus on the one being used by the app you need to extend/maintain and if you get a chance to build a new feature use something else e.g: Elm!)
  • SCSS - I believe you have used SASS in the past (before Tachyons) so you should be able to brush up on it fairly quickly ... https://en.wikipedia.org/wiki/Sass_(stylesheet_language) if not, again pick the appropriate version to focus on.
  • NoSQL databases ... This is a whole other adventure for you to look forward to. Again, if someone is advising you to learn a list of these rather than something specific, you should ask them for clarification on which of them to focus on. RethinkDB is very different from CouchBase. Is the project you are working on using both? if so, are they planning on consolidating on one of them?
  • RabbitMQ is learnable in an afternoon (sans distractions) rabbitmq.com/getstarted.html
  • (Microsoft) SQL Server is similar to PostgreSQL in that they both attempt to conform to the SQL standard. Your best bet here is to brush up on your SQL skills by pairing with a DBA on a specific task. The biggest issue people have with Databases is not the initial technical knowledge, it's understanding the schema of the data they are trying to query to know what tables/columns/joins are available.
  • Rancher https://rancher.com/ is a Kubernetes Management tool. We have not had time to "officially" dive into Kubernetes @dwyl because there is already too much to learn ... 🙄
    But if you feel that way inclined toward the end of this month, please create a learn-kubernetes repo and dedicate a day of your time to it. (I would strongly advise you leave this for last as you have done in the list above, as DevOps should not be your focus as a "full stack developer" ... you are way better off focussing on the front-end and using Heroku to showcase your work!)

I think your next action on this list should be to Learn Docker and specifically to contribute to dwyl/learn-docker#15 with a "beginners mind" perspective.

However, I would very much appreciate if you could focus on dwyl/learn-wireframing#1 specifically within the context of "Auth" for CS.
We need to capture the full auth workflow for CS and that requires comprehensive wireframing.:

  • registration
  • email confirmation
  • password set/reset
  • login
  • logout
  • "delete my data" (GDPR Compliance)

We need to get the "Auth" work finished ASAP, so it would be amazing if you could use the CS project as an opportunity to dedicate time to the learn-wireframing tutorial with a real-world example.

Wireframing is not included in your list above, but trust me, it should be at the the top.
You already have great skills in the area, you just need to capture and extend them
in a systematic way that you can share with others. This is a highly transferable skill
that you should cultivate and be the "go to person" for ... That would be a good use of the iPad Pro 😉

Hope that answers your question. ✨ (LMK if not!)