For the almonds, line a sheet pan with parchment paper, and set aside. Place the almonds on the sheet pan in a single layer. Bake for 18 minutes, tossing the almonds around roughly every 3 minutes.
Place the almonds into a large bowl then add the water and sugar, stir to combine.
Place them back on the sheet pan in a single layer. Continue to bake for 12-15 minutes, stirring every 3 minutes until you reach your desired toastiness. Transfer immediately to a cold sheet pan to cool, or they will continue to toast.
For the frosting, in a large bowl with an electric hand mixer, beat the butter until smooth. Add the powdered sugar a little at a time until fully combined.
Add the salt, vanilla, almond extract, and milk, and stir until combined. Then place mixer on medium-high speed and beat for 3 minutes until light and fluffy.
Once the cake is completely cooled and the filling has chilled, assemble the cake. Take the cake out of the pan and cut it in half lengthwise. Place the bottom on your serving platter.
Spread and smooth the filling on top, leaving a ½-inch border. Place the top of the cake on top, and press down gently.
Add a thin layer of frosting all over creating a crumb coat. Place in the refrigerator for about 1 hour to set.
Add the remaining frosting to the outside of the cake. Take the almonds and press them all over the cake into the frosting so it will stick, serve immediately.