6 ms·
This might be a problematic question, but how do you know there are 5 skills specifically and how do they relate to the 90 day deadline? I hate to sound like a
by ACow_Adonis 13y ago
This might be a problematic question, but how do you know there are 5 skills specifically and how do they relate to the 90 day deadline?
I hate to sound like a programmer here, but having a project really helps out. If you can throw yourself in the deep end, then you learn by necessity, and each problem that comes up as you're going will hopefully tell you which part to focus on next, because that's your immediate issue. You'll also learn the parts you need, because the parts you need are the ones that come up with most frequency in your real world problem.
If its an artificial constraint or situation (and 5 skills in 90 days all decoupled from one another sounds like one, by which i mean a test or an interview), then perhaps its time to think about some strategy. If you can pick up the skills in several days each, they can't be that hard. If you know you're not going to be able to do it, perhaps its time to prioritize. Weight them relative to importance and focus on them each in proportion. Sometimes when you've got 5 tasks, you can get by passing on 3 or 4 and accepting absolute failure on the last one by skimming or ignoring it completely. This depends on your situation.
Personally, I find i can't learn anything unless I focus on a topic for a long period of time, then coming back and repeating it in shorter increments. Sort of informally imitating spaced repetition: See https://en.wikipedia.org/wiki/Spaced_repetition https://en.wikipedia.org/wiki/Spaced_repetition
Personally though, it sounds like you're screwed. 5 topics with no cognitive overlap is a nightmare. Your task is likely going to be to come up with a strategy to make you proportionally less screwed rather than succeed at all 5.
But you are screwed :P
- franl 13y agoWell, I don't know for sure, but they're the five things that seem most important to me when it comes to landing a quality gig. Please correct me if I'm wrong :) They are TDD, OO-design, increase Rails mastery, refresh myself on algorithm basics (sorts, processing data efficiently, etc), and learn the basics of a JS MVC framework (leaning toward Angular). I'm not starting from zero in any of them. Also, I did a poor job of providing context/perspective, so I'll quickly add some: My dev skills are at a point where I could get a junior Rails gig somewhere. I want to get them to the point where I can get a junior/mid Rails gig (almost) anywhere. The 90 days was just an arbitrary time constraint that I felt was short enough to give me some urgency, but long enough to make significant progress. Totally agreed on the "having a project" points you make, and on learning by necessity. Both are a part of my plan. I love learning about programming in general, but yesterday I found myself reading a Ruby book that was talking about making external DSLs and I had to stop myself: "This is really cool, but WTF does this matter to me right now?? Go read about TDD instead." EDIT/ADD: Thanks for the reminder about spaced repetition btw.
- ACow_Adonis 13y agoI'd love to be able to give you some more specific pointers, but alas I'm more on the scientific/numeric/stats/data side of computing. I wouldn't know where to begin with the web stuff :( You should probably look to others for specifics in your case. But what little advice i can give is try to turn it all into a project. Do a quick read up on all the topics, then combine them into something tangible and of worth to you. Since I'm not a web guy, i'm probably talking half out of my arse here, so feel free to dismiss. Think up a rails project, and try implementing the whole thing via a TDD pattern. Test, produce a really basic first shot, re-factor, repeat, etc. And what better place to learn about or implement some algorithm basics than while profiling/refactoring code to make the whole thing as fast as possible?! I learnt almost nothing from algorithm books or lectures, what really made it all sink in was when I had problems that ran slowly, and I had to make them better. Then suddenly the topic was relevant and I understood. And of course, once you optimize everything, you tend to quickly run into the hard lessons of good design, because nothing makes things fall apart and get complex quickly more than optimizing everything, except maybe trying to optimize everything with bad design. Will you screw up? Sure! You'll be bitter and twisted, but the scars will be of experience. That's what makes you learn. The screw ups are what you remember, and when you hit a problem of your own making, suddenly you respect the solutions presented in the text-book a lot more, even if you don't agree with them or feel they're complex or constraining. /editorial.
- franl 13y agoAhhh, man, awesome stuff. I totally relate to what you said about not learning from books, but learning from when you actually experienced some of the problems that were outlined in the books. I went through similar learnings with running my own business. I had read a bunch of stuff about entrepreneurship, etc., but it wasn't until I screwed up for myself that the lessons really crystallized (and really internalized for me). Web programmer or not, your advice was very helpful, so thanks again :)
- sehr 13y agoAngular is a pretty big beast in an of itself, have you considered something a bit slimmer? Ala backbone, knockout.js? And learning about DSL's will come in handy, considering Rspec and the like use them!