Podcast - Advices for newbies
Tags: podcast, beginners, programming
Published: 2022-05-05 05:25:09

  Recently I started to listen syntax -- a front end podcast. It's pretty funny(also very cool!). Strongly recommend it!
As a newbie in developing, I always find myself in a situation where I start feeling "Coding is just not for me" "I can't solve this" "Am I really making any progress?". In this episode, Wes and Scott talked about their advices for newbies. I learned a lot from it and want to share it with other newbies~

### Contents
* Mindset for beginners
* Technical things you can do day in and day out to make it work
* How to deal with imposter syndrome

#### 1. Mindset for beginners
* <u>Never stop learning</u>: One of the most important things in learning in general is to have this understanding that people who  get where they are, they didn't get there by wondering or worrying about not being skilled enough. They got there by <b>opening their mind to deciding to devote a large portion of time in life to learning.</b>

* <u>Persistence</u>: One frustration that many people have in the beginning is that how can anyone else learning faster than me. Every learners are struggling with stuffs, but <b>if you persist in doing it and you'll finally get comfortable with it.</b>

* <u>Find your strength</u>: <b>Instead of staring at your weakness, find out the strength in your characteristic that help you to learn.</b> Even if it's something that you feel it's hold you back, but it may be a strength in another way. Like, you may learn stuffs quite slow, but you learn it thoroughly and persistently.

* <u>A solid foundation is really important</u>: <b>HTML, CSS and JavaScript, these will support your entire career.</b> <a href="https://developer.mozilla.org/en-US/docs/Learn">MDN intro to web development</a> is a very good place to cover all the basics in web development. Also don't forget that the best way to learn X is to build something with X. You can copy some famous website(e.g. Spotify, Netflix etc.) to practice.

* <u>Give new technologies a chance</u>: If there is a new tool or framework comes out, don't refuse it without really using and knowing it. You can refuse it after you tried and find it won't work for you.

* <u>Don't act or assume that you know everything</u>: This will stop your progress.

#### 2. Technical things you can do day in and day out to make it work
* <u><a href="https://vimeo.com/85040589">The gap by Ira Glass</a></u>: There is a gap between our expectations when we first start to learn new thing and our output. Many people feel disappointed in this period and quit. <b>But the only true thing you need to do is to do volumes of works in this field.</b> Set a deadline to yourself every week, every month. Push yourself to learn it. And you'll finally get to your expectations.

* <u>Get your hands dirty on coding</u>: <b>You can find many projects in <a href="https://codepen.io">Codepen</a>, code it by yourself from 0 first.</b> Even you think you cannot do it, but try your best. And then check the author's code. This is a better way for learning because you are making mistakes. After you check the source code you'll understand why this solution is better.

* <u>Push yourself in a new water is the way in which you'll make progress faster</u>: <b>Dive into new things which are maybe 15% ahead of your ability will lead you to grow faster.</b> For example, you may start blogging and write some very easy understanding of concepts like a new element you learned in HTML, and you summarize it in your blog. Day in and day out, you'll get where you want.

* <u>Teaching others is a good way to understand better</u>: For example, you can <b>go stackoverflow and answer other people's questions.</b>

* <u>Try a new tool with starters</u>: For example, if you want to try to use express to build your web page, and you know nothing about it. In the beginning it can be very frustrating if you are struggling with the basics or syntax or debugging stuffs. You can try a starter which has coded the structure for you and you just need to fill things in. (<a href="https://github.com/sahat/hackathon-starter">Hackathon starter - A kickstarter for Node.js web applications</a>)

* <u>Do things that you are interested in</u>: Make side projects etc.

#### 3. How to deal with imposter syndrome
Imposter syndrome is a feeling of doubting your abilities and feeling like a fraud.
First, you are actually better than you think. Second, all people at all career stages have this feeling, even senior engineer.
* Look at your accomplishments. You got where you are now because you have the ability. For example, you are a master student, it shows that you are good enough to be a master student. Everything else is the same, you got where you are now because you accomplished something in the past.
* You normally get this feeling when you are taking interviews, you look at the job description and think that I’m not qualified enough to do this job — But what companies really want is that you have the ability to learn, and you can collaborate with other team workers, and so on. They want to high an entry level developer and sell him/her higher. Cuz they pay you less money than high level developers and they want you to performance better than your salary.
* Be confident with your ability, in an interview it’s normal that you don’t know some of the questions the interviewer asked. It’s ok, you can learn it in working. Answer the things that you know and you are very familiar with.
* Failed in an interview is not a big deal. You will learn the things you don’t if you persist in learning it. And also some of the failures may eventually turns out to be good in your career and life.
* Take more interviews. This is the way that you can conquer your nervousness and get familiar with interviewing. And your communication skills will also become better.

This is my first blog post(even it's not about coding), hope I can post 3 times a week~

(Also I'm not a native speaker, if I made any mistakes in grammar or vocabulary, feel free to comment~)