This error occurs generally when we are not passing the Output parameter in the SqlDbType.VarChar value like the below example
SqlParameter job1 = cmd2.Parameters.Add("@job", SqlDbType.VarChar);
job1.Direction = ParameterDirection.Output;
You need to define a length when specifying SqlDbType.VarChar parameter, So
SqlParameter job1 = cmd2.Parameters.Add("@job", SqlDbType.VarChar, 50);
You should use the same length as defined in your SQL Server stored procedure.