<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Naty Harary on Medium]]></title>
        <description><![CDATA[Stories by Naty Harary on Medium]]></description>
        <link>https://medium.com/@naty.harary?source=rss-7dcc5b7a5284------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*y8aXzEr9yC8e38gE4LwOkg.jpeg</url>
            <title>Stories by Naty Harary on Medium</title>
            <link>https://medium.com/@naty.harary?source=rss-7dcc5b7a5284------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 10:06:49 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@naty.harary/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Forget A/B testing — C testing is the future!]]></title>
            <link>https://medium.com/@naty.harary/forget-a-b-testing-c-testing-is-the-future-d1291f472888?source=rss-7dcc5b7a5284------2</link>
            <guid isPermaLink="false">https://medium.com/p/d1291f472888</guid>
            <category><![CDATA[testing]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[future]]></category>
            <category><![CDATA[evolutionary]]></category>
            <dc:creator><![CDATA[Naty Harary]]></dc:creator>
            <pubDate>Thu, 30 May 2024 13:05:18 GMT</pubDate>
            <atom:updated>2024-05-30T13:07:41.107Z</atom:updated>
            <content:encoded><![CDATA[<h3>Forget A/B testing — C testing is the future!</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*eO4EclPVy6tNBde3" /><figcaption>An accurate depiction of A/B testing vs. C testing. (source: ChatGPT)</figcaption></figure><h3>Introduction</h3><p>In the ever-evolving landscape of software development, companies are constantly seeking efficient and cost-effective methods to ensure their products meet user expectations. Traditional testing methodologies such as A/B testing have had their day, but there is an emerging concept that pushes the boundaries even further: C testing. This radical approach involves deploying code straight to production and allowing customers to discover bugs. While it may sound controversial, research suggests that this method can be statistically more cost-effective than traditional testing frameworks and additional staffing. In this article, we will delve into the concept of C testing, exploring its benefits, challenges, and the rationale behind its growing appeal, while critically examining the outdated and inefficient nature of A/B testing.</p><h3>The Concept of C Testing</h3><p>C testing is a bold approach that relies on real-world user interactions to identify and rectify issues in a live environment. Unlike A/B testing, which compares two versions of a feature or product, C testing skips intermediate steps and puts the final product directly into the hands of users. This methodology hinges on the premise that real users, through their diverse and unpredictable usage patterns, are the most effective testers.</p><h4>Benefits of C Testing</h4><p>1. <strong>Cost Efficiency</strong>: Traditional testing methods like A/B testing require significant investments in terms of time, resources, and personnel. By deploying directly to production, companies can reduce these costs. The argument is that the cumulative cost of dealing with customer-reported bugs is lower than maintaining extensive testing teams and frameworks.</p><p>2. <strong>Real-World Accuracy</strong>: Simulated testing environments, such as those used in A/B testing, can never fully replicate the diversity of real-world usage. C testing leverages the actual conditions under which the software will operate, ensuring that all edge cases and unexpected scenarios are naturally uncovered.</p><p>3. <strong>Rapid Feedback Loop</strong>: With C testing, feedback from actual users is immediate. This enables quicker iterations and faster resolutions of critical issues, potentially leading to a more robust and user-friendly product in the long run.</p><p>4. <strong>Focus on Core Issues</strong>: Traditional testing often results in identifying numerous minor bugs that might never affect real users. C testing helps prioritize issues that genuinely impact user experience, allowing development teams to focus their efforts on what truly matters.</p><h3>The Obsolescence of A/B Testing</h3><p>A/B testing has been a staple in the software development industry for years, but it’s time to recognize its limitations and inefficiencies:</p><p>1.<strong> Slow and Tedious</strong>: A/B testing is a slow, laborious process that requires meticulously setting up experiments, running tests over extended periods, and analyzing data. This outdated approach delays the deployment of new features and improvements, hindering innovation.</p><p>2. <strong>Artificial Conditions</strong>: The controlled environments of A/B testing create artificial scenarios that rarely reflect real-world usage. This leads to results that may not be applicable when the feature is rolled out to the entire user base, resulting in wasted time and resources.</p><p>3. <strong>Limited Scope</strong>: A/B testing typically focuses on a single variable at a time, missing out on the complex interactions between different features and user behaviors. This narrow approach fails to capture the holistic picture of how users interact with the product.</p><p>4. <strong>Resource Intensive</strong>: The resources required for A/B testing — dedicated teams, sophisticated tools, and extended testing periods — are substantial. This makes A/B testing an expensive proposition, especially for startups and smaller companies that need to allocate their resources more efficiently.</p><p>5. <strong>Outdated Mindset</strong>: Clinging to A/B testing reflects an outdated mindset that resists change and innovation. In a fast-paced digital world, companies need to be agile and adaptive, embracing new methodologies like C testing that offer greater flexibility and real-time insights.</p><h3>Implementing C Testing</h3><p>For companies interested in adopting C testing, a structured and strategic approach is necessary. Here are some key steps to consider:</p><p>1. <strong>Gradual Rollout</strong>: Start with a limited rollout to a subset of users. This allows for controlled testing while minimizing the impact on the entire user base.</p><p>2. <strong>Robust Monitoring and Analytics</strong>: Implement comprehensive monitoring and analytics tools to track user interactions, detect issues, and gather valuable feedback.</p><p>3. <strong>Proactive Communication</strong>: Maintain open lines of communication with users. Inform them of the testing approach and reassure them of the company’s commitment to resolving any issues promptly.</p><p>4. <strong>Efficient Support System</strong>: Strengthen customer support teams to handle the increased volume of bug reports and ensure quick turnaround times for issue resolution.</p><p>5. <strong>Continuous Improvement</strong>: Use the insights gained from C testing to continuously improve the product. Implement iterative updates and prioritize critical fixes based on user feedback.</p><h3>Conclusion</h3><p>C testing represents a paradigm shift in software testing methodologies, challenging the outdated and inefficient norms of A/B testing. By leveraging the real-world interactions of users, companies can achieve greater cost efficiency and more accurate bug detection. However, this approach comes with its own set of challenges that must be carefully managed. For companies willing to embrace the risks, C testing offers a unique and innovative path to delivering high-quality software products.</p><p>As with any methodology, the key to success lies in thoughtful implementation and a balanced approach. By considering the benefits and challenges outlined in this article, companies can make informed decisions about whether C testing is the right fit for their development and deployment strategies. It’s time to leave behind the cumbersome, slow, and artificial methods of A/B testing and step into the future with C testing.</p><p>(this article is a complete joke. Please don’t test this on your customers. Also, ChatGPT will make me unemployed for sure)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d1291f472888" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Giving meetups — a short guide]]></title>
            <link>https://medium.com/@naty.harary/giving-meetups-a-short-guide-70f5d3028361?source=rss-7dcc5b7a5284------2</link>
            <guid isPermaLink="false">https://medium.com/p/70f5d3028361</guid>
            <category><![CDATA[presentations]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[audience]]></category>
            <category><![CDATA[talks]]></category>
            <category><![CDATA[meetup]]></category>
            <dc:creator><![CDATA[Naty Harary]]></dc:creator>
            <pubDate>Sat, 01 Aug 2020 12:40:04 GMT</pubDate>
            <atom:updated>2020-08-01T12:40:04.153Z</atom:updated>
            <content:encoded><![CDATA[<h3>Giving meetups — a short guide</h3><p>How to give a successful meetup and <strong>learn from teaching</strong> it</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PTg5Ct9q74HZET1jEm8u6w.jpeg" /><figcaption>Some people enjoying an interesting meetup. Looks nice doesn’t it?</figcaption></figure><h3><strong>Why should I give meetups?</strong></h3><p>On the first month in my first job, my dev team lead (and mentor) told me to learn about software architectures, specifically MVVM. I had no clue what an architecture is, so I started to dive in and learn.</p><p>But I didn’t quite feel that reading stuff online is enough, so I started implementing it in an Android app. That wasn’t enough too — so I decided to write a presentation about it. I found out that teaching other people helps me understand things better myself!</p><p>Shortly thereafter, the presentation was transformed into a meetup, which followed by more meetups afterwards.<br>Not only that I learned a lot from the process, many other people learned from it.</p><h3><strong>How to start?</strong></h3><p>Find a subject that matters to you. If you come from the world of sofwtare engineering, prefer a technical one, for example unit testing.<br>It can be a subject which you know a lot about, or one that you want to get better in and understand it better. You don’t have to be an expert in a field to teach other people about it.</p><p>You should find a comfortable place to give the presentation in: if you are doing it in your company, you can try a meeting room. A bigger hall would also be good. The audience should have plenty places to sit, and see you as well.<br>Try to “book” the space a few weeks before your meetup, send an email invitation with time, subject and a graphic (if you already have those!).<br>A nice bonus is organizing some snacks and drinks. You don’t have to buy them yourself — a talk with HR might do miracles.</p><h3><strong>Gathering information — important data sources</strong></h3><p>First step — gather information. English sources are preferable, as they tend to be more accurate and professional (also it is good to practice your English if it is not your primary language).</p><p>1. Medium (duh) — articles on pretty much everything. Go for either short articles for specific topics or to long (multiple-part) articles for more general stuff e.g. software architectures</p><p>2. Online courses (Coursera, Udemy, raywenderlich, SkillShare) — information is more elaborate but sometimes takes more time to get into.</p><p>3. Wikipedia — tends to give good information on broader subjects such as basics of Computer Science. Information is sometimes verbose and focuses on theory, but that’s an important part of it. More useful to learn for yourself and less for meetup presentations.</p><p>4. Scientific literature (e.g. arXiv) — not for everyone. It is a repository intended for publishing academic literature and is an overkill for most engineering topics, but will come in handy for talking about algorithms or data science subjects. Aim for a paper which is a “review” of a field.</p><p>5. Stack overflow — since it is more akin to Q&amp;A, you should search it only if you have an actual question and not for exploring a subject.</p><h3><strong>Structure of a presentation</strong></h3><p>A meetup presentation should be like a story. Think of the message you would like to convey to your listeners.</p><p>Usually, the story will be something like this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VRuloUyXjnjE8i3CxlqnyA.png" /><figcaption>A flow for a meetup presentation, describing a problem and how to solve it</figcaption></figure><h3><strong>Presentation draft</strong></h3><p><strong>ALWAYS </strong>prepare a draft. You shouldn’t (and probably won’t) sit down and write a perfect presentation from beginning to end in one working session.<br>Instead, you should prepare a draft in a presentation file (I recommend offline editors rather than online, I will explain more in “working together”).</p><p>The file should have relatively empty slides containing only the concept of a slide— a title, general description and maybe a placeholder for a picture. Don’t add graphics yet, you’ll have time for that later.</p><p>For example:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OpxgQP9giM6e2YdPiGIQSA.png" /><figcaption>Draft slide example. We have a title, some bullets for description.</figcaption></figure><p>Now we know what the slide is about.</p><p>When you start actually writing the presentation, you’ll have the structure ready for you!</p><p>The presentation should end with a “thank you for listening” slide. You can add a Github repo for a code example, your email for future contact, and even a GIF.</p><h3><strong>Working together — how to implement</strong></h3><p>If you are working on the meetup presentation with other people, use a cloud storage service to work concurrently. In my experience, Dropbox allows great concurrent work and doesn’t lose any data. <br>Online editors sometimes make mistakes in synchronizing so an offline app and a desktop syncing app is better.</p><p>Split the work in a way that everyone gets to do something they like — someone likes to design slides, someone likes to write about a specific topic, etc.</p><h3><strong>Presentation: some do’s and don’ts</strong></h3><p><strong>Do:</strong><br>1. Light text on dark background<br>2. Short texts<br>3. Use diagrams<br>4. Spacious slides. The slide should accompany your talk and not the other way around<br>5. Use real world examples</p><p><strong>Don’t:</strong><br>1. Overuse GIFs and graphics. Add a few here and there to spice up the presentation<br>2. Long presentations. The crowd can get bored very fast. Each slide should take about 1.5mins<br>3. Use “built in” animations like in PowerPoint. Prefer duplicating a slide and “add” or “remove” stuff, since some animations can annoy the audience and might not work during presentations</p><h3><strong>Rehearsing</strong></h3><p>Congratulations! Now it is time to use your guinea pigs. Friends, family, coworkers. Ask them to give you pointers and constructive criticism.<br>Give them the talk like you would in front of an audience.</p><h3><strong>A few days before the meetup</strong></h3><p>Run the presentation on the screen you are going to display it on. <br>Check the colors from the audience’s position, is everything looking clear? Any technical problems should be handled before the meetup date. <br>Maybe do a rehearsal there, if possible.</p><h3><strong>Meetup day!</strong></h3><p>Come early (1 hour +) to check everything works. Connect your laptop to the screen and see that everything runs smoothly.<br>Don’t rehearse — it might stress you out. Chill out, drink some water. Orange juice smooths the throat. Avoid coffee — you’ll be quite awake for your meetup 😊</p><h3><strong>Talking and positioning yourself</strong></h3><p>Talking in front of an audience is stressful for everyone, even experienced talkers. So take a deep breath, and remind to yourself that everyone is coming to listen to you and learn something new; it is not a test and nothing bad will happen if it is not perfect.</p><p><strong>Do:<br></strong>1. Try to talk slowly. If you are a fast talker, pace yourself with drinking water mid-talk<br>2. Position yourself to the side of the screen. You don’t want to block the view<br>3. Use a clicker to advance slides. A laser pointer is a bit useless — you can use your hands and almost touch the screen when you want to emphasize<br>4. Don’t read from the slide! People know how to read!<br>5. Hands outside of your pockets. Show confidence and don’t be afraid to move around the screen<br>6. Smile! 😊 Everyone is having a good time!<br>7. Thank everyone in the end for listening</p><h3><strong>Bonus: Kahoot!</strong></h3><p>Everyone loves a <a href="https://kahoot.com/">Kahoot! quiz</a>. It is free, easy to make, and interacts with the audience. You can ask questions on the meetup’s topic, and see who listened or not 😉 People who will know the answer will be proud and remember the subject better</p><p>A good place for a Kahoot would be at the end of the presentation, before the last slide. If the presentation is long, it might be a good intermission between theoretical talk and practical talk.</p><h3>Congratulations! 🥳</h3><p>You just gave a meetup! Hope you enjoyed it, and even learned something!</p><p>If you have any comments on this article, I’d be happy to see them. Thank you for reading!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=70f5d3028361" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>