Earlier quoted context omitted.
You don't get as many job offers by becoming an expert in one area though.... How many job offers do you see looking for a smart Perl programmer. How many do you see listing 10+ technologies, plus experience in scrum? (Does doing a stand up every day make you better at it? )
Those job postings are designed to weed out Americans and hire Indians. Real postings are more reasonable.
Ask HN: I am busy with too many things at once
81–90 of 123 posts
Re: Ask HN: I am busy with too many things at once
#82This needs to change. What's helped me a lot in recent years is to focus on finishing projects. I don't even care what the project is as long as I finish it before starting a new one. That is my desire now.
Re: Ask HN: I am busy with too many things at once
#83As some noted, the fact that you realized what drives your desire is very impressive. It takes a certain skill to understand those things! As someone who's been at it for years, I'll just give you one little piece of advice. If you've already been through the fundamentals, you've done enough. Now, instead of focusing on learning technology, focus on building things, this is what real engineers do. Let me explain. You…
What specifically do you refer at when you say "fundamentals"?
More generally, by fundamentals I mean a pack of things including CS101, basic understanding of C (K&R), data structures and algorithms (those available in coursera courses are enough to get the basics), good use of source control systems, and project architecture basics.
Re: Ask HN: I am busy with too many things at once
#84I experience the same anxiety - I have a divergent way of thinking about things and tend to get interested in lots of different things at once rather than one thing in depth. Sometimes its good - I can think of different approaches to problems, for example. It seems like it makes it difficult to learn new skills to the point where they would be useful/worth anything to prospective employers, however.
My current strategy to address this is pretty simple: choose one thing at a time. To echo uniclaude's comment as well, it helps to build things - don't read about 10 different ways to do linear regression, choose one and try to make it work. I would also add that its fun to work with other people, and it can help you stay focussed. Obviously there are a million ways to contact people who you can work with on the internet, but I have been using meetup.com to find groups of people who share my interests. going to hacks, workshops, presentations and even having general discussions with people around one topic can make the learning process more engaging and you get the added benefit of being able to draw on other people's expertise and experience.
good luck!
Re: Ask HN: I am busy with too many things at once
#85Earlier quoted context omitted.
In my case it came in two steps: 1. Learn GoF design patterns. Be amazed by the cleverness. 2. While learning others languages, discover that other approaches remove the need for GoF design patterns at all. Example: Visitor isn't needed in a language with double dispatch (like Lisp). Chain-of-Responsibility is just foldl. Factory for dependency injection is just a closure or a partial function. And so on.
Yes, that's what I was playing at. Other languages have things similar to design patterns, too. If you are in luck, a language gives you first class support for abstracting new patterns. (Eg in assembly a procedure is just a pattern and convention, most modern languages help you by providing procedures. Same languages are very good at being extended. Lisp is a good example, and so is Haskell. Even Python is great in…
foo() { service = someRemoteService(authn, authz); http://lookingglass.internal.adm.bol.com/?page=TAM+Middlewar... }
is replaced by
foo(service) { do_something_with_service(service) }
It makes replacing service with fake_service_object easier, thus simplifying the test process.
Common use case: If your service was a remote database, you can replace the database handle with a mock object which pretends to be a DB but is actually a simple object returning hardcoded values.
Re: Ask HN: I am busy with too many things at once
#86I balance these based on the things I would like to do in the future. I become and learn what I would like be and try to find a job where I can use those new skills.
Re: Ask HN: I am busy with too many things at once
#87I can relate, except that I still stuck. 1 - What has helped me is to categorize my insterests. Sure, they're connected in my brain and it's not like x is disconnected with y, we can always find a connection.. but I needed to separate them into categories to be able to manage them more easily because I don't need to tell you the state of the brain if you dump all of them in the one and only category most of us have w…
Re: Ask HN: I am busy with too many things at once
#88As some noted, the fact that you realized what drives your desire is very impressive. It takes a certain skill to understand those things! As someone who's been at it for years, I'll just give you one little piece of advice. If you've already been through the fundamentals, you've done enough. Now, instead of focusing on learning technology, focus on building things, this is what real engineers do. Let me explain. You…
+100. I did exactly this. After working for 12 years, took a break, learnt 3D game programming and actually shipped a playable 3D sport simulation game on iOS. Enjoyed graphics programming a ton. Also prototyped the game in Common Lisp before porting it to iOS.
End result: I now work as a scientific software developer specializing in 3D visualization all thanks to the graphics knowledge gained in the process of shipping the game.
So I would say once you have covered enough fundamentals, you must ship something you think is hard but just harder and not completely beyond you.
For me the fundamentals are: 1. Multiple programming paradigms 2. Algorithms 3. Data Structures 4. Digital Electronics 5. OS 6. Networking and 7. Math for CS. This will take a lot of time. I invested a lot in 1 - 4, skimmed 5,6,7; shipped a game and things unfolded.