What do I do to avoid overextening myself while learning new things?
May 27, 2018 5:53 PM   Subscribe

This is mostly a question related to software engineering but I think it really applies to everything. I am also learning things outside of that. However, I would like to hear the opinions of people who studied CS or work in a field related to it, given that this question is mostly about that.

So here is my issue. I want to learn a bunch of new technologies and tools related to several fields in software engineering. I started working for the first time two months ago, I graduated last year too l, so I don't know all that much.

I want to learn a lot about both front end and back end. Right now I'm learning Vue.js and I intend to learn flask in python. I also want to learn angular and express.js. I already know React and web api 2.

On the mobile scene I want to learn about react native and ios/swift. I have already used java, android and xamarin for android or at least I think know something in that field.

I'm also interested in learning go, in order to learn about automation.

Finally, I'm also learning web scraping, but I want to learn about ML and data science. Out of all these things I want that to be my main focus.

My issue is that sometimes I feel this is a lot and I think it may not be possible to learn all of that. It becomes overwhelming. I don't know how I would go about doing all of that. Should I cut some stuff out? Should I focus only on one of the tools I mentioned in all of those areas? Should I just focus on one field? I really really want to learn about all of those things but I wanr it to be fun not a chore.
posted by Braxis to Technology (8 answers total) 3 users marked this as a favorite
 
This is not field specific. Every field has similar struggles with the same issues, from accountants to doctors, carpenters to scientists, plumbers to MBAs . Nobody can learn every part of their field at once, not well. There is a lot between learning lots of things at once, and only focusing on one thing.

Plan to learn, learn to plan. As you progress, you can better evaluate your needs, and rank priorities. For now, I'd suggest figuring out 2-3 topics of key interest, and not ignoring the rest but putting them on the back burner.
posted by SaltySalticid at 6:08 PM on May 27, 2018 [3 favorites]


I want to learn a lot about both front end and back end. Right now I'm learning Vue.js and I intend to learn flask in python. I also want to learn angular and express.js. I already know React and web api 2.

Step 1: Staaaahhhp.

If you already know React or anything like it, you don't need to know Vue until you actually need Vue for something. If you aren't doing this stuff for work, stop. You will get further for being an experienced and competent React developer than you will for being a person who has just barely touched Vue, React, and Angular. Get competent with one (1!) back-end framework to the point where you can easily use it to set up new stuff as necessary.

The problem with the way you're approaching this is that you're trying to learn every possible option, and you just can't know all of them that well. You can convert from one to another later and it isn't that bad, but you can't just flip around and somehow know all of them at once without burning out. Don't learn eight ways of doing the same thing: Learn all the facets of doing the thing you want to do. But especially if you're only two months into a job, stop now, because I tried to do a lot of this and I burned out hard and I'm still trying to recover from that. Ask work what they need you to know next. Work on learning THAT. Failing that, I would pick one back end, one front end, and the appropriate solutions to manage unit, integration, and functional testing for that stack.

Save anything else for when you have a specific work or personal project that legit needs it, until you are genuinely professionally competent in the stuff you use every day. Don't do new stuff just because it's new, because there's too much, and you stand a real risk, with the way these things work now, of investing a bunch of time in, say, Angular, just as Angular is on its way out. If you need Angular later, learn it then.
posted by Sequence at 6:45 PM on May 27, 2018 [16 favorites]


Sequence has it. In IT, depth is all.

Every framework, every language, every development practice exists because it scratched an itch for some particular developer somewhere. Every one of these things is really good for certain classes of problem while being a complete pain in the arse for others. But until you've actually gone through the pain of trying to use a framework or language or methodology against its grain, you'll have no way to see the grain.

There is no point at all in committing to learning eight different frameworks that happen to be popular right this minute, because the IT industry - even more than others - is in a rapid state of change. Follow one rabbit hole as deep as you can go before doing so becomes painful, while keeping in loose touch with other things that interest you as your recreation time allows.

It becomes overwhelming.

Sure does.

One of the things that learning one thing in extreme depth will teach you is that you can learn whatever you need to learn in order to be able to deal with whatever you need to deal with, and that you know for sure that this is true because you've done it before. And that is the single strongest rope to cling onto when you're dangling over the yawning abyss of impostor syndrome, which is a place that you will undoubtedly find yourself soon enough if you work in IT.
posted by flabdablet at 9:01 PM on May 27, 2018 [4 favorites]


Response by poster: Thanks for the responses, I understand what both of you meant. I actually feel a lot less burdened after having heard other people's opinions.

I guess I will stick to react and C# for web then. I don't actually use react at work but I learned it and redux very well after my last internship. They use angular at work but to be frank I never much cared for it.

I guess for mobile I'll stick to Xamarin, it's C#, I've used it and it works for iOS too so I guess there's that. I could also get into react native given that I know how to use it, might be a whole lot easier to get into than swift.

As for the other stuff, well I'm working on a personal project on python, mainly web scraping. I am guessing learning flask might not be so tough or time consuming.

This really helped set my focus, thanks again.
posted by Braxis at 9:39 PM on May 27, 2018


Response by poster: Also I forgot to mention, I try to learn stuff outside of work because I don't want to get stuck with one tool. That's just boring and besides the things I use at work are old and boring anyway.

Web development is also nice but I really want to get into machine learning, however I had to start somewhere so that's where I took my first job.
posted by Braxis at 9:51 PM on May 27, 2018


Prioritize. Write down all the things you want to learn, figure out which ones you need for work in the next few months and start with that. Then pick one thing to work on outside of work. Do them one at a time, keep your list updated as time goes on, and see how it goes.
posted by CathyG at 12:22 PM on May 28, 2018 [1 favorite]


Response by poster: The ones I need for work I already know and I don't want to waste my time learning about things that I already learn about at work. To be frank I'm there for the money and the experience. While it isn't bad I feel like I won't grow much in there. I don't plan to stay for more than 2 years.

Besides what I have been doing lately is old tech and it is also boring.
posted by Braxis at 9:01 PM on May 28, 2018


Just start building stuff. You seem like you have a solid set of basic skills down. Go use them to make shit happen. Once you've done that for a while, and had to learn different things because they were necessary for you to solve a problem, then the 'overwhelmed' feeling will go away and you will realize that there is literally no way that you will be able to know everything, but you will be able to get darn good at figuring it out when the need arises. That's the biggest skill there is in IT.
posted by cirgue at 1:17 PM on May 30, 2018 [1 favorite]


« Older Timing problems on .vob files copied from a DVD   |   Help with coping with first year of parenthood Newer »
This thread is closed to new comments.