Faits: A. A compter du 1er janvier 1988, Y._ (ci-après: l'employeur) a engagé X._ (ci-après: l'employé) en qualité d'ingénieur de développement, statut qui a évolué en celui d'ingénieur chef de projet et responsable informatique. Dès avril 1997, le salaire mensuel brut de l'employé était de 10'500 francs. Depuis janvier 1998, l'employé a rempli chaque mois un rapport mensuel d'activité, complété par une fiche de travail, établissant le nombre d'heures à travailler, le nombre d'heures effectivement travaillées et les heures supplémentaires qui en résultaient. Par lettre du 24 septembre 2003, l'employeur a licencié l'employé pour le 31 décembre 2003; celui-ci ayant ultérieurement été déclaré en incapacité de travail, les rapports de travail se sont finalement poursuivis jusqu'au 30 juin 2004. Le 30 juin 2004, l'employé a établi un décompte global de ses heures pour les années 1988 à 2003; il en résulte notamment qu'en 1999, le nombre d'heures à faire était de 2'218.50, le nombre d'heures faites de 2'360.25 - d'où une différence de 141.75 heures -, le droit aux vacances de 201 heures et les vacances faites de 331.50 heures; par ailleurs, pour 2002, le nombre d'heures à faire était de 2'218.50, le nombre d'heures faites de 2'295.75 - d'où une différence de 77.25 heures -, le droit aux vacances de 220 heures et les vacances faites de 306 heures. Ce récapitulatif se fondait sur les rapports mensuels d'activité et les fiches de travail susmentionnés et l'expert mis en oeuvre en cours d'instance a constaté que celui-là correspondait à ceux-ci; il ressort de ces pièces qu'entre les mois d'octobre et décembre 1999, l'employé a totalisé 84 heures supplémentaires; pour l'année 2002, les rapports mensuels de janvier à juin permettent d'additionner 77.25 heures supplémentaires, soit le montant reporté sur le décompte du 30 avril 2004; en revanche, pour les mois de juillet à décembre, il est fait mention pour chaque rapport de "0.00 heures supplémentaires" et du nombre d'heures "pas comptées", dont le total représente 106.49 heures; l'employé a affirmé qu'à l'époque, il en aurait fait "cadeau" à l'entreprise, décision sur laquelle il entendait revenir. La question des heures supplémentaires, non soumises à une réglementation, était un problème connu du personnel, qui faisait régulièrement l'objet de discussions, sans qu'il y ait à l'origine de conflit ouvert à ce sujet; il avait ainsi été question, projet qui était toujours latent, de transformer l'entreprise en société anonyme et de permettre notamment à l'employé d'acquérir des actions de manière à compenser son capital d'heures supplémentaires. L'employé gérait ses activités de manière indépendante jusqu'à la facturation, l'employeur lui faisant pleinement confiance à cet égard; il organisait librement son horaire; c'est ainsi qu'il a bénéficié, grâce à cette liberté, de vacances supplémentaires, prises chaque année jusqu'en 2002, excepté pour l'année 1992. Le 7 octobre 2004, l'employé a fait notifier à l'employeur un commandement de payer portant sur la somme de 250'000 fr. avec intérêts à 5 % l'an dès le 1er juillet 2004, auquel le poursuivi a formé opposition totale. B. Par demande du 27 décembre 2004, l'employé a conclu au paiement par l'employeur d'une somme limitée à 100'000 fr. avec intérêts à 5 % l'an dès le 1er juillet 2004; celui-ci a opposé les exceptions de compensation et de prescription aux prétentions, contestées, de son adverse partie. Le 17 avril 2007, le Tribunal civil de l'arrondissement de Lausanne a rendu un premier jugement qui a été annulé par arrêt de la Chambre des recours du Tribunal cantonal vaudois du 30 janvier 2008, renvoyant la cause aux premiers juges pour nouvelle instruction et nouveau jugement dans le sens des considérants. Par jugement du 2 mars 2009, le Tribunal a dit que l'employeur devait payer à l'employé, avec intérêts à 5 % l'an dès le 1er juillet 2004, les montants de 4'867 fr. 75 bruts à titre d'indemnité pour vacances, 2'882 fr. à titre de restitution de la part de l'employé à la ristourne versée par l'assurance perte de gain maladie, 5'250 fr. bruts à titre de treizième salaire pour l'année 2004 - sous déduction d'un montant de 1'274 fr. - et 54'185 fr. 60 bruts à titre de paiement des heures supplémentaires (ch. II). L'employé a déposé un recours cantonal contre le jugement du 2 mars 2009, concluant à sa réforme en ce sens que l'employeur doit lui payer, en sus des indemnités pour vacances non prises, à titre de ristourne sur la restitution opérée par l'assurance perte de gain maladie et à titre de treizième salaire allouées par le jugement, une indemnité de 70'373 fr. bruts avec intérêts à 5 % l'an dès le 1er octobre 2001 à titre d'indemnité d'heures supplémentaires; dans son mémoire, il a réduit cette dernière conclusion à 69'641 fr. 65. Par arrêt du 7 octobre 2009, la Chambre des recours du Tribunal cantonal vaudois a très partiellement admis le recours (ch. I) et réformé le chiffre II du dispositif du jugement du 2 mars 2009 en ce sens qu'elle a porté à 54'301 fr. 35 bruts le montant accordé à titre de paiement des heures supplémentaires; elle a confirmé la décision pour le surplus (ch. II). C. L'employé (le recourant) interjette un recours au Tribunal fédéral; il conclut à la réforme du chiffre II du dispositif de l'arrêt du 7 octobre 2009 en ce sens que le montant alloué à titre de paiement des heures supplémentaires est augmenté à 69'641 fr. 65 avec intérêts à 5 % l'an dès le 1er octobre 2001, avec suite de frais et dépens des instances cantonales et fédérale. L'employeur (l'intimé) propose le rejet du recours, sous suite de frais et dépens. 