Monday, July 13, 2020

Üniversite tercihi: Tıp mı, bilgisayar mı?

Bu yılki üniversite sınavı (2020 YKS) geçti, Temmuz sonunda puanlar açıklanacak. Yüksek puan alacak sayısalcılar için tıp mı, mühendislik mi sorusu önemli çünkü hem lisans hem de sonrasındaki meslek hayatı ciddi ölçüde farklı.

İdeal bir kariyer ilgi alanlarının, yüksek değer problemlerin, gelecekteki seçeneklerin bolluğunun kesişimidir. Yüksek değer problemlerden kastım insanlar için acil ve önemli olan, çözülmesi için masraftan kaçınmayacakları problemlerdir. Çoğu sağlık problemi böyledir. Bu kriterlere okuma / çalışma şartlarının rahatlığını da ekleyebiliriz.
Tıbbın en büyük avantajı ortalama üstü gelire sahip iş garantisi olması. Saygınlığı yüksek, ilaç reprezantları, hemşireler ve hastalar etrafınızda pervane. İş yerinde kadın-erkek oranı dengeli, tecrüben arttıkça daha çok itibar görüyorsun. Dezavantajlara gelince; bölümü okumak zor, ezber fazla, uzmanlık istiyorsan TUS'u kazanmak zor, üniversite sınavı çabasından fazlasını gerektiriyor. Mesleğe atıldığında mecburi hizmet zorunluluğu var, iş saatleri sabit değil, nöbet var, insanla uğraşıyorsun. Yurt dışında çalışmak istersen tekrar zorlu/maliyetli meslek ve dil sınavlarına girmen gerekiyor. Kendi işini kurmak muayenehane açmaktan ibaret çünkü bunun ötesi ekipmanların pahalı olması nedeniyle ciddi parasal yatırımlar gerektiriyor. Araştırmacı olursan ortalama akademisyene göre daha iyi kazanırsın, hasta bakmak yerine araştırmaya vakit ayırabilirsin, tabi ki ancak iyi bir üniversitede kadro bulabilirsen... Velhasılı ancak tıbbı seven kişinin seçeceği bir bölüm...

Mühendislik bölümleri arasında bilgisayar mühendisliği açık ara avantajlı, çünkü iyi bilgisayarcılara talep çok, iyi olmanda kendi gayretin diğer bölümlere göre çok daha belirleyici. İnternetin ve bilgisayarının olması yeterli. Üniversite derslerinin dışında kendin de ek çaba gösterir ve sana yardımcı olacak, seni yönlendirecek insanlara ulaşabilirsen çok iyi bir bilgisayar mühendisi olabilirsin. Hem lisansta daha kolay okuyup sosyalliğe, hobilere zaman ayırabilirsin, hem de meslek hayatın rahat olur. Otomasyon çağında yaşıyoruz, crypto paradan bioinformatiğe kadar her alanda, dünyanın her yerinde çalışabilirsin, dolayısı ile ilgilerini tatmin edebilirsin. Ayrıca home office imkanları geniş, digital nomad olup dünyayı gezebilirsin. Son olarak altyapı yatırım gereksinimleri düşük olduğu için kendi işini kurup büyütmen tıbba göre çok daha kolay. Yenilik yoğun bir alan olduğundan henüz domine edilmemiş işe yarar konular bulabilirsin.

Tıbba veya başka herhangi bir alana özel ilgi duymuyorsan, öğrenmeyi seviyorsan, bilgisayar başında saatlerce oturabiliyorsan (bu oyun oynamak şeklinde de olabilir), yurt dışı vizyonun varsa bilgisayar mühendisliği en iyi seçimdir. Hele de benim gibi işini severek yapan, yardım etmeyi seven tecrübeli bir tanıdığın varsa...

Linkler:

Tuesday, July 07, 2020

Software product maturity levels

Software products have three maturity levels:
  1. Product sometimes works.
  2. Product usually works.
  3. Product always works.
Transition from lower to higher maturity levels is achieved through experienced personnelbetter development practices and tests.

Friday, July 03, 2020

Probability of at least one failure

Say you have a system with 3 components (a, b, c), each having a failure probability of 0.1. What is the probability of at least 1 component failing? The standard way is P(at least 1 fail) = 1-P(all pass) = 1-(1-p)^n, where p = 0.1, n = 3 and result being 0.271 in our case.

The longer way is to find all unique failure combinations and their probabilities and sum them up because any of those combinations will satisfy "at least one failure" criteria. Pass probability = 1-0.1 = 0.9. Since fail order is not important, we can use combinations:
  • Failure combinations: abc, a (b and c pass), b (a and c pass), c (a and b pass), ab (c pass), ac (b pass), bc (a pass)
  • Probabilities: 0.1^3, 0.1*0.9^2, 0.1*0.9^2, 0.1*0.9^2, 0.1^2*0.9, 0.1^2*0.9, 0.1^2*0.9
  • At least one failing: abc OR a OR b OR c OR ab OR ac OR bc. In probability, OR is summation, AND is multiplication.
  • Sum: 0.1^3 + 3*0.1*0.9^2 + 3*0.1^2*0.9 = 0.271
  • Check with short solution: 1-(1-p)^n = 1-(1-0.1)^3 = 0.271
We can generalize it as follows. C(n,k) means number of k combinations in a set of n elements:
  • P(At least 1 fail) = C(3,1)*p*(1-p)^2 + C(3,2)*p^2*(1-p) + C(3,3)*p^3
  • k=1..n, sum(C(n,k)*p^k*(1-p)^(n-k))
  • Binomial Theorem: k=0..n, sum(C(n,k) * x^k * y^(n-k)) = (x+y)^n
  • If we use x = p and y = 1-p, we get k=0..n, sum(C(n,k) * p^k * (1-p)^(n-k)) = (p+1-p)^n = 1. The reason that this summation is one is that it represents all possible combinations and sum of probability of all combinations (including no failure case) is 1. 
  • In our case k starts from 1, because. we don’t consider the empty set, i.e. no failure case. Probability of k=0 (no failure) case: C(n,0) * p^0 * (1-p)^(n-0) = (1-p)^n.
  • Subtract k=0 case: k=1..n, sum(C(n,k) * p^k * (1-p)^(n-k)) - (1-p)^n = 1-(1-p)^n, which is equal to the short solution at the beginning of this post.