Labels

"Igbo Blues" 2006 2008 2010 Acceleration of proceedings Adamosa Osagiede Admissibility of oppositions Africa Musica African Divas African Fiesta Akwé Obiang Amharic Amunataba Dance Band Angèle Revignet Appeals : miscellaneous As I Lay Dying Bella-Bella Benga Bezawork Asfaw Biafra Bikutsi Bob Sir Merenge Bobongo Stars Bring Me The Horizon Bumba Massa Cameroun Canon Star cara mendapatkan uang Central African Republic Centro Mix Chelsea Grin Christy Essien-Igbokwe Claim interpretation Clarity CoC CoC akan Ditutup CoC ditutup Hoax CoC resmi ditutup CoC Tidak jadi ditutup Congo Correction of errors Côte d'Ivoire DDC Mlimani Park Orchestra Deathcore Desolation Of Eden Divisional application Douala Dr. Nico drone Dur Dur Ebenezer Obey Edo Efik Egwu Ekpili Elias Tababbal err errbot Ethiopia Ewi Ezigbo Obiligbo Faadumo Qaasim Fees Framework of appeal Francis Gon Gabon gaming gentoo Ghana golang Hausa Highlife Hilarion Nguema I.K. Dairo Igbo Igbo Traditional Music Info Itsiembu Bi-Mbin Jean-Boniface Asssélé Jerry Hansen Jezu Lokota Jo-Man Anguilet Josky Kiambukuta Juju Julien Nziengui Kenya Kiam Kosmos Moutouari l'ANPAC Presente Lanrewaju Adepoju Lapiro de Mbanga Late filing lego Leonard Dembo Libaaxyada Maaweeliska Banaadir Lingala linux Lipua-Lipua Mack Joss Makossa Mali Marcel Djabioh Marthe Ashagari Mayele Mbalax Mbaye Dieye Faye Melo Divine Metalcore Mike Ejeagha Miriam Makeba Mobanza Ley Musiki Mutuashi Muziki wa Dansi Nigeria Nigerian Female Vocalists Norbert Epandja Novelty Obiang Okane Oral proceedings Orchestra Cavacha Orchestre African Jazz Orchestre Veve Osayomore Joseph Other Blogs Ouaka Stars Partiality Patent Register Patrick Idahosa Personal musings Petit Tchadien Pierre Embony Pierre-Claver Zeng Pop Prior public use python Real Sounds of Africa Reimbursement review Rex Lawson Rigo Star Rock Sahra Dawo Santo Backita Senegal Shona Show Promoter Sierra Leone software development Somalia Soukous South Africa Stay of proceedings Substantial procedural violation Sufficiency of disclosure Suicide Silence Super Stars Swahili Sylvester Odhiambo Talents of Benin Tanzania Technical or not Teshome Asged Tips tmux Togo Toto Guillaume tutorial Verckys Vijana Jazz vim Waaberi Wolof Yoruba Yoruba Percussion Styles Yvon Dawens Z 3.1.01 Z 3.2.04 Z 3.2.07 Z 3.3.02 Z 3.3.03 Z 3.3.10 Z 3.5.01 Zambia Zimbabwe Zokela

Little things I would teach to my younger software engineer self - #6 The "debugger trance"

Looking back at the various stages of my career, I realized I could have learned some basic stuff way earlier than I did.
Even if I missed the original opportunity, all those little skills I acquired late served me tremendously well ever since.

[credits to my colleague Eamonn McManus at Google for reminding me this one and cointing the term!]


1999-me: We have a memory corruption in this LDAP server implemented in C++, I'll figure it out with the debugger, I am sure, it is just a matter of time!

2014-me: A debugger is a really powerful tool but you need to use it only when it makes sense.




It gives you a very thin slice of what is happening in excruciating details. 

Don't get lost in there, often a log statement correctly placed after some general reflection about where the problem might comes from saves you a ton of time stepping through thousands of unrelated lines of code. It also makes you a better programmer because you'll train yourself to stay on top of those pieces of code growing in complexity.

And BTW, you'll never find this memory corruption, it was corrupting the stack and render your debugger useless after stepping through thousands of irrelevant lines, few days later you'll give up. Instead of that, you should have tried to understand the code, reproduce the bug with a reduced concurrency, dichotomize to focus on the problematic area and figure it out for real.

Any tips you would give to your younger self programmer ? Feel free to comment below !

0 Response to "Little things I would teach to my younger software engineer self - #6 The "debugger trance""

Post a Comment