I am teaching since February

At the end of January I finished my contract with a software development company, and since February 2008 I am again (after 10 years break) teaching computer science on secondary school. The final decision came at the last moment, and now I am so busy that it makes me almost unable to communicate. So this is information for those who do not know, and explanation for those who know and wonder why. ;-)

After ten years of programming I feel tired and need some rest. I gradually more realize that this is not what I have imagined as a student of computer science. Those days I loved programming; I liked to study new things about computer science, discuss them, plan new projects, and realize them. But this passion has gone during the years, and I start percieving the work at computer as dull and boring. I do not have any pleasure from it, I do not feel proud about what I did, I do not see sense in living this way. Or, to say it in a fashionable manner: I am "burned out".

Some time ago I have noticed similar changes at some of my colleagues and peers, and I did not understand them. Then it started happening to me, and many people told me that this is normal and unavoidable. The work is not fun, the pleasure must be sought in a free time, the passion is gone along with the youth, and only duty remains. I guess this is the fate of most people, but I also know a few lucky ones, who in different professions succeeded to find some sense and happiness. Recently also in the IT field some people begin to realize that a productive employee needs something more than a fast computer, high salary, regular meetings, and frequent deadlines. But it will take a lot of time, probably also because IT is still mostly male domain, and the "typical man" solves his problems alone and silently, or just stubbornly goes ahead until he is completely exhausted.

My last programming job was the best so far: programming in Java using free software, some design patterns and extreme programming, great colleagues (personally and professionally). Let's add high monthly salary, regular re-evaluations... to say it shortly, during one year I learned to work with a few new technologies, I gained new kinds of programming experience, so I increased both my savings and my qualification in a hopeful area. But anyway... there were some things I did not like, so I realized that this is probably not about a specific company, but it is the whole profession I stop liking. I get annoyed by things I would not notice during the first years, or would not mind them so much. But when it starts, it becomes a loop; when I stop liking programming, it becomes difficult to learn new things, so after a hopeful start there comes stagnation.

Mostly I hate the uniformity. Some projects take years. You start by learning much, but then it is whole months the same thing again and again. You implement million-first and million-second requirement, which do not bring any new quality. The consequences of former wrong decisions from previous project phases (or decisions that seemed right at the time, but became burdens as the project evolved) are accumulating, they cause unpleasant problems that you have to fix, but there is no time to properly fix the initial problem, because there is a deadline next week, and the project must look as polished as possible. Then there is no time to improve old things, because you have to add new functionality. After some time the maintenance part of job exceeds the creative part; it is no longer important to study new trends in informatics or to design elegant systems, but to remember the weak points of the existing system, and to add yet another part without making it break completely.

Changing your contract is the best way to solve this uniformity -- unfortunately, it works only for a short time. You can finally forget the details of the old project. You can choose a new and interesting technology. And if you are choosing among different companies, it is easier to negotiate high starting salary, than it would be to demand increasing the existing salary in the previous job. The salaries between IT companies in Slovakia are pretty different, and they dramatically increase with the years of your experience... unless you spend whole your life at one place. By the way, if you have a rule in your company that you do not discuss each other's salaries, just think about its side effect -- you will never know the market price of your work. Really, think about it. From my experience, I was never sorry for changing my job, but a few times I was sorry I did not make the change sooner. In my opinion, a young person working in a quickly expandind area with long-time lack of qualified people, should prefer their professional growth and experience to stability. Whenever they will want a cool and safe place, with rich professional curicullum they can find it easier.

Other things I did not like: to look eight hours daily to computer display (if you have meetings, it is only seven and half), to be closed the whole year in the room with the same ten colleagues (nothing personal, but I just need to see new faces sometimes), one-sided focus without possibility to use and develop my other abilities and interests. One of those interests is psychology, so I studied something about what would a perfect job be like. Maybe it will surprise you, but the work of teacher is pretty close to the ideal. I do not want to say that it is an easy job -- no, easy jobs do not make people mentally satisfied. But...

A perfect job should have a clear goal. Teacher sets his goal at the beginning of the year, for the whole year and for individual lessons. Of course it is not always everything by the plan, and you need to improvize a lot, but in programming you could only dream about something like that -- most of the requirements you would receive at the last moment. Focus -- in classroom, you have to focus. If the students are good, you focus on teaching, and if they are bad, you focus on discipline; there is always something that requires your full attention. You do not have to plan time, it is given by school schedule. (It is easier to focus on your work if you know the exact time when to stop. Otherwise you regularly start thinking whether it is now the right time to stop, or not yet.) Of course after 45 minutes of intensive focus you have to send students away from classroom, and take an intensive rest.

Feedback -- in short time, I just ask if everything was clear; in long time we need exercises and tests. By the way, in this area my opinion has changed thanks to my recent programming experience. Years ago I considered examining an unpleasant task (both for teacher and student), something that could be avoided if the student is sufficiently internally motivated (yes, in a perfect world they all would be). But now under influence of extreme programming (unit testing, test-driven development) I see tests as a perfect educational tool, if used right. (More about this idea in some future article.)

A perfect job should be optimally difficult; too hard work makes you tired, too easy work makes you bored. The work of teacher has a wide range where he can find his best place. The minimum version: I lecture what is written in the textbook, I examine, that's it. (The problem is finding the right textbook. But you can find some texts, and you have Wikipedia and many online tutorials.) There is no maximum version, because you can always think about how to improve your explaining, how to make better teaching tools, or you can start some new projects. The important part is that you can move within these boundaries depending on how you feel at the moment, whether you have a good or bad week. Because in some limits, the teacher is his own boss, he can experiment and improve. It is easier to see problems as "challenges" if you have freedom to react on them creatively; whenever I think I did a mistake, I can teach the next lesson completely differently. And when I teach computer science, I speak about what I love.

Is this too idealistic picture? Surely, in the three weeks I have experienced also the worse parts; more about them in some other article. I also have to mention that in this job I meet each week about 100 people, that even the worst lesson ends after 45 minutes, that I have 40 days vacation in year (and the vacation does not have to be compensated by increased effort before I leave and after I return), that I can see the good results of my work (on a few student only, but even this is more than I have ever seen users of my programs), and that the part of my work is also creating textbooks and teaching tools -- so I can work on my own projects too. These are the things I missed as a programmer. So despite the change from programming to teaching is financially worse, I can afford it, and so far I think it was a good change. Of course, a few months later I will know better if the new lifestyle is better for me in a longer time.

Comments: 0


Google