extreme programming Pair Programming I wish pair-programming were more common when I started working as a developer. It is a real experience and confidence booster. Some may say it's costly, but it removes hidden costs in the process.
clean code The Day Refactoring Got Banned Working on a legacy project for several years and after having trouble maintaining the code base, we've attempted to make the code base cleaner and more maintainable. We horribly failed. Here is why.
agile Functionalities and Tools I've recently been asked to give the architecture for the second release of a project. I do not know what will be in this second release as the content of that release depends
planning Why Estimate ? This conversation perfectly captures estimation dystopia. Money, money, money Estimates are a common habit in the IT industry. Estimates are usually needed for financial reasons: Will the project get the proper funding ? Business
architecture Architecture Decision Records Recently, I've begun to work on a green-field project. Everything has to be done from scratch. Technical decisions needed to be made in order for the project to be launched. The team is
agile What the Customer Wanted How is possible to be Agile when the Product Owner explains the client's requirements to the business analyst, which in turn explains it to the developer? Oh, and as is often the case,
architecture The Myth of the Architect Who Doesn't Code When I started software development, I was amazed by software architects. I really was. Back then, I was taught that management was the best possible evolution career-wise. Since I didn't want to quit
management Hiring a consultant in a big French company A month ago, after having a project budget approval, my team started hiring consultants to help us deliver software. We needed positions in UX, UI, QA, PHP and Java development. Pretty standard requirements.
git Rebase or merge ? Every git user should be familiar with git merge and git rebase. Probably the most known command is git merge since it's the easiest to understand. I personally think that each of these
management Managing in a Scrum team ? I recently went to Agile Lyon where this year's theme was about management. I'm not a manager myself since I'm a developer; well more of a lead developer and my role is to
architecture Replace all the devs! I've recently been asked to prepare a BPM[1] architecture. I was vaguely aware of BPMN[2], but never came across a BPM before. I've had colleagues tell me that they were on
agile Estimates Estimates are often required in order for a project to request funding. Investors want to know what you will be building, how long it will take and most importantly how much it will
testing Levels of tests Tests come in a variety of formats. I've seen all kinds of tests and in varying numbers. Here are the main types I've encountered, from largest to more restricted. Of course one might
software crafting Emergent design Some Agile context As Agile replaced waterfall methodology, project management was completely changed. Much of the old habits in which we delved were upset. Agile methodologies brought about new methods backed by common
freelance Creating a logo So I decided to create a logo for my freelancing company. Finding a name Having a company name is actually fun when you're a freelance. I could have chosen a simple and unimaginative
career Bulshit job with fantastic technology As a freelance software developer, I have a certain privilege compared to being employed by a service company, that is I can choose to stop a contract. In my previous job, it was
blogging About writing blog posts I've been blogging for several years now. I'm not a perfect blogger. After several years of practice and conversations the subject I'd like to share my experience. Time For bloggers, time is an
tdd Detroit school TDD At the Lyon Coding Dojo Meetup, we did the Island Kata. Mob Programming As is usual now and since we are few enough, we used mob programming to work together. Mob programming is
software crafting Good Architecture Good architecture should be maleable. Architecture should not be a technical debt.
ansible Ansible Group Variables Ansible can get tricky when it comes to accessing variables from another group. There must be a better way than hostvars[groups['webservers'][0]]['url'] surely.
hexagonal architecture Hexagonal architecture on Java9 This article is a follow-up of Hexagonal Architecture with Gradle in which I gave an example of a what a hexagonal architecture would look like with Gradle and Java8. We'll now focus more
hexagonal architecture Hexagonal Architecture with Gradle Hexagonal Architecture is a type of software architecture which favors Domain Driven Design and aims at separating accidental complexity and essential complexity.
technical debt Cost of change Projects are punctuated with changes all the time. On programming projects, these changes are of all shapes and sizes. Small changes are usually unnoticed, but bigger changes usually generate more stress and cleavage.
career Job title Recently, after updating my LinkedIn profile, I've scanned through my colleagues' job titles. Most of them are fine, but some got my attention. Then it was after talking about it with Samuel Path
code style Code Formating At work, we have a git process with pull requests. This is a good process and enforces validation and has the benefit of sharing knowledge of recent modifications. Why use a code formater?