Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Not really relevant to the article, but I've been worrying a while about being 'too general'.

I'm 6 months into my first full time job, but did work with the same company for the equivalent of 6 months while I was still at uni. During this time, I've done backend development under 4 different platforms, fixed database issues, designed UIs (thanks bootstrap!), solved some basic server issues.

I enjoy my work and I'm learning a lot of new things every single day, but am I spreading myself out too thin? I don't feel like I know any one thing very well. Will I get to a point where I have 4 years of experience, but I won't be able to get any jobs because I'd only have 1 year worth of Rails, 1 year of Django, 1 year of Java and another year of Javascript?



It's good to start with a generic base. Couple of years down the line, you will find out that there are skills you are particularly good at. At that point of time, you would be making an informed choice of what specialization you should take up. It's better than a picking up say, "Front-end Engineering", sticking with it for 5 years and being average at. Who know's you might have a natural flair for writing system applications? >Spreading myself out too thin? You feel that way now because you have still not understood the work of "Masters" and how they do it. It's like someone who has only seen fireflies while never having seen the sun.


That's a great way to look at it, thanks!

In fact, this has already happened. I have a combined Commerce and Science degree and always thought I was going to be an Actuary. Sort of stumbled into this career and have been loving it since.


> You feel that way now because you have still not understood the work of "Masters" and how they do it. It's like someone who has only seen fireflies while never having seen the sun.

I'm confused by this - how do "Masters" do it?


The assumption that a little more focus on one particular thing will make one a specialist. To become a specialist or a master you not only need undivided attention but a natural flair for it. You can practice music all your life and still not compose like Mozart or Bach.Or even someone like Jiro Ono(http://www.thedailybeast.com/articles/2012/03/11/jiro-ono-co...). Most of us will never become Masters, being no more than experienced hacks. That doesn't mean one shouldn't target for it. "Stretching oneself too thin" is a common refrain among technologists implying that if they rather focus on one skill, they are bound to become Masters. In my opinion it's as much about serendipity as it's about perseverance.


"Master" is a bit of a baroque moniker. Can we agree that a "master" ought to be much further along than a "specialist?" i.e. the Java master should understand byte code and personally know folks of the original Sun Java team?

Otherwise it just sounds like I can become a Javascript Master in a few months.


I prefer the phrase "experienced in x". In my opinion specialist and master should have the same weight. Calling someone "specialist" can be a misnomer for a master if the scale for measurement is not agreed upon.


It's important to remember that we don't really know what languages/framework etc will still be used in the future - if you specialise in something you run the risk of that technology becoming obsolete or just being ignored.


Don't worry about it.

I've worked in IT for 13 years, programming in everything from Java EE to Perl and Python. I've configured Apache HTTP servers and Glassfish servers, worked with databases such as MySQL, PostgreSQL, MS SQL and DB2. Emacs, Eclipse, IntelliJ IDEA, it doesn't matter. Whatever technology that gets the job done is important. I've even been a manager for a 10 - 13 person team for a short while, but went back to being a developer.

All in all I feel that working with varied technologies has made me better.


If you work at a large corporation, this is called rotation. Larger companies like to rotate their fresh-out-of-university employees through different roles so that they have a chance to discover what they really like to work on.

Usually this is explained to you upon hire and it is generally expected that after the rotation period (anywhere from 6 months to 2 years), you will choose a path.


Hasn't the 1 year in Java made you a better Javascript programmer? I assume you haven't just been learning language syntax, but have been developing patterns that are deployable across languages. Of course, you would have been a better Java programmer if you'd spent 4 years with Java, but don't underestimate the value of the generalist approach you've taken.


It definitely has; I think programming in any language makes me a better programmer in any other language.

However, my concern is applying for jobs relevant to my level of software engineering experience, but requiring X amount of experience in Y. In a situation where I believe my ability is equivalent in Y, is the solution to exaggerate a little on my time spent on Y? Maybe it's not even a big deal in the first place :D


I've worried about that every day for the past few years.

But then I consider the alternatives — either designing flats in Photoshop/Sketch, or coding someone else's work?

I might be spreading myself thin but I'm enjoying it and delivering the most value I can be.




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

Search: