SOLID principles are connected with each other and main focus is improving coupling & cohesion by managing dependencies with encapsulation and abstraction techniques.
SOLID is not a goal. It is a guideline for using during refactoring into a better design.
@codemanship
I think SOLID principles are something different than what majority understands or does. I tried to explain in one of my talk I'd love to hear your feedback about it.
Dear
@AppleSupport
, we noticed a *HUGE* security issue at MacOS High Sierra. Anyone can login as "root" with empty password after clicking on login button several times. Are you aware of it
@Apple
?
@AppleSupport
@Apple
You can access it via System Preferences>Users & Groups>Click the lock to make changes. Then use "root" with no password. And try it for several times. Result is unbelievable!
Let's clarify:
* censoring is not protecting
* code tidying is not refactoring
* more people is not being faster
* estimate is not deadline
* velocity is not performance
* utilization is not efficiency
* growing is not scaling
* sitting together is not being a team
If I had a chance to travel in time to go back my 20s, I would..
* learn less frameworks, more basics
* read less blogs, more books
* go less hangouts, more meetups
* do more practice, practice, practice
1/ Türk Java ekosisteminin bir parçasıyım. 21 senelik kariyerim boyunca bu ekosistemde yer aldım. Java Day Istanbul etkinliğinde bu sene konuşmacı olarak yer alıyorum. Etkinlik yada topluluk ile başka bir bağım yok.
Erkekler kadınlardan ne daha kabiliyetli, ne daha akıllı, ne de yazılıma daha yatkın. Tıpkı erkek sürücülerin kadınlardan daha iyi olmaması gibi.
Bu, bu kadar netken, biz erkekler neden tam aksini düşünebiliyoruz, kadınları neden anlayamıyoruz hiç düşündünüz mü? +
İzmir ziyaretinde yakalandık depreme. Kırılan eşyaların sesleri ile dondum kaldım, ne yapacağımı bilemedim. Çok şükür iyiyiz. Yakında İstanbul'a döneceğiz. İlk iş deprem çantası hazırlayıp, ailecek deprem anında ve sonrasında yapacaklarımıza çalışacağız. Sen de depreme hazır ol.
I feel I am ready to practice the followings to improve my life.
* Eat slower
* Exercise my body
* Stop multi-tasking
* Disconnect from technology everyday and think, just think, alone
* Stop waiting others to change
* Question all my beliefs objectively
Are you ready too?
"Mock kullanmadan unit test yazamıyorum, integration test varken unit teste ne gerek var diyorum, test coverage limiti geçsin diye saçma testler yazıyorum, ne kadar test yazmak lazım bilemiyorum" diyenler, sizi tüm kalbimle hissediyorum.
Bu akşam tüm bunları konuşmak ümidiyle🖖
IMHO, 5 practices having biggest impact on software quality (in order of magnitude):
1. Pair/Mob Programming
2. Refactoring Techniques
3. Modular Design Principles
4. Test Driven Development
5. Code Review
Practicing all can change the rules of the game.
Some rules in software dev should be printed on walls, here are my favs:
* If it's not deployed to production, it's not done
* Never deploy to production if it's not reviewed by someone else or paired
* Code is not finished without tests
* You build it, you run it
What's yours?
If you don't reproduce the bug in your tests, you cannot fix it.
If you don't write tests, you cannot refactor your code.
If you don't refactor your code, you cannot make it better.
If you don't make your code better, you produce new bugs while adding new code.
Working from home with two kids receiving remote-education and a wife providing remote-education makes me feel like a minibus driver at Istanbul traffic.
Like a wise minibus driver once said:
"Is there anyone who cannot send the fee?"
I have started my own podcast "Lemi's Notebook / Lemi'nin Not Defteri" and published the first episode about "Grand Retrospectives" today. The podcasts are in Turkish. I plan to deliver blog posts in English after each episode. Enjoy listening:)
My desk setup from 2001, the cleanest version:)
I could not have imagined I would spend 20 years in software development. Still coding, and still chasing the same dreams I had on the first day.
As
@scturkey
, we completed one of the most crowded
@coderetreat
in Turkey with success. 60 women developers programmed in pairs and experienced TDD all day. Thanks to all participants, four facilitators, our host, and all sponsors and supporters.
#wscep
Every journey starts with one little step. Tomorrow, it's the time for my boy for his own journey to begin. He will start primary school tomorrow. Good luck my boy, good luck... 🙏
I am going to lose my mind if I see more news about rape, murder and corruption every single day in this country.
It's like covid pandemic. You hear real tragedies from people around you, and the only thing you can do is hiding and hoping your turn never comes.
Uncle Effect: Usually kids don't really care when parents warn them. But when uncle says same thing, even with same words, kids usually show interest.
Same happens to consultants. Managers listen them even though they've heard the same from their employees before, and not cared.
A fatal disease is spreading among computer science undergraduates. The ones infected:
* do not take notes
* do not ask questions
* chat at social media all day
* take/share photos of whiteboards
* do not work hard
* do not code/program
* blame the education system
0850 ile başlayan faydalı tek bir numara varsa dişimi kıracağım. Reklam ya da dolandırıcılık harici kullanılmadığına eminim ama ispat edemem.
Her defasında farklı numaradan aradıkları için bloklama da işe yaramıyor. Her gün onlarca kez aranmamak için ne yapmak lazım?
Getting ready for a conference talk requires a lot of work. For instance, on a brand-new topic, I usually spend min two hours per slide. That counts to min 60-80 hours preperation time overall for one talk.
It's like "mantı". You prepare it for hours but people eat in seconds.
Unwritten rules of Istanbul traffic:
* Never respect or care anyone
* Rules are for losers, do not obey
* Never give way to anyone else
* You have the priority in any case
* Don't wait in queues like morons
* WTF are you doing? Go fast!
Any similar cities in the world?
I stopped watching tv and reading daily news a long time ago to keep my soul clean, but it's impossible to close our eyes in this cruel world. I am growing my kids in the world of unhappiness where everyone hates each other.
So hard to have hope for the future...
#unforgetablemomentinmycareer
In 2007, I truncated a huge table in the database mistakenly. I informed my team lead with regret.
He stood up, shaked my hand with a smile and said:
Best sysadmins are the ones who has executed "rm -rf /" once in their career. Welcome to the club!
@yakuter
@binalyze
@EmreTinaztepe
Daily Scrum'ın bana göre en temel hatası toplantının merkezinde kişilerin olması. Herkes teker teker konuştuğu için ister istemez -öznede bulunan- kişilerin durumundan bahsediliyor. Dün (ben) ne yaptım? bugün (ben) ne yapacağım? gibi. Bunun rapor vermekten bir farkı kalmıyor.
@umutluoglu
Bence önemli nokta unit test yazılmaması değil, genel anlamda test yazılmaması. Zira unit testin anlamsız olduğu çok fazla durum var. Zorlama unit testler başka sorunların varlığını gösteriyor ve yazan için bir zulüm. Bu durumda hiç yazılmaması daha az toksik ortam oluşturuyor.
I am so happy that "women software crafters empowerment program" completed with success. 10 events in 2 months, 30 hours of education, 8 women speakers, 100+ women participants...
My dream came true. Women devs started journey of craftsmanship and they'll not be alone anymore💪🏻
I really cannot stand with Istanbul's traffic. "Respect" is the least valued virtue when you drive. "Rules" mean nothing most of the time. Regardless of education, gender, age or economical situation, almost everyone behave like assholes, and they feel proud of it.
It's not SOLID anymore!
* Why do we misunderstand SOLID Principles?
* Is SOLID too OOP concept?
* Is SOLID a nonsense, or the principles we really need?
* We use a dynamic language. Is SOLID still valid?
* What are the roots of principles we usually miss?
Today I witnessed a job interview in the coffeeshop. The interviewer asked "tell me about yourself" just after they met. For the next 30 min he just looked at the candidate's cv, spoke with no eye contact, no smile. That's humiliating.
If you are interviewing like that, stop it!
Yesterday my event marathon has ended. I delivered talks and workshops at 14 different events in the last 2 months. I feel very lucky that I met with so many passionate people and learned a lot from them.
Talk is cheap,
show me the conversations.
Git is easy to learn, but hard to master. Learning how Git really works will make you feel more comfortable and safe. Stop worrying and invest your time in mastering Git!
If your team is talking about any framework or methodology more that **the product itself** (i.e. design, architecture, quality, features, data, performance, customer needs), either you are not building a product, or the problems you need to solve are bigger than your product.
#kodla18
bende unutulmaz anılar ile geçti. Harika insanlarla tanıştım, cennet mekanlarda dolaştım. Kusursuz organizasyona imza atan tüm ekibe, bana da bir parçanız olma fırsatı verdiğiniz için çok teşekkür ediyorum.
Let me share 3 steps to LEARN from a talk:
1. Always carry a paper and a pencil with you
2. Take notes to the paper while listening
3. In few days, digitize your notes to a note-taking app. While writing, investigate further and enhance your notes with your new findings.
"Testlerde Mock Cehenneminden Kaçış"
Test tutkunu bir yazılımcının hüzünlü ve ibretlik aydınlanma hikayesi tüm yönleri ile
@TeknasyonTech
kanalında yayınlanmış. ☺️
We've been following these for our product at
@craftbaseio
:
* Microservices
* Multi module Gradle
* Mono repo & Git Splitter
* Trunk based dev
* Feature flags
* Unit tests > 80%
* Dockerized integration tests
* Teamcity, Github
* Kubernetes, deploys via Octopus
* Weekly Sprints
Manual testing is required for identifying smoking areas and exploring new ideas. For other needs, you can automate validation and verification.
At
@ScottyTurkiye
, we cover hundrends of steps, including connectivity problems and anomalies with functional tests. So far so good🖖🏻
I think the message of
@venkat_s
's fantastic talk:
"Software development requires professional discipline and ethics. That needs a cultural shift. If you need to pay a cost for building your skills, it's your profession, go for it."
Microsoft is becoming a platform for connecting people and companies.
* Skype, contact and call base
* Linkedin, professionals and cv base
* Github, developer and code base
What's the next big for Microsoft?
* Twitter, user and message base ???
Why not:)
@enesbaspinar0
Bu yorumu izninle çerçeveletip duvara asmak istiyorum. Keşke herşeyin en iyisini bilmeyen, önüne gelene sallamayan, etkileşim peşinde koşmayanların buluştuğu başka bir sosyal medya olsa da Twitterdan çekip gitsek.
Geçen yıl HacknBreak'te "usta bir yazılımcı olmak" isteyenler için yoğun bir seminer gerçekleştiren Lemi Orhan Ergin, bu yıl da aramızda olacak. Uzmanlaşmak isteyen yazılımcıları ve yazılımcı adaylarını bekliyoruz. 🚀
->
My 6 years old kid started to talk about justice, equality and his rights when playing with his brother.
I feel so proud...
and scared, especially when I remember what happened to the people seeking justice and equality.
Kuruluşuna tanıklık etmiş büyüklerimin umut dolu bir gelecek hayallerini dinleyerek büyüdüm. Benim de temenim aynı. Her yanımızı gaflet, dalalet ve hatta hıyanet sarsa dahi umudunuzu kaybetmeyeceğiz. Ulu önder Atatürk'ün izinde, daha da çok çalışacağız. Yaşasın Cumhuriyet! 🇹🇷
Today I had a talk at
@javadayistanbul
round table session about how we can cultivate an environment which boosts energy and motivation in technology companies. Here are my handouts I delivered. Some are in Turkish. Hope to deliver all in English soon.
There is no formula for modularity. It's a design approach and without understanding the key principles and patterns, it cannot last long.
Give a break on learning frameworks. Take your time for the best investment of your career:
Learn and think deeply about these concepts ⬇️
Covid nedeniyle bayılan ve ambulans ile hastaneye taşınan komşusunu, ambulansa taşınırken "(covidli olarak) asansörü kullandı" diye hastayı ve apartman yöneticisini il sağlık müdürlüğüne telefon edip şikayet eden kişiye ne denir?
Saf kötülük bu olsa gerek 😔
Value the items on left more:
* effective meetings over short ones
* being productive over working longer
* automation over manual work
* safe and quality over fast and dirty
* being humble over being the best
* get things done over almost done
* cultural fit over genius jerk
Three takeaways from
#isttechtalks
:
* If you do not have a customer for the service you want to build, do not develop.
@randyshoup
* Do not start your startup with microservices.
@randyshoup
* If you are not big enough, do not make your system distributed.
@tlberglund
Hey politicians, stop trying to kick out
@uber
from the country. Uber could be the best thing that ever happened to Istanbul. For the first time we get respect from taxi drivers and we pay without any hesitation and concern. We all deserve comfort, you too...
Today we started Women Software Crafters Empowerment Program with the very first meetup. Around 130 women developers participated. The atmosphere was awesome. I had a talk about "why being agile is so damn hard".
#wscep
So excited to meet again next week 🚀
I will talk about "Unwritten Manual of Code Review" tomorrow. I will share my experiences with real examples and practical tips. It will definitely be interesting to hear from the audience as well. It will be fun!
I've just published the slides of "Fixing the Typo in Softvare Devlpment: The things I totally changed my mind 20 years later"
#devnot
#devnotsummit2022
@devnot_
It's 4am in the morning. The
@ScottyTurkiye
team is beaming awesomeness up by deploying the next generation ride sharing platform. Let's redefine the rules, again...
Never implement microservices without eliminating the reasons you produce legacy software.
The only thing worse than producing a legacy monolith is producing multiple interdependent legacy components.
So start improving your team first. Code will follow.
We waste the benefits of meetups we could easily have.
Do not trust your memory. Meetups emit too much important information to keep all in mind.
Stop taking photos of slides. Take notes, please use your pen. Then share them with your colleagues, preferably while chatting.
@vigobronx
switch komutu checkout gibi doğrudan bir branch'e geçiş yapıyormuş.
restore ise mevcut branch'inden ayrılmadan dosyalarını başka bir branch'deki hali ile ezmesini sağlıyormuş. git checkout -- komutu benzeri.
checkout'u ikiye bölmüşler. Hadi hayırlısı ☺️