Portada! CodersRank, el Perfil Definitivo de un Desarrollador

cr-logo-horizontal-1.svg


Dicen que un desarrollador bueno no es el doble de productivo que uno mediocre, sino hasta 50X. Cincuenta veces. Ah pero entonces es fácil. Contratemos puros de los 50X y nos ahorramos el 98% del presupuesto. No tan rápido. Cómo saber quiénes son y donde están? (Sin que tengas que contratar a 100 para que 98 te borren la base de datos). Pues bien, La plataforma CodersRank, apunta a determinarlo de manera analítica y automatizada.


El clásico Currículum

Han hecho un currículum? Yo he hecho cientos. Ahora existen sitios donde uno llena un formulario con su perfil, pero no hay como un buen CV donde hacer casi una autobiografía que los reclutadores no leen. Si eres joven la tienes en google docs. La mia la tengo en un .doc. Ni siquiera .docx

Después de donde cuentas tu vida, en la parte de tus habilidades en programación, pones:

Lenguajes de Programación

  • PHP: medio
  • ABAP: terrible
  • Javascript: Avanzado
Aunque, para ser sinceros, lo que más se ve es algo al estilo

Lenguajes de Programación: PHP, Javascript, ABAP

Y eso sería todo. No dice mucho en realidad. ¿Por qué no tener una medida empírica de esa experiencia, si hay tantas fuentes de información?


CodersRank al rescate

El año pasado, trabajando en silencio pero con un norte ambicioso, un grupo de desarrolladores húngaros planteó una idea: ¿Será posible determinar de forma analítica y automática la experiencia de un desarrollador en determinado lenguaje?

Como toda gran idea, esta empezó con una prueba de concepto aterrizada: tomar un conjunto de desarrolladores para quienes se supiera

  • El nick de Github
  • El nick de StackOverflow
  • Opcionalmente: el país
La parte de StackOverflow es más o menos directa. Las respuestas pertenecen a preguntas, las preguntas tienen tags, y los moderadores y usuarios de S.O. taggean todo. No al nivel de corregir la corrección de la corrección como en Wikipedia eso sí.

Para Github se puede usar el API y revisar los repositorios públicos donde haya contribuido, pero la verdad no sé cómo. Una vez intenté sacar mi propia actividad y la manera con el API v3 era muy rebuscada, a través del endpoint contributors del namespace repo y de ahí más anidaciones. El API v4 implementa elegantemente GraphQL y es un poco más directo listar tus contribuciones por lo que ví es información suficiente para los puntitos verdes, no para saber en qué cantidad has participado.

coderanker01-png.4794

¿Se van haciendo una idea?

Pero al grano: Evaluar la experiencia de un desarrollador a partir de las fuentes abiertas nos da una idea de su conocimiento en cada lenguaje. Esto tiene un efecto secundario, que es permitir que los desarrolladores del mundo se comparen entre sí, por lenguaje o país:

Después de mucho procesar y poblar con más de 30.000 “semillas”, CodersRank salió al público mostrando el resultado de su algoritmo de evaluación, en la forma de un leaderboard donde se puede segmentar por país, ciudad y lenguaje.

Todo requiere Iteraciones

Todas las ideas que en el papel se ven bien tienen tres características que he visto repetirse

  • No era tan fácil como decían los comerciales
  • Hay que iterar y a veces pivotear
  • Terminas aprendiendo que lo que le da más valor a tu producto no es lo que uno pensaba sino características menores y beneficios colaterales. Si eres pillo se volverán tu foco en la siguiente iteración
  • La implementación de una gran idea pone sobre la mesa comportamientos, casos de uso y escenarios inesperados que no puedes predecir. Y es por eso que el último 10% del proyecto demora más un 90% del proyecto.
Las iteraciones de CodersRank tuvieron que considerar aspectos que se fueron presentando a medida que calculaban los rankings. Cuando le enseñas a una máquina a consolidar información que es imposible consolidar a mano tú no conoces los agregados hasta que tu algoritmo los arroja. Entonces dices: “pero qué máquina más tonta, no entendió lo que le pedí…”

En la foto ven una de las primeras iteraciones. Notarán que casi todos son usuarios-máquina de proyectos que se copian en Github a nombre del robot. Esto desvirtúa un ranking orientado a personas.

coderanker02-png.4795

Iteración siguiente: limpiar a esos robots. Hecho esto, obtuvieron un ranking de personas que me cuadraba bastante: Taylor Otwell (creador de Laravel) y Marco Pivetta (@ocramius, creador de Doctrine y coautor de una treintena más de librerías recurrentes ) liderando en PHP, y así mismo próceres en cada lenguaje.

Cuando CodersRank se abrió a los usuarios, salió a la luz otro problema. Los usuarios que se inscriben conectan sus cuentas (Github / Stack Overflow) y con ello permiten determinar de manera más rica su dominio de cada lenguaje. Ergo, la tabla de posiciones tenía a distintos desarrolladores evaluados con criterios distintos.

coderanker03-png.4796

En ese momento yo aparecía segundo en Chile, pero claro, era uno de los pocos que habían conectado su cuenta y tenía un boost que lo hacía medio mentiroso.

Adicionalmente, el algoritmo de evaluación fue evolucionando y por lo mismo los puntajes van cambiando. Yo perdí como un tercio de mi puntaje cuando dejaron de puntuar los archivos SQL.

(Lástima, yo tengo como 150GB en dumps de bases de datos bajo control de versiones. Fuera de broma: Tengo que purgar esos repos con un buen git filter branch.)

Paso siguiente, comparar peras con peras y dejar sólo a los usuarios inscritos y evaluados con el algoritmo más reciente. Da igual si con eso borran la mitad del ranking (o más), ¡si total es mejor hacerlo ahora que cuando salgan a la bolsa!

Por ejemplo, así quedó el ranking mundial para C#

coderanker04-png.4797

Hay un chileno ahí! Siempre hay un chileno

¿Cómo se calcula el puntaje?

Como puede verse en este Blogpost, hay varios aspectos que interactuan:

  • El origen de la información
  • La contribución estimada
  • El lenguaje de ésta
  • La obsolecencia de la misma
En StackOverflow los tags de la pregunta determinan el lenguaje a evaluar. El historial de contribuciones de un usuario puede resumirse a una lista que empareja lenguajes con puntaje.

En Github, en cambio, el referente es github/linguist, la librería con que la famosa plataforma de versionamiento clasifica el lenguaje asociado a cada archivo bajo control de versiones, y de esa manera estima el lenguaje o lenguajes de un repositorio.

El puntaje, en este caso, tiene que ver con las contribuciones (modificaciones) hechas por cada usuario en un determinado proyecto.

La obsolescencia, finalmente, se refiere a que tus contribuciones se van devaluando en el tiempo.

coderanker05-png.4798

CodersRank apunta a mostrar la experiencia relevante hoy de un desarrollador en cada lenguaje. Si hace 5 años hiciste una librería alternativa a jQuery (y no tuvo mucho éxito pero escribiste muchísimo código) en ese momento tu experiencia con Javascript estuvo en su cénit.

Si nunca volviste a escribir una línea de JS tiene sentido pensar que te quedaste un poco atrás y se te olvidó la mitad. Mirando mi código antiguo, lo honesto sería decir que se me olvidó todo y si pudiera viajar al pasado me golpearía.

Evolución Contínua

Desde la primera prueba de concepto y de darse a conocer en distintos medios, CodersRank ha ido evolucionando y añadiendo funcionalidades. Por ejemplo, el gráfico temporal le sirve a uno mismo para ver cómo ha evolucionado

Esta representación apilada de tu dominio de cada lenguaje tiene el beneficio adicional de poder comparar cuál es el mix que te da de comer. Acá abajo sale que mi pyme tiene su origen el 2013. Claro que me demoré 5 años más en fundarla. También veo que me estanqué. Tendré que darle buen uso a mi suscripción a Medium.com

coderanker06-png.4799


Pero el objetivo de CodersRank es convertirse en el perfil más completo de un desarrollador. Para esto añadieron la posibilidad de ingresar tu experiencia laboral, certificaciones, intereses, expectativas salariales y la clave de tu WiFi (nah, eso no).

Con la adición de la experiencia laboral, es posible tener un ranking de la potencia de código por empresa, lo cual lleva la competencia a una segunda derivada. A mí al menos me gusta trabajar con desarrolladores que pueda admirar!

Otras mejoras han sido, por ejemplo

  • La incorporación progresiva de otras fuentes de datos
    • (repositorios privados, mediante el uso de repo_info_extractor
    • Gitlab
    • En el corto plazo se viene la integración con Bitbucket y Hackerrank
  • La inferencia de los frameworks en que tienes experiencia, a partir de un análisis más granular de tu experiencia en cada lenguaje (cuando ofrecen trabajo no es para javascript genérico, es para ReactJS específicamente) (pero Vue es mejor).

coderanker07-png.4800

Este no es mi perfil, uta el tipo seco

CodersRank y el Software Open Source

CodersRank tiene varios repos donde puedes colaborar, pero el mismo hecho de registrarse y unirse a la comunidad enriquece el ranking para los demás. Unidos venceremos y eso. Como desarrolladores, siempre he pensado que uno de nuestros motivadores junto con la cerveza tibia y el pollo crudo es el prestigio, la reputación. Pero la reputación no tiene significado fuera del contexto de tus pares. Mientras más pares, más objetiva tu reputación.

En referencia a los repos donde puedes colaborar, anda a la organzación Codersrank en GitHub. Ahí veo dos repos donde puedes colaborar ahora sha. contribute:

  • Repo Info Extractor: esta librería permite que un usuario suba sus repos privados a CodersRank para ser evaluado también por esos conocimientos. Son archivos zip que sólo contiene más o menos cuánto código cambiaste en cada lenguaje por cada commit (en particular en origin/master). Doy fe que no se chorea nada privado. Usa las extensiones de archivos para inferir el lenguaje pero va evolucionando para entender el commit y diagnosticar mejor la experiencia. Son reglas muy específicas para cada lenguaje (por ejemplo, puedes inferir que se está usando Vue.js en un proyecto si parseas los requires o imports. Pero si examinas PHP de este siglo nadie hace require salvo del autoload.php. Tendrías que ver los “use statements” y determinar cuáles realmente están en uso. Vamos metiendo AST y demases. Hay muchos lenguajes donde puedes tomar la titánica empresa de hacer un parser en Python para determinar las dependencias en uso.
  • Libraries: junto con lo anterior, para saber que el código no sólo es JavaScript sino que usa Vue.js, éste está en una lista blanca de paquetes que se consideran frameworks o librerías. Requerir un script local no cuenta. Requerir vue/router no lo hace una librería independiente. Esta lista es sólo JSON. Ahí cualquiera puede contribuir sin programar siquiera!
CodersRank tiene también un API abierta que puedes usar para hacer tu propio dashboard o analizar cortes de la información. Un Dev de su equipo interno construyó Developers Leaderboard con esa API.

coderanker08-png.4801

(Yo debiera hacer un generador de botones SVG con tu puntaje para cada lenguaje)

Entrevista con los Fundadores

Esta no es, como en casi todos mis artículos, una PseudoEntrevista. Les presento a los verdaderos CR Karoly Paczari and CTO Peter Karakas con quien sostuvimos varias semanas de conversación más que nada porque chutié este artículo harto tiempo.

Capa9: Cuando se les ocurrió la idea de CodersRank, la pensaron com ouna manera de que los desarrolladores se comparasen entre sí, o como una manera de planificar y progresar en tu carrera? Lo segundo mete a los empleadores al modelo.Karoly, CR: Se le ocurrió a Peter, el CTO. Estaba trabajando en Lazada, Vietnam. La compañía la compró Alibabá más tarde, pero en ese tiempo él tuvo que hacer un proceso de recruitement sin más recursos que un browser. Tenía que contratar entre 30 o 300 desarrolladores dependiendo del escenario y nadie puede hacer ese proceso de la manera tradicional. Hackeó el proceso usando el API de Github para ver quienes sabían algo de los lenguajes y librerías necesarios y bueno, sirvió más que el enfoque tradicional. Entonces se dio cuenta que si se hacía como un motor de inteligencia tenía más potencial que el uso puntual que le dio.

Capa9: Por qué sacaron a los developer más top de los rankings? Me encantaba revisar el top 100. Muchos de mis ídolos estaban ahí.

Peter Karakas, CTO: Dos razones
  1. Posibles complicaciones legales porque en el fondo era juntar información que puede considerarse personal. No tenemos plata para gastar en abogados aunque creamos que no tiene nada de malo
  2. Era injusto comparar desarrolladores que habían configurado muchas fuentes de datos (repos privados, por ejemplo) contra otros que eran data recolectada orgánicamente.
Karoly, CR: Ahora tenemos un algoritmo mucho más sofisticado que el que teníamos en la iteración anterior. Este algoritmo V2.0 recoge otra información, mucha más y de manera distinta. Pero ocurre que requiere recursos y tiempo para hacer sus análisis. Era imposible correrlo para todos los 7.4 desarrolladores de la iteración anterior. Hubo que elegir. Además cuando recopilas información de gente que no lo ha autorizado, empiezan a llegar notificadiones de GPDS. Mejor dejarlo.
(Nota del editor, GPDR es una regulación que le da a una persona autoridad para controlar su información en Internet. Información que es pública y en otro escenario no puedes controlar una vez que se vuelve tal, en Europa es protegida por GPDR lo cual significa que si una empresa usa esos datos sin tu consentimiento explícito, es sancionado. Opera desde el 2018 creo, y se aplica a empresas que operan en Europa (da igual donde estén basadas) o con ciudadanos europeos. Por eso está lleno de banners “usamos cookies, acepta por favor”.)

Capa9: No se puede hacer un ranking que no tome en cuenta el puntaje de repos privados? Seguro que GPDR tampoco permite rankings anonimizadoss, sin nombre ni país?


Karoly, CR: (Con cara de “la pregunta weona…”) Puede ser buena idea separar la experiencia en privada vs open source. Gracias por la idea. La pondremos en este papel (bota el papel disimuladamente).
Acerca de los que no se registraron, si los mostramos anonimizados y sin país en realidad aporta poco. Con el tiempo habrá más desarrolladores, no hace falta meter datos de distinto origen.
Capa9: Han pensado puntuar los repos de librerías? Por ejemplo, dos proyectos que tienen la misma cantidad de Javascript podrían evaluarse con el mismo score, pero si uno tiene 10M de descargas en NPM y el otro cero, algo debe significar. Igual para Packagist, Rubygems, PyPi y otros

Peter Karakas, CTO: Medidmos experiencia, no popularidad. Pero si tu librería tiene 10M de descarga debes haber llegado a ese punto porque le metiste harto trabajo y seguramente vas a haber recibido puntaje en su momento. Y esas librerías de 10M de descargas no las hace una persona sola, de quién es el mérito? Lo que sí sería bueno es sacar inteligencia en base a quienes son tus compañeros de proyecto.
Capa9: Que ven como futuro para CodersRank? Que se convierta en el linkedin de los desarrolladores? Un portfolio como Behance? Una plataforma de reclutamiento? Todo lo anterior?

Karoly, CR
: Queremos reforzar el crecimiento profesional de los desarrolladores. Tenemos muchas ideas para lograr eso con el tiempo. Hace poco añadimos el “Learning Path” en beta para armar una especie de introducciones interactivas a tópicos recurrentes. Pero la manera más directa de ayudar a alguien con su carrera es sugerirle puestos de trabajo que cuadran con su experiencia.
Nosotros partimos siempre de la página de perfil. Ahí hay un perfil 360 de la experiencia actualizada permanentemente. Es la experiencia real de tu vida como desarrollador y queremos hacerla estable y precisa. Cuando estemos satisfechos veremos cómo más se puede avanzar desde otros aspectos hacia el mismo fin, pero las prioridades no las hemos decidido aún.
Capa9: Cómo piensan rentabilizar el proyecto? Van a esperar y ver qué aspecto prende más antes de seleccionar de donde vendrá el ingreso?

Karoly, CR: Oficialmente el plan es cobrar a las empresas por el servicio de ponerlos en contacto con candidatos para un puesto. Pero nos importan más los desarrolladores, aśi que tenemos que ver cuál es la mejor solución. No queremos que le hagan spam a los usuarios sólo porque paguen. Esta idea la validaremos cuando sea oportuno.


Palabras al Cierre: Discurso vs Reputación
¿Qué es lo que empuja a un desarrollador a desarrollar más y mejor? La pregunta del millón tiene muchas respuestas:
  • Ganarse la vida
  • Añadir features a sus proyectos personales
  • Arreglar bugs en librerías Open Source que utiliza en otros proyectos
  • Arreglar bugs en sus proyectos personales Open Source para que los usuarios dejen de quejarse en las issues de Github
  • Amor por el código
  • Matar el tiempo
  • Perfeccionarse
  • Mejorar los proyectos open source donde contribuye
Todo eso es cierto pero, saben qué es, según yo, lo más importante? Yo lo expresaría como: Maximizar mi reconocimiento como desarrollado entre mis pares. Y como corolario Aumentar mi prestigio relativo en comparación con mis pares. Porque, claramente, eso de “no compararse con los demás” está en la línea con “lo importante es competir” pero muy en el fondo competir le da el sabor a la vida y esta es una industria donde el reconocimiento de tus pares es un factor de peso.
Aunque es cierto que CodersRank no habla sobre prestigio sino como un benchmark analítico de dar valoración para el subjetivo concepto de la experiencia, para mí como desarrollador It’s All About Reputation. Sin embargo, para qué nos vamos a hacer los virtuosos, hay que pagar las cuentas. Y además, si uno es bueno en lo que hace, gana más plata. Lo justo es justo.
Alguna vez trabajaste con un colega que fuera… cómo decirlo… no un gran desarrollador pero un extraordinario vendedor? Yo sí. Y en mi interior sentía que era injusto que a otra persona la evaluaran en base a su discurso más que su código y habilidades técnicas. Pero esa situación también te hace dudar de tu propio talento así que guardas silencio para no hacer un papelón.
No te preocupes, querido lector. Todos tenemos el Síndrome del Ipostor. Guarda relación con que tu valor percibido (en un proceso de contratación o el onboarding en una empresa) depende de un discurso que nada tiene de técnico. Imagínate que alguien de Recursos Humanos te toma el cuestionario pregunta: “Sabes bases de datos”? Qué respondes?
  1. He mandado muchos pull requests a los repos de Doctrine, Sequelize y AdoDB
  2. Parché un memory leak de Postgres, cuando lo corres con CUDA en una GeForce GTX 960.
  3. Sé mucho. Pregúntele a mi anterior empleador que pensaba que yo sabía mucho.
  4. Tengo un largo historial de deuda técnica en bases de datos relacionales y documentales
  5. Gané la medalla “Unsung Hero” en Stack Overflow
Todos sabemos que la respuesta correcta es la 3. Pero cualquiera de las otras me dice más acerca del candidato. Eso es el origen del síndrome del impostor. El proceso de reclutamiento está más hecho y nosotros no podemos cambiarlo, pero quizás mediante CodersRank sí empujar la balanza.
Si se vuelve un benchmark conocido, y hace que la habilidad técnica cuenta. ¿Qué debiera importar para ser un buen desarrollador? Según yo
  • Experiencia, pero en el sentido de código relevante, commits y respuestas validadas o destruidas por mis pares.
  • Evolución de actividad en el tiempo. Hay tendencia ascendente? Dejé de usar SQL Server el 2012 (es la verdad).
  • Ser capaz de usar tu conocimiento para ayudar a otros a pasar obstáculos sugiriendo soluciones acorde a las buenas prácticas y lidiando con desarrolladores mal genio (esto es la definición de participar en StackOverflow)
  • Validación y compromiso con las buenas prácticas. Si un desarrollador cumple con lo anterior , el discriminante será la cobertura de tests en su código, ¿hace tests siquiera? Sigue una guía de estilo? ¿Es consistente con ella? ¿Se deployan usando CI/CD? ¿Tengo los passwords en un TXT?
CodersRank puede hacer sólo una parte de esto, pero de por sí es mucha información y está evolucionando. Alimentamos el modelo con nuestra actividad, y el modelo la devuelve en lenguaje entendible para los que te reclutan.
Pero igual yo me muevo por reputación. Gracias a todos y vayan a inscribirse!


Acerca del autor:
Amenadiel, fundador de Asisteknia y Chilehardware, chw.net, también conocido como FFF

 
Última modificación por un moderador:

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.872
Desde el año 2002 que lo único que programo decentemente es plsql. Del resto me quedo en puros hola mundo así que no se como quedaría en PlSql.

Oye @unreal4u , tú que estás más vigente ¿te animas a rankearte?
 

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
no prendió mucho el artículo :(
 

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.872
Está re bueno el artículo. De los lectores de Capa9 y aparte de Amenadiel, ¿quienes participan activamente en StackOverclow y/o en GitHub?
 

t3b4n

Ocioso
Se incorporó
27 Febrero 2006
Mensajes
1.659
no prendió mucho el artículo :(

A mi me prendió tanto que dejé de lado mi pega para ponerme a intrusear en el sitio :zippymmm Está genial el artículo!

Está re bueno el artículo. De los lectores de Capa9 y aparte de Amenadiel, ¿quienes participan activamente en StackOverclow y/o en GitHub?

Yo, pero lamentablemente la tecnología que más uso y con la que más contribuciones tengo en StackOverflow no está considerada en el ranking (Pentaho Data Integration). Noté eso sí que existe un repo en GitHub para actualizar ese listado de tecnologías; cuando tenga más tiempo voy a echarle un vistazo para ver si entiendo cómo agregar las mías que faltan.
 

t3b4n

Ocioso
Se incorporó
27 Febrero 2006
Mensajes
1.659
Pd: Vamos a poner los perfiles acá para medirnos el e-penis? :zippymmm
 
Se incorporó
20 Noviembre 2005
Mensajes
879
Yo hace un tiempo estoy en hackerrank, me gusta harto tienes que resolver problemas de distinto tipo (SO como Linux, Lenguajes de programación, matemáticas, entre otros) y te van dando punto, a partir de eso se genera una lista con los usuarios con mayor puntaje. Veo que este proyecto va más bien por otro lado y parece que pesa bastante el hecho de contribuir en opensource. Ese aspecto no me agrada mucho, hay desarrolladores muy talentosos que nunca han escrito código OSS.
 

clusten

ADMIN
Miembro del Equipo
ADMIN
Se incorporó
1 Julio 2007
Mensajes
6.239
Esto hubiese servido a mi jefe hace un año.

Cuando llegue había contratado a un desarrollador que partió decente y después desapareció.
No avanzó ni el 10% y se fue a la cresta cuando dijo que tenía que compilar una web php+sql y mostró una pantalla de comandos haciendo ping. Puta que me enoje esa vez, pero mi jefe más diplomático decidió dar otra oportunidad y volvió a fallar.

Ahora unos días que estábamos sin proyecto tome el código que dejó y sin ser un programador experto mis ojos sufrieron. El código funcionaba con PHP 5 o inferior, tenía hartas mañas que versiones antiguas te perdonaban, pero las nuevas no. Al final terminé desechando lo realizado y empecé de cero. Leer el código me ayudó a desempolvar lo que sabía de web.

Enviado desde mi EML-L29 mediante Tapatalk
 

EITSAEB

Team Peacemaker Hater
Se incorporó
10 Septiembre 2006
Mensajes
4.656
me pillaron que a lo unico que le pego mas o menos es a python. El resto, soy guano
 

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.601
Desde el año 2002 que lo único que programo decentemente es plsql. Del resto me quedo en puros hola mundo así que no se como quedaría en PlSql.

Oye @unreal4u , tú que estás más vigente ¿te animas a rankearte?

Yo me rankeé, pero se demoraron caleta en indexarme (desde que salió este artículo hasta ayer) así que por eso no había respondido jajajaj

Este es mi resultado:

6VyS4ff.png


Me sorprende un poco que esté rankeado como el top 4% del mundo en PHP, ya que en mi Github tengo repoco comparado con todo el trabajo que normalmente hago en la empresa, que es todo código cerrado lamentablemente y en Github ya no estoy tan activo como estaba: mi notebook no me deja correr Docker así que es un culo tener varias versiones de PHP instaladas en la misma máquina.

Además de esto en StackOverflow mi cuenta junta polvo no más, leecheo contenido como loco pero es repoco lo que aporto, y las pocas dudas de mis librerías open source las redirigo todas a mi github.

Me gustó el artículo! No conocía este sitio para nada, había visto iniciativas parecidas de StackOverflow pero sin que tuvieran mucho éxito, pq en realidad no están enfocadas a varios servicios, sino que sólo a la red de StackOverflow en sí, y además no es tampoco el enfoque del sitio.

Estos días iré haciendo algunos updates a mi perfil a ver si puedo integrar más repos con el pasar del tiempo.

Saludos.
 

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
El manejo de caché de CodersRank no es el mejor, muchas veces hay puntajes inconsistentes entre tu perfil y el Leaderboard. Efectivamente hay desfases y demoras. Imagino que lo calibrarán.

Respecto a tu scoring en PHP, cuando se echaron la semilla de 7 millones de desarrolladores se generó un sesgo muestral. Pero, básicamente, debiera comportarse como una exponencial negativa.

64OnsQs.png

(esto es una parábola cúbica, se parece pero no tanto. La aproximación polinomial es barata pero para hacer regresión logarítmica necesitas algo más elaborado)

Entre el puesto 1 y el 7 hay una relación 3:1.
Si tomamos tu puntaje (286 puntos, 340 entre 11.000) la tercera parte equivale a casi 1000 puestos.
 
Última modificación:

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
lamentablemente la tecnología que más uso y con la que más contribuciones tengo en StackOverflow no está considerada en el ranking (Pentaho Data Integration).

Muchas respuestas de Pentaho podrían llevar el tag Java (si lo quieres homologar a algo). Yo tengo permisos para añadir o crear tags, pero es un poder que hay que usar responsablemente. (Estaba viendo que tus respuestas de cakephp no tienen tag php, así no anda la cosa )
 

t3b4n

Ocioso
Se incorporó
27 Febrero 2006
Mensajes
1.659
Muchas respuestas de Pentaho podrían llevar el tag Java (si lo quieres homologar a algo). Yo tengo permisos para añadir o crear tags, pero es un poder que hay que usar responsablemente. (Estaba viendo que tus respuestas de cakephp no tienen tag php, así no anda la cosa )

Gracias por el consejo, es una opción, pero una no muy buena. Que Pentaho esté hecho en java, no es sinónimo de que el usuario de Pentaho sepa java. Por eso me inclino más por lo que había indicado originalmente: editar el repositorio donde están listadas las tecnologías que puntúa CodersRank. Algún día tendré tiempo...
 

t3b4n

Ocioso
Se incorporó
27 Febrero 2006
Mensajes
1.659
Gracias a tu comentario me puse a revisar mis respuestas de CakePHP y acabo de cachar que el 2012 te respondí una pregunta en Stackoverflow, @Amenadiel :risas
 

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
Si, lo entendí un poco mejor después y efectivamente tu conocimiento es bien inherente al uso de Pentaho (me recordó las magias que hay que hacer en Tableau y ClicData para hacer visualizaciones que se salen de los ejemplos :fuckthem: )

Por otro lado veo difícil que se incorpore el conocimiento de una suite en particular en el corto plazo. Recién están aprendiendo a procesar "semánticamente" tu código para cachar si estás incluyendo librerías que a su vez ellos pueden agrupar como : "frameworks de front", "build tools", "backend".

En mi caso, tengo buen puntaje en el tag mysql, pero CodersRank dejó de puntuarlo, porque cuál sería el paralelo de tu experiencia MySQL dado tus repos de código abierto? No son los archivos SQL, dado que pueden ser de cualquier motor, y ser simples dumps de la base de datos. Ergo, me entubo mi puntaje, a pesar de que mis tepos tienen docenas de declaraciones de funciones y procedimientos almacenados, lo mismo en postgres.
 

t3b4n

Ocioso
Se incorporó
27 Febrero 2006
Mensajes
1.659
Ah, qué gil, me pasa por leer a la rápida. Sólo habías editado la pregunta, imagino que agregaste los tags que faltaban.
 

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
Gracias a tu comentario me puse a revisar mis respuestas de CakePHP y acabo de cachar que el 2012 te respondí una pregunta en Stackoverflow, @Amenadiel :risas

No será que aparece mi usuario porque edité los tags añadiendo PHP?
 
Subir