1. Keep reducing the goal until it's no longer scary. Instead of "learning X", maybe try "reading about X" or "try X for 10 min". Keep taking more off your plate until you feel that "I can do this" feeling.
2. When a fear pops up, respond to yourself with "I know". For example: "I might waste my time and never get good at X" -> "I know". If you repeat that process some contend that by giving your monkey brain (or flight response) attention and respect it starts to diminish. It just wants you to know how risky it thinks this activity is and can keep repeating or getting louder until you acknowledge that it's been heard.
In addition to that, it helps me to think of the consequences of failure.
For instance, my wife and I recently redid an entire small bathroom. I replaced wallboard, replaced toilet and cabinet and sink, and laid tile. I'd never done any of that before.
It was incredibly scary at first. But I finally said, "What's the worst that can happen?" We paid a plumber for the hard stuff like moving the shutoffs and replacing the cracked flange (my fault!) and did the rest ourselves.
The worst thing that could happen was that we damage something (which happened with the flange!) or that we decide we just can't do it to our satisfaction and have to pay someone.
The alternative was to just pay someone.
In the end, it was still scary, but it was the logical thing to do, and so I tried it.
Damn good advice. #1 is really key for me -- I find that if I decompose a learning effort into the smallest possible grains, I have a much better chance of sticking with it. For example, when I felt intimidated about learning SQL long ago, I said "well let me just learn how to write a trivial query" and then "well maybe I can try some joins," etc etc until I had it near nuff comprehended.
The other half of #1 is keep going. You have to do it every day. You have to do it for a long time. As long as you keep going, you'll naturally grow. Your mind won't stand for doing the same thing every day.
If anyone needs help getting started or keeping going, that's exactly what my project Functional helps with:
Just wanted to let you know that I opened your site in Firefox Focus on iOS and didn't see anything (it was a blank page after a second or two). Since Firefox Focus has ad and tracker blockers enabled, I presume there's something on your site that doesn't fit.
While I'm not a developer, I wanted to learn Python for various reasons. Instead of just learning ALL OF PYTHON, I broke it down to little projects, learning how to do those projects along the way. While still no expert, I can at least handle what I set out to do.
I'd also add immersion, if that's what you would call it. Not really related, but I used to never watch sports, up until the start of this NBA season. I subscribed to podcasts and newsletters and found some sites to read daily. In the beginning I probably knew 5-10% of what was being talked about. But after some months of this I can probably digest a good 70-80%.
I have used these techniques with pretty good results across a very long series of stretch goals. However, rather than use an affirmation of risk with "I know" I ask myself "but what can go well if I try?". It creates a positive energy that counteracts the negative one without dismissing it. Fear always returns so I try to work with it rather than shut it down.
One thing is to learn not to fear jargon. It's just a bunch of made up words, and you can quite easily learn them, and then you will sound just as clever and sophisticated as those people you saw in discussions.
Like, you might be getting into woodworking and see someone casually saying this, a real example I ran into earlier today:
"I built a jig to hold my boards down and run them over the stacked dado with the miter guide. Despite this, the cupping that some of the boards had made the cross cuts uneven. I opted for half lap joints because I've seen people do miter joints on this bed design before and they don't seem to hold up very well over time."
That's actually a self-proclaimed beginner talking about one of his first woodworking projects. When someone asked him how he learned all these words, he said "You can learn a lot from YouTube."
Indeed those concepts aren't advanced; a miter guide is just little gizmo that holds your plank at an angle, a half lap joint is just a particular way of gluing two planks together, etc.
But reading stuff that has unfamiliar vocabulary can be tiring, so keep an eye on that and make sure you look up the words you don't understand, maybe keeping a small lexicon in a text file.
Also, watch out for bullshit artists using jargon. Most jargon isn't B.S., but a lot of B.S. manages to hide behind jargon. You'll begin to notice this if you immerse yourself in academic writing. Being widely cited and having lots of collaborators is no guarantee that you actually have something useful to say.
This is true for math as well. Before I tried learning some trickier stats, the pages looked like arcane tablets. Now they don't. Particularly to a beginner, the difference between math you can figure out in 4 months, and math you maybe can figure out if you dedicate your next 20 years to it, often doesn't look too much different in terms of a naive person staring at symbols.
Step one to solving any problem is recognizing there is one. In words from Rambo, you need to come full circle with your fear that...
1) You don't know shit
2) Learning requires patience and time
3) It's ok to take a step back and start from square one
I approach learning new programming languages, hardware design concepts and software design concepts very similar to how I might approach hiking through a forest, mountain, etc.
If I'm hiking i'm usually taking the most interesting scenic route I can take out of pure curiosity. This drives my interest as I'm hiking wondering what might I see around the bend or just over the next ridge. This part is crucial for me to keep going otherwise lost of interest is high and the end goal of getting to the top seems less rewarding.
The same concept should be applied to learning. There should be an elevating amount or sustainable amount of interest towards the end goal of learning something new. Each chapter of a book or functional line(s) of code that does something should excite you and elevate or at the very least sustain your level of interest.
I'm probably one of the weakest software engineers (or possibly was) at my company mostly because I'm a first generation college student and engineer out of my family. I grew up on a farm and ranch where most of these resources were limited. I've had to spend more time on improving my skills and learning new things than probably the vast majority of individuals in our software department have. This methodology I've mentioned above has done wonders for me and has shaped my character/personality to how I approach problems and learning new skills.
I need something pushing me. Usually it's a demand placed upon me that requires I learn it to meet some kind of deadline. It's got to be something time-bound. If it's just a general request, for example, from a higher up that I learn something or look into something for some unknown reason or for some theoretical future project, odds are I'm not going to actually do it. But if I know that if I fail to do it and there is actually a consequence like me not being able to fulfill a goal that has been set for me, then I'm going to make sure that it gets done if for no other reason than not wanting to fail or be embarrassed.
If this is not for work where you are accountable to others and instead this is for a personal project it becomes more difficult. If possible, work with someone on your side project because then you will be accountable to them like you would be on a team at work. If it's just yourself and you are taking the approach of "well it doesn't matter if I don't meet my made up deadline for myself", then things tend to never get done. I had this issue. When trying to balance side projects with life and family, the projects kept getting pushed. Once I had a business partner, I'm far more productive because I have a real reason to get stuff done - no one wants to fail the person they are in business with.
+1 to this, doesn’t really matter how vague the push is so long as someone is putting the monkey on my back. There’s always some stress but it’s infinitely better than no push and I always learn loads in the process.
Sounds like you're having trouble with honest empathy or understanding what other people might be thinking or feeling.
This kind of feeling is EXTREMELY common, especially with engineers. You sound like you're over-indexing on logic and not really trying to understand how other people might think and feel. You might not get this now, but working on these other skills will make a bigger impact on your life and career than being a better programmer.
I can’t understand this either. Of course you know very little about something when you are just starting out, that is expected, where is the shame in that? Hopefully you’ll learn it eventually, and if not, well then it wasn’t for you. We can’t all be good at everything.
Plot twist: I am 55 - worked most of the time as a consultant, so for me "having to learn something new" and especially "while everyone else around you either knew more than you or were looking at you expecting you to know all the answers" was more or less a constant.
Maybe this is why I do not understand what the problem is, exactly?
There is a real fear of immersing yourself in an environment where you feel everyone knows more than you and you feel like an absolute idiot for not knowing the simplest things that you think “should know”
I felt like this 10 years ago when I got a job as what we would now call an “Enterprise Developer” working in C# after being stuck in a bubble in the “expert beginner” phase bit twiddling in C and C++ and doing VB6 that was already out of date and I was working with people younger than I was who knew the latest tech and people my age who were already experience led architects.
It happened again two years ago, by then I was the dev lead who knew all of the best practices from a development side but didn’t understand infrastructure, high availability, scalability, dev ops, or modern cloud infrastructure.
I fumbled my way through that project thanks to Hashicorp’s Consul and Nomad, and self demoted to a senior dev at a smaller company where I could get hands on experience.
I’ve filled in a lot of those gaps now, but still I don’t know the $cool_kids back end tech like Docker and Kubernetes or a single modern front end framework.
So yeah, it’s frightening jumping into a new tech stack heads first where you need to be somewhat productive since you convinced the company to pay you slightly above market rate.
You are not the OP (I believe) but if they wanted to really say this (which I can at least be sympathetic about) the title should have been something like "how do you get over the initial fear of NOT KNOWING ENOUGH?" which is a separate thing.
Try to take on a contract or job role that's a significant but achievable step above your current level of capability.
It's amazing how quickly you can learn something when you throw yourself into a situation where you just have to do it, or else.
Obviously you need to take care to ensure that your employers/colleagues will be supportive and understanding that you'll need some time to develop new skills. But you also want them to push you to raise your level to what you/they know you're capable of.
It requires a certain amount of energy to "punch through" a problem. You just have to focus and commit enough energy.
Most people have unfocused energy. They try to do too many things and never hit the boiling point on the harder things. Because they don't succeed, they start to lose confidence on attacking hard problems, and start to give up earlier.
You might be playing a game. It's easy to give up on them. Commit to a certain stage, maybe a level, a round, try out a build, or play until one defeat.
I'm reading a tough book. Instead of commiting to properly reading it, I've committed to highlighting major points in each chapter.
I tried to learn to use a breadmaker today. It's quite intimidating - the instructions are very precise, ingredients have to be collected, and there's a lot of unknowns. I committed to just doing one loaf of bread. It took me the whole morning's energy, it was quite pointless, and it failed. But I learned a lot and I'm glad I did it.
Want to learn to do mobile programming? Commit to it until you can do a to do app or something.
Want to learn a concept? Then do it until you learn and can repeat the concept.
Phrase it as a challenge, a puzzle to yourself, not something you have to do.
What I strongly don't recommend you do is to only commit a certain amount of minutes. It works for some, but often I see people stop before hitting that boiling point. It's actually incredibly fun to focus on something for a few days, just as long as it's not an endless treadmill.
Fear can be normal. Assuming you already know how to break a problem down into its smallest/most manageable steps (trying things like working backward from the end goal, using what you already know/learned previously, etc.), if the fear is overwhelming and getting in the way of getting started, then dealing with the fear might be a first step.
Write them out. What are you afraid of? "I can't learn this." "This time I will be proven to be an impostor", "Everyone will think I'm stupid". "I'll be ridiculed." Sometimes just doing that helps.
There's a lot of critical thinking that fears don't hold up to. "Have I learned anything hard or new before?" "Was I ever ridiculed for being a novice at something?" "Will _everyone_ really think I'm stupid?" etc. Sometimes just analyzing the things your fear-based reactions are telling you is enough to dispel them, or at least make them less paralyzing.
Ask yourself "what if I knew everything would turn out fine here, and that I'll be a success. How would I act in that case?"
Stuff like that. Sometimes the technical problems are easier than the psychological ones.
What is the most important step a person can take? It is the next one. --Stormlight Archives (at least the spirit of the quote is from there).
I think the first step is easy, but continuing is hard. I think the most scary project I took on was being a very inexperienced home improvement person and decidiing to tear out our rock chimney, replace the whole wall and install a big window and create a new hearth with a wood burning stove. I had a week of vacation to do get the house at least back to livable.
I broke it down into parts or mini-milestones. Estimated what I would need and what I would do. I did research. I took the first step of removing the first stone of the chimney. Then the next stone. Then the wall. Then then next step.
Learning should never be unpleasant. If it is, consider exploring supermemo.guru. It has many articles on learning, memory, sleep... and is maintained by one of the most knowledgeable people on the topics of learning. For this particular question, explore the articles on toxic memories, to see why some people experience anxiety before learning.
I am not in ANY way affiliated with this site, I just read it often and the articles have helped me more than I can describe in words.
Grab a successful project already done by someone else, put it in your repository, back it up, and start changing things, one at a time. You'll start to see how little things work, maybe understand why the original author made choices, and surprisingly, find better or more interesting ways to do the same thing. (I'm always looking for ways to do the same thing with "less". I usually find them.)
Keep restoring the original and repeat. Then start adding new functionality. Experiment. Break it. Play "what if". You can always restore and start over.
Before you know it, the mystery starts to fade and for some people, the fear does too.
Recently I started learning VHDL. I have some very personal pep talks... look to your own past for something more applicable.
* "you've learned over 20 languages"
* "this won't be as annoying as brainfuck, Piet, or FRACTRAN"
* "you've absorbed the basics of analog circuit design, this digital crap is gonna be easy"
And then it's all about setting reasonable goals, breaking the work into discrete chunks and tackling them in an orderly fashion.
* my coworker whose FPGA board I'm using tells me "just get to a point where you can turn on an LED with a switch and it's downhill from there"
* I tell myself, "your algorithm is a series of interconnected state machines. Figure out how to make a state machine and it's downhill from there"
And then there's the expertise I have access too -- I know that memory and timing issues are going to be a nightmare. When I get to that point. When I get to that point, I can worry about the PCI bus and API. At that point I'll have the basics down, and I'll be able to have more fruitful discussions with my coworkers and they'll take a greater interest in my work.
We are all born ignorant. Life's mysteries give meaning and passion to life. If I knew everything, I'd have to find new passion, so I'm grateful I'm ignorant. There has never been nor ever will be anything wrong with not knowing.
Assuming you're studying alone, so it's not fear based on māna (comparing yourself to others without taking in the back story of all parties being compared):
Generic fear is recognition of the unknown. Recognizing when there is something to learn is a beneficial skill to learn. Recognizing this is how fear works, the emotional response ceases its control when the logical mind understands what is going on and how to deal with this unknown; learning is an opportunity for a reward.
Learning is pattern matching our previous understanding (neighboring concepts) with a new idea. (And understanding the story of how that concept came to be, and what its intention is eg, leading to how it is used and in what situations.)
When one is learning a concept within a subject matter they are already familiar with, there are a lot of similar concepts, making the learning easy or effortless. However, when it is a new subject matter, especially if it is an atomic concept with its only neighboring understanding comes from isomorphic concepts that exist in other domains, it can take a bit more work to really "get it".
A trick I employ when learning is I forget time. I forget any goals. If I'm learning a thing so I can solve an issue in a issue tracker, then I will feel pressured on time. But the harder or more foreign the subject is that needs to be learned, the slower one needs to go to really get it.
If I am okay taking a day or even days pondering a new idea with the patience of learning the concept for it itself, then the learning process will be enjoyable instead of stressful.
If you have "all the time in the world" to learn, then it becomes easy to recursively dive depth-first into the concept and it's prerequisite concepts, as well as its neighboring concepts. Instead of learning a single concept, why not learn an ecosystem of concepts? This will help one retain what they've learned, make what they learn far more useful than learning a single stand alone idea, and it makes it easier to learn more of that topic. Once the first 2-4+ concepts in a domain are learned, learning anything else within that world becomes a cake walk.
This might not be a direct answer , but reading " Peak: Secrets from the New Science of Expertise http://www.goodreads.com/book/show/29369213-peak" certainly helped nail down in my head that learning is a skill, and the only barrier to learning (and becoming an expert) and doing something is yourself and time (it explicitly says that you can't hope to be an expert by mindlessly repeating it or going through the motions though) . The book also lays down effective lessons for how to optimize for learning the skill fast (specifically with short iterational feedback loops) and effectively.
The book is fairly well researched, draws from credible academic sources and breaks down the "genius" construct fairly well. It left me knowing that any new subject or skill is approachable to anyone and everyone, as long as they are prepared to put in the time, and effort and an effective feedback loop in there.
Tim Ferriss publishes a piece called Fear Setting. You might find that useful.
Another suggestion is to actually write down and articulate the specific issues you're facing. I find that the act of writing helps me make sense of thoughts - much more so than simply thinking about my thoughts.
Although I find I'm better at execution than planning so I like the mantra "just do it".
I can think of a few strategies, alongside the other good ones people mentioned.
1. Reduce your initial expectations. When you start something hard and/ or new you will be awful at it. Just acknowledge that fact and move on.
2. Focus on time as the goal. Instead of saying, I have to master A or B, focus on time spent, focus on the raw number of hours spent learning. You should still chunk the learning, but start by tracking time.
3. Seek immersion opportunities. The person who authors https://waitbutwhy.com/ focuses on a new topic periodically. These topics can get quite complex and yet sometimes he only has a week or so to get himself up to speed. He'll do things like find all the videos on the topic on Youtube that are informative, authoritative and yet somewhat entertaining. He'll mass watch those videos, all the while gaining a feel.
If the reason for your fear is out of deadlines, then simply ignore the deadlines for the most part and focus on learning overall. Obviously you can't ignore them completely, but if you actually let yourself just focus on learning instead of the deadline you will actually have a better chance of completing your goal by the deadline rather than if you focused only on the completing something by the deadline.
If it does not have something to do with a deadline, then I would suggest just pursue the new language, concept, etc. like you would something you are naturally curious about. If you are a fan of a certain science fiction universe, it is not scary to try and learn something new about that universe, because you will be naturally curious about it and be focusing on the joy of learning new information about the universe. Treat whatever you are trying to learn like that by finding ways to get naturally curious about the new subject.
I can't say I ever had fear of learning something new. I really enjoy learning.
I suspect you don't have a fear of learning, but a fear of how people might perceive you during the phase of learning? Don't get me wrong, I also struggle with "perception fear", just in different areas of life. I'm also working on overcoming that.
Here's my 2 cents that's worth less than 2 cents.
Face your fear head on. Instead of beating yourself up for mistakes, remind yourself that making mistakes is natural. Adjust and try again.
Hope you break out of this fear because it's a mindset. Most fears are bullshit. Learning won't kill you, people judging you along the way won't kill you.
Don't look at it from the view of a complete project. Think of it like compound interest in your retirement account. I learn by building slightly more complex projects on top of a previous simpler project knowledge.
Want to build an entire website, with authentication, payments, dynamic interfaces, real time notifications? Learn HTML by putting your resume on the web. Then take that knowledge, and build something that takes a basic form, and maybe saves to a database. Then you take that, and build something that takes that user input, and thanks them by email. Onward and so forth.
Going from 0 to 100 for someone that hasn't done all of these little projects over the years, is way too daunting and unrealistic.
If you're going to learn a new language or software being organized takes out all the stress. For example, when I learned Rust I made myself the perfect Sublime text setup for rust when on udemy got a course for it and would code along with the course instructor. I'd also make a folder to containing the code for each source with a folder in there for each lesson which would contain the source and the compiled program and I got through that and it was actually fun. As long as you're organized and don't rush yourself you should be fine.
Come up with a small first step. This is usually writing the hello world equivalent or reading through a paper or article. Once I get my head around it I make a list of todos and start knocking them out.
Give yourself permission to define your own goalposts, however meager or humble. It's not unlike learning a new spoken language: just because you have a massive vocabulary in your native tongue, does not mean it's not an achievement to learn to count to ten in a new one.
It's not enough to "crawl before you walk before you run". It's important to feel good about successfully crawling, even if one is accustomed to running marathons in another context.
For example, there is no stage fright. It's stage excitement. All those feelings some people get before speaking in front of a large crowd? That's all excitement. Wow, I'm looking forwards to this! This is going to be great! Surprisingly effective. Apply the same self-psychology here.
Being excited about it makes more sense; maybe it really is excitement you're feeling. Easy to confuse the two.
Not on the topic of software, but with other crafts, I like to think about the idea "Nothing is hard, it is just slow". the biggest beginner mistake in woodworking is trying to work to fast, same with welding, same with music. If you just content yourself with working on new, hard things slowly and don't try to be fast it all ends up less daunting. FWIW, this has been my experience learning the little code that I know, too.
this is key with hand work. there is an expectation that, if for example you are shaping a piece of sheet metal, it seems like if you know what you're doing just can just bang it out. so if you keep trying to bang things out you're supposed to get better.
knowing what you're doing really means having the patience to make a subplan, trying to execute it carefully, seeing how well you did and repeating the process.
initially that might take several days and be painful. it will get faster over time, but you have to learn to let the work steer you, and to put it aside when you no longer have the focus or stamina. that internalization, regardless any any of the particular skills you may pick up along the way, is what makes you a practitioner rather than a hack.
Meditate everyday. Mindful meditation for 15 minutes a day has helped me just start things without thinking about them. Most people enjoy doing something once they get started, it is getting started that is difficult. Set a small objectives, and just get em done. I'm not even exaggerating, mindful meditation has been the greatest tool I've ever found for being consistent about things and starting things.
As a neurotic, I conquer fear through excessive preparation. I honestly don't know what to do about a fear of preparation, though. If I find myself intimidated by learning something, I look for a prerequisite to that something that isn't intimidating, and start there.
Maybe what you have is a fear of committing to learning something hard or new? Something with a deadline, that you'll be judged on at some point?
We have this problem all the time where I work. It usually manifests itself as a “slow engineer.” When you dig a bit that usually means the engineer in question is afraid to ask questions, generally out of fear of looking silly.
My advice is to ask questions and read up. You can ask trusted advisors/friends what to read up on before asking questions to the scary folks (who are usually not that scary anyway).
Fear? Learning new things, especially hard things, should be the most thrilling and rewarding thing in life. Starting on a new subject is like being a child again. Instead of jaded indifference you look at the world with fresh eyes, full of fascination. Everything is new, you don’t know what to expect, it’s an adventure!
I'd say you have to accept the reality of having a lot of unknowns in new software projects. By doing that, I guess I mean embracing the fear since there's always going to new situations that come up in reality. In my mind, I can't actually get used to anything since something new always crops up so I just take that as the norm.
Do something with it that is simple, useful, and for which it is uniquely well suited.
For instance, I wanted to start working with Lazarus (A FreePascal IDE with WYSIWYG GUI designer) so I used it to throw together some simple GUI launchers for a portable LAN gaming pack I put together.
I don't. I just suffer through the anxiety. Mostly trying not to pay attention to it until I've made something. Once I've made something with a new technology I've got evidence for myself, than I can start to find comfort.
I took a personality test today. (Really). The results were uncanny. I LOVE learning and trying new things and if it is hard then I might fail. But I if I get up and try again again I might succeed. My Dad used to tell my sister “if you never fall you aren’t skiing hard enough”. I fell all the time.
Baron von Hilton went bankrupt numerous times before founding Hilton Hotels. Failure is how we learn. It’s the main ingredient in “experience”.
It’s also a way to find your own path. I tried Angular. It just didn’t click for me. I tried React. At first I didn’t like the idea of JSX. Then everything clicked. I might have never tried it had I not failed with Angular first.
It doesn't exactly feel like fear. I'd say it's more like the goal is so far that you give up even before trying / push it back forever / procrastinate. For ex "I'm going to learn how to do security research / do bug bounties / write exploits" and never do much. It is fear based tho. I'd say it's fear of wasting time and not getting anywhere.
I wonder if it might just be not knowing how to start, rather than fear, then. I don't expect I'd be very good at achieving those goals unless I had a specific project in mind that touched on them.
Like, I wanted to do kernel development for years and couldn't get into it, and then suddenly I had a job with buggy kernel drivers that needed to be fixed and it was surprisingly easy. Fear wasn't holding me back, but not having identified a realistic small project in the area that I was motivated by was.
The only answer I've found is to set that aside and just put one foot in front of the other. Over and over and over again.
When I encounter uncertainty or doubt, I have a bad habit of distracting myself so I don't have to think about it. I have learned to catch myself doing this, stop distracting myself, and continue to press on.
If something isn't working after trying and trying, it can be really frustrating. But instead of thinking about how stupid the thing is that I'm trying to make work, or why it was designed this way, or whatever, I have learned to just keep trying. Maybe I'm even correct that the thing is poorly designed or whatever- but it doesn't matter, just keep going.
This is not easy- but the upside is that it is simple. You just have to remember to keep going. Again, not easy, but also extremely uncomplicated, no?
If you're anything like me, you can be very thoughtful, but that can manifest as constant thinking about "what ifs", which honestly doesn't help anything. Make your head like a rock. Just keep going. Everything besides "keep going" is a distraction. So just keep going.