Lessons learned after 15 years teaching programming classes | Programador Web Valencia

Lessons learned after 15 years teaching programming classes

11 minutos

Teacher

One of the most difficult decisions I have had to make, without a doubt, has been to stop teaching. But as I usually say to my students «the water that doesn’t move, it spoils». No matter how sure and stable your job is, if it doesn’t fulfill you at all… maybe it is time to consider getting out of your comfort zone. And this is what I have done. I left with satisfaction of having left a mark on a lot of students, with a 15-year-experience and infinite anecdotes to tell.

Now, just before I leave , I like to share some of the most important knowledge that I have acquired throughout these years. Not only for future teachers, who are reading this article, they can learn from my mistakes and students can learn a little better about the work that goes into preparing any class.

A little context

You can skip this part if you aren’t interested in my background. But If you are nosy, here is a quick summary.

I taught my first course in 2009, I was 21, at CEI school about Flash programming (ActionScript). The school had my CV, I don’t remember why they had it, and I was the perfect candidate for the job (or the big problem). I had to replace a teacher that the had disappeared in middle from the course, and they couldn’t find anybody who could work with Flash. I was shy, young and inexperienced… but I was stupid and reckless: I accepted without a doubt. I prepared the next lesson the day before in the afternoon. There were nights when I didn’t sleep.

After this horrible first step, and good feedback from students, against all forecasts I was successful. The school proposed to me that I teach a new course: Java ME. It was easy to prepare a fast syllabus because Java was my first programming language. But I believed that given lessons was only a temporary job. Then, I made a Mario bros game with my students for primitive mobiles with almost no RAM, I thought: «This is fun! And also they pay me. This is a great deal!» And that moment was when I decided that I was going to be a teacher. My only condition was: Teaching will never be my main job. Teaching would be my companion, I would do it while working on my own projects or developing other people’s projects. The condition was a key decision for my development. Point for younger me!

Then came more courses: Web Design, PHP, MySQL, Python, JavaScript… and many other technologies. I got to know other schools, universities, I did workshops, made friends and I had thousands of adventures, the stories of which I will take to the grave.

The most valuable thing of a teacher is their syllabus

The syllabus is the base of any course or workshop. An imperfect script that you will sharpen along the years, adjusting its curve of difficulty and mastering the timing not to bore the students. No matter how funny you are: if the syllabus is bad, the course will be bad. That is it. Maybe you don’t stand out in a live class, but if you have a good syllabus you can fake it. Besides, writing forces you to learn, structure and to think about how to teach. In addition it will help you to work with other teachers. You will know how to coordinate with them and if you cannot finish the course, you will not leave anybody in the lurch.

Technologies change, but not the fundamentals. Indeed, a good syllabus should focus on knowledge bases, not in technological trends. The advantages you will find are that your syllabus will need fewer updates, and besides, the students will learn to adapt to changes. For example, teach JavaScript, not Vue 3.1 version. Teach SQL, and afterwards, if you want to, teach MySQL. Teach TDD before teaching Jest. And so on. You can learn specific technologies on the job but leave the fundamentals for class. After, if you have more time, you might be persuaded to teach the framework that the job market needs most.

Creating syllabus from scratch is a really difficult thing to develop. Some have stolen months and others years of my time. Among my colleagues, I have always felt reluctance to show their material and they have never been open to it. I don’t blame them. But an open syllabus has benefits, I will explain. Another good decision I made was to release my syllabus on a website (mine) with no registration wall. In this way, if anyone wants to self-teach, they can do it. And if anyones want to access my classes, they know what they will find. Indirectly, it gaves me students and new business opportunities. And, never mind, a good SEO. On the other hand, it is comfortable, you don’t have to check if the students access the lessons and you don’t need to send notes.

Don’t be seduced by the eroticism of power

There is a kind of teacher, who I admit I don´t like, that feels superior to their students. Their words are law, their opinions are dogmas, and their students are disciples. A guru who doesn’t like criticism. Maybe their motivation when they teach is to feel superior to everyone. They only want attention because maybe they don´t have this in their personal life. Remember: you are only one human. The unique difference between you and your students is the amount of experience you have. Some students, in time, will become better than you.

Beware of the fans! It is very dangerous for your self-steem. Today you are their god, but tomorrow just a memory. You ride emotional roller-coasters if you can´t keep a good psychological barrier. Don´t fall into the trap. Modesty is a virtue that must be cultivated. You should also avoid the flesh. Do not become a University lecturer.

Saying “I don’t know this” is a good answer

«I don´t know, but I will research it». And bring an answer to the next lesson with its sources and an updated syllabus. The course is valid if you don’t know some little things or the syllabus is not updated with minor technical details. Even IA makes mistakes or has academic gaps, can you imagine a human? Knowlege that you don’t have is an opportunity to learn. In addition, students will have more respect for you for being honest.

Beware of the fans! It is very dangerous for your self-steem. Today you are their god, but tomorrow just a memory. You ride emotional roller-coasters if you can´t keep a good psychological barrier. Don´t fall into the trap. Modesty is a virtue that must be cultivated. You should also avoid the flesh. Do not become a University lecturer.

You will always have students with different levels and you should be prepared for them

You will have motivated students, others will have been forced to go to class, others will want the certificate, some that don’t understand anything, some that are passing, others will look at the neckline of a schoolmate or even those who know more about the syllabus. You can’t make everyone happy, but you can create some levels in the activities to please the majority. You can give general explanations and give some advanced tips to high-level students. Think of a Marvel movie. There are jokes for children, others for adults and some for nerds who have read all the comics. The movies are for anybody, but each enjoys them at their level. The same must happen in your classes. If you have time, you can distract some students while you help others. For example, with killer tasks for pros and elemental tasks for students with problems.

Combine teaching with real professional experience

Another good choice in my career as a teacher. If you only teach, you will make lessons very academic and move away from reality. If you only work in private sector, you will lose the ability to explain and teach. They are two faces of the same coin. The students aren’t stupid, they will immediately see if your experience is real or theoretical.

On the other hand, teaching has allowed me to easily jump into private business. I always had a lot of work offers and I could select the best at any given time. In addition, it gives me an wide perspective of the work market and I can give honest advice about: what technologies to study, which companies to avoid and how to perform in a job interview.

Split the lessons into theory + rest + practice

This trio always goes hand in hand in lessons. The students need theory to understand concepts, a breather to imporve their attention span and practice to strengthen the knowledge adquired. I always had the habit to take a rest in middle of the lesson (exactly at 80 minutes), and give practical activities at the end.

To finish, a 3-hour lesson or more is too much. A person’s attention span is limited. If you cannot choose another option, as was my case, at a time when I was doing 6-hour-intesive lessons, take breaks every hour and insert group activities. Furthermore, make the students leave the classroom to disconnect and socialise.

Sometimes, the coffee break is often more important than the lesson

Usually, when we are in the break is when the students ask the more interesting questions and the more enriching talks take place. If the students are relaxed, and they have a chance to ask questions unrelated to the lessons, they usually losen up. That is when job matters, professional questions, anecdotes and personal stories about any of them make their appearance. In addition, it is a good place to network. You won’t even relax during the break.

You will have days when you are exhausted and don’t want to talk with any student. You can go to other teachers or maybe go for a walk. But this shouldn’t become a habit.

They are students for a time, but they will are old students for ever

I have the habit of maintaining the contact with the most interesting old students, I like to know how their professional lives are. Even, some months later, arrange to have a coffee to get feedback about their practice period. That way I can adjust some elements of the syllabus. In addition, a selected group of students have become my colleagues, clients or friends. They have even recommended me to their companies to do some work.

Looking after your old students is a long-term investment. Don’t discard it. They will think of you at the appropriate moment.

Everybody doesn’t need to learn programming

I took a lot of years to understand that only a little percentage of students would learn programming, and this isn’t my fault. People have different abstraction and logic skills. Some people aren’t able to understand how to write code without copying it. This does not mean that I left to their own devices, rather I can teach them other tools to work in the digital world. For example: automation, workflows, learn to communicate with programmers, understand software limitations , manageme tasks and soon on. They have good knowledge for their future jobs.

Never mix business with teaching

Don’t use the student to make external projects or as cheap labor. They will feel exploited, their work will be of low quality and if they are very busy then won’t learn anything.

In addition, don’t allow them to employ you during the lessons, because you will give them special treatment. Postpone the meetings until after the course. If they are in a hurry, it is not your problem. Prioritize the responsibilities or recommend a colleague.

When you teach technologies that bore you, look for the passion

When a teacher doesn’t feel passion about the syllabus, it shows. I would like to tell you: If there is something you don’t like, don’t teach it. But the real world is not like that. When you have to teach a technology that you don’t like, look at how to make it interesting including other basic knowledge that you believe is important. For example, if you have to teach PHP oriented to create templates for WordPress and you hate both technologies, you can include TDD, pattern design, componentes, debuging, APIs inside of WordPress and so on. You can always teach interesting things.

If you want to earn money and have free time, then don’t become a teacher

Teaching is a job that requires a lot of time, effort and dedication. Until you wear a jacket with an elbow patches, you won’t understand this. As programming, it isn’t for everybody. Teaching is for people with a very specific personality, they should have a vocation for it. On the contrary, you will feel one of the greatest personal satisfactions you can experience in any job. When a student tells you that you have changed their life, you feel that your lessons have transcended. It is real. In my classess, I have had students who I helped, in between lessons, to face the death of a family member, with self-esteem problems, with discovering their passion, to whom I have encouraged leave a toxic jobs, to get distracted while fighting cancer, even a girl who I introduced to her life partner (me). I remember every student, every situation, and I feel proud to have been there. Their names disappear from my memory Banks with time, but, luckily, the repercussions of my lessons will echo in them for eternity.

Another technical details

To end, I like to give some personal suggestions.

  • JavaScript is a good programming language to start. It is visual, accessible (you only need a web browser, that you have it) and its market is massive. Don’t mix yours personal preferences with academics, I preferred a lot of other languages, I promise you. There are ideal tools to teaching and other to developments.
  • You bring your own material, don’t depend on the school. This includes: laptop, HDMI adaptor, pointer, microphone and camera. In addition, software licenses, such as IntelliJ, AIs and so on.
  • With OBS you can record the lessons If you only record the desktop and audio, that is fine. But if you include the webcam then the students can see you gesticulate, it Will be awesome! Upload the recordings to the cloud so the student can see them later. Also, you can do streaming for the students that weren’t there to enjoy them remotely.
  • The best you can do is to share files on the Cloud, with Dropbox or Google Drive, instead of with Git. Not all students know how to use repositories. On the other hand, if you work inside the shared folder, to which students have access, you share your progress in real time!
  • VSCode is a very good editor for teaching, but WebStorm or PHPStorm are better. They are an all-in-one package, you don’t need to install anything else. Also, you can share your configuration with the students. If you are teaching in a recognized school, with an email adress from the domain, you can get a free license. Same for students.
  • Students normally don’t know how to use forums. A chat group is easiest for every body.

Conclusions

It’s the moment to develop my professional side. I will focus on improving my English, learning new software architecture and experimenting with dynamic groups (agile organizations are my drug). I don’t see myself in front about another projector, except to give a talk. Also, my new job is full-time, and now I have two cats (I am of the generation of no marriage, no children only cats).

This doesn’t mean that I won’t carry on making Opensource projects and continue to share knowledge in my blog or account on Fediverse. Also, my syllabus is still online, however you are warned that it is slowly becoming outdated.

I will always be grateful to teaching for all that it has given me and the friends that I have made along the road. Thanks to my old students for giving me the opportunity to guide them in the wild world of software engine and web development. I has been an honour . And remember: I expect a lot from you.

Here finishes my last lesson. Goodbye. 👋️

Spanish version

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.

Atribución/Reconocimiento-NoComercial-SinDerivados 4.0 Internacional

¿Me invitas a un café? ☕

Puedes hacerlo usando el terminal.

ssh customer@andros.dev -p 5555

Comentarios

{{ comments.length }} comentarios

Nuevo comentario

Nueva replica  {{ formatEllipsisAuthor(replyComment.author) }}

Acepto la política de Protección de Datos.

Escribe el primer comentario

Tal vez también te interese...