[{"data":1,"prerenderedAt":453},["Reactive",2],{"navigation":3,"/posts/be-a-developer":204,"/posts/be-a-developer-surround":426},[4,192,200],{"title":5,"_path":6,"children":7,"icon":191},"Blog","/posts",[8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98,101,104,107,110,113,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,176,179,182,185,188],{"title":9,"_path":10},"Testing your API with REST Client","/posts/testing-your-api-with-rest-client",{"title":12,"_path":13},"HTML templating in Xamarin","/posts/html-templating-in-xamarin",{"title":15,"_path":16},"Goodbye Azure Portal, Welcome Azure CLI","/posts/welcome-azure-cli",{"title":18,"_path":19},"Coming across Gitpod","/posts/gitpod",{"title":21,"_path":22},"Handle token retrieval while querying an API","/posts/delegating-handler",{"title":24,"_path":25},"Clean up your local git branches.","/posts/cleaning-git-branches",{"title":27,"_path":28},"Automate configuration of Teams Tab SSO with PowerShell.","/posts/teams-sso-powershell",{"title":30,"_path":31},"How to do a technology watch? - Part 1","/posts/technology-watch-part1",{"title":33,"_path":34},"How to do a technology watch? - Part 2","/posts/technology-watch-part2",{"title":36,"_path":37},"You almost no longer need Key Vault references for Azure Functions.","/posts/azure-functions-custom-configuration",{"title":39,"_path":40},"How to do a technology watch? - Part 3","/posts/technology-watch-part3",{"title":42,"_path":43},"Forget DevOps, the future is already here!","/posts/devops-future",{"title":45,"_path":46},"Week 9, 2021 - Tips I learned this week","/posts/w09-2021-tips-learned-this-week",{"title":48,"_path":49},"Week 12, 2021 - Tips I learned this week","/posts/w12-2021-tips-learned-this-week",{"title":51,"_path":52},"Week 14, 2021 - Tips I learned this week","/posts/w14-2021-tips-learned-this-week",{"title":54,"_path":55},"Once upon a time in .NET","/posts/once-upon-a-time-in-dotnet",{"title":57,"_path":58},"Install your applications with winget","/posts/winget-import",{"title":60,"_path":61},"Customize your applications when installing them with winget","/posts/winget-override",{"title":63,"_path":64},"Week 22, 2021 - Tips I learned this week","/posts/w22-2021-tips-learned-this-week",{"title":66,"_path":67},"How to connect to an Azure SQL Database from C# using Azure AD","/posts/sqlclient-active-directory-authent",{"title":69,"_path":70},"Producing packages for Windows Package Manager","/posts/wingetcreate",{"title":72,"_path":73},"4 tips about GitHub Actions environment variables and contexts","/posts/github-actions-var-and-context",{"title":75,"_path":76},"AzureWebJobsStorage, the secret you don't need in your Function App.","/posts/azure-functions-without-azurewebjobsstorage",{"title":78,"_path":79},"ASP.NET Core - Lost in configuration","/posts/lost-in-configuration",{"title":81,"_path":82},"Week 39, 2021 - Tips I learned this week","/posts/w39-2021-tips-learned-this-week",{"title":84,"_path":85},"Week 41, 2021 - Tips I learned this week","/posts/w41-2021-tips-learned-this-week",{"title":87,"_path":88},"Migrating and open-sourcing my blog","/posts/migrating-blog",{"title":90,"_path":91},"Week 45, 2021 - Tips I learned this week","/posts/w45-2021-tips-learned-this-week",{"title":93,"_path":94},"Organize your GitHub stars with Astral","/posts/astral",{"title":96,"_path":97},"Pulumi with an Azure Blob Storage backend","/posts/pulumi-azure-backend",{"title":99,"_path":100},"IaC Hot Reload with Pulumi Watch","/posts/pulumi-watch",{"title":102,"_path":103},"Week 2, 2022 - Tips I learned this week","/posts/w02-2022-tips-learned-this-week",{"title":105,"_path":106},"Week 3, 2022 - Tips I learned this week","/posts/w03-2022-tips-learned-this-week",{"title":108,"_path":109},"Week 5, 2022 - Tips I learned this week","/posts/w05-2022-tips-learned-this-week",{"title":111,"_path":112},"How to provision an Azure SQL Database with Active Directory authentication","/posts/sqldatabase-active-directory-authent",{"title":114,"_path":115},"Why will I choose Pulumi over Terraform for my next project?","/posts/pulumi-vs-terraform",{"title":117,"_path":118},"Week 19, 2022 - Tips I learned this week","/posts/w19-2022-tips-learned-this-week",{"title":120,"_path":121},"Week 20, 2022 - Tips I learned this week","/posts/w20-2022-tips-learned-this-week",{"title":123,"_path":124},"Keeping secrets secure when using API Clients","/posts/http-clients-secrets",{"title":126,"_path":127},"What made me want to be a developer?","/posts/be-a-developer",{"title":129,"_path":130},"What can we do when stuck with a programming problem?","/posts/get-unstuck",{"title":132,"_path":133},"How did I automate the setup of my developer Windows laptop?","/posts/automate-developer-machine",{"title":135,"_path":136},"Discussion about API clients","/posts/http-clients",{"title":138,"_path":139},"Week 46, 2022 - Tips I learned this week","/posts/w46-2022-tips-learned-this-week",{"title":141,"_path":142},"When Pulumi met Nuke: a .NET love story","/posts/when-pulumi-met-nuke",{"title":144,"_path":145},"A year of learning and sharing - Dev Retro 2022","/posts/2022-retro",{"title":147,"_path":148},"Perform Dynamic Execution of an npm Package","/posts/pnpm-dlx",{"title":150,"_path":151},"Manage multiple Node.js versions","/posts/pnpm-env",{"title":153,"_path":154},"Introducing the Vue.js CI/CD series","/posts/vuecicd-introduction",{"title":156,"_path":157},"Execute commands using your project dependencies","/posts/pnpm-exec",{"title":159,"_path":160},"Vue.js CI/CD: Continuous Integration","/posts/vuecicd-ci",{"title":162,"_path":163},"Who is using pnpm?","/posts/pnpm-who-is-using",{"title":165,"_path":166},"Create an Azure-Ready GitHub Repository using Pulumi","/posts/azure-ready-github-repository",{"title":168,"_path":169},"Deploying to Azure from Azure DevOps without secrets","/posts/ado-workload-identity-federation",{"title":171,"_path":172},"Effortlessly Configure GitHub Repositories for Azure Deployment via OIDC","/posts/scripting-azure-ready-github-repository",{"title":174,"_path":175},"Playing with the .NET 8 Web API template","/posts/playing-with-dotnet8",{"title":177,"_path":178},"Another year of sharing and learning - Dev Retro 2023","/posts/2023-retro",{"title":180,"_path":181},"Week 4, 2024 - Tips I learned this week","/posts/w04-2024-tips-learned-this-week",{"title":183,"_path":184},"Using dependency injection with Azure .NET SDK","/posts/azure-sdk-di",{"title":186,"_path":187},"Having Fun With IT Event Calendars","/posts/it-event-calendars",{"title":189,"_path":190},"Call your Azure AD B2C protected API with authenticated HTTP requests from your JetBrains IDE","/posts/http-clients-oauth2","i-heroicons-newspaper",{"title":193,"_path":194,"children":195,"icon":199},"Goodies","/goodies",[196],{"title":197,"_path":198},"My Git Cheat Sheet","/goodies/gitcheatsheet","i-heroicons-gift-solid",{"title":201,"_path":202,"icon":203},"About","/about","i-heroicons-user-circle-solid",{"_path":127,"_dir":205,"_draft":206,"_partial":206,"_locale":207,"title":126,"description":208,"lead":209,"date":210,"badge":211,"image":213,"tags":215,"body":217,"_type":421,"_id":422,"_source":423,"_file":424,"_extension":425},"posts",false,"","In this article, I share some thoughts about what made me want to be and continue to be a developer.","Some thoughts about how and why I became a developer","2022-08-20T00:00:00.000Z",{"label":212},"Essay",{"src":214},"/images/everyone_can_code.jpg",[216],"thoughts",{"type":218,"children":219,"toc":414},"root",[220,227,234,239,251,256,261,267,272,281,286,291,300,305,326,331,336,342,347,356,365,370,375,384,390,395,409],{"type":221,"tag":222,"props":223,"children":224},"element","p",{},[225],{"type":226,"value":208},"text",{"type":221,"tag":228,"props":229,"children":231},"h2",{"id":230},"the-always-wanted-to-be-a-developer-fairy-tale",[232],{"type":226,"value":233},"The \"always wanted to be a developer\" fairy tale",{"type":221,"tag":222,"props":235,"children":236},{},[237],{"type":226,"value":238},"I often see people on social networks writing about how they have always wanted to be a developer, how they started programming as kids, and how they have built their first websites in high school or before. Sorry to disappoint you, but that's not me. I have never programmed anything when I was a kid 🧒. Yes, I used a computer but that was to play video games not something geeky. I only discovered computer science after high school when I was preparing for the selective entrance examination to French engineering schools. The computer science class was an optional class but I enjoyed it. I enjoyed it more than the advanced mathematics and physics courses that I liked but that were becoming too abstract for me. It convinced me that I should study in a software engineering school to become a developer. There I discovered what being a developer was really about, and became fond of it ❤️.",{"type":221,"tag":222,"props":240,"children":241},{},[242],{"type":221,"tag":243,"props":244,"children":250},"img",{"alt":245,"className":246,"src":249},"A pair of feet standing in front of a sign that says passion led us here.",[247,248],"rounded-lg","mx-auto","/posts/images/be_a_developer_1.jpg",[],{"type":221,"tag":222,"props":252,"children":253},{},[254],{"type":226,"value":255},"Hence, no \"always wanted to be a developer\" fairy tale for me 📖. No years of practicing software development before studying it during higher education. And that's okay by me. I think you don't have to be passionate about development since your childhood to become a developer. Moreover, it's not because you did not build your first website before 15 years old that you are not going to be a good developer or that others will always be better than you. You don't even need to get a computer science degree to become a software developer. I graduated in computer science and I am happy with my education but there are many other ways to become a developer (self-learning, training programs, coding bootcamps, career change, ...) 👨‍💻.",{"type":221,"tag":222,"props":257,"children":258},{},[259],{"type":226,"value":260},"I explained how I became a developer but not exactly why, which brings us to the second part of this article.",{"type":221,"tag":228,"props":262,"children":264},{"id":263},"why-because-its-fun",[265],{"type":226,"value":266},"Why? because it's fun!",{"type":221,"tag":222,"props":268,"children":269},{},[270],{"type":226,"value":271},"Lots of people want to become developers because they are lots of job opportunities, the salary is usually good 💶 and you can work for nice companies. That's true, but we often forget the main thing: coding is fun 😁! It's like playing a game in which you have to solve problems. I still like playing video games in my free time (I don't do it often though), but sometimes I can spend a better time coding than playing video games 🎮. It just feels great writing code and solving problems!",{"type":221,"tag":222,"props":273,"children":274},{},[275],{"type":221,"tag":243,"props":276,"children":280},{"alt":277,"className":278,"src":279},"A close up of a white puzzle piece.",[247,248],"/posts/images/be_a_developer_2.jpg",[],{"type":221,"tag":222,"props":282,"children":283},{},[284],{"type":226,"value":285},"Moreover, when you develop, you are building something. Something that may be digital/virtual but that helps people in the real world. It's amazing when you realize that with coding skills you have the opportunity to build anything you like: applications that run on your laptop, on your smartphone, on your watch, in your browser, in the cloud, in your IoT device, in your car... Software runs the world and you can help build it 🌍.",{"type":221,"tag":222,"props":287,"children":288},{},[289],{"type":226,"value":290},"Nowadays, IT is everywhere so you can work in many different fields. Whether your work in the energy industry or e-commerce, you will still be coding but the software you are developing will have different business needs and constraints. It means, you can work for a variety of companies, and discover different businesses while being a developer. Being able to work for different businesses is the case in other professions but this is especially true for developers. And even if you only ever work for one business, IT is a big field so your job can be very different depending on what type of software you are working on 💻.",{"type":221,"tag":222,"props":292,"children":293},{},[294],{"type":221,"tag":243,"props":295,"children":299},{"alt":296,"className":297,"src":298},"A laptop computer sitting on top of a white table.",[247,248],"/posts/images/be_a_developer_5.jpg",[],{"type":221,"tag":222,"props":301,"children":302},{},[303],{"type":226,"value":304},"Of course, it's hardly a bed of roses. Just because it's fun does not mean it's easy to be a developer. IT is a fast-moving industry, so it's very hard to keep up to date with new frameworks, libraries, language features, cloud components... 🚀 Everything is evolving rapidly so you never stop learning. But it's part of what makes software development great, you are always learning something new 👍. I must confess you can sometimes feel like a beginner when you start working on something new, and even with several years of experience, you can suffer from impostor syndrome. Yet, when you realize how far you have come, how much you have learned, it just feels nice working as a developer.",{"type":221,"tag":306,"props":307,"children":309},"callout",{"icon":308},"i-heroicons-light-bulb",[310],{"type":221,"tag":222,"props":311,"children":312},{},[313,315,324],{"type":226,"value":314},"If you are interested in how to keep up to date with the latest things in IT, I wrote ",{"type":221,"tag":316,"props":317,"children":321},"a",{"href":318,"rel":319},"https://www.techwatching.dev/posts/technology-watch-part1",[320],"nofollow",[322],{"type":226,"value":323},"a series of 3 articles about how to do a technology watch",{"type":226,"value":325}," 📚.",{"type":221,"tag":222,"props":327,"children":328},{},[329],{"type":226,"value":330},"I think it's important not to speak only about the positive aspects of being a developer. I love my job but it's not always easy. Sometimes you get stuck on a problem for a few days, your code won't work, and you think nobody can help you 😿. Unless you are implementing complex algorithms, writing code is not hard but making it work is something else. Because being a developer is not only about writing code, there is much more to it than that: teamwork, understanding the business needs, designing software, debugging - building - packaging - deploying - testing - monitoring your code ... 🛠️ So yes it's a challenging job, but I like challenges. At the end, when things finally work, you ship your code to production, and the users are happy it's very rewarding 😀.",{"type":221,"tag":222,"props":332,"children":333},{},[334],{"type":226,"value":335},"All that is what made me want to be a developer. Nevertheless, the developer's job leads to many other professions, so after a few years should I stay a developer?",{"type":221,"tag":228,"props":337,"children":339},{"id":338},"the-real-question-what-makes-me-want-to-stay-a-developer",[340],{"type":226,"value":341},"The real question: what makes me want to stay a developer?",{"type":221,"tag":222,"props":343,"children":344},{},[345],{"type":226,"value":346},"I don't know if it's the same in other countries, but in France, developer is often seen as an entry-level job. According to many companies, as you gain in experience, you should either become a technical expert in a specific field or a project manager leading a team. Being a \"simple\" yet experienced developer is often seen as a failure when you grow \"old\". Your experience and knowledge as a developer are not so much valued 💶, and if you wish to develop your career you should be managing projects better than programming. So what makes me want to stay a developer then?",{"type":221,"tag":306,"props":348,"children":350},{"icon":349},"i-heroicons-chat-bubble-left-20-solid",[351],{"type":221,"tag":222,"props":352,"children":353},{},[354],{"type":226,"value":355},"It's weird to encourage experienced developers to become project manager because it's not the same job and it does not require the same skills. Therefore a well experienced developer can easily become a bad project manager. I have nothing against developers becoming project managers, if you want to, do it, it's great but you should not have to do it just to get promoted or have a better salary. Hopefully, not all the companies think like that but still, that's a problem in France.",{"type":221,"tag":222,"props":357,"children":358},{},[359],{"type":221,"tag":243,"props":360,"children":364},{"alt":361,"className":362,"src":363},"A heart is shown on a computer screen with 0s an 1s.",[247,248],"/posts/images/be_a_developer_4.jpg",[],{"type":221,"tag":222,"props":366,"children":367},{},[368],{"type":226,"value":369},"I want to stay a developer because I love programming 💖. I don't want to be a technical expert or a project manager telling people what to code but hardly coding at all himself. I like programming, it's what I currently do, and it's what I want to keep doing. And I don't just want to stay a developer, I want to become a better developer. I want to continue to grow and develop new skills.",{"type":221,"tag":222,"props":371,"children":372},{},[373],{"type":226,"value":374},"As a developer, there are so many things to learn, so many technologies to discover, and IT keeps evolving. For the years to come, I want to continue learning new languages and frameworks, use the latest trendy tools, be amazed by new technologies, build software that helps people, and share with others what I will have learned along the journey.",{"type":221,"tag":222,"props":376,"children":377},{},[378],{"type":221,"tag":243,"props":379,"children":383},{"alt":380,"className":381,"src":382},"A man walking past a sign that says love to learn.",[247,248],"/posts/images/be_a_developer_3.jpg",[],{"type":221,"tag":228,"props":385,"children":387},{"id":386},"final-thoughts",[388],{"type":226,"value":389},"Final thoughts",{"type":221,"tag":222,"props":391,"children":392},{},[393],{"type":226,"value":394},"Many things made me want to be a developer and stay one. Being a developer is awesome, I am grateful to do a job that I am passionate about.",{"type":221,"tag":222,"props":396,"children":397},{},[398,400,407],{"type":226,"value":399},"I don't often write non-technical articles and even fewer articles that talk about me. I hope you enjoyed reading this article anyway. This article is part of the ",{"type":221,"tag":316,"props":401,"children":404},{"href":402,"rel":403},"https://townhall.hashnode.com/4-articles-in-4-weeks-hashnode-writing-contest",[320],[405],{"type":226,"value":406},"4 articles in 4 weeks Hashnode writing contest",{"type":226,"value":408},".",{"type":221,"tag":222,"props":410,"children":411},{},[412],{"type":226,"value":413},"Happy learning.",{"title":207,"searchDepth":415,"depth":415,"links":416},2,[417,418,419,420],{"id":230,"depth":415,"text":233},{"id":263,"depth":415,"text":266},{"id":338,"depth":415,"text":341},{"id":386,"depth":415,"text":389},"markdown","content:1.posts:40.be-a-developer.md","content","1.posts/40.be-a-developer.md","md",[427,437],{"_path":130,"_dir":205,"_draft":206,"_partial":206,"_locale":207,"title":129,"description":428,"lead":429,"date":430,"badge":431,"image":432,"tags":434,"_type":421,"_id":435,"_source":423,"_file":436,"_extension":425},"Like I wrote in my last article, as a developer sometimes you get stuck on a problem for a few hours or a few days, your code won't work, and you think nobody can help you 😿. This can be very frustrating, but fortunately, there are plenty of ways to look for a solution or to seek help. You are probably already using some of them with success, yet there may be some you don't think of and that could help you a lot. That is the topic of this article.","Some tips to get unstuck as a developer","2022-08-27T00:00:00.000Z",{"label":212},{"src":433},"/images/laptop_1.jpg",[216],"content:1.posts:41.get-unstuck.md","1.posts/41.get-unstuck.md",{"_path":124,"_dir":205,"_draft":206,"_partial":206,"_locale":207,"title":123,"description":438,"lead":439,"date":440,"image":441,"badge":443,"tags":445,"_type":421,"_id":451,"_source":423,"_file":452,"_extension":425},"When using some API Clients (like REST Client or the HTTP Client of JetBrains' IDEs), environment variables are stored in JSON files that can contain secrets. To share these files within a team, developers tend to send them by email or by messaging applications, which is not very convenient nor secure 🔐. I thought it would be a good idea to store these secrets directly in an Azure Key Vault and automate the generation of a JSON file containing the secrets using Azure CLI and Nushell.","Playing with Azure CLI and Nushell to generate a secret environment file to send HTTP requests","2022-08-01T00:00:00.000Z",{"src":442},"/images/padlock_1.jpg",{"label":444},"Tooling",[446,447,448,449,450],"tooling","HTTP","nushell","Azure CLI","Azure Key Vault","content:1.posts:39.http-clients-secrets.md","1.posts/39.http-clients-secrets.md",1716749601557]