DEV Community

Cover image for Is it good or bad to be all over the place with dev technologies?

Is it good or bad to be all over the place with dev technologies?

Leonardo Teteo on December 24, 2018

2018 has been a wild year for me, it was the first year of my professional career as developer, before that I dealt more with networking infrastruc...
Collapse
 
grayjack profile image
GrayJack • Edited

I in no position to tell you with a voice of experience, I'm just new as you are in my career, but that doesn't mean that I have no thoughts about that, since I wondered about that too.

My final thoughts were that we should find balance over both sides, be specialized and being diverse.
If we specialize too much in one thing and know pretty much nothing about others areas, when the market changes and the tech we know means nothing anymore, we'll lost our jobs.
If we get all over the place and know the basics of everything, we will have jobs, but always low hierarchy ones, and we may never get up at the workers pyramid.

In the end, and what I'm planning to do is to specialize in one or two tech/areas, keep track of tech/areas, choose some that have good chances of going mainstream and learn at least a intermediate level of this new tech/area

Collapse
 
leoat12 profile image
Leonardo Teteo

It sounds a reasonable plan, it is true that if you want to be good at everything you end up being good at nothing, but the market has been very demanding, you have to be good at everything by what we see position descriptions. It makes everybody anxious, principally us who are just starting and want to be in a better place in the future.

Collapse
 
jrwren profile image
Jay R. Wren

There is an old saying in software development, one must be a "jack of all trades, master of some".

I can read your experience, but I cannot understand why you would be worried? How would you feel if you didn't have that diverse experience? Would it be good that you'd be ignorant of all those things?

Awareness of things is always good. If you have never mastered something, go now, do not wait. Find something you love and master it.

Your networking background is going to serve you very well. You would be surprised how many software developers have no idea how a network works. They have no idea how packets get from point A to point B. Some don't even know about packets that aren't HTTP over TCP.

Your diverse background is a strength, not a weakness.

Collapse
 
leoat12 profile image
Leonardo Teteo

It is great to hear that! :)
I was worried because maybe I could end up not mastering anything, but now I think I know what I should do. Keep experimenting, but trying to master Java web development, which is my main skill right now. What comes beyond that is a welcome extra, always.

Yes, I understand that, it was very helpful to understand AWS and get me certified, my networking background. Now I use this knowledge to solve performance issues, configure applications better and so on.

Collapse
 
ferricoxide profile image
Thomas H Jones II

To be honest, you're best served by picking a given tech-category and learning it well. And by "well", I mean, get rock-solid on the fundamentals. Once you're solid on fundamentals, moving on the the flavor-of-the-week is a lot easier to do.

As popular as they are, IDEs and frameworks can subvert your ability to well and truly learn the fundamentals. They're optimized to get you going quickly (or at least more quickly than working "closer to the metal" does), not so much for getting you versed in fundamentals. This is broadly-true of any given abstraction-layer. Further, the more reliant you are on a given abstraction-layer (absent versing in the fundamentals), the more pain it can be to move on to a different abstraction-layer.

Collapse
 
gregorgonzalez profile image
Gregor Gonzalez

I think you are in the right way and all that experience comes handy. The difficult task is to start from nothing. And yes, sometimes we need to focus on one thing to master that area.

Just do what you love and what makes you feel comfortable.

My problem it's that I love everything! I work as a fullstack developer, I do many projects alone and I like frontend, backend, databases, web, desktop, mobile, sysadmin, networks, QA, IT, learning and teaching 😅

Collapse
 
leoat12 profile image
Leonardo Teteo

I have the same "problem", I find everything interesting and worth learning, back then when I was in school I was terrible in making summaries because everything sounded important. hahaha

Collapse
 
markoa profile image
Marko Anastasov

Came across this Twitter thread the other day. It's not exactly about programming but overall same thing:

It's OK to try many things to figure out what interests you the most. But don't confuse being informed with true knowledge. It sounds like it's time for you to settle down with one tech stack, grow your problem-solving skills with it and go deep on timeless fundamentals (books like these).

Collapse
 
leoat12 profile image
Leonardo Teteo

I don't try out all those things because of a sense of accomplishment, it is simply because I'm curious. hahaha
But yeah, you are right, I will need to focus on more Java, web development and AWS in 2019, this is the main subjects I need to take care of.
I will take a look at the books, thanks! :)

Collapse
 
rhymes profile image
rhymes • Edited

Great advice Marko! I really like what Julien says here:

Collapse
 
rhymes profile image
rhymes

What do you like doing?
You're at your first year as a developer, why do you feel you need to know everything already?

I don't think you have to become a fullstack developer.

I perfectly understand FOMO (fear or missing out) and I think we all struggle with it a bit, I do even after many years. Software developers are naturally curious animals so it's a given that you want to knowledgeable in as much as possible.

But do you really want to?

My strategy lately is Ben's (last sentence):

I think the DB layer is probably the least optimized area of dev.to right now. We’re smart enough to keep things simple, but we need to improve so we can hang our hat on this part of the work.

We overcome some naive queries with caching. But it’s not ideal. We may have some budget to hire more in this area, but I think it’s important to personally improve here as well.

My education is generally motivated by need. 😄

Collapse
 
leoat12 profile image
Leonardo Teteo

I like making the backend of web applications, that's I like to do the most.
One part is curiosity, the other is that even for less experienced developers like me, the market already expects a lot. I've seen positions that requires all the technologies I mentioned (except for Flutter, too young for that), then, yes, FOMO strikes.

I'm starting to feel that way about full-stack development although I'm just not that good at creating layouts, it is a creative work that I was never good at, but dealing with Angular is not uncomfortable for me. I think now that know HTML and CSS a little bit is good enough.

That's true what Ben said and I think that's what makes me test a lot of databases. I realized that our company's applications have the database as bottleneck most of the time, I'm trying to solve this problem, including changing the database if necessary.

Collapse
 
rhymes profile image
rhymes • Edited

I'm interested in the entire stack too but I specialize on the server side of things.

It's always a struggle :D

Optimizing (and hence saving money) your company's data layer seems a good goal for 2019 ;-)

Collapse
 
gregorgonzalez profile image
Gregor Gonzalez

That's the key "motivated by need" and it's really important to define "this is what I love?"

Collapse
 
rivanmota profile image
Rivan

Merry Christmas!
And be confident to build an entire software by yourself always. (front, back, arch, database...)