[{"content":"","date":null,"permalink":"https://bnunes.dev/","section":"","summary":"","title":""},{"content":"","date":null,"permalink":"https://bnunes.dev/posts/","section":"","summary":"","title":""},{"content":"","date":null,"permalink":"https://bnunes.dev/tags/it/","section":"Tags","summary":"","title":"It"},{"content":"","date":null,"permalink":"https://bnunes.dev/tags/jobs/","section":"Tags","summary":"","title":"Jobs"},{"content":"","date":null,"permalink":"https://bnunes.dev/tags/recruitment/","section":"Tags","summary":"","title":"Recruitment"},{"content":"","date":null,"permalink":"https://bnunes.dev/tags/remote/","section":"Tags","summary":"","title":"Remote"},{"content":"","date":null,"permalink":"https://bnunes.dev/tags/","section":"Tags","summary":"","title":"Tags"},{"content":"I applied for jobs in the US, and to be honest, I failed most of them.\nI\u0026rsquo;m still applying and still failing. But that\u0026rsquo;s how it goes\u0026hellip; But one thing that is worth mentioning is that I am learning a lot from these recruitment processes.\nWhere am I faling? # Leet Code Parallel Programming System Design Behavioral interview questions Leet Code #I understand that there are thousands of candidates for one single job, and the recruiters have to submit their candidates through a LeetCode challenge in a way to sort the best ones out.\nAnd here is where I am falling behind.\nThere are lots of algorithm concepts, like:\nTwo Pointers BFS Graphs I had those a long time ago in college. I got to remember and practice all of them back.\nThere is no other way than practice and keep practicing.\nLearn the solution from others; you don\u0026rsquo;t have to be a genius. Copy, learn, debug and review. This will also make you a better developer/engineer.\nParallel Programming #All my career I worked developing RESTful APIs for backends, and most of these APIs were simple POST and GET methods. Simple operations in a database. Sometimes we had to provide some sort of pagination.\nI never had the chance to work developing a high-performance system that required parallel programming.\nSo all the questions are related to:\nDeadlock Atomic Operations Data race Race conditions Semaphores Lock-free algorithms I am missing and skipping all of that.\nI\u0026rsquo;ve been asked questions like:\nIn Java, what is the difference between a callable and a runnable? So, besides all those basic topics above, there are also new related topics, like CompletableFuture.\nIf I want to be a senior professional, I have to go through this.\nI asked Claude to help with this. Now he\u0026rsquo;s guiding me through a project that involves all of these topics. I\u0026rsquo;ll be publishing it on my GitHub account.\nSystem Design #Now that AI can help us code, we must be able to design better backend services. Specifically, prepare them for failures and unexpected situations.\nDuring interviews, I\u0026rsquo;ve been asked things like:\nHow would you avoid a duplication request being persisted in a database given a distributed system? I couldn\u0026rsquo;t be able to answer that. But I do believe that is something related to idempotency.\nAfter that, I decided to take classes with a real specialist in this field. Matheus Fidelis works for Itau (a large bank in LATAM), and he is launching a training course only for system design through LinuxTips.\nGetting ready for the next 6 months of my life.\nBehavioral Interview questions #I believe that my resume is not even going through the ATS.\nBut some tricky questions that usually show up during interviews are:\nHow do you manage a conflict situation? How do you behave when someone disagrees with your idea? What was the most challenging project you ever worked on? To be honest, I never worked in something challenging. As I said before, I had only CRUD operations over RESTful APIs.\nIs there something wrong with that?\nWhat about a mentorship program? #No! Definitely this is NOT THE WAY TO GO!\nI’ve been there already, and it was a waste of money and time.\nI joined Felipe Palma’s mentorship program for about R$12k in order to get help on these topics, have a nice and clean LinkedIn profile, and have an attractive resume. Not only that, but I also learned a few useful things during the 6-month program. But to be honest, all of that is free on YouTube.\nYes! Twelve thousand Brazilian real!\nAs you can see, I am not ready.\nThey said I was ready. What??\nView this post on Instagram Felipe is a nice guy, but his team didn’t give me too much attention.\nFurther steps for the next 6 months #Well, I have to run for it.\nI got to learn those algorithms, build a project that deals with multithreading, design a fault-tolerant system, and review my career and reflect on what was challenging or, at least, create some sort of convincing narrative.\nTo be honest, I am tired.\nI’ll keep you updated.\nIs anyone going through the same thing as me too?\n","date":"8 May 2026","permalink":"https://bnunes.dev/posts/thoughts-reflections-finding-jobs-it-market-in-2026/","section":"","summary":"Impostor syndrome is hitting high spikes here. Got so rejected! Am I a bad developer?","title":"Thoughts and reflections on finding a job in the IT market in 2026"},{"content":"","date":null,"permalink":"https://bnunes.dev/tags/architecture/","section":"Tags","summary":"","title":"Architecture"},{"content":"","date":null,"permalink":"https://bnunes.dev/tags/database/","section":"Tags","summary":"","title":"Database"},{"content":"Brief Context #We are starting a new Saas project and we are in the early stages of development. We have already decided to use MongoDB as our primary database. The team is composed of me and two other developers.\nThe TrackToBuy project is about tracking products from different stores and alerting users when the price drops. There are other features like grouping them and each group has some sort of budget threshold and once the sum of the products in the group is reached, it will send a notification to the user.\nThe Debate # My Proposal - PostgreSQL #As I saw before hand that the project would have lots of relationships between entities, I proposed using a relational database model, with PostgreSQL as our primary database just because this model has some advantages when thinking about relationships, joins, consistency and data integrity.\nTheir Proposal - MongoDB #On the other hand, my colleagues prefer a NoSQL database model, with MongoDB as our primary database because it is more flexible and we can change the database schema as we go. They also think that it is easier to use and we can develop the project faster.\nBut their main reason was the schema change. It has to do with the MVP nature of the project. We are not entirely sure about the best way to model the data, so we want to be able to change the database schema as we go.\nThese points I tend to agree, but I still think that PostgreSQL is a better choice for this project.\nSo we end up using MongoDB, despite my poor experience with it in the past.\nChallenges with MongoDB #Link Related Data #The project has collections with high cardinality and we have to use referencing over embedding as a model to avoid having large documents. We can\u0026rsquo;t just embed everything because the documents would be too large.\nExample: a group can have multiple products.\nThis may lead to another problem that we are not familiar with in MongoDB, which is Joins.\nJoins #Okay, so how are we going to query the data? I have no idea so far! I might figure it out in the next few days.\nI still have something to learn and search about it. Does it MongoDB supports joins?\nI was reading about joins in Document Model in the Martin\u0026rsquo;s Kleppmann book Designing Data-Intensive Applications. And something there caught my attention:\nIn document databases such as MongoDB, joins can lead to high latency and query complexity. For example, if you have a collection of orders and each order has an array of product IDs, finding all orders for a specific product would require a separate query for each order. This can be inefficient and time-consuming.\nSo my question is, does MongoDB supports that? In a way that I don\u0026rsquo;t have to do multiple queries to fetch the data I need? I\u0026rsquo;m guessing no, but I\u0026rsquo;m not sure.\nI\u0026rsquo;ve heard about the $lookup operator, but I don\u0026rsquo;t know if it is a good solution for this case. I\u0026rsquo;ll have to read more about it.\nAuthentication and Authorization #We also have to think about how to handle authentication and authorization. We were thinking about develop and build our own service for that. But it will be time consuming and complex and we wouldn\u0026rsquo;t be able to release our first version as soon as we want to.\nSo we will use Supabase for authentication and authorization. And guess what? Supabase has postgresql as its primary database. 😑\nIs this project turning into a hybrid database model project? I\u0026rsquo;m starting to think so.\nConclusion #So yep! We are going with MongoDB, despite my poor experience with it in the past. I\u0026rsquo;m still not convinced that it is the right choice, but I\u0026rsquo;m willing to give it a try.\nThere will also be the chance to mix with Supabase PostgreSQL to handle auth and maybe other features.\nBig big salad! I\u0026rsquo;m worried with that!\nI was also thinking there is space for GraphDBs. Just because in the future we may have to add features like a social network or something similar.\nWhat do you think? Did we choose the wrong database model for our new MVP? Any other option you would suggest?\nFeel free to contact me through Linkedin and send me a message there! This blog doesn\u0026rsquo;t have comments enabled yet. :(\n","date":"5 May 2026","permalink":"https://bnunes.dev/posts/did-we-choose-the-wrong-database/","section":"","summary":"That neverending story about NoSQL vs SQL and the MVP trap","title":"Did we choose the wrong database model for our new MVP?"},{"content":"","date":null,"permalink":"https://bnunes.dev/tags/discussion/","section":"Tags","summary":"","title":"Discussion"},{"content":"","date":null,"permalink":"https://bnunes.dev/tags/track-to-buy/","section":"Tags","summary":"","title":"Track to Buy"},{"content":"","date":null,"permalink":"https://bnunes.dev/tags/announcements/","section":"Tags","summary":"","title":"Announcements"},{"content":"Hi everyone! #This is my first post on my blog. People say that you only learn when you teach something to others.\nThe HUGO way #I know there are lots of other bloging tools out there, like Jekyll, Wordpress, Ghost, etc.\nI decided to create this blog using HUGO because it is a static site generator written in Go and it is very fast.\nI\u0026rsquo;m still learning how to use it and I\u0026rsquo;m sure there are lots of other features I can use to make my blog better. For now, I\u0026rsquo;m just happy with the result.\nA new journey begins! #I am about to start a new learning path on System Design and Software Architecture and I want to share my journey with you my challenges, my achievements, the projects I\u0026rsquo;ll be working on, etc.\nAlong the way I may share some other things that I find interesting and worth sharing.\nI am very excited to start my studies on this field and I already know my mentor. Matheus Fidelis is his name and he is a Principal Engineer from a large bank in Brazil and also works for LinuxTips - that\u0026rsquo;s the institution I signed up for the mentorship.\nOther contents include #I have a lot of things planned for this blog, including:\nPosts about software engineering Posts about my projects Posts about my thoughts and ideas Posts about my life and experiences Posts about my experiences working on different companies and industries. I hope you enjoy reading it as much as I enjoy writing it.\n","date":"27 April 2026","permalink":"https://bnunes.dev/posts/hello-world/","section":"","summary":"First thoughts on building a personal blog","title":"Hello World"},{"content":"","date":null,"permalink":"https://bnunes.dev/categories/","section":"Categories","summary":"","title":"Categories"}]