<?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 Donia Chaiehloudj on Medium]]></title>
        <description><![CDATA[Stories by Donia Chaiehloudj on Medium]]></description>
        <link>https://medium.com/@doniacld?source=rss-5f5e7465224e------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*NqbCaZYvZTs6MbDT1LLxrg.png</url>
            <title>Stories by Donia Chaiehloudj on Medium</title>
            <link>https://medium.com/@doniacld?source=rss-5f5e7465224e------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 09 Apr 2026 11:12:55 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@doniacld/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[TinyGo setup with GoLand]]></title>
            <link>https://doniacld.medium.com/tinygo-setup-with-goland-8349bb487c78?source=rss-5f5e7465224e------2</link>
            <guid isPermaLink="false">https://medium.com/p/8349bb487c78</guid>
            <category><![CDATA[go]]></category>
            <category><![CDATA[goland]]></category>
            <category><![CDATA[tinygo]]></category>
            <category><![CDATA[golang-tutorial]]></category>
            <category><![CDATA[golang-development]]></category>
            <dc:creator><![CDATA[Donia Chaiehloudj]]></dc:creator>
            <pubDate>Mon, 26 Feb 2024 22:15:52 GMT</pubDate>
            <atom:updated>2024-02-27T13:46:37.492Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/926/1*xrus8LhAF9crQ2rfpWIP_w.png" /><figcaption>Credit for the background <a href="https://unsplash.com/photos/black-and-white-computer-keyboard-pfR18JNEMv8">https://unsplash.com/photos/black-and-white-computer-keyboard-pfR18JNEMv8</a></figcaption></figure><p>After a year-long hiatus from TinyGo, I’ve returned to retrieve the latest release and initiate a new project in my favourite IDE - GoLand. Regrettably, I encountered issues with importing drivers’ libraries, nothing was compiling properly... After grappling with configuration challenges, and grasping information from articles, official documentation and Slack, I decided to document my troubleshooting journey here.</p><p>My configuration is the following:</p><ul><li>macOS M1</li><li><a href="https://tinygo.org/">tinygo</a> version 0.23.0</li><li><a href="https://www.jetbrains.com/go/">Goland</a></li><li><a href="https://plugins.jetbrains.com/plugin/16915-tinygo">TinyGo plugin</a></li></ul><p>If you do not have TinyGo, you can install it using brew. Other installation options are described in <a href="https://tinygo.org/getting-started/install/">TinyGo documentation</a>.</p><p>Otherwise, you can just make sure you are upgrade to the latest version:</p><pre>$ brew upgrade tinygo</pre><p>Check tinygo installation:</p><pre>$ tinygo version                                                                                                                                                         <br>tinygo version 0.30.0 darwin/amd64 (using go version go1.21.6 and LLVM version 16.0.1)</pre><h4>1. Setup the GOROOT</h4><p>You will need several characteristics provided by <em>tinygo info</em> command, firstly the cached GOROOT:</p><pre>$ tinygo info<br>LLVM triple:       x86_64-apple-macosx10.12.0<br>GOOS:              darwin<br>GOARCH:            amd64<br>build tags:        darwin amd64 tinygo math_big_pure_go gc.precise scheduler.tasks serial.none<br>garbage collector: precise<br>scheduler:         tasks<br>cached GOROOT:     /Users/doniacld/Library/Caches/tinygo/goroot-889c52474e5e4727a20b14cffb7182045a536d2fabaee64e083c0d4ce847d71e</pre><p>In your IDE go to GoLand tab &gt; Preferences &gt; Go and choose the path to the GOROOT you just obtained.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*TzVdSuHGj20PMsn6" /><figcaption>Screenshot from Preferences &gt; Go &gt; GOROOT tab in GoLand</figcaption></figure><h4>2. Setup the GOPATH</h4><p>Remove the Global GOPATH and add to the Project GOPATH:</p><ul><li>the path to TinyGo</li><li>your usual GOPATH</li></ul><p>The idea behind this is to have at the top the TinyGo one.</p><p>Note that I removed “Use GOPATH that’s defined in system environment”.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*9wAEMXpAa7wCA-8b" /><figcaption>Screenshot from Preferences &gt; Go &gt; GOPATH tab in GoLand</figcaption></figure><h4>3. Enable Go modules integration</h4><p>You can setup Go modules integration.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*FRtE72GrQUcWMfPN" /><figcaption>Screenshot from Preferences &gt; Go &gt; Go Modules tab in GoLand</figcaption></figure><h4>4. Update Build Tags and Vendoring</h4><p>Setup the constraints corresponding to your OS. You can find all this information again by running tinygo info command.</p><ul><li>OS: darwin</li><li>Arch: amd64</li><li>Custom tags: darwin amd64 tinygo math_big_pure_go gc.precise scheduler.tasks serial.none</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*gUf47GuDENmHcliD" /><figcaption>Screenshot from Preferences &gt; Go &gt; Build Tags &amp; Vendoring tab in GoLand</figcaption></figure><h4>5. TinyGo plugin configuration</h4><p>Choose the path to TinyGo SDK pointing to the latest version you installed.</p><p>The target platform corresponds to the microcontroller your code will be running. Setup the Garbage Collector to conservative and the Scheduler to none. Retrieve the build tags from the output tinygo info command.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*KcOyGDMTSGxsrnW7" /><figcaption>Screenshot from Preferences &gt; Go &gt; TinyGo tab in GoLand</figcaption></figure><h4>6. Update dependencies</h4><p>If you already wrote some code, you might see red imports. Let’s fix this.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ObtjHhJBLX1OeDen" /><figcaption>Sample of simple code with imports not compiling.</figcaption></figure><p>Run go mod tidy to download missing dependencies:</p><pre>$ go mod tidy<br>go: finding module for package tinygo.org/x/drivers/ws2812<br>go: finding module for package tinygo.org/x/drivers/st7789<br>go: downloading tinygo.org/x/drivers v0.27.0<br>go: found tinygo.org/x/drivers/st7789 in tinygo.org/x/drivers v0.27.0<br>go: found tinygo.org/x/drivers/ws2812 in tinygo.org/x/drivers v0.27.0</pre><p>Do not forget to synchronize your dependencies on IDE side and you are good to go.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*4L3AVOzn-Mce7roY" /></figure><p>Now you should be able to see your imports turning green after GoLand ran the indexing!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*gdNj1YyiJnSSU0H2" /></figure><p>👏 Congrats! You can now enjoy your setup and start playing with TinyGo!</p><p>Want to discover TinyGo? You can watch my talk <em>“TinyGo: Getting the upper Hen”</em> at GopherCon EU 2022.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FBNdsDnrjx8Q%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DBNdsDnrjx8Q&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FBNdsDnrjx8Q%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/0a78040184f44620eccdd303ed6b64e1/href">https://medium.com/media/0a78040184f44620eccdd303ed6b64e1/href</a></iframe><p>Follow me for more content:</p><ul><li>GitHub : <a href="https://github.com/doniacld">https://github.com/doniacld</a></li><li>Twitter : <a href="https://twitter.com/doniacld">https://twitter.com/doniacld</a></li><li>LinkedIn : <a href="https://www.linkedin.com/in/donia-chaiehloudj/">https://www.linkedin.com/in/donia-chaiehloudj/</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8349bb487c78" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[‍ 2022: Time to Harvest]]></title>
            <link>https://doniacld.medium.com/2022-time-to-harvest-799277bb5e8a?source=rss-5f5e7465224e------2</link>
            <guid isPermaLink="false">https://medium.com/p/799277bb5e8a</guid>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[women-in-tech]]></category>
            <category><![CDATA[careers]]></category>
            <category><![CDATA[public-speaking]]></category>
            <category><![CDATA[mental-health]]></category>
            <dc:creator><![CDATA[Donia Chaiehloudj]]></dc:creator>
            <pubDate>Mon, 16 Jan 2023 14:43:03 GMT</pubDate>
            <atom:updated>2023-01-17T11:31:36.090Z</atom:updated>
            <content:encoded><![CDATA[<p><em>If I had to describe 2022 in three words: community, travel, and fatigue.</em></p><p>Like many of us, I am looking toward the past at this end of the year, by writing a few lines. When a cycle is finished, I do appreciate looking back just to enjoy the new one coming. In reality, cycles are part of our life without being calendars. Talking about calendars, I tend to prefer birthdays instead of the new year. I feel 2022 is a watershed moment in my life and I wanted to set it in stone by writing this article.</p><figure><img alt="Collage with pictures mainly selfies with people I love, who inspire me or met during the year around the world" src="https://cdn-images-1.medium.com/max/960/0*KX5xWummB9-4FhFv" /><figcaption><em>Collage with pictures mainly selfies with people I love, who inspire me or met during the year around the world</em></figcaption></figure><h3>My accomplishments 🌻</h3><h4>How to find $ to run events for women in tech 🧑🏽‍💻</h4><p>Back in December 2021, Carole Malbrancq (WHAT06 president) wrote to me to submit my application for the Trophies Women In Tech South (France). My answer to this request was: “I like what you do for women in STEM, can I join?”. After a call, she wrapped up by asking me what can I bring to them, I was very shy and did not know what skills and strengths I could use. Let’s say it, I felt like an impostor.</p><p>We decided I could help Carole find sponsors for the Trophies, an enriching task. I was in backup following the meetings with the institutions, the companies and other publics to ask for sponsorship to promote women in tech. I learned so much with the WHAT06 team about politics, the codes of sponsorship, how to run an event for 300 persons and more.</p><p>I feel very grateful to be surrounded by inspiring women pushing others towards the front of the stage. The next step is organising a Hackathon on the theme of inclusion theme, I am very excited to emcee it and be part again of an event where the cause is so crucial to me.</p><figure><img alt="WHAT06 team pausing on the scene at the Trophies Women In Tech South 2022" src="https://cdn-images-1.medium.com/max/640/0*s1rt2skEWXDKmEgP" /><figcaption><em>WHAT06 team at the Trophies Women In Tech South 2022 — Copyright </em><a href="https://jacques-wisdorff.jimdosite.com/"><em>Jacques Wisdorff</em></a></figcaption></figure><h3>What drives you? Anything inspiring 🧱</h3><p>During my innermost questions of 2021, I knew I wanted to organise events for people and reunite them. Seeing people bounding thanks to me is the most satisfying feeling (ego, is it you?). In parallel to my activities with WHAT06, I started a new Google Developer Group in the south of France: GDG Sophia-Antipolis. Friends joined me on the road and I am very proud to say that we are now a great team of 4 people. We run monthly tech talk events online or in-person promoting diversity and anyone who wants to share their knowledge with the community.</p><p>What to focus on when building a tech community:</p><ul><li>be able to delegate;</li><li>organise your work and plan tasks;</li><li>find sponsorships and partners for places, money, and catering;</li><li>market and promote events.</li></ul><p>At the end of the year, I was less present for personal reasons and I felt guilty not being there with the team. In fact, I realised that I had managed to build an autonomous organising team, they ran a great tech talk about accessibility. And it’s a win for me. Even though the community is not huge, I can say that I have a great team.</p><figure><img alt="Instant photos from the DevFest 2022 by the GDG Sophia-Antipolis, a first picture with the GDG team and the second one with the speakers. And some stickers!!" src="https://cdn-images-1.medium.com/max/862/0*cMNSE5Cg1t6APzuy" /><figcaption><em>Instant photos from the DevFest 2022 by the GDG Sophia-Antipolis</em></figcaption></figure><h3>How to navigate the open-source world 🚢</h3><p>My first Hacktoberfest was in late 2022. If you do not know what I am talking about, you can have a glance at my article <a href="https://doniacld.medium.com/change-blogging-my-first-hacktoberfest-2021-d5845dd791e8">Changeblogging my first Hacktoberfest</a>. I found it stressful at the beginning but rewarding. It was the opportunity to understand the codes of this new world, discover new projects, learn how to enter an unknown project and some basics about open-source (read CONTRIBUTION.md, respect issues process and pull requests).</p><p>This year was the occasion while discovering TinyGo to implement what I learned and make my first contribution by fixing a bug. Slowly, I discovered the community especially on the Go slack (Gophers slack). After sharing my knowledge and helping in conferences, I have been granted to organiser of the TinyGo project and I could review and merge some PRs (not on the compiler, don’t worry) on GoBadge. I will add some resources at the end of the article if you are curious.</p><figure><img alt="GopherCon US 2022, 100 badges on a long table and two persons sticking stickers on boards" src="https://cdn-images-1.medium.com/max/1024/0*LsAw2th9P0WLt1S8" /><figcaption><em>GopherCon US 2022, preparing Badges boards for the 100 participants of the TinyGo Hack Session the day after with Ron Evans aka </em><a href="https://twitter.com/deadprogram"><em>Dead Program</em></a></figcaption></figure><h3>Become a public speaker 🎙️ 🐣</h3><p>This is without a doubt what transformed me the most this year. I had the chance to travel to several countries to give talks alone and also with my dear friend Aliénor. I shared my experience, my projects and my TinyGo discoveries and experimentations. <br>Talking to people was something I knew but building a discourse, respecting a timebox, bringing value to your audience, and entertaining the public was definitely not natural. I faced the imposter syndrome of course: I did not have anything ready a few days before the talks.</p><p>Spoiler alert, I did succeed in delivering my talks (feedbacks were not so bad 😀) and I met incredible people from the Go and Cloud community. <strong>Today, from my point of view, my biggest success is finally that I inspired people and women to try IoT, Go and take the stage themselves.</strong></p><figure><img alt="GopherCon US 2022, me on stage starting my talk TinyGo: Getting the Upper Hen" src="https://cdn-images-1.medium.com/max/1024/0*go8wkl0z9FpnYpmP" /><figcaption><em>GopherCon US 2022, giving my talk TinyGo: Getting the Upper Hen</em></figcaption></figure><p>Other stuff I am proud of and will not elaborate on:</p><ul><li>Embark for a new adventure working for a startup.</li><li>Begin to learn a new instrument: the clarinet.</li><li>Face my fear of water (I am such a bad swimmer) and passed my first level of scuba diving.</li><li>Co-authoring a book to teach Go with my best friends (for a later article too): Learn Go with Pocket-Sized Projects.</li></ul><h3>My challenges 🥀</h3><p>Successes are rarely going without some failures or difficulties at least. 2022 was an enriching year and incredible in many ways but I had to overcome hardships. I sowed many seeds at the same time and they all flourished at the same time and I could not harvest everything. My calendar was too busy and I felt overwhelmed with some consequences:</p><ul><li>an exhaustion; Between work, my activities as organiser plus the talks to prepare and the travel, I flirted with burnout ☠️. I realised it in time and paused for a week, cancelled a trip for a conference and stayed home just chilling.</li><li>not much time for my family and my friends; I sadly neglect people I love and put all my energy into myself and my tech/community projects. My family life and friends suffered from it and I felt so guilty not being there. I was too busy with projects and calls where I was engaged. I lost a loved one I did not see because I privileged conferences. I still regret it and it was the most emotionally complex situation I faced in my adult life.</li></ul><blockquote><em>What doesn’t kill you, makes you stronger. </em>Friedrich Nietzsche</blockquote><p>Indeed.</p><h3>My learnings 🧑‍🏫</h3><h4><strong>1. Define your priorities</strong></h4><p>The 2022 year was focused on myself, my career and how I could contribute to communities forgetting my beloved ones. This year, I wish to redefine my priorities and find a better balance between career and family. Probably do fewer things but with better quality. I am still glad to have experienced all of these new opportunities.</p><h4><strong>2. Surround yourself with the right persons</strong></h4><p>I talked a lot in the first person about my accomplishments but I was never alone. My spouse, parents and friends have always been there during my questioning to guide me, listen to me and give feedback at my talk rehearsals, correct and proof-read my projects, and smile at me while I am on stage. I nominate <a href="https://www.linkedin.com/in/alienor-latour/">Aliénor</a>, <a href="https://www.linkedin.com/in/pascal-bertrand-work/">Pascal</a>, <a href="https://0xdc.me/">David</a>, the <a href="https://twitter.com/tinygolang">TinyGo community</a>, and the Women Developer Academy community.</p><p>My companions of events who were there to build the dreamin’ tech community: the women behind <a href="https://www.linkedin.com/company/what06/">WHAT06</a> and my <a href="https://www.linkedin.com/company/gdg-sophia-antipolis/">GDG team</a>.</p><p>I was told in events for women in tech how mentors could help you as allies in your career. It can be formal relationships but also informal ones. I had the chance to meet mentors during this year who helped me to take a step back and ask me difficult questions about myself, my career and my choices in general: I nominate <a href="https://www.linkedin.com/in/carole-malbrancq-39273711/">Carole</a>, <a href="https://www.linkedin.com/in/marianabocoi/">Mariana</a>, <a href="https://www.linkedin.com/in/adelina-simion/">Adelina</a> and <a href="https://www.linkedin.com/in/guillaume-blaquiere-38693b15/">Guillaume</a>.</p><p>Find yourself some mentors. I would be happy to help.</p><p>I say it pretty often, let’s say it one more time: being surrounded by the right people is my key to success.</p><h4><strong>3. Value every moment</strong></h4><p>My last one finally is to enjoy each bite of simplicity, joy and of reality. Getting older just makes me realise how much everything is so fragile. I am stopping right now with my cliché. 🤭</p><figure><img alt="A sunset on the beach with some feet crossing from a hammock." src="https://cdn-images-1.medium.com/max/1024/0*MonOfmhc8cnnq_wR" /><figcaption><em>Enjoying the sunset in a hammock at L’île de la Réunion.</em></figcaption></figure><h3>Conclusion 👩🏽‍🌾</h3><p>I lived a year at 100 km/h, now it’s time to cool down and enjoy.<br>I did not setup SMART objectives for this new year… instead, I made a list of things:</p><ul><li>💌 Take care of myself and my loved ones</li><li>📖 Continue to learn stuff about Go</li><li>🔌 Develop my networking skills</li><li>🧑‍💻 Contribute to open-source projects</li><li>🎶 Keep going playing the clarinet (maybe more often)</li><li>🧵 Sew more pieces (a jumpsuit for talks and a bridesmaid dress at least)</li><li>⛰️ Hiking on more mountains</li><li>✍️ Write articles and share them with you 🙂</li></ul><p>Wishing you, dear reader, joy and health for this new cycle!</p><p>✨ Follow me for more content ✨<br>Mastodon: <a href="https://hachyderm.io/@doniacld">https://hachyderm.io/@doniacld</a><br>Twitter: <a href="https://twitter.com/doniacld">https://twitter.com/doniacld</a><br>LinkedIn: <a href="https://www.linkedin.com/in/donia-chaiehloudj/">https://www.linkedin.com/in/donia-chaiehloudj/</a><br>Github: <a href="https://github.com/doniacld">https://github.com/doniacld</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=799277bb5e8a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[My GopherCon Europe 2022 Wrap-up]]></title>
            <link>https://doniacld.medium.com/my-gophercon-europe-2022-wrap-up-962300ae57a9?source=rss-5f5e7465224e------2</link>
            <guid isPermaLink="false">https://medium.com/p/962300ae57a9</guid>
            <category><![CDATA[gophercon]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[tinygo]]></category>
            <category><![CDATA[conference]]></category>
            <dc:creator><![CDATA[Donia Chaiehloudj]]></dc:creator>
            <pubDate>Fri, 05 Aug 2022 16:44:04 GMT</pubDate>
            <atom:updated>2022-08-05T17:07:36.579Z</atom:updated>
            <content:encoded><![CDATA[<h3>My GopherCon Europe 2022 Highlights</h3><p>Last week, I gave my first talk on a stage at a conference with a mic and everything: this happened at <a href="https://gophercon.eu/">GopherCon Europe</a>. It was an amazing and enriching experience. I wanted to share with you the story behind it and a sum up of the talks I attended.</p><p><strong>TL;DR: If you are only interested in the recap of the conference, you can skip directly to the “​​Berlin, an underground city” section.</strong></p><figure><img alt="Three GopherCon badges with the names: Donia Chaiehloudj (Speaker), Pascal Bertrand and Aliénor Latour. There is the sticker of GopherCon Europe in the middle and a knit in progress on the left." src="https://cdn-images-1.medium.com/max/1024/0*elxC5sargGUGqbVm" /></figure><h3>How it started</h3><p>Last November, I posted an article called: <a href="https://doniacld.medium.com/my-top-5-of-women-motivational-speakers-in-cloud-native-development-of-2021-e24ec9b304ce">My Top 5 Women Motivational Speakers in Cloud-Native Development in 2021</a>. I was looking for role models and dreaming about what I could realise. I set myself objectives such as learning some tech learning, writing an article per month, starting a tech community, and giving talks, but it was too much at the same time — and I still have many articles in my WIP folder.</p><p>While I was working on building a community on the Google Developer Group, I discovered a program named <a href="https://medium.com/googledeveloperseurope/empowering-women-in-tech-to-thrive-join-the-women-developer-academy-europe-2022-fa48fd69ebf5">Women Developer Academy</a>. The goal is to accompany women in tech — women who are on the path of sharing learnings by creating content and having an interest in Google technologies, which, in my case, is Go.</p><p>During this one-month program, I met an amazing community and I learned how to:</p><ul><li>build and cultivate my confidence</li><li>write an abstract</li><li>make a technical presentation</li><li>select a topic</li></ul><p>The last session of the program was a 5 minutes presentation using all the tips and tricks our mentors taught us.</p><p>During this time, since my partner and I were talking about monitoring the hen house using <a href="https://tinygo.org/">TinyGo</a>, I decided to make an intro to TinyGo and this was the beginning of the story! At the end of the program, they told us to go to meetups and conferences. Do not say it twice!</p><p>First, I had the opportunity to give my <a href="https://www.youtube.com/watch?v=2v91Rff4Ipk">TinyGo introduction</a> for the <a href="https://wtmberlin.com/">Women Techmakers Berlin</a> remotely which was a good first step.</p><p>In parallel, I applied to all the Go conferences I could find. To draft my abstract, I completed the program learning with articles specific to GopherCon especially the series from Gopher Academy.</p><p><a href="https://blog.gopheracademy.com/gophercon-2017/writing-a-successful-gophercon-proposal/">Writing a successful GopherCon proposal</a></p><p>And here I am, accepted to the GopherCon Europe in Berlin!</p><h3>The storm</h3><p>I remember reading very good tips from Carolyn Van Slyck in her article <a href="https://carolynvanslyck.com/blog/2018/12/talk-at-gophercon/">Submit a Talk to GopherCon!</a> “<em>Don’t learn something just in time for the conference. That is stressful and probably won’t go over well.”</em> That I did not apply… A month before the conference, nothing of the submitted project existed. I had to build everything in 3 weeks with a lot of stress, I might admit. Don’t do it. Just apply next year. When I admitted it to the TinyGo community on slack one month before, their answer was: “Conference Driven Development”, “Talk Driven Development”.</p><p>Anyway, I worked many evenings and weekends to make this project work and made the slides ready for the due date. And I am very proud that I managed it with the help and support of my partner, friends, my mentor and the TinyGo community of course. Being surrounded by people that care for your success has been the most important thing for me this last month.</p><p>And the day to fly to Berlin came.</p><h3>Berlin, an underground city!</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*mhqMAL_g6queT_LQ" /></figure><h3>Thursday 28, community event</h3><p>GopherCon organisers were proposing an alternative Berlin tour in the morning. It was a great way to discover the history of the city with a focus on the LGBT and street art aspects. I had the chance to meet the first gophers of the conference and bond with some of them.</p><p>The afternoon was dedicated to meeting more gophers and discussing at round tables about defined topics. I had the opportunity to meet <a href="https://twitter.com/AleInTech">Ale</a> and <a href="https://twitter.com/goinggodotnet">Bill</a> Kennedy, big names of the Go community but before anything else amazing human beings. With my dearest friends, we had 15 mins of conversation and advice from Bill Kennedy… very well-invested time.</p><p>The organisers and the tech team gave me the opportunity to test my material on the stage to make sure everything was okay. And… it was not okay. My Mac plugged in through HDMI was not sending any signal. If you are facing this problem at a conference, save your time try a USB-C adapter in between.</p><p>I ended my afternoon with engineers from Torq and Google DevRel <a href="https://twitter.com/val_deleplace">Valentin Deleplace</a>. We had a very interesting conversation about microservices architecture, with or without gateways, what to expose the client and how. You can go further by reading <a href="https://twitter.com/gr1m0">Kotya’s</a> articles about <a href="https://grpcguide.com/building-api-gateway-for-grpc">gateways</a> here.</p><h3>Friday 29, workshops or hack session</h3><p>I decided to not attend any workshop because I wanted to join the TinyGo hack session, of course! There were many boards and materials available with tutorials to play with sensors and the latest feature of TinyGo (the USB MIDI): build a MIDI (Musical Instrument Digital Interface) and play music. I managed to play only one note but I decided to do more in the future and explore the funniest feature of TinyGo.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*L0eRZc1dogcn1XVU" /></figure><p>I had the chance to meet TinyGo community’s big names: <a href="https://twitter.com/deadprogram">Ron Evans</a> and <a href="https://twitter.com/_CONEJO">Daniel Esteban</a>. It was a huge moment for me and, after an afternoon, you just realised they are humans like you.</p><p>I also had an awesome gift from Ron Evans, a pybadge (Adafruit) for the next coming conferences. (I almost cried at this point.) Spent my evening rehearsing my talk and flashing my board at the hotel.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*39vSbBew-WUpc0n3" /></figure><p>During lunch, I finally met <a href="https://twitter.com/classic_addetz">Adelina Simion</a>. Why finally? Because a few months ago, after her interview for Eddie Jaoude, I asked her kindly if she would be my mentor. Since then, we have called each other once a month and she has been very present to help me manage conferences’ timing and content. Have a mentor, have several mentors.</p><h3>Saturday 30, THE day</h3><p>It is THE day, you can imagine how nervous I was. After the last rehearsal and a nice breakfast (all the food was very good by the way), the opening words were held. We were in the front row to encourage <a href="https://twitter.com/mmontagnino">Marian</a> for her talk about CLI (and next to Bill Kennedy).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*-mm3a97XNFE_D6xJ" /></figure><h4>Reinventing CLI with Go, Marian Montagnino</h4><p><a href="https://twitter.com/mmontagnino">Marian</a> has been using computers since her very young age and has reunited in this talk her love for text-based apps and Go. She presented the best practices when building a CLI, especially for humans and the Go tools that are available to build one easily such as Cobra, Survey and TermDash. I fell in love with TermDash.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*arIwBuYgciSLy3ee" /></figure><h4>Respecting memory limits in Go, Michael Knyszek</h4><p><a href="https://www.linkedin.com/in/mknyszek/">Michael</a> is an engineer at Google in the Go team and is an expert on memory management. In his talk, he explained the next memory feature from Go 1.19, which was just around the corner. He gave several examples using one graphic on how to customize the peak memory parameter. The point of the talk was to reduce the number of calls to the GC (Garbage Collector) by using as much memory as possible. so the Garbage Collector is called. You can go check the garbage collector guide on <a href="https://tip.golang.org/doc/gc-guide">go documentation</a> and play with the parameters.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*DKEpsYCRrzOesvwb" /></figure><h4>From service to platform: a ranking system in Go, Konrad Reiche</h4><p><a href="https://twitter.com/konradreiche">Konrad</a> is a software engineer at Reddit where they publish recommended feeds for users. In his talk, he shared with us how you can transform a service getting feeds into a generic platform to serve bricks for dev teams. He reminded us of the need for refactoring to reduce the accidental and intentional complexity of code. This is the talk I recalled the most because we build feeds at Powder (where I work).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*rs9vyFsC4yN6ncJ_" /></figure><p><strong>Practical memory profiling, Bill Kennedy</strong></p><p>Bill stepped up to sadly replace Aditya that could not make it to Berlin. The show could be summed up in one question: Bill vs Tyron, how to get a 0 memory allocation algorithm? Bill made a whole story fighting Tyron to turn his algorithm into a 0 memory allocation like Tyron’s. To do so, he used algorithm benchmarks to measure the memory allocations and the size of the program and then iterate using pprof. He fixed line by line where memory was allocated giving examples such as using <em>&amp;Buffer{buf: buf}</em> directly instead of <em>bytes.NewBuffer(raw)</em>.</p><p>I did get why they said after the workshop: <em>“Bill is very good at keeping your attention”</em>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*c2h9n5kaRHSkpN8R" /></figure><p><strong>TinyGo: Getting the upper hen, Donia Chaiehloudj (myself)</strong></p><p><a href="https://twitter.com/matryer">Mat Ryer</a> co-hosting the event had the great idea of having Ron Evans and Daniel Esteban for my introduction. I was very honoured and intimated, of course. The goal of my talk was to give a brief and practical introduction to TinyGo and explain how I used it to retrieve temperature and humidity and display values on Grafana dashboards. My whole story was about my hens and show a practical life example of TinyGo.</p><p>If you are curious and wanna try it, you can check the source code on my <a href="https://github.com/doniacld/tiny-hen">Github</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*zuoyQAAetfT8ZDUN" /></figure><p>I was very nervous at the beginning and when I started I was very focused on delivering my content. I even made some jokes (and people laughed). People seemed happy at the end and I had great feedback from them. Some want to try TinyGo for their van, some show me hen pictures, it was a great moment.</p><h3>Mat Ryer on Twitter: &quot;Excellent use of @grafana - monitoring humidity and temperature of hen houses. One of the best demos I&#39;ve seen in a while. 😂 ⁦@doniacld⁩ 👏#gopherconeu #golang pic.twitter.com/04Q9CR9nyr / Twitter&quot;</h3><p>Excellent use of @grafana - monitoring humidity and temperature of hen houses. One of the best demos I&#39;ve seen in a while. 😂 ⁦@doniacld⁩ 👏#gopherconeu #golang pic.twitter.com/04Q9CR9nyr</p><p><strong>Panel with the Go Team, Than Macintosh, Cameron Balahan, Michael Knyszek</strong></p><p>The Gopher community had the opportunity to ask questions to the Go team and they explained the orientation Go is taking. My 3 key points:</p><ul><li>Generics is the biggest change that happened to Go.</li><li>Some libraries have not changed for a few years because the person in charge left.</li><li>The structure fields optimisation is currently not done by the compiler. For the moment at least because Go must be transparent and it will not be the case if operations were hidden in the compiler. Especially in some cases, the order of the fields is very important, e.g.: protobuf.</li></ul><p>Mat Ryer was a great host (all long), bouncing on people’s questions and Go team answers, it was a very insightful panel.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*C0bzH1jl20J5bRmI" /></figure><p><strong>Career tips for software engineers, Adelina Simion</strong></p><p>Adelina delivered her knowledge and tips about careers path. She said <em>“You are the one to take the rising of your career, not your mentor, not your team lead”</em> which is very true. Again, I feel that being surrounded by brilliant people, friends and mentors helps me along the way to build the best career path possible (for me). I leave you with the picture below showing the tips for levelling up your tech skills.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*eG7l5Y1XCtlDBvlp" /></figure><p><strong>Go Time</strong></p><p>Mat Ryer went live for a Gophers says game! More than 100 gophers had answered a form about the GopherCon Europe and Go. Two teams with brilliant Gophers had to guess the answers from the gophers. I had a blast. You can listen to the episode on <a href="https://changelog.com/gotime/241">Changelog website</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*uAwq8I5ztSvIKc_a" /></figure><p>I met amazing people from various companies like Arduino, amazing women, and great gophers! I ended my evening in Berlin visiting the Bundestag which I highly recommend with an audio guide. It gives you an amazing 360 degrees view over Berlin. During the sunset, it is even better. I could not attend Sunday because I was leaving but I am very excited to see the replays!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*koTdX6b9KuzDsCDJ" /></figure><p><strong>Thanking GopherCon speech</strong></p><p>I take the opportunity to thank my parents for always being there, my partner being my duck, and for going in the morning to buy a second-hand router to save my project. I would like to thank also my dearest friends <a href="https://twitter.com/alienor_latour">Aliénor</a> and Pascal for listening to me rehearsing, and correcting my English, their time, their love and for being at the GopherCon. My friend <a href="https://twitter.com/0xdotdc">David</a> for his knowledge about Prometheus and Grafana which helps me get my dashboards to the next level. My mentors <a href="https://twitter.com/gblaquiere">Guillaume</a>, Adelina, and <a href="https://twitter.com/MarianaBocoi">Mariana</a> for helping me draft my proposal, without them I will not be there.</p><p>To finish, thanks to the person that accepted my talk and to the organisers, Donna, <a href="https://twitter.com/NataliePis">Natalie</a> and the Gopher community for being inclusive, educational and the coolest.</p><p>If you read the article until here, thanks to you. Let’s connect if it’s not already the case @doniacld</p><h3>Some more cool pictures</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*yolAv17SUnUBjhJd" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*-P3pbnYZ6lo_HO2j" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=962300ae57a9" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Behind the scenes of the GDG Sophia-Antipolis]]></title>
            <link>https://doniacld.medium.com/behind-the-scenes-of-the-gdg-sophia-antipolis-408753fb08a6?source=rss-5f5e7465224e------2</link>
            <guid isPermaLink="false">https://medium.com/p/408753fb08a6</guid>
            <category><![CDATA[careers]]></category>
            <category><![CDATA[google]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[events]]></category>
            <dc:creator><![CDATA[Donia Chaiehloudj]]></dc:creator>
            <pubDate>Wed, 11 May 2022 09:31:43 GMT</pubDate>
            <atom:updated>2022-05-11T12:39:45.454Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0EgHEdoKzULTx-ZkSmemtg.jpeg" /><figcaption>Photo credit <a href="https://www.linkedin.com/in/ACoAAAgwtwIBb45XfR103XFNSLYapKPliXWbV4w">Jacques Wisdorff 🎬</a> — hosting people during the Trophies Women In Tech South 2022 organised by <a href="https://www.linkedin.com/company/what06/">WHAT06 — Women Hackers Action Tank</a> at the <a href="https://www.linkedin.com/company/palais-des-festivals-et-des-congres-de-cannes/">Palais des Festivals et des Congrès de Cannes</a></figcaption></figure><p>Follow me today in my event organisation throwback, and check the surprise at the end!</p><p>You can find the french version on <a href="https://www.linkedin.com/feed/update/urn:li:activity:6930081694972575745/">LinkedIn</a>.</p><p>For the one that I have never been close to me, you will often hear that I am an “enthusiastic” person. I genuinely love people, the folks, the stories, creating bridges and connections.</p><p>Back at <a href="https://www.linkedin.com/school/polytech-grenoble/">Polytech Grenoble</a>, I was co-leading the organisation of the classes with my colleague <a href="https://www.linkedin.com/in/a-canton/">Arnaud Canton</a>, it was such a pleasure to organise non-formal moments outside of the routine of the lesson, to just reunite, going to the restaurant or even organising board games nights.</p><p>In the professional world, I found a role pretty similar within <a href="https://www.linkedin.com/company/sii/">SII Sophia</a>, I have been the Siite Leader for almost 4 years, organising picnics, resto and escape games…</p><p>Yet, last year I realised that beyond having fun moments, I wanted to combine tech and people. Which explains my involvement within <a href="https://www.linkedin.com/company/what06/">WHAT06</a> (thanks to <a href="https://www.linkedin.com/in/carole-malbrancq-39273711/">Carole Malbrancq</a>) to promote women in tech and where I learn a lot and that I decided to create a new Google Developer Group chapter in our area.</p><p>After two successful Sophia Tech Connects, doubts and questions (thanks to <a href="https://www.linkedin.com/in/alepalmieri/">Alessandro Palmieri</a> for taking the time to answer them), we finally begin this new adventure with <a href="https://www.linkedin.com/in/fabricefontenoy/">Fabrice Fontenoy</a> and now <a href="https://www.linkedin.com/in/mathilde-el-mouktafi/">Mathilde El Mouktafi</a>. Our ambition is pretty humble, building a community in Sophia Antipolis of tech people that lift others and create a technical and human emulation with no ego.</p><p>Lat weeks, we noticed a decrease in participation. Is it because of the move to “GDG”? Topics were way more specific? Talks were in English? Or simply because the novelty faded out?</p><p>Anyway, we are convinced that we can build a strong community, positive, instructive, and inclusive in our region which hosts a plethora of tech people. A wise man told me that it takes time to build a community (cc J<a href="https://www.linkedin.com/in/jlandure/">ulien Landure</a> :) ), so we are patient and perseverant.</p><p>We will continue to be remotely reunited monthly for a tech talk and sometimes in-person.</p><p>Cause you know tech is not your only motivation, we have the pleasure to announce that the first 20 registered attendees to our first IRL meetup will have a drink offered.</p><p><strong>🍺🍹 Be sure to join us on the 31st of May at MK</strong></p><p>👉🏽 RSVP <a href="https://gdg.community.dev/events/details/google-gdg-sophia-antipolis-presents-google-io-extended-talk-beer/">here</a></p><p>I am more than excited to meet you, to see you again, and to finally see you if we met on LinkedIn.</p><p>See you there!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=408753fb08a6" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What I really really want: Salary Negotiation Bootcamp #2 — Recap Day #1]]></title>
            <link>https://doniacld.medium.com/what-i-really-really-want-salary-negotiation-bootcamp-2-recap-day-1-c98a719a3ba8?source=rss-5f5e7465224e------2</link>
            <guid isPermaLink="false">https://medium.com/p/c98a719a3ba8</guid>
            <category><![CDATA[wowenintech]]></category>
            <category><![CDATA[equal-pay]]></category>
            <category><![CDATA[salary-negotiations]]></category>
            <category><![CDATA[gender-pay-gap]]></category>
            <category><![CDATA[50intech]]></category>
            <dc:creator><![CDATA[Donia Chaiehloudj]]></dc:creator>
            <pubDate>Fri, 26 Nov 2021 09:36:47 GMT</pubDate>
            <atom:updated>2021-11-26T15:50:06.572Z</atom:updated>
            <content:encoded><![CDATA[<h3>50InTech | What I really really want: Salary Negotiation Bootcamp Edition 2 — Recap Day #1</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*LYFvupTkNuuakS4M" /></figure><p>If you missed the Bootcamp, you probably have the same preoccupations as my female colleagues and friends such as “I have grocery shopping to do”, “I have my twin girls to check”, “Sorry I do not have time during the lunch break”, “Do not worry, I will watch the replay whenever I have some time”.</p><p>Obviously, these women do not have the time, have higher priorities such as children, home, rendez-vous…</p><p>These notes were supposed to stay in a google doc shared with my dearest female friends but I decided this year to make it public to help a larger number of women.</p><p><strong>Here is the recap and take-aways of the conferences of the day.</strong></p><ol><li>The state of salaries and the gender pay gap in European Tech</li><li>How to miss out on your potential</li><li>How to negotiate your first offer</li></ol><h3>1. The state of salaries and the gender pay gap in European Tech</h3><p><em>by </em><a href="https://www.linkedin.com/in/carolineramade/"><em>Caroline Ramade</em></a><em> — CEO at </em><a href="https://www.50intech.com/"><em>50InTech</em></a><em> and </em><a href="https://www.linkedin.com/in/vraingeard/"><em>Virgile Raingeard</em></a><em> — CEO at </em><a href="https://www.linkedin.com/company/f1gures/"><em>Figures</em></a></p><h3>50 InTech introduction</h3><p><a href="https://honeypotio.github.io/women-in-tech/eur/#table-content"><strong>18,45% Gender pay gap</strong></a><strong> for women in tech in Europe.</strong></p><p>50InTech address the gender pay gap on two fronts:</p><ul><li><strong>Salary transparency, fair hiring, promotion practices</strong></li><li><strong>Better negotiation, women empowering women</strong></li></ul><h3>Representation</h3><ul><li><strong>41%</strong> of women in product and design</li><li><strong>26%</strong> of women in data</li><li><strong>10%</strong> of women in software</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/1*dA6xyLrKYRoMhXrdPGaoQA.jpeg" /><figcaption><em>Slide from </em><a href="https://www.50intech.com/"><em>50InTech</em></a><em> What I really really want bootcamp Edition #2</em></figcaption></figure><h3>Glass ceiling in Tech</h3><blockquote><em>The glass ceiling represents the social barrier preventing women from begin promoted to top jobs in management.</em></blockquote><p>Why it can be difficult for women to break the glass ceiling:</p><ul><li>Missing representation in C-level roles</li><li>Not enough attractive for women</li><li>Mainly because other factors</li></ul><p><em>“Gender pay gap is more a symptom of other factors. We need to find the root causes to fix the gender gap.” by </em><a href="https://www.linkedin.com/in/vraingeard/?originalSubdomain=fr"><em>Virgile Raingeard</em></a></p><h3>The salaries numbers</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/1*aysiZpcscRiGknbKQdElWQ.jpeg" /><figcaption><em>Slide from </em><a href="https://www.50intech.com/"><em>50InTech</em></a><em> What I really really want bootcamp Edition #2</em></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/1*32PnYL4rmxlJHeIc3F3SLg.jpeg" /><figcaption><em>Slide from </em><a href="https://www.50intech.com/"><em>50InTech</em></a><em> What I really really want bootcamp Edition #2</em></figcaption></figure><p><em>Slide from </em><a href="https://www.50intech.com/"><em>50InTech</em></a><em> What I really really want bootcamp Edition #2</em></p><h3>Why pay gap</h3><p>Here is a sample of reasons for the pay gap:</p><ul><li>Underrepresentation of women in tech</li><li>Discrimination</li><li>Unconscious biases</li><li>Conscious Biases</li><li>…</li></ul><p>Even if the pay gap numbers do not seem huge, there is a tiny chance you could break the glass ceiling. It is currently more likely you would stay stuck at a medium place, never access leaders and C-levels roles, and do not earn male top management salaries.</p><h4><strong><em>Negotiation is the main factor when coming to the same roles.</em></strong></h4><h3>How it works in companies</h3><blockquote><em>Women negotiate less than men. Even when they negotiate they are less likely to get what they ask for.</em></blockquote><p>Most of the time, companies keep a grid salary to have a pay reference. As a candidate, you can negotiate in the range (e.g.: 50K to 60K) corresponding to your role and experience.</p><p>Nevertheless, when you enter a company, pay rise negotiations are done at a higher level and end individually really low (0% to 1 %).</p><p>At the end of the day, this budget is out of your control, which justifies the importance of negotiating at the entry.</p><h4><strong>Entry salary is crucial. This Bootcamp is about to be well equipped to negotiate.</strong></h4><h3>What does it mean for you?</h3><p><strong>Never provide your current salary but give your expected one.</strong></p><p>Use tools such as <a href="https://www.payscale.com/">PayScale</a>, <a href="https://www.glassdoor.com/">Glassdoor</a>, or the coaching provided by <a href="https://www.50intech.com/">50InTech</a> to know your worth on the market. <strong>Do your research and prepare your numbers.</strong></p><h3>Solutions</h3><ol><li>The compensation calculator</li><li>Tools like <a href="https://www.payanalytics.com/">PayAnalytics</a> for HR</li><li>Communities such as 50InTech</li></ol><p>You can read more in detail about the solutions in <a href="https://www.linkedin.com/pulse/tech-needs-step-up-its-salary-equality-game-caroline-ramade/?trackingId=c%2Bx9eShzRWqPluoDf5JFnQ%3D%3D">Caroline Ramade’s article</a>.</p><h3>2. How to miss out on your potential</h3><p>by <a href="https://www.linkedin.com/in/yasmine-guerin-5433271a/?originalSubdomain=de"><em>Yasmine Guerin</em></a><em>, creator of the </em><a href="https://www.linkedin.com/company/negotiatress/"><em>Negotiatress</em></a><em> method and expert in negotiation</em></p><blockquote><strong><em>I help women negotiate authentically for themselves without feeling like they have to give up their identity.</em></strong></blockquote><p>She began her talk with the question: <em>What are you worth?</em></p><h3>Be paralyzed into inaction</h3><p>Do not be paralyzed even if it is scary. Take the lead of your future and take action.</p><h3>Avoid Conflict</h3><p>Even though it can be tricky, you should feel comfortable with conflicts. Do not avoid conflict by saying “I know my boss is going upset”. Do not disregard the “phobia” of conflicts but understand what is in front of you.</p><p>To be properly grown, the only way to get out of that is to face conflicts. A slight level of conflict can be the way to get what you want.</p><p><strong><em>“I encourage you to notice if you are standing out from conflicts and to do an introspection of the why.” by Yasmine Guerin</em></strong></p><h3>Fear the wonky</h3><p>Most of the time, we <em>aka</em> women are afraid to express ourselves and fear ruining everything.</p><p>Making mistakes is okay. Imperfections and mistakes are a way to grow. You do not have to be 100% or 200% percent to try to get the things you want. Where do you want to be, where do you want to grow when you ask for more That fear is the one holding you back.</p><h4><strong><em>Do not be paralyzed, Embrace conflicts, embrace your wonky! <br>Growing through mistakes is amazing!</em></strong></h4><p>Ask yourself: How do I feel more confident?</p><h3>3. How to negotiate your first offer</h3><p><em>by </em><a href="https://www.linkedin.com/in/morgane-dion/"><em>Morgane Dion</em></a><em>, founder of </em><a href="https://www.equallywork.com/"><em>EquallyWork</em></a><em> and the author of the book “Petit manuel de combat contre le sexisme au travail”</em></p><h3>Equal pay for equal work</h3><p>For 1$ earned by men, women earn $0,80.</p><h4><strong><em>You are not paid what you are worth, you are paid what you negotiate.</em></strong></h4><h3>Cost of Negotiating</h3><p>Nice girls don’t get paid, and the women well paid are seen as bossy.</p><p>Morgane advice: Keep it rational. (More info below)</p><h4><strong><em>The silence comes with a price: $1 million.</em></strong></h4><p><a href="https://hbr.org/2018/08/how-women-can-get-what-they-want-in-a-negotiation">Research</a> revealed that no negotiation of a starting salary can result in a 45-year career to a loss between <em>$650,000 and $1 million.</em></p><h3>Salary negotiation 101</h3><h4>1. Know your worth</h4><ul><li>List<strong> your budget</strong>, what you need to have a comfortable life.</li><li>List<strong> what will the job afford you</strong> (dream company, opportunities, network)</li><li>Balance with <strong>the sacrifice you are willing to make for the job</strong></li></ul><p>Check the internal culture, employees&#39; postures, policies. It is not always about what you know, but what your network knows.</p><p>Write your numbers:</p><ul><li><strong>F*** You</strong> <em>number</em>: Below it, you refuse the offer</li><li><strong>Oh Yeah</strong> <em>number</em>: F**c number + 10%</li><li><strong>Hallelujah!</strong> <em>number</em>: Oh Yeah number + 10%</li></ul><p>Hallelujah! number is the one you are going to ask for. <strong>Be ambitious</strong> by staying realistic. At the end of the day, you should <strong>get the Oh Yeah number.</strong></p><p><em>Watch out: Do not base your numbers on your current/previous salary because you are going to replicate the possibly underpaid one.</em></p><p>As a side note, do not take into account the compensations!</p><h4>2. Keep it rational</h4><p><strong>Use rational facts</strong> such as accomplishments, how you contributed to previous projects to explain why you are worth the investment.</p><p><strong>Follow the money!</strong></p><p>Understand how the company makes money, their goals, and how your previous achievements can help them reach them.</p><h4>3. Define your superpower</h4><p>Leadership, enthusiasm, positivity, interpersonal skills…</p><h3>Do your Homework</h3><p>Speak the right body language, practice role-play with friends, family.<br>Feel comfortable in your close.</p><p>Take the power pose! The body can influence the mind, reciprocally. <strong>Practice the scenario</strong></p><blockquote><strong>Now, go get paid!</strong></blockquote><p><strong>Hit the common button to share your feelings about negotiations! Tag me on LinkedIn </strong><a href="https://www.linkedin.com/in/donia-chaiehloudj"><strong>Donia Chaiehloudj</strong></a><strong> and spread the word!</strong> If you are too shy, please shoot me a message.</p><p>If you did not see my top 5 women in cloud-native development in 2021 and me talking about the importance of role models here is a link.</p><p><a href="https://doniacld.medium.com/my-top-5-of-women-motivational-speakers-in-cloud-native-development-of-2021-e24ec9b304ce">My Top 5 Women Motivational Speakers in Cloud-Native Development in 2021</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c98a719a3ba8" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[My Top 5 Women Motivational Speakers in Cloud-Native Development in 2021]]></title>
            <link>https://doniacld.medium.com/my-top-5-of-women-motivational-speakers-in-cloud-native-development-of-2021-e24ec9b304ce?source=rss-5f5e7465224e------2</link>
            <guid isPermaLink="false">https://medium.com/p/e24ec9b304ce</guid>
            <category><![CDATA[cloud-native]]></category>
            <category><![CDATA[cloud-computing]]></category>
            <category><![CDATA[female-role-models]]></category>
            <category><![CDATA[motivational-speaker]]></category>
            <category><![CDATA[women-in-tech]]></category>
            <dc:creator><![CDATA[Donia Chaiehloudj]]></dc:creator>
            <pubDate>Tue, 23 Nov 2021 19:19:06 GMT</pubDate>
            <atom:updated>2021-11-24T07:40:37.456Z</atom:updated>
            <content:encoded><![CDATA[<p><em>They are CNCF ambassadors, Docker captains, or AWS heroes. The </em><strong><em>women in tech are the game-changers</em></strong><em> </em><strong><em>of cloud-native development,</em></strong><em> sharing their knowledge about containers, Kubernetes, Docker, or DevOps topics.</em><strong><em> They inspire the new generation of girls entering into the STEM universe.</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*AShPDOq-6ilmVNoV" /><figcaption>Illustration of the top 5 women in cloud-native development in 2021 by <a href="https://www.instagram.com/cheb_mama/">Ines Bouhouche</a></figcaption></figure><p>Diversity is crucial in a successful company by bringing different perspectives to solve a problem, understanding all customers, and overall coming up with the right solutions to challenges.</p><p>We find many organizations preaching the importance of having female figures to identify and inspire young girls (meaning less than 18 yo) to venture into tech paths. I might still be a young girl. Or it may be important, at any age, to have role models. I will flow with the second option.</p><p><strong>In this article, I will cover the importance of having inspirational females and reveal my top 5 motivational speakers of the year: the women in cloud.</strong></p><h3>Why it is important to have role models</h3><p>Since I was young, I have always had people, alive or dead, inspiring me, to create, to follow a path, or to be a better person. Today, I want to progress in cloud application development, Golang, and to contribute more to open-source projects.</p><p>Naturally, when I look at women in these areas, teaching, sharing their knowledge in every possible form, it makes me realize I want to be one of them.</p><p>I have <strong>dreams and ambitions</strong>.</p><p>That’s a great thing to <strong>have dreams but making them happen, is a better thing.</strong> Here is my strategy.</p><p>By observing these women one can <strong>identify concrete objectives</strong> and break them down into small achievable pieces (SMART method, does it ring a bell ?). <strong>Prepare your learning plan.</strong></p><p>Women speakers publish content every day in the form of articles, tutorials, books, videos, podcasts, demos, to mention just a few. You can find a plethora of media to <strong>learn from them</strong> about their areas of expertise. Of course, women like these possess notable soft skills such as public speaking, writing, and educational talents.</p><p>As a matter of fact, these ladies are cloud-native leaders. By showing what they achieve,<strong> they motivate me into getting the best out of myself.</strong></p><blockquote><em>Feeling down? Go back to your motivational people list.</em></blockquote><p>After the theory, let’s discover my top 5 female inspirational speakers!</p><h3>My top 5 of motivational women speakers</h3><h3>Liz Rice</h3><p><em>Role: </em><a href="https://www.lizrice.com/">Chief Open Source Officer @Isovalent<em><br></em></a><em>Domains: </em>containers, cloud-native technologies, security, distributed systems<br><em>Favorite content: </em><a href="https://www.youtube.com/watch?v=8fi7uSYlOdc">Containers From Scratch • Liz Rice • GOTO 2018</a></p><h4><em>At the top, she is my favorite — she can stunningly vulgarize technical topics.</em></h4><p>Liz Rice is an experienced software engineer in the security and container domains. She is well known for her Containers From Scratch talk.</p><p>As an expert in containers, kernel, and security, she is now the chief open source officer at Isovalent developing eBPF and cilium products. She is also the chair of the Technical Oversight Committee of CNCF (Cloud Native Computing Foundation), and an ambassador for OpenUK. Besides, she speaks regularly at famous conferences like KubeCon.</p><p>You can find her on <a href="https://twitter.com/lizrice">Twitter</a>, <a href="https://github.com/lizrice">Github</a>, and more on her <a href="https://github.com/lizrice">website</a>.</p><h3>Aurélie Vache</h3><p><em>Role: </em><a href="https://www.linkedin.com/in/aurelievache">DevRel @OVHcloud<em><br></em></a><em>Domains:</em> DevOps, Cloud, Golang<br><em>Favorite content: </em><a href="https://www.youtube.com/watch?v=brsRcTQW9eQ">Understanding Kubernetes in a visual way — 11 — Liveness &amp; Readiness | Kubernetes en français</a></p><h4><em>One of the two French (GDE) Google Developer Experts in Cloud, she turns container theory into simple sketch notes.</em></h4><p>Aurélie Vache has solid experience in software development and ops. She shares her knowledge and best practices, lately through sketch notes and videos. In addition to being GDE, she is CNCF Ambassador, Docker captain and promotes women in tech through <a href="https://www.duchess-france.org/">Duchess</a> as a leader and <a href="https://www.ellesbougent.com/en/association/presentation/">EllesBougent</a> organizations.</p><p>You can find her on <a href="https://twitter.com/aurelievache">Twitter</a>, <a href="https://www.youtube.com/c/aurelievache">Youtube</a>, and <a href="https://dev.to/aurelievache">Dev.to</a>.</p><h3>Nana Janashia</h3><p><em>Role:</em><a href="https://www.linkedin.com/in/nana-janashia/"> DevOps trainer<em><br></em></a><em>Domains:</em> Any DevOps tools<br>F<em>avorite content: </em><a href="https://www.youtube.com/watch?v=ha3LjlD6g7g">Kubernetes Operator simply explained in 10 mins</a></p><h4><em>On her youtube channel TechWorld with Nana, she teaches any DevOps topic.</em></h4><p>Nana Janashia is a DevOps consultant and trainer. She built her youtube channel to share her expertise and a full bootcamp to become a proper DevOps. In addition, she is a Docker Captain, an AWS Container Hero, and CNCF Ambassador.</p><p>You can find her on <a href="https://twitter.com/njuchi_">Twitter</a>, <a href="https://www.youtube.com/c/techworld_with_nana">Youtube</a>, and more on her <a href="https://www.techworld-with-nana.com">website</a>.</p><h3>Anaïs Urlichs</h3><p><em>Role: </em><a href="https://www.linkedin.com/in/urlichsanais/?originalSubdomain=uk">SRE @Civo<em><br></em></a><em>Domains:</em> Go, Kubernetes, Helm (to mention just a few)<br><em>Favorite content: </em><a href="https://100daysofkubernetes.io/overview.html">https://100daysofkubernetes.io/overview.html</a></p><h4><em>She challenged herself to learn </em><a href="http://devops.anaisurl.com/"><em>Kubernetes in 100 days</em></a><em> and she is the top CNCF ambassador of the year.</em></h4><p>Anaïs Urlichs transitioned from marketing to tech. She has been a Developer Evangelist at CodeFresh and wanted to get more into doing the coding stuff. She has a DevOps newsletter and shares her journey on her blog. She decided to learn Kubernetes and cover her journey to help others in the 100 days of Kubernetes.</p><p>You can find her on <a href="https://twitter.com/urlichsanais">Twitter</a>, <a href="https://www.youtube.com/c/AnaisUrlichs">Youtube</a>, Github, and more on her <a href="https://anaisurl.com/">website</a>.</p><h3>Kaslin Fields</h3><p><em>Role: </em><a href="https://www.linkedin.com/in/kaslinfields/">Developer Advocate @Google<em><br></em></a><em>Domains: </em>Kubernetes, Container<br><em>Favorite content: </em><a href="http://kaslin.rocks/from-one-to-many-the-road-to-multicluster/">From One to Many: The Road to Multicluster — Containerized Adventures (kaslin.rocks)</a></p><h4><em>You can find her drawing to transform containers into adventures, she advocates for the Kubernetes developers community.</em></h4><p>Kaslin Fields has a long list of keynotes at KubeCon. She is advocating for the Kubernetes developers and community at Google. She loves making technology accessible to all. Her medium is the illustration on her comic website.</p><p>You can find her on <a href="https://twitter.com/kaslinfields">Twitter</a>, <a href="https://github.com/kaslin">Github</a>, and more on her <a href="https://kaslin.rocks/">website</a>.</p><h3>Take-aways</h3><p>I hope you are convinced (if you were not already) to maintain your motivational women speakers list, keep in mind:</p><ul><li>Have dreams, dare to be ambitious</li><li>Identify objectives</li><li>Keep learning</li><li>When feeling down, go back to your motivational people list</li><li>Be bold</li></ul><p>Do you already have a list of people that make you dream?</p><p><strong>Hit the comment button to share your list! Tag me on LinkedIn </strong><a href="https://www.linkedin.com/in/donia-chaiehloudj"><strong>Donia Chaiehloudj</strong></a><strong> and spread the word!</strong> If you are too shy, please shoot me a message.</p><p>If you did not see my last articles concerning cloud computing and my first open-source experience, here’s links to them.</p><p><a href="https://doniacld.medium.com/10-concepts-you-should-know-about-distributed-systems-57cab6f92a87">10 concepts you should know about distributed systems</a></p><p><a href="https://doniacld.medium.com/change-blogging-my-first-hacktoberfest-2021-d5845dd791e8">Change blogging my first Hacktoberfest 2021</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e24ec9b304ce" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Change Blogging my first Hacktoberfest (2021)]]></title>
            <link>https://doniacld.medium.com/change-blogging-my-first-hacktoberfest-2021-d5845dd791e8?source=rss-5f5e7465224e------2</link>
            <guid isPermaLink="false">https://medium.com/p/d5845dd791e8</guid>
            <category><![CDATA[hacktoberfest2021]]></category>
            <category><![CDATA[hacktoberfest]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[development]]></category>
            <dc:creator><![CDATA[Donia Chaiehloudj]]></dc:creator>
            <pubDate>Fri, 29 Oct 2021 11:04:09 GMT</pubDate>
            <atom:updated>2021-10-29T13:06:44.770Z</atom:updated>
            <content:encoded><![CDATA[<p>How I discovered the vast open source world thanks to the Hackoberfest.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*FtGG3TpRhDOaah0A" /></figure><p>Three weeks ago, while going through the last posts on <a href="https://dev.to/doniacld">Hashnode</a>, I landed on <a href="https://ayushirawat.com/beginners-guide-to-hacktoberfest-2021?source=newsletter">Beginners’s guide to Hacktoberfest 2021</a> post from Ayushi Rawat.</p><blockquote><em>Hacktoberfest, in its 8th year, is a month-long celebration of open source software run by DigitalOcean. During the month of October, we invite you to join open-source software enthusiasts, beginners, and the developer community by contributing to open-source projects.</em></blockquote><h3>My fears</h3><p>I have several years of development experience now but I never overcome this fear of participating in an open source project. I was worried about having my code not qualitative enough and judged by software gurus. What a shame ?! I found Hacktoberfest a great challenge to put a foot in the door.</p><p>Following the tutorial step by step, I searched for candidates issues/projects, here is the <a href="https://github.com/search?l=Go&amp;p=2&amp;q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22+no%3Aassignee&amp;type=Issues">filter</a> used. Golang is the language I am quite proficient at, this filter associated with a good-first-issue label seemed to do the job pretty well since it returned a plethora of issues. Hacktoberfest provides a list of all participating projects per language, <a href="https://hacktoberfest-projects.vercel.app/repos/go">Go Repositories</a>.</p><h3>My contributions</h3><p>I found this little size project named <a href="https://github.com/kidle-dev/kidle">Kidle</a>, a Kubernetes operator to idle or wakeup resources with a <a href="https://github.com/kidle-dev/kidle/issues/21">good-first-issue</a>! After posting my first comment saying I was interested, the stress invaded my body. <a href="https://github.com/orphaner">Nicolas</a>, the maintainer was asking for my opinion (Am I legitimate to have an opinion on your tool ?). I take my time to search, check the code and give what I assumed the best answers I could give at this point.</p><p>Discussing with Nicolas was great, after a few comments, I felt I was already learning new things: suggestions display, check related projects, github discussions conventions, acronyms. After agreeing on the scope of the issue, the fun began: let’s code! For the record, it took me three weeks to test and push a final <a href="https://github.com/kidle-dev/kidle/pull/25">pull request</a>.</p><p>The day after, I talked about the Hacktoberfest to <a href="https://github.com/chavacava">Salvador</a> (architect colleague and my technical/career unofficial mentor). He is known for contributing to <a href="https://github.com/mgechev/revive">revive</a> a Golang linter. We decided that I could contribute by solving these <a href="https://github.com/mgechev/revive/issues?q=is%3Aissue+is%3Aclosed+assignee%3Adoniacld">3 issues</a> (2 new rules and add a docker image to the release).</p><p>Since this moment, I have been coding every available hour I had. It felt so reviving to spend time coding on new projects, rewarding to solve issues for people actually using the tool. Here are all my <a href="https://hacktoberfestchecker.jenko.me/user/doniacld">contributions</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*guVF0Q1BgUHMuShq" /><figcaption><em>Contributions on my Hacktoberfest profile</em></figcaption></figure><p>Now, my 4PRs are submitted and approved, I am waiting for the 15 days maturation to finish the challenge! A special thanks for the Hacktoberfest, <a href="https://github.com/chavacava">Salvador</a> and <a href="https://github.com/orphaner">Nicolas</a> for guiding me in the mysterious and beautiful open source world. I will definitely not leave it, it is now part of my tech routine.</p><h3>Takeaways</h3><ul><li>Don’t be afraid, open source is about helping and not judging</li><li>Agree on the scope with maintainers before pushing any pull requests</li><li>Start with small and easy changes</li><li>It is not only October but all year long</li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d5845dd791e8" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[10 concepts you should know about distributed systems]]></title>
            <link>https://doniacld.medium.com/10-concepts-you-should-know-about-distributed-systems-57cab6f92a87?source=rss-5f5e7465224e------2</link>
            <guid isPermaLink="false">https://medium.com/p/57cab6f92a87</guid>
            <category><![CDATA[glossary]]></category>
            <category><![CDATA[distributed-systems]]></category>
            <category><![CDATA[cloud]]></category>
            <dc:creator><![CDATA[Donia Chaiehloudj]]></dc:creator>
            <pubDate>Wed, 06 Oct 2021 14:36:55 GMT</pubDate>
            <atom:updated>2021-10-06T14:36:55.894Z</atom:updated>
            <content:encoded><![CDATA[<p>A brief lexicon around distributed systems to refer to!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*-9yTLEcfW5ilCaYY" /><figcaption>Photo by <a href="https://unsplash.com/@__itsflores?utm_source=medium&amp;utm_medium=referral">Omar Flores</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><h3>1. Distributed System</h3><p>Before deep diving into concepts, let’s define what a distributed system is. The best definition is from Tim Berglund in an O’Reilly lesson: “distributed systems […] are a collection of<strong> independent computers</strong> that appears to its user as a single computer”.</p><blockquote><em>Distributed systems are a collection of independent computers that appears to its user as a single computer.</em></blockquote><h3>2. Availability</h3><p>A system is available when service interruption is minimal which means downtime and failures are punctual.</p><p>To quantify service availability, indicator setup is a prerequisite. In <a href="https://cloud.google.com/blog/products/devops-sre/sre-fundamentals-slis-slas-and-slos">Service Reliability Engineering (SRE) terms</a>, it is named <strong>Service-Level Indicator</strong> (SLI). Common examples of SLI are: <strong>latency, responsiveness, error rates</strong>. Based on these indicators, it is possible to define a numbered internal target, the <strong>Service-Level Objective</strong> (SLO). Then, the <strong>Service-Level Agreement</strong> (SLA), which can be defined as the uptime system percentage on a time window promised to a customer, will be compared to the SLO.</p><blockquote><strong>SLA</strong>: agreed with the client<br><strong>SLO</strong>: internal target<br><strong>SLI</strong>: real measure of the service availability</blockquote><h3>3. Horizontal scalability</h3><p>Scaling is involved when the limit (number of requests, CPU, RAM, …) a resource can handle is reached. Components are <strong>duplicated</strong> and available in the pool of resources. Scalability is used at different layers: <strong>network, service, database.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*0DZMLJsZGYUgq48q" /><figcaption><em>Vertical and horizontal database scaling schema by doniacld</em></figcaption></figure><h3>4. Low latency</h3><p>Latency is the amount of time the system takes to process a request, measured most often in milliseconds. To reach the low latency, possible solutions are caching or Content Delivery Network (CDN).</p><h3>5. Load balancing</h3><p>A load balancer distributes requests between services, by appearing as a single entrypoint to the caller. It provides easy scalability and availability features. Note that a multitude of algorithms exist behind the decision making. One of the most used is <a href="https://en.wikipedia.org/wiki/Round-robin_scheduling">Round Robin</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*KFf_RaEPvENtLTQV" /><figcaption><em>Load balancer example by doniacld</em></figcaption></figure><h3>6. Caching</h3><p>Caching is <strong>copying data in temporary storage</strong> to accelerate memory access. Web browsers and CDN servers cache content that is seldom updated. By reducing the latency and the load on the backend server, we increase the customer success.</p><p>Temporary storage means evicting outdated content by using a strategy such as First In First out (FIFO), Least Recently Used (LRU) or Least Frequently Used (LFU) to mention just a few. Redis and Memcache are frequently used as hot/cache databases.</p><h3><strong>7. Replication</strong></h3><p>Replication consists in <strong>sharing data while maintaining consistency</strong> between redundant resources. It is used when high availability and accessibility are required. The continuous replication can be synchronous or asynchronous. It depends on the necessary level of consistency associated with the system design architecture.</p><h3>8. Sharding</h3><p>Sharding refers to <strong>distributing the data storage</strong> among several instances of a database in order to make horizontal scaling and replication possible. Here are different types of sharding strategies:</p><ul><li>key based sharding</li><li>range based sharding</li><li>directory based sharding</li></ul><p>Some applications natively handle sharding such as Cassandra or MongoDB whereas Redis and Memcache are non-natively sharded.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*o2pCxz0WRjP9fTeK" /><figcaption><em>Key based sharding example from </em><a href="https://www.digitalocean.com/community/tutorials/understanding-database-sharding"><em>DigitalOcean</em></a></figcaption></figure><h3>9. Monitoring</h3><p>Monitoring consists in <em>collecting, processing, aggregating, and displaying real-time quantitative data about a system, such as query counts and types, error counts and types, processing times, and server lifetimes</em>. *</p><p>There are two types of monitoring: <strong>black box and white box</strong>. In black box monitoring, you get the same level of information as an end user. In white box monitoring, the system knows infrastructure and code details.</p><p>The four golden signals are: <strong>latency, traffic, errors, saturation</strong>.</p><p>Monitoring is not only useful to proactively detect abnormal system behaviour but also to retrieve information in order to analyse customer needs.</p><h3>10. Observability</h3><p>A system is observable when there are sensors translating its behaviours and activities, so that it can be evaluated based on this output. The system should generate data in three formats to make the observability exploitable: event logs, metrics, and traces.</p><h3>To go further</h3><p><a href="https://www.oreilly.com/content/distributed-systems-a-quick-and-simple-definition">Distributed systems: A quick and simple definition</a><br><a href="http://www.vlsifacts.com/reliability-vs-availability-in-fault-tolerance/">Reliability vs availability in fault tolerance</a><br><a href="https://www.freecodecamp.org/news/systems-design-for-interviews">System design for interviews</a><br><a href="https://igotanoffer.com/blogs/tech/load-balancing-system-design-interview">Load balancing for system design interview</a><br><a href="https://www.cloudflare.com/learning/cdn/what-is-caching">What is caching ?</a><br><a href="https://medium.com/@jeeyoungk/how-sharding-works-b4dec46b3f6">How sharding works ?</a><br><a href="https://www.mongodb.com/features/database-sharding-explained">MongoDB: database sharding explained</a><br><a href="https://sre.google/sre-book/monitoring-distributed-systems/">SRE book: monitoring for distributed systems</a><br><a href="https://www.sumologic.com/glossary/observability/">Glossary SummoLogic: Observability</a><br><a href="https://iamondemand.com/blog/distributed-monitoring-101/">I Am On Demand: Distributed monitoring 101</a></p><p><em>* </em><a href="https://www.oreilly.com/library/view/site-reliability-engineering/9781491929117/ch06.html"><em>Site Reliability Engineering</em></a><em> by Rob Ewaschuk published by O’Reilly</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=57cab6f92a87" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to ace a developer’s marathon interviews ?]]></title>
            <link>https://doniacld.medium.com/how-to-ace-the-marathon-interviews-b2cf624dfdf9?source=rss-5f5e7465224e------2</link>
            <guid isPermaLink="false">https://medium.com/p/b2cf624dfdf9</guid>
            <category><![CDATA[interview]]></category>
            <category><![CDATA[software-engineer-jobs]]></category>
            <category><![CDATA[interview-guide]]></category>
            <category><![CDATA[developer]]></category>
            <category><![CDATA[recruiting]]></category>
            <dc:creator><![CDATA[Donia Chaiehloudj]]></dc:creator>
            <pubDate>Mon, 14 Dec 2020 15:39:04 GMT</pubDate>
            <atom:updated>2020-12-14T15:50:56.326Z</atom:updated>
            <content:encoded><![CDATA[<h3>How to ace a developer’s interviews marathon ?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*o312lICTXEevdHgf" /></figure><p>Getting a job in tech is not so hard, but getting the challenging role in a company with who you share the same values, and, above all, honourly paid could be a more complicated journey! A few months ago, my mission as a contractor was coming to an end. Disappointed ? Yes I was. I really liked my daily job and my beloved team. However brutal this announcement was, I took it as an opportunity to finally join a major company. This was the beginning of my marathon. As a throwback, I am sharing today my tips and experience.</p><h3>Step 1: Clarify your expectations</h3><p>You should define what your next move looks like. List your strengths and what you are looking for. For myself, I was aiming to be a backend software engineer playing with cloud technologies and facing microservices architecture.</p><h3>Step 2: Resume, cover letter and profiles</h3><p>The resume is the facade of your professional life, determining if you will get an interview or not. There are a bunch of <a href="https://stackoverflow.blog/2020/11/25/how-to-write-an-effective-developer-resume-advice-from-a-hiring-manager/">resources</a> to get a nice and readable resume. I used <a href="https://cvdesignr.com/fr">cvdesignr</a> which enables you to have your resumes in different languages and online. The tool has a useful duplication option and is pretty user-friendly. I have also read about <a href="https://www.canva.com/fr_fr/createur/createur-de-cv-v1/?utm_source=google_sem&amp;utm_medium=cpc&amp;utm_campaign=REV_FR_FR_CanvaPro_Branded_Sitelink&amp;gclsrc=aw.ds&amp;&amp;gclid=CjwKCAiAzNj9BRBDEiwAPsL0d72wzfykFo3CuA6pz7P0d2OBbW-gZubLKH4JdBrJ4FdUeqzPRKNziRoCPoAQAvD_BwE&amp;gclsrc=aw.ds">canva</a>. In my collection, I have a long and a short version of my resume that I can propose to recruiters. Two of my friends double checked it to make sure that there were no typos or errors.</p><p>Concerning the cover letter, I wrote a generic one that I could easily adapt to focus on the experience to fit a specific offer. Make it reviewed also by friends, mentors, colleagues, whoever is able to bring you a critical look. I got inspired by several articles such as <a href="https://medium.com/@learnitmyway/how-to-write-a-cover-letter-as-a-software-developer-cover-letter-and-cv-included-2190e0d23e97">How to write a cover letter as a software developer ?</a></p><p><a href="https://www.linkedin.com/">LinkedIn</a> is a powerful tool to develop your network and definitely find a job. I set up my profile open to work and made it consistent with my resume. I also had an amazing recommendation from my tech lead. So, you can ask colleagues or teachers to leave a recommendation and also recommend skills. I found this <a href="https://business.linkedin.com/en-uk/marketing-solutions/blog/posts/content-marketing/2017/17-steps-to-a-better-LinkedIn-profile-in-2017">article</a> from Volt summarizing the tips to get a nice and attractive profile.</p><p>I also updated my profile on <a href="https://github.com/doniacld">Github</a> with a brief description and turned some private projects public. You can participate in open source projects by resolving small issues in public repositories. By the way, my Github link appears on my resume and so does my LinkedIn account.</p><p>In summary, make all your profiles consistent and active.</p><h3>Step 3: (Re)activate your network</h3><p><strong>Network is really important</strong>. It is composed of friends, classmates, teachers, colleagues, ex-colleagues, colleagues’ friends or people you met at a conference, basically anyone you know and appreciate. <a href="https://www.linkedin.com"><strong>LinkedIn</strong></a><strong> is your best ally</strong>. Send messages to those key people, explain your situation briefly and what you are looking for with your resume attached. I would go with something like this:</p><p><em>“Hey, I hope you are doing well! Just to tell you that I am actively looking for a new position because …, so if you hear about something that could match my profile please let me know! You can find my resume attached. I will keep you posted if something moves on here! Thank you….”</em></p><h3>Step 4: Let’s apply</h3><p>There are a lot of websites today to find opportunities. Here is a short list of where I applied :</p><ul><li><a href="https://www.linkedin.com/jobs">LinkedIn Jobs</a></li><li><a href="https://stackoverflow.com/jobs">Stackoverflow</a></li><li><a href="https://www.welcometothejungle.com">Welcome To The Jungle</a></li><li><a href="https://functional.works-hub.com/">Functional Works</a></li><li><a href="https://remote.works-hub.com">Remote Works</a></li></ul><p>There are so many of them, depending on what you are looking for! Actually, you’ll find a dedicated website for each preference. The traditional way is still to apply on company websites. In the case of an appealing offer, I took the time to adapt my resume and the cover letter when needed.</p><h3>Step 5: The interview process</h3><p>A few days later, I began to receive answers!</p><h4>How does the company hire ?</h4><p>I faced a lot of recruitment processes but basically they follow this kind of pattern. First, a phone screen interview with a recruiter (30 minutes call to check that you are the real person behind the resume and give you details about the job) then a take-home assignment. If this step is satisfying, an HR interview follows, as well as a coding challenge, a design interview and a technical conversation with a tech lead/manager. You can find many resources describing these interviews and how to prepare, I found this <a href="https://learntocodewith.me/posts/technical-interview/">one</a> pretty rich. Nevertheless, I would like to give you my approach.</p><h4>Phone screen interview</h4><p>Be ready to talk about yourself. I suggest practicing pitching yourself in 5 minutes. I am a talker so it is not really a problem for me to explain my professional experience. But if you are shy or not comfortable with selling yourself, practice. Practice alone, practice with a friend, with your family. <strong>Practice</strong>. At all steps, you will be asked to pitch yourself. I took advantage of the lockdown, to have some keywords on my notebook during the interviews to make sure I was on track.</p><p>You will also have the usual questions and the final question about salary expectations. Having a number or a range is necessary. To determine it, I used Glassdoor, the salary of my colleagues and always asked more than I wanted. To adjust the expected salary, I took into account the location of the company, the size and the reputation. In any interview, I was asked if I had questions. So, make sure you prepare questions that are relevant to your interviewer and also define if the <strong>job fits what you expect</strong>!</p><h4>HR interview</h4><p>The HR interview is a deeper version of the phone screen conversation. I picked training questions in articles as <a href="https://www.indeed.com/career-advice/interviewing/top-interview-questions-and-answers">Top interview questions and answers</a> or <a href="https://www.themuse.com/advice/interview-questions-and-answers">Interview questions and answers</a>. We practiced with my dad playing the recruiter while I tried to fit the offer and stayed honest. Also HR recruiters expect from you to use the STAR method. If you are unfamiliar with it, please read <a href="https://www.thebalancecareers.com/what-is-the-star-interview-response-technique-2061629">What is STAR interview response ?</a>.</p><h4>Take home assignment</h4><p>Some companies give a take home assignment to submit or ask for a personal project fulfilling the given requirements. My advice is to have a personal project on your Github to display your abilities to code and also to show how you organize, document, test and package your code. Setting up a CI is definitely a plus. It is also important to have code reviews from peers you estimate. Those tips can also be applied in the case you have to submit a specific assignment. A recruiter gave me this list of advices that I believe relevant:</p><ul><li>Don’t ignore the packaging (code easy-to-run and readme) ;</li><li>Think about the code readability (style, structure, comments) ;</li><li>Archi : we invite you to use existing tools/library ;</li><li>Efficiency : what about performance (good data structure ?) ;</li><li>Test : good set of tests that may cover edge cases.</li></ul><p>At this point, I had a notebook with all my notes of the interviews and information from the preparation. I also built a <a href="https://trello.com/">Trello</a> dashboard with all the technical tasks and labels for each project. I set up a calendar with the interviews and the deadlines to prioritize my tasks.</p><h4>Coding challenge</h4><p><a href="https://www.glassdoor.com/Interview/index.htm">Glassdoor</a> is a community tool where candidates share their interview experiences, you can find the questions and exercises you might be asked. During the phone screen, do not hesitate to ask the kind of exercises they give, advice or topics that might help.</p><p>As I was applying for Golang jobs, I bought the book <a href="https://www.gopl.io/">The Go programming language</a> to review my basics and Go deeper. Also I have a daily digest from Medium about Go and I registered to the <a href="https://www.calhoun.io/">John Calhoun newsletter</a> and the podcast <a href="https://changelog.com/gotime">Changelog.org</a>.</p><p>There are a lot of resources on the web to train, the recommended ones by the recruiter from Datadog during the prep are <a href="http://leetcode.com/">Leetcode.com</a>, <a href="http://www.geeksforgeeks.org/">Geeks for Geeks</a>, <a href="http://www.codechef.com/">Code Chef</a>, <a href="https://projecteuler.net/">Project Euler</a>, <a href="http://www.algorithmist.com/index.php/Main_Page">More algorithmic challenges!</a> and I also used <a href="https://www.codility.com/">Codility</a>, <a href="https://www.codechef.com/">Code chef</a>, <a href="https://www.codingame.com/">Coding game</a>. The most used platform during my interviews was <a href="https://coderpad.io/">Coding Pad</a>. Make sure prior to the interview to familiarise with the platform. During the interview, ask questions to get all the requirements and think out loud to make sure the engineer understands your logic. I also created a public repository with all the resolved exercises !</p><h4>Design interview</h4><p>It is a tricky one. It is based on your knowledge of technologies and your experience. It requires a lot of knowledge about different technologies and what choices you will make in which situation. So, I basically watched design interview prep videos, read articles, took notes and drew schemas in a dedicated notebook.</p><p>I had only two different design interviews during my processes. The first one was actually pretty amazing with a head of ops and monitoring. He was not here to trick me but really to see how I think and was okay that I did not know certain patterns. I will not go into details about the other one, I was pretty embarrassed and the feeling with the interviewer was pretty bad. The platforms used were <a href="https://docs.google.com/drawings/">Google Drawings</a> and <a href="https://excalidraw.com/">Excalidraw</a>.</p><p>At the end of the interview, they expect you to show how you think and your tech culture at your level of experience.</p><h4>Technical conversation</h4><p>I did not really prepare for this step. What you can expect is to discuss technically what you did in your previous experiences and talk about concrete situations. I genuinely invested myself in my last job, so I am able to discuss technologies used, the whys, design choices and what was my part in the project. I know when and where I failed, succeeded and have concrete examples of my professional experience.</p><p>To conclude this step, I will say that, for each interview, I have done research and prepared technically — be organized. If you already did interviews with companies you are not interested in, this is the right time to make a selection and drop some of them. Have people around you that support you, partner, mentors, friends, colleagues, all of them were there for me during those months and it was precious.</p><h3>Step 6: The closing</h3><h3>Rejection</h3><p>It is normal to be rejected, <a href="https://www.linkedin.com/in/abadesi/?originalSubdomain=uk">Abadesi Osunsade</a> said in the “Young, diverse &amp; ambitious women” masterclass of <a href="https://app.50intech.com/funnelSignUp/really-really-want-bootcamp">50InTech</a> bootcamp: “Rejection pushes to growth, is an opportunity beyond your comfort zone, a challenge to yourself. If you fail, it means you learn.” Everything is said, I learnt so much during these past months, I trained myself, I read articles about subjects I did not know anything about. I learnt new technologies and also started looking into frameworks that I hadn’t considered earlier, even though I had been working with them for two years. Yes I cried, I am not going to lie but today I am so proud that I did it. So, just accept it, get feedback and go beyond.</p><h3>Positive answers</h3><p>Hopefully you are going to get offers. Ask for delay if needed, to give answers. Let the other companies know that you have already received an offer, they are most of the time comprehensive and will accelerate the process. <br>In my case, I accepted an offer and signed a contract, eventually cancelled it for a better offer.</p><p>The human resource recruiter will call you to announce you the good news and will probably talk to you about salary. Here, whether you are satisfied with what they offer or not, you can start the game of negotiations.</p><h3>Negotiations</h3><p>I will definitely recommend you the bootcamp of <a href="https://www.50intech.com/really-really-want-bootcamp/">50InTech “What I really really want — Negotiate salary. Get a yes.”</a></p><p>Finally, I would say compare salaries on Glassdoor or just check on Google any information that could be helpful. You can connect with people in that company on LinkedIn. Ask your colleagues or ex-colleagues about their salary and the money you might earn. Always ask more than you want at the beginning of the process and have a target in mind. Do not give up, build the list of your arguments. I did not hesitate to say when another company offered me more (which was true).</p><p>In brief, prepare at each step, stay curious and enthusiastic. I believe that you create opportunities in your life so take advantage of all the acquaintances that you have. I hope you ace your marathon!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*8ZbvGvDbi8k9RGc4" /><figcaption>Photo by <a href="https://unsplash.com/@andybeales?utm_source=medium&amp;utm_medium=referral">Andy Beales</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Here is a non exhaustive list of the companies where I entered in the recruitment process: Darwin recruitment, Datadog, EGM, HelloFresh, Isovalent, Mediakeys, Movio, RockVista recruitment, Sqreen, Stakha, Symphony, Refurbed, Thalès Alenia Space, Zalando.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b2cf624dfdf9" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>