Interviewing in the age of AI
How to interview engineers in the age of AI
Personal site of Pedro Rijo (@pedrorijo91). Writing about Scala, Java, Functional Programming, git, and whatever I find time to learn about.
How to interview engineers in the age of AI
Sharing some of my favorite programming principles
A critical look at daily stand-ups and how they often disrupt focus, delay progress, and become performative rituals instead of productive meetings.
Some technical books I would recommend every engineer to read
When to follow the rules and when to break them
Some thoughts on my experience using the latest Gen-AI tools
Bloom Filters as space-efficient alternatives to Sets
Using Java Service Loader to allow pluggable code
Load testing a service using k6
Scala tutorials now in Baeldung
How to be a good developer - beyond the technical skills
I have been thinking for long time in creating a newsletter. I made an rss feed since day 1, but I know some people prefer newsletters. So you can now sign-up to receive new posts on your inbox. No spam, just an email whenever a new blog post is published. And don’t worry, you’ll get 1 email per week at most. Sign-up newsletter here!
Implementing User Authentication on Scala Play Framework
How to make Java saying 1 + 1 = 3 by messing with Integer cache
My experience coming from the JVM into front-end development with React
How to create a type safe builder pattern
Beginners tutorial on why and how to use RabbitMQ with Scala examples
The updated version of the Play Framework, Slick, and MySQL tutorial and demo application. Now for Play 2.7.X
A intro to Mutation Testing, a technique that has become robust enough to be seen as a reliable alternative to Code Coverage as the de facto metric for assessing your unit tests quality.
Why use statically typed languages when all of your types are Strings? Forget about Primitive Obsession and leverage the type system for code correctness
Are Scala Streams really lazy?
Advanced HTML forms in Play framework.
How to create simple HTML forms in Play framework.
Why you should think twice before using Scala Tuples. The problems of using tuples in Scala.
How to handle exceptions in Scala. try/catch vs Try vs Catch[T]
How to use Git? What is the best Git workflow? Hot to use git log? Solving merge conflicts. Git reset vs Git checkout. Third part of a series of git tutorials
Some basic, or not so basic, questions about Scala. Interview level questions. Preparing your next Scala interview.
Functional Programming concepts. What is referential transparency? That are pure functions? What is idempotence? What is the Uniform Access Principle?
Getting started with Git. Git basic commands. Everything you need to know to start using Git in your personal projects. Second part of a series of tutorials
Introduction to Git. What is Git? First part of a series of tutorials
Second part of Scala enumerations, after some discussions. Looking at enumerations libs overheads, and Java enums as an alternative.
How to use enumerations in Scala? Is the native approach the best one? Which problems does it brings? Are there any interesting alternatives?
C ode review has become one of the most important (and used) techniques when it comes to code quality. The code review process may have very different workflows and subtleties, but it is often driven around the following steps: The developer responsible by the code (a new feature, a bug fix, a refactor, etc) sends his changes to other colleagues (in git it is called a patch, that can be…
T his month Slack announced to have raised $200M on its most recent financing. At the same time I started to turn off Slack during working hours . One chat to rule them all Slack (just as Hipchat , and many other alternatives ) are messaging apps for teams. If you are on a still small startup (< 5 guys) maybe you don’t have anything similar yet, but as you start to grow, you will fell the need for…
L ast week GitHub released another new feature: GPG signature verification . While it may seem something new, Git already supports signing commits and tags with GPG . Still, GitHub turned easier to verify if the commit is signed by the author, introducing a badge next to the commit UUID. How to sign my own commits If you want GitHub to display your verified commits there are a couple of steps…
F ollowing up my previous post on mapping json objects to Scala models , it is time to present some more advanced use cases. In the past weeks I have found myself in cases where a little more ‘magic’ was needed: Read dates from the json ( org.joda.DateTime ) Mapping primitive types (as Long ) to a custom case class Nested objects Reading dates from Json objects Imagine you have a Json object, with…
G it has become one of the most essential tools for every developer. While most developers trust in GitHub to host their git repositories, Bitbucket , and more recently Gitlab , have become worthy alternatives. When users rely so much on those services for the everyday workflow, it became crucial for both, the providers and the users, to have almost non existing downtimes. One common approach to…
I f you deal with external APIs (like Twitter, Facebook, Intercom, Github, and many others) on a regular basis there’s a big chance that you have already dealt with JSON answers before. JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is a text format that is completely language…
This post was originally published on Codacy blog by me : I believe the Open Source movement is the biggest breakthrough in software development. Open Source has allowed many projects to increase the number of contributors (and contributions) to unreachable standards for any enterprise. Just take a look at the Linux kernel , which counts with 500,000+ commits and 5,600+ contributors. In this…
Edit: You may want to have a look at the updated example using Play 2.7 instead of Play 2.4 at Play Framework and Slick example updated T ypical nowadays applications need to store some persistent data frequently. And when we talk about persistent storage we are talking about databases. Among the most common applications, we have web applications. And it is uncommon to have a web application that…
F or those who don’t know, the Play Framework is the standard web framework for Scala (also available to Java), and it is similar to many other MVC frameworks, such as Spring MVC , Ruby on Rails , Django , and so on. And it has been a while since I’ve been wanting to play a little bit and experiment the Play Framework. Unfortunately, I never had the time, or any good idea to start with it. And…
L ast week, on September 1 st , I started a new adventure on Codacy . Codacy is an automated code review tool that allows developers to improve code quality and monitor technical debt. It aims to improve the code review process. To achieve such goal, not only automates the code review process, but also integrates with existing project management tools such Bitbucket , Github , Travis CI , and so…
I t has been a while since my last post, but between some side projects, summer vacation, and personal hobbies, it hasn’t been exactly easy to get time to write something. Today I want to talk about another small project I finished not long time ago! It all started at Go Youth Conference 2015 (or GYC 2015) last April. GYC is an unique conference, created by a group of young entrepreneurs in 2012,…
R ecently I’ve finished reading the book ‘Languages in Seven Weeks’. It is part of Seven in Seven series and it approaches seven different programming languages: Ruby , IO , Prolog , Scala , Erlang , Clojure , and Haskell . The publisher, The Pragmatic Bookshelf , introduces this book by making reference to a recommendation by The Pragmatic Programmer , which states “You should learn a programming…
H ave you ever committed code that made you feel ashamed? Maybe, for instance, a print statement you used for debugging just because you were too lazy to use the debugger? Maybe you even had that crazy idea of using a not so pretty print message? (Don’t worry, we all felt desperate to that point.) If the project you are working on has strong code review practices then, those print statements…
H ey there, and welcome to my new blog! It has been a while since I got this idea of creating a blog, a place where I could share my nerd stories, and it finally happened. :smiley: I’m gonna use this blog to communicate with the world and to let you know I am up to. And no, it’s not an April fools joke! Hoping to keep you guys with me!