I've been doing quite a lot of this at home with DD.
First is he confident adding and taking off 10 to/from any two digit number?
At school DD was practising starting at 2, 7 or 99 for example and then adding or subtracting 10, so 2, 12, 22 or 7, 17, 27, or 99, 89, 79 etc. This needs to be secure and a 100 square is useful for showing this too as you just move up or down the columns.
Second partitioning the numbers. Does he understand tens and units yet? Have you explained that units are all the numbers to 9 - once you get to ten you have 1 in the tens column and 0 in the units column. Have you explained why 20 is written as a 2 and a 0 etc.? This is worth explaining fully because it will make column addition easy to understand in the future.
There are free resources on-line and apps as well that are visual, i.e. they show blocks of ten and then single blocks for units, showing how 27 is 'made' from 2 blocks of ten and seven single blocks. Obviously real blocks / Lego are also good for this.
He may need to do this with blocks or visual representations for a while before he can tell you that 12 is made with 1 ten and 2 units in his head so that he instantly knows that 35 + 12 = 35 + 10 + 2. Modelling how to write the equivalent sums out will help him too.
I've found that DD finds 35 + 23 = 35 + 20 + 3 easier than 28 + 7 = 28 + 2 + 5 because the 'break' is easier to see - therefore practice is also key!