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

My perspective is that I probably won't be an expert in a single field (though there's still time). I spent enough time with Java to be fairly proficient with it. Other than that, I call myself full stack developer and that means that I touched a lot of areas in IT. I'm good Linux user, I can administer Linux servers, I can tinker with OpenBSD, I know quite a lot of languages, I think that I touched every popular language and I'm pretty fluent at JS and C. I'm good enough with databases, I'm know few things about hardware. This year I learned how to provision a k8s cluster and install some things there. This year I tried to get hold on microelectronics and microcontrollers but somewhat failed because of lack of time, though I'll get there eventually.

I'm absolutely not an expert in any of those fields and I'm not going to be. But my knowledge is enough to get things running and to tinker with it until it works if necessary.

I like it this way because I just get bored pretty quickly working on a single thing. Doing different things prevent be from burning out and keeps IT fun. And I think that this kind of guy is very helpful for small companies which can't hire experts for every thing. You can temporarily hire contractors but in my experience that often leads to subpar solutions as they want to get money and run away, doing as little work as possible instead of building solid foundation and writing lots of docs.

So how do I decide which things to work on? Well, whatever I need and whatever makes me want to stay at work. Many things.



I'm like that too. I don't think I could actually become a 'real' expert at something that tiny. Way too boring.

I think of myself as an expert at software development. I have broad knowledge I can apply towards lots of 'problems'. I have a past of Linux and network administration which has always helped with bridging the gap of talking to and building for our actual admins and nowadays interfacing with SREs and knowing enough about k8s, I know how to read and diagnose error messages from tools and libraries and stacks I have never seen or built stuff in etc. I can write software in many a language you throw at me though I have ones I use regularly and actually know stuff about. I won't jump on building you a highly optimized trading platform using only Java primitive types as an 'expert' in that might because I'd find that very tedious and boring. Reading about it is very fun though!

Becoming an expert at just one thing in software to me sounds like being a carpenter and all you do every single day is to build walls. Nothing else (i.e. be a framer) or doing dry wall. Sure I'd probably get super fast and efficient at it. But it's gonna be boring as hell. I'd rather learn how to do many if not most of the jobs needed to build a wall, finish a basement, build a shed and roof it etc.

I guess what I am trying to say is that I scratch my itch by just doing the bits of everything I find interesting to some degree. Some I go into more deeply because they are interesting to me for a longer period of time. Others get boring fast and it's fine not to become an 'expert' in. Breadth first search for interesting stuff. If I did depth first I'd only get like 3 things into my lifetime and never know what I might have missed somewhere else.




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

Search: