Heat butter in large Dutch oven over medium high heat. When foaming subsides, add onion and 1/2 tsp salt; cook, stirring frequently, until softened, about 3 - 4 minutes.
Add garlic and cook until fragrant, about 30 seconds. Add water, ham steak, bacon, green peas, thyme, and bay leaves. Increase heat to high and bring to simmer, stirring frequently to keep peas from sticking to bottom.
Reduce heat to low, cover and simmer until peas are tender but not falling apart, about 45 minutes.
Remove ham steak, cover with foil to prevent drying out, and set aside. Stir in carrots and celery; continue to simmer, covered, until vegetables are tender and peas have almost completely broken down, about 30 minutes longer.
When cool enough to handle, remove skin and shred ham into small pieces with two forks, Remove and discard thyme sprigs, bay leaves and bacon slices. Cut the fat off the bacon and chop into small pieces. Stir ham and bacon back into soup and return to simmer. Season to taste with salt and pepper. Add a few shakes of hot sauce, if desired.