Wednesday, December 21, 2022

Teaching software

I have been teaching software for a couple of years to a wide variety of audiences, from kids to computer engineering students. My experience is that around 1% can do it without my help. About two thirds lose interest after a month and about one third have difficulty initially but if I am patient and keep on helping and motivating them, they succeed. If we liken learning software to moving a large stone, the picture is as follows:
I optimize my teaching methods to serve the one third who can go over the hilltop with a little push from me.

Tuesday, August 02, 2022

Üniversite tercihi

İki yıl önce üniversite sınavında ilk 20 bine girmiş öğrenciler için Tıp mı, Bilgisayar mı isimli bir yazı yazmıştım. Bugün ise sonuçları o kadar iyi olmayan, örneğin 80 bin civarı sıralama yapmış sayısal öğrenciler için önerimi paylaşacağım.

Wednesday, June 29, 2022

Avanta kültürü ve sonuçları

Kendimi bildim bileli özel sektör, belediye ve kamu kuruluşlarına mal ve hizmet satmaya çalışanlar azımsanmayacak oranda hafif tabiriyle komisyon/avanta, ağır tabiriyle rüşvet gerçeğiyle karşılaşırlar. Emek vermeden sağlanan kazanç anlamında kullanılan avanta alışkanlığının her kademede yaygınlaşmasının sonuçlarından biri hizmet kalitesinin düşmesi ve maliyetlerin artması iken diğeri beyin göçünün hızlanması ve yeni şirket/girişim kurmaya olan hevesin düşmesidir.

Becerilerinin birincil unsur olmadığını fark edenler ya daha fazla değer görecekleri başka diyarlara gider ya da demoralizasyon nedeniyle herhangi bir yenilik/girişim için uğraşma istekleri düşer. Bu ortamda kalan ve avantadan iğrenenler için mantıklı olan iyi şartlar sağlayan büyük kurumlarda teknik işlerde çalışarak kendilerini izole etmektir. Böyle insanlar girişimciliğe ancak iyi bir iş bulamamaları durumunda ya da bilgisayar oyunu geliştirme gibi aracıların az olduğu sektörlerde başvurmalıdır.

Bir örnek vaka olarak avanta kültürünün Rus ordusundaki etkileri için bkz How Corruption Destroys Armies - Theft, Graft, and Russian failure in Ukraine

Thursday, June 02, 2022

Project priorities and role of top management

An important role of top management in a large corporation is to make sure that projects are managed according to contractual priorities. One way project managers deviate from priorities is by pursuing features not expressed in the contract with the argument that they are trying to make the product better. This approach would be fine if there were infinite time and resources. Since projects have to operate within hard constraints, a manager has to first satisfy the minimum requirements, otherwise the project will be late and engineers will be confused and demoralized.

In my earlier years, I thought that when managers are reminded of priorities, they would quickly change their way of doing business. To my dismay, I saw that this is sometimes not the case, with catastrophic results. When you say to anyone "a project should follow priorities", you will get a "yes" response 100% of the time. But implementation can vary widely. After living in fantasy land, the second most common reason of project failures are not technical or budget deficiencies but wasting time on low priority tasks while many high priority ones were still waiting for attention.

Top management should from time to time have informal meetings with people one or two levels down the project manager and ask them whether they think the project in managed according to priorities.

Thursday, May 19, 2022

Career advice for engineers

While working as an employee, you should also be on the look out for industry trends. One of the easiest ways is to go to your LinkedIn account, add details to your profile and check "open for offers". LinkedIn will send you job offers matching your profile. These offers will give you an idea of what skills are in demand. You can use this information to guide your hobby/side projects. Even if you are happy at your current job, apply to other jobs because it will force you to pay more attention to your CV and your skill development. Try to expand your professional network by attending networking events and get as much job interviews as you can so that you can assess what you are really worth. You will feel in control and be prepared for any emergency that might cause you to change your career. And who knows, may be there is a better alternative than your current dream job.

Thursday, May 12, 2022

Aligning audience expectations

Today I attended a workshop and noticed that my expectations and the presenter's goals were not the same which caused me to question the flow of the presentation. I gave the following feedback:

  • What problem are you solving, what are the alternatives, what is unique about your solution?
  • Tell the audience what to expect, what they will get at the end of the presentation, e.g. "to get familiar with Yocto concepts and workflow, to build a minimal Linux image".
  • More importantly, tell what NOT to expect, e.g. "we will not build a full Linux distribution from scratch because it will take more than one day"
  • What is expected of the audience, e.g. you should know how to install Linux packages.

Wednesday, March 16, 2022

Bad argumentation by repetition

I noticed that when arguing, surprisingly many people fall into the following pattern:

  1. Person A provides argument A1
  2. Person B provides counter argument to A1, namely B1
  3. Person A provides counter argument to B1, namely A2 
  4. Person B provides counter argument to A2, namely B3
  5. Person A repeats argument A1 instead of providing a counter argument to B3
  6. Person B reminds Person A that A1 has already been countered by B1 and that he needs to come up with a counter argument to B3
  7. During the course of discussion Person A keeps on repeating some of the previous arguments and Person B usually gets frustrated by this repetition. Person A cannot understand why Person B is getting angry, even tough Person B has stated the reason.

Friday, January 14, 2022

Yazılımcılar için gözlük rehberi

Son beş yıldır yakın görmem kötüleşti, geçenlerde göz doktoruna gittim. Muayenede mercekli bir alete çenemi dayayıp baktım, doktor örnek bir gözlük taktırmadı. Muayene sonucu 1.25 derecelik yakın gözlüğü yazdı. Doktora yazılımcı olduğumu söyledim ancak verdiği derece kitap okuma - cep telefonuna bakma mesafesi (40cm) için geçerliymiş meğer. Oysa iş yerinde daha uzaktaki (toplamda ~70cm) ekrana bakıyorum. Tanıdık bir optikçiye gittik, benim iş yeri kullanımım için 0.50 veya 0.75 derecenin daha uygun olduğunu söyledi. Deneme yaptık, bana en uygunu 0.50 çıktı. 1.25 nere, 0.50 nere...

Göz doktoruna gitmeden önce tipik çalışma ortamınızdaki ekran uzaklığını ölçün, doktorun size uygun dediği dereceye sahip bir gözlüğü muayene sırasında takıp ölçtüğünüz ekran uzaklığındaki bir ekrana ya da metne bakın, daha düşük dereceli camlar ile tekrar deneyin, net görebildiğiniz en düşük dereceyi seçin.