I am over forty years old and have zero basic knowledge of programming. How did I switch from a teacher to a programmer?

I am going to talk about how I started learning from zero when I was 40 years old and then transferred to the field of front-end web development. I rely entirely on self-study outside of work, and basically spend no money.

I'm sitting in a café in the center of Madrid, drinking coffee and tapping on my laptop while it's raining outside. In a little while, I'll be starting my first day as a front-end web developer. 10 months ago, I was an English teacher and knew nothing about programming. Wondering how it happened?

I wrote these inspiring words a few months ago, come on, let's see how I did it.
insert image description here

What potential is needed?

If I were just starting to think about being a developer, I would read this article with a little skepticism. Because I will look from the author's background to see if they have the potential to become a developer.

Then later it dawned on me that it doesn't take much potential to be a developer. Of course, I would not say that this road is easy to walk, because it is really not easy to walk. But the good news is that as long as you are willing to work hard, learn a lot, and persevere, you can achieve your dream of being a developer. When you feel that you are not suitable for this job, you need to talk yourself up. That's all you need to do, nothing more.

I started from scratch, and I didn't pay for any courses, because I was already busy enough. Although everyone's situation is different, I know that if you put your heart into it, you can do it.

Learn from zero

I said that I have zero foundation, and I have never been exposed to programming before. After my early years in the restaurant industry, I got a music degree and then spent ten years as an ESL teacher in Spain. I'm not even particularly proficient with computers, but I'm definitely fascinated by the latest tech ideas and think programmers are like superheroes.

However, I never imagined that I would one day be in this industry. Part of the reason is that I think programming is a high-flying job, reserved for geniuses who graduated from top (and expensive) universities. While such people do exist, most developers are not what you see in the movies, so being a programmer was a lot easier than I thought.

origin

It all started with a conversation my wife and I had. She is researching why there are so few women in STEM and tech. Then she decided to become a programmer, and soon plunged into her studies.

That got me excited too, because we realized there were a lot of resources available. It's not magic, but a skill we can learn and master.

One day we found a children's book about programming in a science museum. We went home and turned on the computer, followed the above instructions, changed the color of the text through simple operations, and then screamed with excitement, because we thought it was amazing.

I was completely mesmerized and it drove my determination to learn programming.

my original job

I had been a teacher for 8 years by then, but I still really loved teaching and spending time with children. In a word, this job is very satisfying.

But sometimes, even when you're sad, it's time to know it's time to move on. This is a new phase in my life and I have new aspirations. Most importantly, it was a new challenge that took me out of my comfort zone.
insert image description here

What does the road to success look like?

There is no one-size-fits-all path to success. Everyone's learning method is different, and you have to find a method that works for you. If there is one common ground to be found, it is to bite the bullet and persevere.

Therefore, the way I tell you is not the only way, nor the best way, but the way that works for me.

Start learning

First, I started watching instructional videos on programming to figure out how to get started. Then I started to learn how to use HTML and CSS. I wrote the code according to the instructions of the tutorial and set up some basic pages. In the process, I realized this was something I was really interested in.

setting goals is important

I turned to two programmer friends for advice and help. Their words of encouragement and guidance were crucial to later success and finding clarity of purpose.

I spent some time researching the situation, setting goals that were possible for me. I have no other source of income other than teaching, which means I cannot lose my job until I change jobs.

I think front-end web development jobs are the easiest to learn and the most popular. I narrowed it down further and focused on the skills needed to start a business, rather than going the freelance route.

Then I set a deadline. I don't want to end up with nothing, muddle along. It was the spring of 2017, so I promised myself that by September 2018, over a year later, I would have to switch jobs.

But I would be naive to pretend that at this stage everything is under my control. To be honest, I had all kinds of doubts at the time and throughout the whole process, but the key is to persevere. Once I make a decision, I will go down this road.
insert image description here

learning process

I know that the only way to improve is to learn. I have a full-time job, so waiting until I "have time" to make a decision is out of the question. I'm lucky because my wife and I have the same study time. This helps us arrange our daily study time. At first, we would spend whole weekends programming. Our typical study plan is as follows:

8:00 am: Wake up

8:30 am: Start programming

12:30pm: Activities

1:30 pm: Lunch, rest

3:00/4:00 pm: Continue programming

8:00/11:00 pm: end of work day

Then came the summer break, which I made the most of, and as much as I wanted to enjoy the summer and relax, I stuck with it and worked hard every day.

Then in the blink of an eye it was September and I was back to school work. I made a conscious effort to reduce my working hours and choose to trade less income for more study time, so that I took my studies more seriously.

It may be hard for you to imagine how attached I am to code. What I most want to do is sit in front of my computer and study and study and study. But life has to go on. Every September is the start of a new school year, which means that you put in a lot of time to prepare, and often have to take part from your personal time.

I was really, really anxious. Despite my best efforts, I was spending less and less time programming. I start to lose motivation. I do everything I can to try and stick with it, but sometimes there's just no time. Even with the best of intentions and motivations, life can complicate things.
insert image description here
You see, the completion of my october programming project has been rather disappointing

However, as the picture above shows, I have been trying and working hard. I'm constantly trying to find time, even if it's just an hour. I did everything I could, hoping I didn't lose motivation, and I hoped I could hold on. I hope this has been instructive for you: because once you leave something long enough, it can be quite difficult to pick it up again.

Then, events gradually moved on, and December drew closer. With the new year just around the corner and my deadline looming, I picked myself up and started planning my whole life. I started working hard no matter how tired I was or how much time I had. I devote all my free time to learning programming, sometimes I wake up early, sometimes I stay up late, but I try to squeeze in as much time as possible.

This means that my life is almost reduced to only work and study-and work only until the salary can pay the rent, and the rest of the time is given to programming. I basically kept this rhythm until the day I started packing up and going to Madrid. It was in the spring of 2018, a few months before the deadline I had set at the time.
insert image description here

Tools and Resources

To be honest, looking back now, I really threw myself into everything related to programming. The question I get asked most often on Twitter is what resources I was studying with. Although I have to open another article to talk about it in detail, I think it is necessary to list some of the most important tools and resources for everyone.

course

freeCodeCamp.org

Udemy courses by Cassidy Williams and Colt Steele

Wes Bos' JavaScript 30 and other courses

YouTube:Traversy Media,LevelUpTuts

Courses at Christina Truong's Lynda.com

Udacity Front-End Nanodegree (paid course, but you may not believe it, I also got a degree on Google)

But those courses weren't enough, so I've added courses that will not only expand the depth and breadth of your learning, but will also help you when you're looking for a job.

Twitter: This is where the foundation of my studies was laid. I've had incredible support from here, highly recommend the #100DaysOfCode community, it's so heartwarming.

GitHub: This is a very important place to learn, and it's often the first place employers see your work.

Portfolio: Here I learned the most important development skills through various self-directed projects.

find a job

Surprisingly, the process was a lot easier than I thought. I didn't send resumes everywhere, and spent a lot of time screening every day. Instead, I chose to focus on a few companies.

In the end, I received interview invitations from five companies. Unfortunately, I was rejected by two of them. But the other three were taken by me. Among the offers from the three companies, I felt that one was not suitable for me at all, and it was not very attractive. The other two job offers are quite interesting. Later, I chose one of the two.

But I'm not saying that when I was looking for a job, I was really calm. Now that I think about it, it was indeed a very stressful time. I actually don't know whether my skills meet the requirements of the market. I'm not even sure I'm getting ridiculed on all sides for my inexperience. Although it was quite nerve-racking at the time, I have to say that the whole job hunting process was actually very exciting and full of hope. When I finally found myself with two offers on the table that really fit, I was so ecstatic that I almost thought I was dreaming.

I will be forever grateful to those who gave me the opportunity to decide to admit me.

The interview process at these two companies is completely different. One of them is talking to various people in the company via video calls. The company was a small but reputable company looking to start a brand new front-end web development team. After a few weeks of back and forth, they gave me my first chance to really live out my dream.

The other company is a young startup in high growth. After a phone interview, I received a skill review (to be completed within a few days) that involved building components, making API calls, and displaying correct information. Then there was another video interview about my programming results. Then I was invited to meet with the technical team and have an afternoon tea. After that, I was told that I could join the company as a junior front-end web developer.

In the end I had to make a choice, and I knew what I wanted, so I accepted the offer from this startup. Why, because I have the opportunity to grow and learn in this company, which is the key. I firmly believe that this is absolutely the right choice.

And so, on that rainy day in Madrid, after drinking coffee, I walked into an office, introduced myself as a new front-end web developer, and started my new career.

About Python Technical Reserve

It is good to learn Python whether it is employment or sideline business to make money, but to learn Python, you still need a study plan. Finally, everyone will share a full set of Python learning materials to help those who want to learn Python!

Click here to get it for free: CSDN spree: "Python learning route & full set of learning materials" free sharing

1. Learning routes in all directions of Python

The technical points in all directions of Python are sorted out to form a summary of knowledge points in various fields. Its usefulness lies in that you can find corresponding learning resources according to the above knowledge points to ensure that you can learn more comprehensively.
insert image description here

2. Essential development tools for Python

insert image description here

3. Python video collection

Watching the zero-based learning video is the fastest and most effective way to learn. Following the teacher's ideas in the video, it is still very easy to get started from the basics to the in-depth.
insert image description here

4. Practical cases

Optical theory is useless, you have to learn to follow along, and you have to do it yourself, so that you can apply what you have learned to practice. At this time, you can learn from some actual combat cases.
insert image description here

5. Python exercises

Check the learning results.
insert image description here

6. Interview information

We must learn Python to find high-paying jobs. The following interview questions are the latest interview materials from first-line Internet companies such as Ali, Tencent, and Byte, and Ali bosses have given authoritative answers. After finishing this set The interview materials believe that everyone can find a satisfactory job.
insert image description here
insert image description here
This full version of the full set of learning materials for Python has been uploaded to CSDN. If you need it, you can scan the QR code of CSDN official certification below on WeChat to get it for free [100% free guarantee]

Guess you like

Origin blog.csdn.net/WANGJUNAIJIAO/article/details/128492894