miércoles, 22 de febrero de 2012

YO SOY UN GRAN PROGRAMADOR, PERO TERRIBLE PARA HACER ALGORITMOS


Traducido de TREND LINE:

Yo soy un gran programador, pero un algoritmista terrible. Es un pensamiento que ha pesado sobre mí muy poco, y me gustaría recoger los sentimientos de otros desarrolladores sobre el tema también.

Comencé a lo que puede llamarse mis espaldas profesionales de desarrollo profesional en 1999. Yo todavía estaba en la escuela media, pero mi padre me contrató en su compañía de software. Mi misión oficial era hacer cambios a nuestros sitios web, pero sobre todo terminó molestando a otros desarrolladores para ayudarme a aprender.

A partir de ahí cogí Perl (un poco) y luego se trasladó para el desarrollo de PHP y la interfaz web final, donde me he alojado cómodamente durante los últimos doce años.

Cuando se trata de la construcción de sistemas de gran escala, la comprensión de los detalles de estos sistemas, y en realidad a escribir, lo hago muy bien. Soy capaz de escribir código PHP elegante (creo que existe), y realmente entiende de programación también. Hago todas las cosas que hace un artesano del software: escribe pruebas automatiza la medida de lo posible, se entera de las nuevas tecnologías, piedras de afilar mi oficio con el trabajo de lado y el trabajo de código abierto, y construyo sistemas que escalan con las peticiones de la demanda y el cliente.


Incluso tengo una licenciatura en Ciencias de la Computación de lo que creo que es una gran universidad.

Sin embargo, siento que soy un algoritmista Terrible

Pídeme que escribir un algoritmo complejo (incluso uno que se ha descubierto), y me pongo a sudar en las palmas de las manos y nervioso. ¿Es este un síntoma que usted también? Para que sea realmente capaz de expresar un algoritmo en el código, realmente tengo que pasar mucho tiempo en comprender que lo haga.

Yo entiendo que un algoritmo es una serie de pasos para completar un problema. Me refiero a los algoritmos complejos como la clasificación, las estrategias recursivas que se fusionan, la criptografía y la compresión, por nombrar algunos.

Mi mayor orgullo logrado en la universidad fue escribir el algoritmo A * para mis primeras estructuras de datos y algoritmos de clase. Me pasaba las horas físicamente dibujando gráficas y mantenia escribiendo las tablas de la pila que los nodos estaban siendo empujados hacia dentro y fuera de.

Incluso mantuve los dibujos porque yo estaba muy orgulloso de ellos.




Lo que se reduce a es a menudo tengo problemas para ver el algoritmo subyacente a un problema complejo. Una vez entrevisté con Amazon y no lo hace más allá de la segunda vuelta porque no podía ver el algoritmo subyacente en una de las preguntas que me pidieron (las preguntas sobre la arquitectura en general, sin embargo, lució muy bien). Afortunadamente, esto no es algo que se tiene o no. Algunos programadores tienen una habilidad natural para ver el algoritmo subyacente de un problema, pero si no puede, se puede aprender.

¿Soy el único en sentir esto? ¿Es la lucha de otros programadores con esto también? ¿Es esta una manifestación del síndrome del impostor? Lo disfrutamos en la universidad, pero yo no estudié tanto como debería haberlo hecho. Si eres un mayor en Ciencia de la Computación de la universidad ahora y mucho de esto no es algo natural, le pido: por favor, pasar tiempo en sus estudios. Realmente se aprende de los algoritmos presentados en clase. Asi usted nunca se aproveche de ellas durante su carrera, por lo menos le ayudará a sentirse más como un programador.





No hay comentarios:

Publicar un comentario