As a writer, I like answering real questions people have because I know for sure that at least one person is interested in what I may have to say.
In turn you may be interested by some of my recent career-related answers.
Lots of smart people with a culture of sharing knowledge
I'm a specialist in one thing: learning new things, which includes teaching others.
The tradeoff is that when you work alone, you work faster especially initially, whereas when you work in a good team, you can go far together.
Every time I watch people on linkedin and think about it I feel like I haven't had expertise in anything throughout these 5 years
What people put on LinkedIn is a bunch of self flatering lies.
Don’t compare your back-of-stage to everyone else’s front-of-stage
- Test lots of stuff.
- If you don't like it, stop.
- If you like it, do it more.
Build, Measure & Learn
It's sad that I can't find it, but there was an article/interview with a lone Google engineer who explained how he was doing the grunt work of keeping Google Scholar alive and making it 1% better. A maintenance task that is not in the top 100 priorities of his company. Meanwhile his colleagues were launching hype soon retired new products and chasing promotions.
He chose instead to make life a tiny bit easier for some of the best minds of our time to produce their work.
That I find inspirational: forget your ego and make an impact by removing obstacles for others to do their best work.
Important question because OpenSource had a very profound impact on my career.
At some point, when I was interviewing, people told me "Oh, you are the author of refreshVersions? We use it and it's pretty cool".
And I cannot empathize enough how much this changed the conversations I had with those companies.
Suddenly I was not anymore the incompetent liar until proved otherwise.
But contributing was a long time in the making.
I was interested in the philosophy of open source long before I actually started contributing heavily.
And when I started contributing, I did lots of mistake, like a cloning a repo of perfect strangers, not talking with them, doing a huge amount of work, send a PR and hope for the best.
I gave my tips on how to do things better than that here
As a team lead, I started at my last job to emphatically and regularly say that I didn't have the answers, I merely had lots of practice in turning my ignorance into questions that could then be answered with Google/Wikipedia/My IDE/Whatever.
So during our Slack meetings, I started the habit to share my screen, say "I don't have the answer here but what I would do is to ask me whether xxx, so I would search for yyy in zzz (do it live). Oh here I find that xxx but I wonder if yyy so I would do zzz (do it live). Oh guys I think we have the solution now".
After a few sceances, my colleagues were like "holy shit, I'm now pretty sure I could find the answers myself by using the same method".
IMHO Socrates would have been the best developer of his time
The Socratic method is a form of cooperative argumentative dialogue between individuals, based on asking and answering questions to stimulate critical thinking and to draw out ideas and underlying presuppositions. It is named after the Classical Greek philosopher Socrates and is introduced by him in Plato's Theaetetus as midwifery because it is employed to bring out definitions implicit in the interlocutors' beliefs, or to help them further their understanding.
That's a great question, and after reading it, I totally needed to write down my own collection of programming wisdom.
“The three chief virtues of a programmer are: Laziness, Impatience and Hubris” ― Larry Wall,
There are only two really difficult things in programming: cache invalidation, naming things and off by one errors.
UNIX is sexy:
who | grep -i single | date ; cd ~ ; unzip ; touch ; strip ; finger ; mount ; gasp ; yes ; uptime ; unmount ; sleep
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
There are two major products that come out of Berkeley: LSD and UNIX. We don’t believe this to be a coincidence.”
Even more at ➡ jmfayard.dev/programming-quotes/
My view is simple: Job titles are mostly meaningless.
What is important for you?
That someone has the title of writer, or that she write cool books?
Therefore the question is not what a senior developer is, it is what a senior developer does.
Once you know that, you can do those things long before you give yourself the title. If you feel like it obviously, no pressure. You can lead before you are officially the lead of your team. You can organize retrospective, compare alternatives, think about architecture, train your colleagues, ... long before you have the title of senior developer.
My first favorite question to ask in a job interview is simply
Why did you choose to work here rather than somewhere else?
I never not ask it. Partly because it feels good to turn the tables a bit, but really because it gives you very interesting insights.
Even non answers are interesting, because working there is probably not a good idea.
My second favorite question
Can you tell about a time where you as an employee noticed that something wasn't working well, decided to talk openly about it, and the company changed something as a result?
A great question because we developers are problem solvers, which also means problem detectors, and I don't want to work at places where that's considered annoying.
I am on a performance plan and I may be fired, is there hope?
Yes, there is always hope.
It is like a romantic relationship possibly getting to an end.
It may hurt, in fact it usually does, but it never means that you are an inherently bad person
Or that the other person was a bad a person.
The worst case scenario simply means that you were not meant to be/work together.
I have been fired two times in 15 years.
Both time, this had a very positive impact on me after the initial shock.
Not a general rule obviously, but a possible outcome.
Hi, I’m Jean-Michel Fayard.
Please send my article to a friend that needs it.