" I didn’t expect was how custom elements would disrupt the structure of our components, encouraging us to broaden the scope of patterns we once considered foundational."
Guía breve para crear User Stories de alto impacto by Edgar Fernandez is free with a Leanpub Reader membership! Or you can buy it for $8.00! http://leanpub.com/guiaparacrearuserstoriesdealtoimpacto #Agile #SoftwareEngineering
The new year is coming along. Are you thinking of taking a drastic decision and becoming a digital nomad?👇
Which of these two versions of the C++ function `isdigit(char)` would you recommend? Why, under what circumstances? 🤔 🧐
Assume architecture-agnostic programs but make (and state) reasonable assumptions.
Compare -O0 and -O3 in GCC and clang for x86-64 on Linux: https://sigcpp.godbolt.org/z/67734GbWP
💭 🔃 🙏
With me being on the job market, I've been brushing up a bit on C#. I mean, I love the language, and many jobs are calling for it. All I can say is WOW, they have done a lot to it over the last 6 years. Quite impressive, and I love the fact you can cross-compile .NET core to other platforms! #C# #softwareengineering #codingforfunandprofit
Don't you love doing a major version upgrade of a dependency, where it has replaced one of its core features, and the migration guide is woefully lacking in detail.
"This is a Web Component, but doesn't use Shadow DOM, Stencil, or any library. In fact, it doesn't render anything to the DOM at all. Rather, it's just distributed as a Custom Element to make for easy integration with just a script tag and some HTML; just like the good old days."
One of the more creative applications of web components around, using the encapsulation to store logic instead of presentation.
The bundle Learn Git, Bash, and Terraform the Hard Way by Ian Miell is on sale on Leanpub! Its suggested price is $38.98; get it for $17.49 with this coupon: https://leanpub.com/b/learngitbashandterraformthehardway/c/LeanpubWeeklySale2023Dec01 #Devops #SoftwareEngineering
The bundle Master Python by Noah Gift and Alfredo Deza is on sale on Leanpub! Its suggested price is $159.96; get it for $75.00 with this coupon: https://leanpub.com/b/masterpython/c/LeanpubWeeklySale2023Dec01 #Python #Devops #SoftwareEngineering #AutomatedSoftwareTesting
Explain what you understood. Repeat in your words what he or she said. You can also sketch on a whiteboard/flip chart with simple symbols. Or you can do the task step by step.
This allows your peer to review and correct you.
Misunderstanding is part of understanding.
Unfortunately, if you do not recognize it, you build something expensive into your software that is not needed. In the best case, you still have a benefit. At worst, you have to start from scratch.
Useful article by Lena Reinhard: How to do annual planning and strategy for an engineering organization
We learned the business. We gained users, feedback, and experience. This led to new requirements — both functional and non-functional.
Fortunately, we were able to build on our success.
But to stay successful, we had to change the software.
And you may need to as well. This is true iterative-incremental development.
Ever felt like you did something wrong when you had to significantly improve your software?
I certainly did.
We had built a first version of the product. It solved our customers' problems. It created a business. It was paying our salaries and our bills.
The feeling was wrong, not our work!
The software was a success. Success changed perspective.
It struck me earlier today that we use the word "server" both for "computer fulfilling remote requests" and "person handling orders in a restaurant". Then it occurred to me that they have many similarities:
* Unpredictable delay between request and response.
* Sometimes fail to work for no clear reason.
* Other jobs often interfere with availability.
* Memory issues can make service unusable.
* Poor prioritization strategies result in client starvation.
Even more exciting news soon… 😎
"In 2004 I wrote an article subtitled 'Nine benefits of making your methods shorter;' I could probably add another dozen today."
If I ever need to feel better and have a chuckle about the current solution complexity absurdity facing modern developers I always go and read https://grugbrain.dev/
I think @slightlyoff you’ll particularly enjoy
"and, what is worse, front end complexity demon spirit even more powerful and have deep spiritual hold on entire front end industry as far as grug can tell”
There is no single way to do things, there are things that make sense, and there are things that don’t. Also, there are things that don’t make sense until you know the context. Don’t criticize decisions or enforce one single “proper” way without learning why it was done in that specific way.
🛠️ Visualiser l'avancée d'un refactoring avec la méthode Mikado
Imaginez-vous en train de refactorer un code complexe, mais malheureusement vous devez vous absenter. Comment garantir que le travail continue sans problème ? C'est sûrement un problème que beaucoup d'entre nous ont rencontré.
J'explique 🧵👇 [1/4]
You know, if there is a post I would like to see actually hitting the homepage of the annoying orange site and basically any other social media site, is the one I posted yesterday: https://flameeyes.blog/2023/11/19/example-code-examplar-nathaniel-nudge/?mtm_campaign=social&mtm_kwd=mastodon
Because I believe in the message I'm capturing in it, and I would love to see it spread far and wide. Please read it, have a thought on it, and if you agree with the message, spread the word: make Nathaniel's Nudge a thing.
Recently gave a talk on the importance of collaboratively understanding developer productivity using science, instead of mind reading. Massive thanks to #RedMonk for having me and for creating the delightfully inclusive event and community that is #Monktoberfest. Truly one of my favorite experiences this year! PS I would like to formally brag that I hand knit the top that I am wearing (pictured) 😁 #knitting #developer #SoftwareEngineering @seresearchers
Agile software development is not about working through features as quickly as possible, nor is it about rejecting the reality of necessities.
Agile software development is about continuously working on the software, the process, the team, and yourself. It is a value-based attitude coupled with a learning process.
Being Creative: Why Every Software Engineer Should Learn How to Draw
If you have followed me, you probably noticed my uptick in interest in #DigitalPainting 🎨 and #2Danimation. Do you think you don't know how to draw? Do you feel like you lack creativity? Are you "just" a developer? ✋ Cut it out! Check my last blog post and start your creative journey now! 🚀
Link post: Service locator: an anti-pattern.
🔴New issue of The Optimist Engineer newsletter is out!
Having the right observability is crucial, and you notice this the most when you are in a production issue or intervention.
In today's issue, I set my vision about how concrete observability will help you to find out the root cause for a problem, from hours to a few minutes
Great moments in software engineering
Valinor, circa YT 1400: The elven software engineer Fëanor attempts to create Noldix, a new Linux distro built on the Palantiri network stack. Ultimately, the failure of the Unicode committee to approve a Tengwar code space dooms the project. Embittered, Fëanor refuses to release his Silmaril project under an open source license, leading to the First Kinforking and much of the misery of the First Age.
Creating interesting personas for code review, entirely from scratch.
Creating the persona creating prompt, which is then use to create the personas.
Have the personas review some PHP:
What is this even? Yet it's a pretty decent review, in 4 inference calls.
Feel like you’re drowning in “technical debt?” Do your applications get harder to change over time? You may be dealing with hasty abstractions. I’ve written about this phenomenon.
"we don't have managers on our team" is SUCH a red flag
read: "we don't want to pay someone to do the hardest part, so we expect you to do it with no pay raise."
it's even worse than "unlimited vacation"
I've been building software for over 25 years and I've never seen a team that was underperforming with clear guidance about what they were supposed to be building. The bottleneck is always management; when programmers have their work already cut out, and communicated to them, they ALWAYS get it done.
GraphQL is the solution to the problem statement, “10% of my queries don’t fit at all into well designed REST endpoint models”
REST is the solution to the problem statement, “I have to write four times as much code to do the same thing with GraphQL and use browser plugins to decipher whether my call threw an error or not”
I know that once I feel confident with this style of writing, I will be able to bring some of my original voice back. For now, I'm learning a lot by comparing this to my raw draft.
I haven't posted much of my go go golems ship 30 writing here, but I'm quite proud of this latest one.
I provided transcripts because anything else is just way too abstract.
Most of the article is straight from the LLM (of course, I did *significant* work on writing my draft, iterating on structure, creating and refining writing rhythm, content, hooks).
But for this type of technical content, I really like the clarity.
The mind of a software engineer has two edges; one with which we interpret incomprehensible systems to wield them, and the other which makes us unable to empathize with users who must also comprehend these systems.
My first interview as a Software Engineering Daily host is live! 🎙️
I had the absolute pleasure of chatting with Quinn Slack, CEO of Sourcegraph and Rao's tomato sauce enthusiast, about AI, coding assistants, and AI hype cycles.
"Tests provide the only reliable documentation of design. The story they tell remains true long after paper documents become obsolete and human memory fails. Write your tests as if you expect your future self to have amnesia. Remember that you will forget; write tests that remind you of the story once you have." (Sandi Metz, "Practical Object-Oriented Design")
If you are a #dev like that, would you be open to speaking with us for a 20-min interview about your experience? https://calendly.com/kalyna-marketing-clients/cheeki-developer-interview
Purely for research, won't try to sell you anything. You can remain anonymous with anyone other than my team.
The bundle Web Development Foundations III by Jens Oliver Meiert is on sale on Leanpub! Its suggested price is $43.96; get it for $17.24 with this coupon: https://leanpub.com/b/web-development-foundations-3/c/LeanpubMonthlySale2023Oct #Reference #SoftwareEngineering
Hi, I need your help. (Please boost for more reach)
I am running a #survey for a client - we're researching the experiences and frustrations that developers experience job searching (We’ll create a public report with our findings)
Here's the link: https://tally.so/r/nrOWll