Faits :
A.
A.a. Par contrat de travail du 12 mars 2011, la société A._ SA (ci-après: l'employeuse) a engagé B._ (ci-après: l'employé) en qualité de chef de projet à partir du 9 mai 2011 pour une durée indéterminée.
Le salaire annuel convenu était de 195'000 fr. bruts, payable en douze mensualités, pour un engagement à plein temps. Un bonus pouvait être payé à la fin de l'année, mais celui-ci était exceptionnel, incertain dans son principe et son montant et entièrement discrétionnaire. L'employé déclarait accepter que le bonus ne soit pas garanti d'une année à l'autre, même si un bonus lui était payé plusieurs années de suite. En outre, le bonus ne pouvait être octroyé que si le contrat de travail n'avait pas été résilié par l'une ou l'autre partie à la date à laquelle le bonus devrait être payé.
A.b. L'employé a perçu des gratifications de 19'000 fr. en décembre 2011 (compte tenu des résultats de la société et de l'appréciation de ses performances pour 2011), de 16'413 fr. en juillet 2012, de 19'400 fr. en décembre 2012 (compte tenu des résultats de la société et de l'appréciation de ses performances pour 2012), et enfin de 33'000 fr. en décembre 2013 (compte tenu des résultats de la société et de l'appréciation de ses performances pour 2013). L'employeuse a rappelé le caractère discrétionnaire du bonus dans chaque courrier accompagnant le versement du bonus.
L'employé n'a touché aucun bonus pour l'année 2014, étant relevé que son salaire était alors de 201'012 fr. bruts.
Il s'est aperçu du non-versement de son bonus dans le premier quart du mois de janvier 2015; il s'en est ouvert auprès de ses collègues, qui lui ont confirmé en avoir reçu un.
Selon les dires de l'employeuse, le directeur et le directeur adjoint de la division X._ n'ont pas reçu de bonus en 2014. En revanche, tous les membres du département Y._ (rattaché à la division précitée), dont l'employé faisait partie, ont reçu en décembre 2014 un bonus pour l'année écoulée.
A.c. Lors d'une réunion qui s'est tenue le 27 janvier 2015, le supérieur hiérarchique de l'employé et une membre des ressources humaines (C._) lui ont signifié la suppression de son poste de travail.
Ils lui ont remis une lettre de licenciement indiquant que les rapports de travail prendraient fin le 30 avril 2015 et qu'il était libéré de son obligation de travailler. Son poste était supprimé en raison de la réorganisation du département Y._. Une indemnité de départ de 33'502 fr. bruts, correspondant à deux mois de salaire, lui serait allouée à titre discrétionnaire, à la double condition que la date de fin des rapports de travail (30 avril 2015) «ne soit pas décalée dans le temps en raison d'une incapacité de travail de quelque nature que ce soit» et que son comportement et ses déclarations ne portent pas préjudice à la société.
L'employé a refusé de contresigner la lettre de licenciement, que l'employeuse lui a alors adressée par courrier recommandé réceptionné le 2 février 2015.
A.d. Par courrier du 27 février 2015, l'employé s'est formellement opposé à son licenciement. Il a notamment contesté les raisons invoquées et a réclamé le paiement de son bonus relatif à l'année 2014.
Par pli du 10 mars 2015, l'employeuse a répondu que son licenciement lui avait été valablement signifié le 27 janvier 2015, maintenant pour le surplus les motifs invoqués dans la lettre de résiliation. Elle a ajouté que l'octroi du bonus était discrétionnaire et qu'elle avait décidé de ne pas lui en octroyer pour 2014.
A.e. Un plan d'intéressement prévoyait que l'employé reçoive gratuitement et à titre discrétionnaire des actions de la société-mère de l'employeuse. Un droit d'emption était réservé au profit de la société et du groupe, notamment en cas de résiliation des rapports de travail. Un litige a surgi également sur ce point.
B.
B.a. L'employé a assigné l'employeuse et la société-mère par requête de conciliation du 8 septembre 2015. Il a ensuite porté l'action le 22 février 2016 devant le Tribunal des prud'hommes du canton de Genève. Il concluait au paiement de 248'528 fr. plus intérêts, notamment à titre de salaire pour le mois de mai 2015, de bonus pour l'année 2014, d'indemnité contractuelle de licenciement, d'indemnité pour licenciement abusif et de rachat des actions.
B.b. L'audition des parties et des témoins a révélé que les départements administratifs, techniques et «...» recevaient une enveloppe pour les bonus, que le chef de division devait ensuite répartir entre les collaborateurs en fonction de différents critères tels que la qualité du travail, le respect des délais, etc.
Interrogée comme partie au sens de l'art. 191 CPC, C._, membre des ressources humaines, a déclaré qu'aucun bonus n'avait été versé à B._ car la société avait décidé de s'en séparer; toutefois, une indemnité de licenciement correspondant à deux mois de salaire devait lui être allouée à bien plaire, ce qui compensait le non-versement de son bonus. Celle-ci aurait été versée à l'employé s'il n'avait pas contesté son licenciement.
B.c. Par jugement du 24 janvier 2017, le Tribunal des prud'hommes a condamné l'employeuse à verser à l'employé 33'502 fr. bruts, sous déduction des charges sociales et légales usuelles, à titre d'indemnité contractuelle de licenciement. La société-mère devait en outre lui verser 21'818 fr. 54 pour le rachat d'actions.
Examinant la prétention en paiement d'un bonus pour l'année 2014, seule litigieuse devant le Tribunal fédéral, l'autorité prud'homale a jugé que le bonus prévu par le contrat de travail était une gratification proprement dite (art. 322d CO) que l'employeuse n'avait aucune obligation de verser, dès lors qu'elle en avait réservé le caractère discrétionnaire lors des précédents versements. Sous l'angle de l'égalité de traitement, il s'avérait que d'autres personnes - soit le directeur de la division X._et son adjoint - n'avaient pas perçu de bonus; de surcroît, la décision de licencier l'employé constituait un motif suffisant pour justifier une éventuelle différence de traitement d'avec les autres employés.
B.d. Statuant le 6 novembre 2017 sur appel de l'employé et appels joints de l'employeuse et de la société-mère, la Cour de justice du canton de Genève a partiellement réformé cette décision. En définitive, l'employeuse a été condamnée à verser à l'employé 33'502 fr. bruts à titre d'indemnité contractuelle de licenciement et 23'450 fr. bruts à titre de bonus pour l'année 2014, les déductions sociales et légales usuelles devant être opérées par qui de droit sur ces montants. La Cour a en outre ordonné à l'employeuse de transférer à l'employé la propriété de 700 actions de la société-mère. Quant à cette dernière, elle a été condamnée à verser à l'employé 19'738 fr. 54 pour le rachat d'actions.
C.
L'employeuse a interjeté un recours en matière civile au Tribunal fédéral, tendant à faire supprimer sa condamnation au paiement d'un bonus de 23'450 fr., subsidiairement à faire fixer le bonus à un montant n'excédant pas 8'000 fr.
L'autorité précédente s'est référée à son arrêt.
L'employé a conclu au rejet du recours.
L'employeuse a répliqué, suscitant une brève duplique de la partie adverse.

Considérant en droit :
1.
Le recours est dirigé contre un arrêt final (art. 90 LTF) rendu en matière civile (art. 72 al. 1 LTF) par un tribunal supérieur statuant en dernière instance cantonale (art. 75 LTF). Déposé en temps utile (art. 100 al. 1 LTF) par une des parties défenderesses ayant succombé dans ses conclusions libératoires (art. 76 al. 1 LTF) prises dans le cadre d'une affaire pécuniaire de droit du travail dont la valeur litigieuse dépasse le seuil de 15'000 fr. (art. 74 al. 1 let. a LTF), il est donc recevable sur le principe.
2.
2.1. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF). Il ne peut rectifier ou compléter les constatations de l'autorité précédente que si elles sont manifestement inexactes ou découlent d'une violation du droit au sens de l'art. 95 LTF (art. 105 al. 2 LTF). «Manifestement inexactes» signifie ici «arbitraires» (<ref-ruling> consid. 2 p. 117; <ref-ruling> consid. 1.5). Encore faut-il que la correction du vice soit susceptible d'influer sur le sort de la cause (art. 97 al. 1 LTF).
La critique de l'état de fait retenu est soumise au principe strict de l'invocation énoncé par l'art. 106 al. 2 LTF (<ref-ruling> consid. 2.3 p. 266 et les références). La partie qui entend attaquer les faits constatés par l'autorité précédente doit expliquer clairement et de manière circonstanciée en quoi ces conditions seraient réalisées (<ref-ruling> consid. 1.3.1 p. 18 et les références). Si elle souhaite obtenir un complètement de l'état de fait, elle doit aussi démontrer, par des renvois précis aux pièces du dossier, qu'elle a présenté aux autorités précédentes, en conformité avec les règles de la procédure, les faits juridiquement pertinents à cet égard et les moyens de preuve adéquats (<ref-ruling> consid. 2 p. 90). Si la critique ne satisfait pas à ces exigences, les allégations relatives à un état de fait qui s'écarterait de celui de la décision attaquée ne pourront pas être prises en considération (<ref-ruling> consid. 1.3.1 p. 18).
2.2. Le Tribunal fédéral applique d'office le droit (art. 106 al. 1 LTF) à l'état de fait constaté dans l'arrêt cantonal. Cela n'implique pas qu'il examine toutes les questions juridiques qui pourraient se poser, à l'instar d'un juge de première instance. Eu égard à l'obligation de motiver imposée par l'art. 42 al. 2 LTF, l'autorité de céans ne traite que les questions qui sont soulevées devant elle par les parties, à moins que la violation du droit ne soit manifeste (<ref-ruling> consid. 2 p. 116; <ref-ruling> consid. 2).
3.
3.1. Le droit suisse ne contient aucune définition du bonus. Il faut déterminer au cas par cas s'il s'agit d'une gratification au sens de l'art. 322d CO ou d'un élément du salaire (art. 322 CO). A teneur de l'art. 322d al. 1 CO, la gratification est une rétribution spéciale que l'employeur accorde en sus du salaire à certaines occasions telles que Noël ou la fin d'un exercice annuel. Elle se distingue du salaire, et en particulier d'un treizième mois de salaire, en ceci qu'elle dépend au moins partiellement du bon vouloir de l'employeur. Elle doit en outre revêtir un caractère accessoire par rapport au salaire (<ref-ruling> consid. 3 et 3.1; <ref-ruling> consid. 5.2).
3.2. En l'espèce, le caractère discrétionnaire des gratifications versées à l'employé à hauteur de 19'000 fr. en décembre 2011, de 16'413 fr. en juillet 2012, de 19'400 fr. en décembre 2012 et de 33'000 fr. en décembre 2013 n'est pas contesté devant le Tribunal fédéral.
Est litigieux le point de savoir si l'employé peut prétendre au versement d'une gratification pour l'année 2014 en se fondant sur le principe de l'égalité de traitement, comme l'a admis la cour cantonale, et, en cas de réponse affirmative à cette question, à quel montant l'employé a droit à ce titre.
3.3. Le caractère facultatif de la gratification trouve ses limites dans le respect de l'égalité de traitement (cf. <ref-ruling> consid. 3.1 p. 282; arrêts 4A_172/2012 et 4A_174/2012 du 22 août 2012 consid. 8.2; arrêt 4A_63/2007 du 6 juillet 2007 consid. 4.1). Jurisprudence et doctrine concluent à l'existence d'un principe général d'égalité de traitement déduit de l'art. 328 CO obligeant l'employeur à protéger la personnalité de l'employé et des art. 28 ss CC instituant les règles générales de protection de la personnalité. Une décision subjective de l'employeur ne contrevient à l'interdiction de discriminer que dans la mesure où elle exprime une dépréciation de la personnalité du travailleur et lui porte ainsi atteinte. Une telle situation n'est réalisée que si l'employé est placé dans une situation clairement moins avantageuse qu'un grand nombre d'autres employés; tel n'est en revanche pas le cas lorsque l'employeur favorise simplement quelques employés (<ref-ruling> consid. 3.1 p. 282 s. et les références citées; arrêt précité 4A_63/2007 consid. 4.2; cf. aussi ADRIAN STAEHELIN, Zürcher Kommentar, 4 e éd. 2006, n° 13 ad art. 322d CO).
L'employeur peut subordonner le droit à la gratification à des conditions, notamment à la présence de l'employé dans l'entreprise au moment de son versement, ou à l'absence de résiliation du contrat (arrêts 4A_502/2010 du 1 er décembre 2010 consid. 2.2; 4A_235/2010 du 25 juin 2010 consid. 2; 4A_509/2008 du 3 février 2009 consid. 4.1; 4C.467/2004 du 1 er avril 2005 consid. 3).
La doctrine fait observer que l'employeur peut avoir divers motifs de verser une gratification, tels que récompenser le travail accompli ou une fidélité de longue date, motiver l'employé pour l'avenir, éviter que celui-ci résilie le contrat, ou encore lui faire partager les bons résultats de l'entreprise (JÜRG BRÜHWILER, Einzelarbeitsvertrag, 3 e éd. 2014, n° 1 ad art. 322d CO; STAEHELIN, op. cit., n° 2 ad art. 322d CO). Dans la mesure où la gratification est destinée uniquement à récompenser l'employé pour le travail effectué, elle ne saurait être réduite ou supprimée pour le motif que le contrat a été résilié (PORTMANN/ RUDOLPH, in Basler Kommentar, 6 e éd. 2015, n° 8 ad art. 322d CO; BRÜHWILER, op. cit., n° 5 ad art. 322d CO).
3.4. En l'occurrence, la cour cantonale a jugé, à l'issue de l'analyse exposée ci-dessous, que l'employé pouvait prétendre à un bonus pour l'année 2014.
Selon la Cour de justice, l'employeuse ne pouvait pas se prévaloir du fait que le directeur et le directeur adjoint de la division n'avaient eux-mêmes perçu aucun bonus en 2014. Outre que ce fait n'était pas établi à satisfaction de droit, il fallait comparer la situation de l'employé avec celle de ses collègues directs, et non celle de supérieurs hiérarchiques situés au-dessus de son propre chef, et dont un était responsable de la distribution des bonus. Si celui-ci avait supprimé son bonus et celui de son adjoint en raison d'une réduction de l'enveloppe prévue pour ces rétributions, cela ne justifiait pas d'en priver l'employé alors que tous ses collègues en avaient perçu un.
L'employeuse, poursuivait la Cour, n'avait aucune raison objective de priver l'employé de bonus dès lors que celui-ci avait précisément pour but de le récompenser du travail fourni au cours de l'année - comme l'attestaient les courriers accompagnant le versement des bonus les années précédentes -, et non de le fidéliser à l'entreprise. Par conséquent, en privant l'employé d'un bonus versé à tous les autres collaborateurs sans rien pouvoir lui reprocher quant à l'exécution de son travail, l'employeuse lui avait laissé penser que son travail ne méritait pas de récompense. Une telle attitude était blessante pour ce dernier, étant relevé qu'il ne savait pas encore qu'il allait être licencié et n'avait ainsi pas compris pour quel motif il n'avait pas perçu de bonus, contrairement à ses collègues. Du moment que les bonus avaient été versés en décembre 2014 et que le contrat n'avait pas encore été résilié, l'employé pouvait, au nom de l'égalité de traitement, prétendre au versement d'un bonus pour l'année 2014. L'employeuse avait admis que les collaborateurs avaient reçu un bonus n'excédant pas 1,4 fois leur salaire mensuel en 2014; aussi le bonus dû à l'employé pour l'année 2014 devait-il être fixé à 23'450 fr. (salaire annuel de 201'012 fr., divisé par 12 = 16'751, multiplié par 1,4).
3.5. L'employeuse soulève deux moyens de fait.
3.5.1. Tout d'abord, l'autorité précédente aurait arbitrairement omis de préciser que l'employé, après avoir découvert que ses collègues avaient reçu un bonus contrairement à lui, s'était abstenu de toute réclamation y compris lors de l'entretien du 27 janvier 2015, croyant qu'il s'agissait d'une omission de la part de son employeuse. Cette précision serait pertinente, car si l'employé croyait à une simple omission, il n'avait pas pu penser que son travail ne méritait pas de récompense.
3.5.2. La cour cantonale aurait de surcroît violé son droit à la preuve (art. 8 CC) en omettant de retenir le fait, pourtant dûment allégué et prouvé, selon lequel l'employeuse avait décidé en novembre 2014 déjà de supprimer le poste de l'employé, soit avant la décision - prise en décembre 2014 - relative à l'octroi des bonus pour l'année 2014.
3.5.3. Les deux faits invoqués par l'employeuse sont toutefois sans pertinence pour l'issue du litige, pour les motifs qui seront exposés ci-après (cf. consid. 3.6.2 infra).
3.6.
3.6.1. L'employeuse fait grief à l'autorité cantonale d'avoir violé les art. 322d et 328 CO en niant, sur la base d'un état de fait établi arbitrairement et en violation de l'art. 8 CC (cf. consid. 3.5 supra), l'existence de motifs qui l'autoriseraient pourtant à ne pas accorder de gratification à l'employé pour l'année 2014. Le fait qu'elle ait décidé en novembre 2014 de le licencier en janvier 2015 constituerait un motif raisonnable de ne pas lui octroyer de bonus en décembre 2014. Par ailleurs, la situation de l'employé devrait être comparée non pas à celle de ses collègues de département dont l'employeuse n'avait pas décidé de se séparer, mais à celle d'autres employés dont le contrat avait déjà été résilié, ou était sur le point de l'être ensuite d'une décision prise à l'interne. De surcroît, la cour cantonale ne devrait pas retenir une violation du principe de l'égalité de traitement sur la base d'un échantillon de quatre employés seulement, rattachés à un seul département d'une seule division de la société, alors que la jurisprudence requerrait une inégalité de traitement avec un grand nombre d'employés. L'employeuse avait par ailleurs offert à l'employé une indemnité de départ discrétionnaire de 33'502 fr. équivalant à deux mois de salaire, ce qui devait compenser son bonus et le plaçait ainsi dans une meilleure position que ses collègues ayant touché un bonus équivalant à 1,4 mois de salaire.
3.6.2. L'ensemble de ces griefs tombe à faux.
Il est en effet constant que la décision relative à l'octroi des bonus 2014 a été prise en décembre 2014 tandis que le demandeur a été licencié le 27 janvier 2015. Comme le contrat de travail n'avait pas encore été résilié au moment où survenait l'occasion donnant lieu au paiement du bonus, la résiliation intervenue postérieurement n'est pas un critère de distinction pertinent par rapport aux autres employés du département Y._, dont le contrat n'avait pas non plus été résilié en décembre 2014 et qui ont tous reçu en décembre 2014 un bonus pour l'année 2014 (cf. lettres A.b et A.c supra). La jurisprudence et la doctrine évoquent comme critère de distinction pertinent le fait que les rapports de travail ont été résiliés au moment où le bonus devrait être payé (cf. consid. 3.3 supra). Pour les parties elles-mêmes, seule une résiliation déjà signifiée à cette date consituait un motif admissible de refuser le bonus; le contrat subordonnait en effet l'octroi du bonus à la condition que le contrat de travail n'ait pas été résilié par l'une ou l'autre partie à la date à laquelle le bonus devrait être payé (cf. lettre A.a supra). A cela s'ajoute que d'après les constatations de l'arrêt attaqué qui lient la cour de céans (cf. consid. 2.1 supra), le but du bonus était de récompenser l'employé pour le travail fourni au cours de l'année et non de le fidéliser à l'entreprise, comme l'attestaient les courriers ayant accompagné le versement des précédents bonus. Au regard d'un tel comportement, l'employeuse était d'autant moins fondée à supprimer le bonus de l'employé (cf. supra consid. 3.3 in fine).
Par ailleurs, si la jurisprudence considère en substance qu'une décision subjective de l'employeur ne contrevient à l'interdiction de discriminer que dans la mesure où elle exprime une dépréciation de la personnalité du travailleur et lui porte ainsi atteinte (cf. <ref-ruling> p. 282 in fineet consid. 3.3 supra), elle ne présuppose pas que le travailleur ait été subjectivement blessé par le non-versement de la gratification, contrairement à ce que semble soutenir l'employeuse pour contrer l'argumentation des juges genevois (cf. consid. 3.5.1 supra); une telle exigence a peut-être été déduite à tort d'un considérant (4.2) de l'arrêt 4A_63/2007. Point n'est besoin de comparer la situation de l'employé discriminé avec celle de tous les employés de la société; une discrimination par rapport à tous les employés d'un département, même si celui-ci ne compte que cinq personnes, apparaît tout à fait pertinente en l'espèce, d'autant plus que l'employeuse ne soutient pas qu'un grand nombre d'employés d'autres départements n'auraient pas reçu de gratification pour l'année 2014, au contraire des autres années.
Enfin, peu importe que l'employé se soit vu offrir une indemnité de départ discrétionnaire de 33'502 fr. et que celle-ci, selon les déclarations de C._ (cf. lettre B.b supra), compensait la perte du bonus. En effet, les conditions assorties au versement de cette indemnité montrent qu'il s'agissait de s'assurer un certain comportement du collaborateur licencié, ce qui ressort du reste aussi des déclarations de la personne prénommée, laquelle a admis que l'indemnité aurait été versée si l'intéressé avait eu un autre comportement. En définitive, le bonus versé en décembre 2014 à tous les membres du département Y._ à l'exception du demandeur l'a été pour les récompenser du travail fourni en 2014, tandis que l'indemnité de licenciement offerte au demandeur devait compenser son licenciement et ne constituait donc pas un avantage par rapport aux autres employés qui, eux, n'avaient pas été licenciés.
3.6.3. Au regard de ce qui précède, l'autorité précédente n'a pas enfreint le droit fédéral en considérant que l'employé avait droit au versement d'un bonus pour l'année 2014.
3.7. A titre subsidiaire, l'employeuse critique le montant du bonus alloué. Elle soutient que selon la jurisprudence et la doctrine, la résiliation du contrat de travail donnerait lieu à une réduction importante (d'un tiers, voire d'une moitié) de la gratification, quand bien même celle-ci serait due dans son principe (cf. les références citées dans l'arrêt 4A_356/2011 du 9 novembre 2011 consid. 11.1).
Toutefois, comme on l'a vu (cf. supra consid. 3.6.2 in limine), seule une résiliation déjà signifiée à la date où le bonus aurait dû être payé aurait pu être pertinente à cet égard. Le bonus a été fixé en considération du fait - admis par l'employeuse - que ses collaborateurs avaient reçu un bonus n'excédant pas 1,4 fois leur salaire mensuel en 2014. Sur ce point également, l'arrêt attaqué échappe ainsi à la critique.
4.
Il résulte de ce qui précède que le recours doit être rejeté.
Vu l'issue du recours, les frais de la présente procédure seront mis à la charge de la défenderesse et recourante (art. 65 al. 4 let. c et art. 66 al. 1 LTF). Celle-ci versera en outre au demandeur et intimé une indemnité de 1'500 fr. à titre de dépens (art. 68 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge de la défenderesse.
3.
La défenderesse versera au demandeur une indemnité de 1'500 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux mandataires des parties et à la Chambre des prud'hommes de la Cour de justice du canton de Genève.
Lausanne, le 4 avril 2018
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La présidente: Kiss
La greffière: Monti