Seca los camarones y mézclalos con la pimienta y una pizca de sal. Calienta la mitad del aceite en una olla amplia a fuego medio-alto y cocínalos durante 1 minuto por cada lado, solo hasta que cambien de color. Retíralos a un plato para que no se resequen.
Añade el aceite restante a la misma olla. Incorpora la cebolla cabezona, la cebolla larga, el pimentón, la zanahoria y el ajo. Cocina durante 4 minutos, removiendo, hasta que las verduras se ablanden y el ajo esté fragante sin dorarse. Agrega el tomate, el achiote y el comino, y cocina 6 minutos más, hasta que el sofrito espese y pierda el olor a crudo.
Añade el arroz bien escurrido y mézclalo con el sofrito durante 1 minuto. Vierte el caldo caliente, incorpora las arvejas y ajusta la sal. Lleva la preparación a hervor a fuego medio-alto.
Cuando el líquido hierva, baja el fuego al mínimo y tapa la olla. Cocina durante 15 minutos sin revolver. El arroz estará casi listo cuando haya absorbido la mayor parte del caldo, se vean pequeños huecos en la superficie y los granos estén tiernos al probarlos.
Distribuye los camarones sobre el arroz, vuelve a tapar y cocina 3 minutos más, hasta que estén completamente opacos y el arroz termine de secarse. Apaga el fuego y deja reposar 5 minutos sin destapar.
Esponja el arroz suavemente con un tenedor, mezcla la parte verde de la cebolla larga y el cilantro, y sírvelo caliente con los gajos de limón.