How to write a high-engagement tweet An Article by Rach Smith rachsmith.com Pick a stance that that could be mistaken as contrarian, but in reality most people actually agree with. Posit your argument as if there are "people" who have been spreading the opposing view. You don't have to be specific about who it is. In fact, they don't actually have to exist. Make the subject matter something that people get emotional about: gender inequality in tech, TypeScript vs. JavaScript, hiring processes, etc. Watch the engagement from people agreeing with you/bonding over your common enemy roll in. Things that increase popularity that I generally don't doCoevolution and the bad take machine mediaargument
Touch the keys An Article by Rach Smith rachsmith.com In his course Being Productive: Simple Steps to Calm Focus, Kourosh Dini emphasises the importance of taking a moment to “be with” the work every day (or however frequently you need to tackle a project). “Being with” your work is to be fully present and intentional about that activity and doing nothing else. This idea was inspired by Dini’s piano teacher, who encouraged him to sit at his piano and touch the keys every day. Even on the days that he felt he had no time or inclination to practice. Sometimes touching the keys would lead to a good practice session, even when he didn’t feel like it would before he actually gave it a go. Just like Dini, I find that once I give the task my full attention and be present, the actual doing of it turns out to be much easier and more enjoyable than my mind had been expecting. As usual, the resistance to getting started is far more uncomfortable than actually doing the thing. To pick up my pen productivityworkcreativitypractice
I completely ignored the front end development scene for 6 months. It was fine An Article by Rach Smith rachsmith.com What I’ve learnt through experience is that the number of languages I’ve learned or the specific frameworks I’ve gained experience with matters very little. What actually matters is my ability to up-skill quickly and effectively. If you focus on: learning how you best learn, and practicing effectively communicating the things you've learned you can't go wrong. learningprogrammingskillexperiencepractice
I haven't experienced imposter syndrome, and maybe you haven't either An Article by Rach Smith rachsmith.com I have never felt like an “imposter”. I have always deserved to be here, I’ve worked hard. I don’t suffer from a “syndrome”. Identifying the gaps in my knowledge and being aware of what I don’t know is part of my vocation. In recent years it’s become trendy to discuss how we all apparently suffer from this imposter syndrome - an inability to internalize one's accomplishments and a persistent fear of being exposed as a “fraud”. I take two issues with this: it minimizes the impact that this experience has on people that really do suffer from it. we’re labelling what should be considered positive personality traits - humility, an acceptance that we can’t be right all the time, a desire to know more, as a “syndrome” that we need to “deal with”, “get over” or “get past”. workknowledge
A Plea for Lean Software An Essay by Niklaus Wirth cr.yp.to Software's girth has surpassed its functionality, largely because hardware advances make this possible. The way to streamline software lies in disciplined methodologies and a return to the essentials. Measured by the number of its featuresEssential vs. nice to haveDependence is more profitable than educationThe most rewarding iterationsNever enough time A grossly obese set of requirementsFeatures and complexity softwareperformancefunction
Measured by the number of its features A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want. Any incompatibility with the original system concept is either ignored or passes unrecognized, which renders the design more complicated and its use more cumbersome. When a system's power is measured by the number of its features, quantity becomes more important than quality. Every new release must offer additional features, even if some don't add functionality. featuresqualitycomplexity
Essential vs. nice to have Customers have trouble distinguishing between essential features and those that are just "nice to have." Examples of the latter class: those arbitrarily overlapping windows suggested by the uncritically but widely adopted desktop metaphor; and fancy icons decorating the screen display, such as antique mailboxes and garbage cans that are further enhanced by the visible movement of selected items toward their ultimate destination. These details are cute but not essential, and they have a hidden cost. / Increased complexity results in large part from our recent penchant for friendly user interaction. I've already mentioned windows and icons; color, gray-scales, shadows, pop-ups, pictures, and all kinds of gadgets can easily be added. Menus, Metaphors and Materials: Milestones of User Interface Designlittlebigdetails interfacesux
Dependence is more profitable than education A customer who pays—in advance—for service contracts is a more stable income source than a customer who has fully mastered a product's use. Customer dependence is more profitable than customer education. What I find truly baffling are manuals—hundreds of pages long—that accompany software applications, programming languages, and operating systems. Unmistakably, they signal both a contorted design that lacks clear concepts and an intent to hook customers. The design concept documentation
The most rewarding iterations Initial designs for sophisticated software applications are invariably complicated, even when developed by competent engineers. Truly good solutions emerge after iterative improvements or after redesigns that exploit new insights, and the most rewarding iterations are those that result in program simplifications. Evolutions of this kind, however, are extremely rare in current software practice—they require time-consuming thought processes that are rarely rewarded. Instead, software inadequacies are typically corrected by quickly conceived additions that invariably result in the well-known bulk. So that you can get feedback on it and make it betterTo anticipate all the uses and abuses agileiteration
Never enough time Time pressure is probably the foremost reason behind the emergence of bulky software. The time pressure that designers endure discourages careful planning. It also discourages improving acceptable solutions; instead, it encourages quickly conceived software additions and corrections. Time pressure gradually corrupts an engineer's standard of quality and perfection. It has a detrimental effect on people as well as products. Deadlines are bullshitThe Thing-deadline calculus