Relevance of tags on Careers

Arseni Mourzenko
Founder and lead developer
161
articles
August 23, 2016
Tags: tagging 3 stack-exchange 4 hiring 14

Ca­reers pro­files in­cludes a list of tags the per­son is top 10%, top 20% and top 30% in. Sur­pris­ing­ly (maybe not), those tags are fol­lowed re­li­gious­ly by some re­cruiters. They make a big mis­take.

Rel­e­vance of tags from Stack Over­flow

If we want tags to be rel­e­vant, i.e. to have a cor­re­la­tion be­tween the ac­tu­al pro­file and skills of the per­son and the tags, we should be able to ver­i­fy all of the fol­low­ing el­e­ments:

  1. The ques­tions have all rel­e­vant tags. For ex­am­ple, if the ques­tion con­cerns de­sign pat­terns, it has de­sign-pat­terns tag.

  2. The ques­tions have only rel­e­vant tags. For ex­am­ple, if the ques­tion is tagged de­sign-pat­terns, it is strong­ly re­lat­ed to de­sign pat­terns; in oth­er words, a per­son who has no skills in de­sign pat­terns couldn't an­swer cor­rect­ly the ques­tion in a pre­dictable way.

  3. Canon­i­cal tags are al­ways avail­able. For ex­am­ple, if the ques­tion is about Python 3, it is tagged python and python3.

  4. The an­swers are up­vot­ed based ex­clu­sive­ly on their qual­i­ty and the ex­per­tise and in­sight they pro­vide. For ex­am­ple, a high­ly tech­ni­cal, very de­tailed an­swer will be high­ly up­vot­ed, while an an­swer which is short, nice­ly writ­ten and gives only an overview of the sub­ject, doesn't have the same in­sight and doesn't use the ex­act ter­mi­nol­o­gy will be up­vot­ed much less.

  5. The up­votes are pro­por­tion­al to the ex­per­tise the per­son pro­vides, and in­de­pen­dent of whether the ques­tion is a wiki or not or the pop­u­lar­i­ty of the ques­tion.

Here's the prob­lem: in or­der for tags to be rel­e­vant, all of those five el­e­ments should be ver­i­fied, but in prac­tice, none is. First, as any sys­tem, Stack Over­flow vot­ing can be gamed. Rep­whores do ex­act­ly that and suc­ceed. Sec­ond, even with­out gam­ing, it doesn't work:

  1. The ques­tions don't nec­es­sar­i­ly have rel­e­vant tags. I was re­cent­ly sur­prised to dis­cov­er that on Pro­gram­mer.SE, poly­mor­phism tag has only 53 ques­tions. Se­ri­ous­ly, 53 ques­tions on a site which is ex­act­ly for sub­jects such as poly­mor­phism? Ei­ther some poly­mor­phism-re­lat­ed ques­tions are miss­ing the rel­e­vant tag, or Pro­gram­mers.SE is most­ly about tools or pro­ject man­age­ment or his­to­ry; not that I dis­like those sub­jects, but they are not re­al­ly white­board-type ques­tions.

  2. The ques­tions have ir­rel­e­vant tags too. For ex­am­ple, why a ques­tion about fac­to­ry pat­tern have tags such as java and c#? In my life, I've writ­ten no more than 50 lines of Java, but I can an­swer the ques­tion and get a few ir­rel­e­vant java points.

  3. The lack of canon­i­cal tags don't need an il­lus­tra­tion. Look at the num­ber of ques­tions tagged sql-serv­er-2008 which are in no way spe­cif­ic to this ver­sion of SQL Serv­er but lack sql-serv­er tags, or the ques­tions tagged c#-4.0 which ap­ply as well to C# 5 and lack c# tag.

  4. The fact that an­swers are not up­vot­ed based ex­clu­sive­ly on their ex­per­tise and in­sight is ob­vi­ous as well and in­trin­sic to hu­man na­ture. No­body wants to read a five page-scrolls long an­swer which uses tech­ni­cal terms. Short, lay­man vari­ants are up­vot­ed more be­cause they at­tract more at­ten­tion. They are eas­i­er and faster to read; only a few tech­ni­cal per­sons ac­tu­al­ly in­ter­est­ed in the sub­ject will read dif­fi­cult and long an­swers.

  5. The up­votes don't de­pend of prov­i­den ex­per­tise ei­ther; the most in­flu­en­tial as­pect is the pop­u­lar­i­ty of the ques­tion. You can write an ex­cel­lent an­swer to a ques­tion which is closed just af­ter you send your an­swer, and re­ceive no up­votes. On the oth­er hand, a mediocre an­swer to a ques­tion with 6K vis­its have lots of chances to be up­vot­ed.

But what if de­spite all this the­o­ry, the tag sys­tem was work­ing in re­al­i­ty, pre­sent­ing rel­e­vant tags to the re­cruiters on Ca­reers? A glimpse to the tags I have in my pro­file shows that it's not the case. Cur­rent­ly, the tags I have are the fol­low­ing:

The first place for php tag in my Ca­reers pro­file looks like a joke. I hate PHP. I don't want to be hired for any job re­lat­ed to PHP. I don't even want to be a user ex­pe­ri­ence de­sign­er in a PHP-ori­ent­ed com­pa­ny. I do an­swer PHP-re­lat­ed ques­tions from time to time, be­cause they are easy to an­swer, and be­cause those ques­tions are usu­al­ly writ­ten by very in­ex­pe­ri­enced per­sons and some­times, I have an op­por­tu­ni­ty to en­cour­age the per­son to im­prove as a pro­gram­mer.

The po­si­tion of html5 and css3 is fun­ny too. I don't know those two well enough. I mean, I can de­vel­op HTML 5 web­sites, but I don't have a huge ex­pe­ri­ence sim­i­lar­ly to web de­vel­op­ers who spend all their time writ­ing HTML 5 and CSS 3 for the last two years.

Fi­nal­ly, those tags give an im­pres­sion that I'm a pro­gram­mer. This is very an­noy­ing. In­clud­ing sites oth­er than Stack Over­flow would help giv­ing a bet­ter pic­ture, but Stack Ex­change team doesn't seem par­tic­u­lar­ly in­ter­est­ed in this im­prove­ment.

Rel­e­vance of cross-site rat­ing

Who am I ac­cord­ing to the tags from oth­er sites? Pro­gram­mers.SE tells us that I'm pro­fi­cient in:

  1. pro­gram­ming-prac­tices: they got it right.

  2. c#: maybe, but on this site, this tag is most­ly ir­rel­e­vant, un­like on Stack Over­flow.

  3. in­ter­view: they got it right.

  4. web-de­vel­op­ment: I may in­deed have some bonus points in ar­chi­tec­ture and de­sign of web-based so­lu­tions com­pared to desk­top soft­ware.

  5. pro­gram­ming-lan­guages: the tag is ir­rel­e­vant for Ca­reers.

  6. javascript: maybe, al­though it's ir­rel­e­vant here just like c#.

  7. php: I hate tags!

  8. unit-test­ing: great.

  9. html: ir­rel­e­vant.

  10. test­ing: great.

  11. cod­ing-style: great, but it's not even in the top 10 of my tags; that's dis­ap­point­ing, giv­en that I fo­cus a lot of my work on cod­ing style and an­swer a lot of style-re­lat­ed ques­tions on Pro­gram­mers.SE.

  12. pro­duc­tiv­i­ty: fi­nal­ly, they got it. I would see it in the first 3, but at least, it is men­tioned.

  13. source-code: I have no idea what this tag is about.

  14. learn­ing: the same.

  15. se­cu­ri­ty: my rep­u­ta­tion on http://se­cu­ri­ty.stack­ex­change.com/ would be more rel­e­vant; but I don't want to dis­cuss my 110 points on Se­cu­ri­ty.SE. Sub­ject closed. Thank you.

  16. de­vel­op­ment-process: great, but 16th, re­al­ly?

  17. refac­tor­ing: you have to kill me. Why isn't it in the first three?

  18. .net: ir­rel­e­vant.

  19. css: ir­rel­e­vant.

  20. tdd: ok (but not at this po­si­tion).

The ac­tu­al­ly rel­e­vant tags, such as code-qual­i­ty, de­sign-pat­terns, de­sign, pro­ject-man­age­ment, nam­ing, self-im­prove­ment, ag­ile, team­work, ar­chi­tec­ture, code-smell, op­ti­miza­tion, func­tion­al-pro­gram­ming, cod­ing-stan­dards, wa­ter­fall, de­vel­op­ment-method­olo­gies, team or em­ploy­ee-re­la­tions didn't found their place in top 20, and most weren't even on the first page. That's dis­ap­point­ing.

This was Pro­gram­mers.SE. I won't do the same thing for oth­er sites, but lim­it my­self to the over­all rep­u­ta­tion. Here are the top 5 sites in my Stack Ex­change pro­file:

This is near­ly rel­e­vant, if we omit two as­pects:

So, in­stead of be­ing rel­e­vant of my ex­per­tise, the list of sites sort­ed by rep­u­ta­tion is more rel­e­vant of how I in­ter­act with the dif­fer­ent com­mu­ni­ties. For ex­am­ple, I had no idea there is Pro­ject Man­age­ment site on Stack Ex­change. An­oth­er ex­am­ple: The Work­place; it looks like the web­site is great, but I usu­al­ly for­get it ex­ists, and spend my time on Pro­gram­mers in­stead. The last ex­am­ple: Su­per User; I hate this com­mu­ni­ty, but still ask ques­tions there (even if most of my ques­tions stay there for a week, un­seen, be­fore I re­move them) and gave a few an­swers.

Con­clu­sion

Even if Ca­reers team in­clude tags from oth­er sites, the list of top tags would still be ir­rel­e­vant for a re­cruiter. Rep­u­ta­tion just can't cor­re­late with ex­per­tise, mak­ing it a weak ref­er­ence for pre-in­ter­view se­lec­tion.

What would be the rel­e­vant cross-site tags for a pro­file like mine based ex­clu­sive­ly on skills? Maybe some­thing like that:

  1. pro­duc­tiv­i­ty, ob­vi­ous­ly.

  2. code-qual­i­ty, ob­vi­ous­ly.

  3. refac­tor­ing, ob­vi­ous­ly.

  4. au­toma­tion: I'm a well-known pro­mot­er of full au­toma­tion of the over­all in­fra­struc­ture as well of test­ing au­toma­tion.

  5. test­ing/unit-test­ing/re­gres­sions: I'm a known pro­mot­er of ex­ten­sive test­ing.

  6. work­place/work­ing-con­di­tions: This is strong­ly re­lat­ed to pro­duc­tiv­i­ty, and I stud­ied the sub­ject for a long time.

  7. de­vel­op­ment-method­olo­gies/ag­ile/tdd: ba­si­cal­ly pro­ject man­age­ment, but from a per­spec­tive of a the­o­ri­cian.

  8. ar­chi­tec­ture/de­sign/de­sign-pat­terns: be­cause I'm not a pro­gram­mer.

  9. pro­ject-man­age­ment/de­vel­op­ment-process: be­cause I'm that too.

  10. .net/c#: I en­joy .NET a lot and spent 7 years work­ing it. C#, .NET and Vi­su­al Stu­dio is my fa­vorite ecosys­tem and C# alone is my fa­vorite lan­guage, even if I have find Python ex­cel­lent as well and en­joy Node.js a lot.

  11. team­work/team/in­ter­per­son­al-com­mu­ni­ca­tion/em­ploy­ee-re­la­tions: es­sen­tial­ly every­thing re­lat­ed to team or­ga­ni­za­tion in a light of pro­duc­tiv­i­ty and "get the things done" phi­los­o­phy (which has noth­ing to do with pro­duc­tiv­i­ty, by the way).

  12. de­vops/con­tin­u­ous-in­te­gra­tion: be­cause who can live with­out while spe­cial­iz­ing in pro­duc­tiv­i­ty, au­toma­tion and de­vel­op­ment process­es?

  13. func­tion­al-pro­gram­ming: While I haven't used any pure­ly func­tion­al lan­guage too much, I make a great deal of us­ing the full po­ten­tial of func­tion­al par­a­digms in C#, Python and JavaScript.

  14. tech­ni­cal-debt: I built a mod­el which mea­sures tech­ni­cal debt. If this doesn't count, I don't know what counts.

  15. user-ex­pe­ri­ence: worked a lot on UX to for­get men­tion­ing it.

  16. com­mu­ni­ca­tion: ex­treme­ly im­por­tant to en­sure high­est pos­si­ble pro­duc­tiv­i­ty, and also a very in­ter­est­ing sub­ject too.

  17. per­for­mance/pro­fil­ing: I do that too, a lot.

  18. cod­ing-style/cod­ing-stan­dards: be­cause I be­come a jerk when it comes to style.

  19. in­ter­view: I have in­ter­viewed enough peo­ple and worked on the the­o­ret­i­cal part of the sub­ject long enough.

  20. html/css: be­cause every­body should men­tion that, even de­vel­op­ers work­ing on em­bed­ded soft­ware.

  21. pho­tog­ra­phy, video-pro­duc­tion: to show that I don't do only de­vel­op­ment-re­lat­ed stuff in my life.

This list gives a good overview of my pro­file and do­mains I know bet­ter than oth­ers. As you can see, it has noth­ing to do with any tags shown on Stack Ex­change for my pro­file.


I just re­ceived java tag on Pro­gram­mers.SE. By the way, in my whole life, I've writ­ten no more than 100 LOC in Java.