If you’re a software professional, you know how challenging it can be to manage database change. I put this course together to help you take the pain out of changing your database. MySQL Continuous Database Delivery with Flyway note: the examples use MySQL but are universally applicable to all relational databases, and Flyway supports all of them Here are a…
Category: Software Professionals
Free video tutorial: JavaScript command query separation
Here’s a free tutorial from my course On writing JavaScript well.
Lengthy functions are a pain to maintain. Sometimes cleaning them up is as simple as finding the line between executing a command and querying for information. Check out how this beast of a function was cleanly sliced into two parts:
Your methodology is irrelevant
Methodology is a means to an end. Assuming you know the end, you can change your means, including your methodology. One of the really nice benefits of pricing based on the end goal (outcomes), you can adapt your methodology as you go. That means you don’t have to justify your methodology upfront and force your customer to judge you based…
Value Pricing and Software Development
Last week I had the pleasure of being on Entreprogrammers. We wound up spending a lot of time talking about pricing in business. Value pricing in particular. And, I had the opportunity to talk about value buying, the other side of the coin.
There’s a nice write up on the Entreprogrammers site Episode 56 A Lesson In Pricing Models with some main takeaways.
And here’s a direct link to the youtube video:
Even if you’re not using feature branches, you actually are and you may be suffering because of it
Feature branching is a technique to work on multiple units of work in parallel. Say we have a sales application and we’re in the process of working on features to support selling cars, bikes and boats. And we’re working on each of these in parallel, likely over an extended period of time: So we have three feature branches in development.…
Code usability testing
Software professionals spend a lot of time creating, reading and maintaining code. Because so much time is spent using code, it can be a good idea to invest in the design of the code itself, in terms of usability. Take a look at most TVs these days, TV manufacturers seem to be pouring tons of money into making buttons blend…
Let teams use the tools and practices they want
It’s easy to get caught up in wanting consistency in practices and tooling across an organization. Consistency has many benefits. But, when consistency adds unreasonable delay in making decisions, then it can cause harm. Instead of adopting practices that pay substantial dividends, the organization stagnates for months and possibly years trying to make the right decision. If it’s hard to…
Software development challenges can be opportunities for improvement
Monday I spoke with The New York XP & Agile Meetup Group and a question came up that alluded to the fact that sometimes we have challenges that seem insurmountable. For example, what if we work with highly sensitive information and we need to create databases that contain realistic, but not real information. At first glance, this seems like yet…
A course on writing code well.
About a year ago, I read a fantastic book On Writing Well by William Zinsser. I spend quite a bit of time using the written word to convey ideas and authoring code to create software. There are many parallels, perhaps the most important of which was Zinsser’s proclamation: Writing is hard work. A clear sentence is no accident. – William…
Continuous Database Delivery
Last week I presented the idea of improving how we develop and deploy database changes to the Microsoft Maniacs group down in Sterling, VA. There were a ton of fantastic questions and the group recorded the event, so if you missed out or are curious, here’s the recorded presentation:
This is also a teaser for an upcoming course I’m producing for Pluralsight.