Showing posts with label career advice. Show all posts
Showing posts with label career advice. Show all posts

Tuesday, February 18, 2025

Learning from failures

Failures present valuable opportunities for learning only when there is no blaming or shaming of individuals. What may initially appear to be a foolish oversight often reveals systemic issues. A common cause is placing inexperienced personnel under unrealistic time pressures—neither of which can be resolved in the short term. This can lead decision-makers to treat complex systems as if they were linear or simplistic, ignoring interconnected factors and feedback loops [The Logic Of Failure]. People often focus on immediate outcomes without considering long-term or indirect effects, resulting in burnout, stress, and demotivation [Death March].

If failures were treated as insights that help uncover the mysteries of the physical world, they might even become occasions for celebration—because each failure reveals something new. They could be thoroughly analyzed and shared widely so that everyone benefits. Of course, this requires a reality-based culture of critical thinking, rather than a rush to find someone to blame—whether to feel good about ourselves or crush our rivals—until the next mishap. The road to most engineering catastrophes is paved with cover-ups of smaller mistakes.

The best examples of failure analysis come from the aviation industry, where even seemingly outrageous mistakes [Aeroflot Flight 593, Pakistan Airlines 8303] are traced back to systemic root causes like problematic hiring processes and insufficient training.

Music: Adelita (classical guitar)

Sunday, November 03, 2024

Career advice for students

Yesterday, we had a meeting organized by ODTÜ KAF, where graduates and students came together to share experiences. We had interesting conversations, focusing on questions like, "I face many difficulties getting an interview, what can I do to increase my chances? How should I present myself in an interview?"
First, expand your network, as it largely determines the opportunities you receive. Attend/organize events like the one yesterday. Look for ways to be useful by volunteering for work you enjoy or can at least tolerate. For example, I teach robotics to kids for free. Since I like engineering and helping others, it's manageable for me, and it allows me to be part of a community. Create online content to make it easier for others to discover you. No one is immune to peer pressure, pick good peers. Be patient; it may take more than a year to see any results.

On the self-development front, strive to be a rational, decent human being who lives in reality, not in the fantasy we are all susceptible to creating for ourselves. Some helpful books are Thinking Fast and Slow, Getting Things Done, and The 7 Habits of Highly Effective People. For more books, click here. In your university courses, get good grades, aim for a CGPA of 3 out of 4 (75%).

While looking for a job, focus on jobs related to your field of study, not so much on your dreams. For example, if you're studying food engineering, don’t try to break into digital marketing or software engineering, as the competition there can be overwhelming for you. Once you’ve established a strong foothold in your field, you can try branching out into other areas. Remember that the position you start in is not your destiny; I have made dramatic career changes three times while staying at the same institution for the past 28 years, transitioning from mechanical engineer to simulation engineer to software engineer.

Don't just blindly send CVs, use LinkedIn to directly message people working in companies you're interested in. Ask them about the company and how you could contribute. Seek advice on improving your chances of securing an interview and being accepted. Inquire about the approximate salary range for the position you're targeting. Most people will respond positively. Since LinkedIn shows whether any of your contacts are connected to the people you want to reach, you can ask your contact for an introduction or message them on your behalf. Work on personal projects that are aligned with those companies and share your progress on social media to increase your chance of getting noticed because it is an effective way to show your interest and capabilities in the field and your presentation skills.

During the interview, avoid saying mundane things like "I like to learn" or "I am a team player". Emphasize that your goal is to create as much value as possible for the people around you and the company, and provide examples (by citing examples from your LinkedIn research) of how you could achieve that.

When you get a job, ask yourself, "How can I create maximum value for the people I interact with?" You can even ask them this question directly; they'll likely appreciate your initiative. These individuals will become your internal network, whose support is crucial. Of course, they need to be people you respect, as your quality of life depends more on them than on the company as a whole. Don’t obsess over what others earn; focus on how you can become more effective in your job. If after a few months, you realize that you dislike the job or don't respect the team, seek advice from an experienced mentor, like me. If your mentor agrees that the problem is not you but the job/team, consider alternatives such as transferring to another department or company.

After I explained how I assist students with their studies, help them find internships and jobs, and provide guidance throughout their careers, I was asked why I help others. I've always been fortunate in many respects, such as having a loving family and living in a relatively stable part of the world. I feel indebted, want to give back, and create value. I already have a comfortable life and don’t need many material possessions. Much of life's meaning lies in helping others navigate this complex world and reducing suffering when it's within my power to do so with little effort.

Thursday, July 18, 2024

Üniversite mi, bölüm mü

2024 YKS üniversite tercihleri ile ilgili son günlerde izlediğim iki videoda "seçim yaparken üniversitenin kalitesi bölümden çok daha önemli" vurgusu yapılınca (video 1, video 2) 27 yıllık mühendis olarak bu yazıyı yazma ihtiyacı hissettim. Bölümden ziyade üniversiteye önem vermenin artılarından bahseden çok da eksilerden bahseden yok.

İyi üniversitelerin en çok vurgulanan faydaları öğrenci kulüplerinin fazla olması, etkileşimde bulunacağın insanların kalitesi ve üniversite networkünden yararlanmak. Burada söylenmeyen husus mezun olduktan sonra kendi okuduğun bölümün dışındaki öğrencilerin profesyonel anlamda sana pek bir faydasının dokunmayacağı. Örneğin Hacettepe öğretmenlikte okurken toplulularda mühendislik ve tıp öğrencileri ile arkadaşlık edebilirsin ama mezun olduktan sonra onların sana iş konusunda destek vermeleri ne kadar mümkün? Bölümden arkadaşların ise staj ve iş bulmana yardım edebilirler, iş yaşamın boyunca onlara danışmaya devam edebilirsin.

Bu arada mühendislik okurken topluluklarda vakit geçirme imkanın az, ben üniversitenin tadını mezun olduktan sonra çıkarabildim, okurken bahar şenlikleri uzaktan duyduğum hoş bir sada idi.

Aileler üniversite adının prestijini kullanmayı seviyor, genelde "bizim çocuk ODTÜ'de okuyor" denir, bölümden bahsedilmez pek. Öğrenci de üniversite sınav badiresini atlattıktan sonra bu itibardan yararlanmak ister. Ama aynı aileler mezuniyet sonrası çocuklarının iyi bir işte çalışmasını daha çok ister. 

Klasik öğrenci hayalleri: "kötü bölüme girsem bile kendimi geliştiririm, yazılım öğrenirim, yüksek ortalama tutturup daha iyi bir bölüme yatay geçiş yaparım, çift anadal yaparım." Bunları başarma olasılığın çok düşük. Bir yıl daha sınava hazırlanmaya mecalin varsa ve "mezuna kalır ve başarı sıralamamı ciddi oranda iyileştiririm" diyebiliyorsan şansın daha fazla.

Geleceği parlak bölümlerin sayısı az. İyi üniversite hevesi ile önü kapalı bir bölümü seçersen pek çok işe başvurman bile mümkün olmaz. İş ilanlarında üniversite adının yazıldığını ben hiç görmedim ama istenen bölümler mutlaka belirtilir.

Örneğin 25K sayısal başarı sıralaması ile Ankara'da devlet okulunda mühendislik istiyorsan ODTÜ Petrol Müh., Hacettepe Kimya Müh. veya Gazi Bilgisayara girebilirsin. Eğer aslolan üniversitedir diyeceksek ODTÜ Petrol'ü yazman gerekir. Bilgisayardan mezun olduğundaki seçenek bolluğu ile petrol veya kimya mühendisliğinden mezun olduğundaki seçenek darlığını dikkate almanı öneririm.

Kritik soru şu: Önündeki 4 yılı mı optimize etmek istersin, 40 yılı mı? Tavsiyem üniversite gözetmeksizin başarı sıralamana uygun bilgisayar mühendisliği bölümlerini yazmandır, nedenlerini daha önceki bir yazımda açıkladım.

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, February 17, 2021

Fantasy and quality

Estimating how long a complex project will take is difficult, especially if it contains software development. Experienced engineers can estimate cost based on past projects. However, I am puzzled to see time and time again senior managers who come up with overly optimistic schedules. 

One reason might be to motivate employees to work harder. The novices will think that a short duration overtime will solve the crisis and they will be back to normal where in fact it will take months. You can fool people only once, and when they find out, you won't be able to motivate them again.

Another reason is to avoid conflict with upper management and after some time, starting to believe in your own optimisim, see Waltzing with Bears.

When management continues to live in fantasy land, after a couple of months people will be disillusioned, morale drops and the project takes longer with lower quality than would be the case at a normal pace. This type of mismanagement is only rational if the manager is expecting a change of position soon, meaning that he/she won't have to deal with the mess. 

Quality suffers because everyone thinks that this will be over quickly with a firm push, resorting to quick and dirty fixes, reasoning that the mess will be cleaned up soon. The longer the crisis mode drags on, the more technical debt is accumulated, which in the end becomes so large that no one is eager to refactor the system, fearing that the slightest change will break it. This leads to high cost maintenance and can cause catastrophic failures whose root cause can be impossible to find. Due to endless rework and troubleshooting, total cost of project increases dramatically.

Intellectual work like software development requires good concentration which in turn requires a rested, motivated individual. Long overtimes are like killing the goose that laid golden eggs.

My suggestions in a nutshell:
  1. If you are a manager, avoid more than a couple of weeks per year overtime. Have a look at my reading list. Always look at past data, be aware that avoiding conflict with upper management might lower your stress in the short run but it has a high price down the road.
  2. If you are one of the "managed" ones, politely point out the risks. But if you see that no one is interested in that, shut up and concentrate on improving the quality of your work and documentation so that when disaster strikes, you will be able to quickly demonstrate that your piece of work is not to blame. Read Death March.

Monday, July 13, 2020

Üniversite/bölüm tercihi

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. Eğer hastanede çalışıyorsan penceresiz odalarda her 10 dakikada bir, günde 100 hasta bakmak zorundasın. Teşhis için yeterli süre olmadığından "aceba doğru karar mı verdim" sorgulamasını sık sık yaşayabilirsin. Örneğin 9 yıl önce Hacettepe'deki bir uzman doktor 10 dakikada annemin bağırsağının dörtte birini ameliyatla alma kararı vermişti. Neyse ki sonrasında gittiğimiz özel doktor 1 saatten fazla vakit ayırarak bize istatistikleri detaylıca anlattı, ben de mühendis olduğumdan o istatistikleri yorumlayabildim ve annemin ameliyat olmamasına karar verdim. Bu olay 9 yıl önce oldu, annem şu an hala gayet sağlıklı. Hacettepe'deki doktoru suçlamıyorum, o şartlarda hızlı karar vermek zorundaydı. Hikayenin ayrıntısını merak edenler şu podcast'imi dinleyebilirler.

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/yazılım 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.

Arada "Elektrik-Elektronik yazıp kendimi bilgisayarda geliştiririm" diyenler oluyor. Bunu diyenler bilgisayarın ne kadar derin bir alan olduğunu bilmiyor, bilgisayarı web sayfası tasarlamak ya da python öğrenmek sanıyor, bu biraz matematiği aritmetikten ibaret sanmaya benziyor. Bilgisayar derinliği olan bir alan ve bilgisayarda gördüğün derslerin çoğu kariyerinde işine yarayacakken elektronikteki derslerin çoğu işine yaramayacak, çektiğin eziyetle kalacaksın. Mühendislik kariyerini inşaa etmek için en iyi temel bilgisayar mühendisliğidir.

Bir başka argüman da "fiziği seviyorum, fizik okumak istiyorum"... Sayısalcıysan tabi ki fiziği seveceksin, ben de seviyorum, okuduğum kitapların, izlediğim videoların önemli bir kısmı fizikle ilgili. Türkiye'deki üniversitelerin fizik bölümlerinin Nobel ödüllü, ilham verici hocalarla dolup taştığını mı sanıyorsun? Ne yapacaksan kendin yapmak zorundasın. Fizikçiye ihtiyaç az, fizik olimpiyatlarında madalya almadıysan fizik okumanı tavsiye etmem. Fiziği seven biri bilgisayarı da sever, bilgisayarı uygulamalı matematik gibi düşünmek lazım, örneğin veri iletiminde hata düzeltme, kriptografi, numerik metodlar. Bilgisayarın fizik ve matematiğe göre avantajı kolayca değer yaratma imkanına sahip olman. Değer yarattığın zaman psikolojik tatmin ve maddi imkanlar da onun doğal sonucu oluyor. İlla fizik diyorsan bilgisayarı bitirdikten sonra fizik alanında çalışabilirsin.

Son olarak "sürekli bilgisayar başında, asosyal bir işte çalışmak istemiyorum" cümlesine cevabım "tüm mühendislik mezunları vakitlerinin neredeyse tamamını bilgisayar başında geçiriyor. Ancak teknisyenlik türü işlerde bilgisayar biraz daha az kullanıyor. Sosyallik sana bağlı, sen ne kadar sosyalleşmek istersen o kadar sosyallerşirsin, zaman içinde yönetimsel işlere de kayabilirsin."

Öğrenmeye ve kendini çok farklı alanlarda geliştirmeye meraklıysan bilgisayar mühendisliği en iyi seçimdir. Hele de benim gibi işini severek yapan, sana yardım edebilecek tecrübeli bir tanıdığın varsa...

Tuesday, January 15, 2019

Job attitude

Recently some novice engineers complained about their work, saying that it was boring. My own attitude towards my work is first and foremost "am I useful, do I add value". If I am not able to answer that question with a resounding yes, I have to find ways to make myself useful. Only after that do I allow myself to ask for more.

If you take initiative instead of complaining, you will go a long way, especially in fast growing environments, where there are many new challenges whose solutions nobody knows yet.

Similarly, if someone outside my workplace asks for my services, my first question is never "how much will you pay me" but "how can I be of help to you, is this problem worth solving".

As long as you keep on adding value, responsibility, respect and money will follow.

Sunday, March 05, 2017

Software manager reading list

A few days ago, a manager friend of mine asked me for advice about what to do in a project that is near crisis, i.e. it has missed a deadline and looks like will be over budget.

Crises are common in software projects because their complexity usually is beyond our time and resource prediction capabilities. I offered my friend the following books and recommended reading them first before demanding that his team starts working overtime:
These books will ground him in reality and make him realize what kind of a mess he is in. I also told him that he should only tell his superiors the reality if he is certain that they are interested in the truth. A lot of times people want to hear only good news and are content with ignorance until it hits.

If you sense that your superiors want to live in fantasy land, never tell them the bad news because you will be labeled as a pessimist. Even after your predictions prove to be true in the end, you being labeled as a nuisance won't be washed away.

These books will help you understand what is going to happen and why. You might not be able to change the outside world, but you will have less stress inside, not feeling any guilt, knowing that you did the best you could.