@iamemhn

EM Hernández-Novich

Ask @iamemhn

Sort by:

LatestTop

Previous

Leí por allí que conoces a Jorge Baralt. ¿Será el mismo Jorge de la USB? Él es mi tutor de tesis. Ya que tenemos ese nexo, ¿quisieras criticar mi tesis cuando la tenga medianamente lista? :)

Génesis Gabriella 3G
Jorge Baralt es el responsable de que en Venezuela exista la carrera de Ingeniería en Computación, en su versión original y moderna en la USB, que el resto de las universidades han adaptado a sus realidades. Fue uno de mis profesores en pregrado; referencia formal e informal para mi investigación de maestría; fuente permanente de ideas y llamados a la reflexión en lógica, álgebra, lenguajes y filosofía de la ciencia; y por unos meses hasta fuimos vecinos..
SI el trabajo incluye tópicos de mis áreas de interés, con gusto.

¿Cómo se dice «feature» en español?

Si se trata de traducir "feature" desde el inglés hasta español, depende de la acepción particular. Si se está usando como sustantivo, entoces corresponde usar "característica" o "atributo". Si se está usando como verbo, entonces corresponde la conjugación adecuada de "presentar".

La programación es duro. Deje la universidad en 5 semestre porque la calidad era MUY MALA. Algún consejo para construir una carrera en el campo IT sin obtener un titulo, Mi preparación semanal consiste en estudiar HTDP e2, linux, ingles, y comenzare a leer un libro sobre data minig con python.

Puedes aprender administración de sistemas, operaciones de redes, y apoyo a desarrolladores. La experiencia en esos temas siempre es apreciada, y es muy fácil evaluar si realmente tienes las destrezas con algunas pruebas sencillas.
Si quieres insistir con la programación, no te basta con los puntos que has mencionado, porque si bien la programación tiene una parte artística y de expresión lingüística, es necesario que te prepares formalmente en el estudio de algoritmos y estructuras de datos. Con esto quiero decir que debes estudiar teoría de algoritmos y estructuras de datos, aunque lo hagas por tu cuenta, con un libro como el Aho o el Cormen.
La verdadera experiencia para un programador viene cuando usa y compara varios lenguajes de programación, así que intenta aprender varios lenguajes. Si te interesa Data Mining y Machine Learning, aprender R y Octave es mucho mejor que Python, no importa lo que te digan acerca de "hay mucho código Python para hacer DM y ML".
Pero lo más importante, es que te diviertas aprendiendo y que tu motivación sea el aprendizaje por el aprendizaje.

View more

Liked by: Diego

Related users

Comencé a trabajar en una start-up y mi jefe quiere que usemos una base de datos NoSQL. ¿Me mato?

Si no sabes qué hacer, renuncia. Es más eficiente para todos.
Si sabes qué hacer, porque es claro que el modelo de datos es puramente relacional, siéntate a explicarle al jefe, de manera razonada, por qué no sería una buena idea usar una base de datos NoSQL, y de seguida expón la superioridad de una base de datos objeto-relacional como PostgreSQL. Si es una persona razonable lo entenderá, y será positivo para todos. Si no es una persona razonable, no es eficiente tratar de convencer a alguien de algo de lo que no quiere ser convencido, así que renuncia.
Si *realmente* sabes qué hacer, dile que usarás NoSQL, pero después construye todo con PostgreSQL hasta que funcione perfecto, y cuando el jefe te venga con "¿viste que yo tenía razón?" le contestas, "pues no, lo hice con PostgreSQL y por eso es que funciona. Si no te gusta, quítalo tú.".
La última alternativa siempre me ha dado excelentes resultados. En especial si eres capaz de guardarte el "te lo dije" que todos están esperando.

View more

Enseño programación web y el ambiente universitario exige que sea PHP. ¿Qué opinas de que me salte eso y enseñe con otro lenguaje? Total, en ningún lado dice expresamente que debe ser PHP.

En uno de mis cursos, tengo apenas tres clases para enseñar a los estudiantes las prácticas modernas más apropiadas para programación orientada a objetos. Para eso, la mejor herramienta sería usar Perl Moose, Common LISP Object System o Smalltalk; pero ningún estudiante está preparado para ese impacto. Tampoco les puedo enseñar esas cosas con lenguajes como Java, C++ ni C#, porque no es un curso de historia. Mis opciones son usar Ruby o Python, y termino usando Ruby. No es la mejor herramienta, pero me permite abrirles los ojos; no escojo Python, porque la mayoría ya aprendió Python mal y cree que sabe lo que está haciendo.
Si los estudiantes hacen preguntas interesantes, les suelto ejemplos en Smalltalk o en Perl Moose; algunos los entienden, otros no, pero al menos sienten que hay más cosas. Y nunca pierdo la ocasión de usar Java, C++, C# y Python para mostrar malos ejemplos de algunos tópicos.
Si una institución "exige" usar una herramienta particular para alguno de sus cursos, está lejos de llamarse Universidad y cerca de llamarse Academia de la Herramienta. Independientemente de la calidad de la herramienta.
En la Universidad es necesario enseñar ciencia, cubriendo teoría y técnicas prácticas que se puedan observar y experimentar con muchas herramientas, todo esto acompañado de un intenso proceso de formación para el razonamiento crítico y estructurado del profesional. Si estás en un curso de programación web (sic), tiene que enseñar MVC, REST, separación de preocupaciones, y muchos detalles relacionados adicionales, para que el estudiante los pueda enfrentar con cualquier herramienta. Un profesor competente en el tópico que sea, debe conocer todas las herramientas posibles (las buenas y las malas), y escoger para el curso una o más, preferiblemente aquellas que los estudiantes NO conozcan.
Si no sacas a los estudiantes de su zona de comfort, no van a aprender nada. Si les permites usar una herramienta mala, no solamente les haces un daño inmediato, sino que se siembran malas prácticas que perduran. Y no me interesa ahondar en el tema de lo que puede pasar extracurricularmente si les dejas usar una herramienta "popular".
Así que, prefiero establecer un programa en el cual no se mencione ningún lenguaje particular, pero que incluya los tópicos que sean absolutamente necesarios. Luego, indicar los lenguajes que conozco (y que sean varios), con los cuales podría cubrirse la materia, sin incluir PHP. Y cuando comience la materia, tengo la opción de hacer trabajar a algunos estudiantes con uno y a algunos con otro, o bien hacer que ellos escojan cuál quieren usar.
Es cierto que muchos estudiantes van a tener increíbles dificultades cuando los saques de su zona cómoda. Enfócate en los que no tienen miedo al aprendizaje, porque el resto no quiere aprender, quiere pasar y que alguien diga que saben.

View more

Buenos Tardes, profesor. ¿Qué libro me podría recomendar para poder sacar "5" en traductores?

Para sacar la máxima nota en cualquier asignatura, lo que importa es la práctica constante y anticipada, estudiar todo desde el primer día para lograr aprenderlo, y no ser meramente un "pasador de exámenes". Los libros no enseñan eso.
El libro que recomendamos es el "Languages & Machines" de Sudkamp, que es tan bueno como cualquier otro. El libro necesita quien lo lea, incluso "lo que no va para el examen". El libro tiene ejercicios que deben hacerse, aunque "el profesor no los mandó a hacer". El libro no es responsable si no explica en detalle conceptos que se supone deberías haber adquirido dos o tres materias más atrás.
Libros como "Introduction to Automata Theory and Languages" de Hopcroft * Ullmann, y los canónicos "Theory of Parsing, Translation and Compiling" presentan el contenido de manera mucho más abstracta, y tienen menos ejercicios pero mucho más complejos.
Y para la parte práctica, es importante comenzar desde el primer día y agregar cosas poco a poco al lenguaje de juguete que tienen que implantar. La complejidad del proyecto no es lineal, y cada fase depende de la anterior -- atrasarse no es una opción, a menos que no te importe aprender. No hay ningún libro que enseñe eso específicamente, así que debes apoyarte en libros generales de compiladores, como el Dragón de Aho y Sethi, y en los preparadores, que ya han pasado por eso.

View more

Liked by: Cesar Rada Diego

A nivel de pasantía (y primer trabajo) que es mejor, trabajar con una empresa consolidada, o una empresa en donde se han unido un grupo de jóvenes para trabajar por su cuenta en proyectos varios?

No importa si es una empresa grande o recién formada. Lo que importa es que hagas algo nuevo para ti, con un resultado útil, y que haya al menos un mentor que te indique dónde investigar, que te ofrezca opiniones y guiatura cuando te toque resolver un problema, y que no tenga miedo a incorporar tus ideas.

¿Que piensa de trabajar como ORACLE DBA como primer trabajo?

Todo aprendizaje es útil, porque la experiencia ni se apura ni se compra. Si eso es lo que te interesa, hazlo. Cuando pierdas el interés, encontrarás otra cosa. Y si nunca pierdes el interés, tu primer trabajo fue tu "trabajo soñado", así que no habría problema.

¿Has revisado el libro HTDP [1]? ¿Tienes alguna opinón sobre el? 1 http://www.htdp.org/

Es otro libro útil para aprender. Hace un buen esfuerzo en enseñar a pensar en el problema, comprenderlo y diseñar, antes de escribir una sola línea de código. Los tópicos que se exploran son importantes y relevantes para el aprendizaje, aunque menos interesantes y densos que los del SICP, en mi opinión.
Si una persona aprende a programar con este libro, de seguro tendrá una concepción mucho más amplia del problema de construir abstracciones, que las que tienen los que aprenden con el "lenguaje de moda" aplicando la técnica "cópiate un ejemplo y dale golpes hasta que funcione", muy popular entre "coders" de nuestros tiempos.

¿Como consumes información rss, twitter, listas de correo o algún otro método?

RSS para la mayoría de las noticias por tópico. Twitter directa e indirectamente como indicador de eventos inmediatos. Listas de correo para reportes de seguridad y grupos de desarrollo en que participo. Libros y artículos, tanto electrónicos como en árboles muertos para conocimiento detallado o recreación.

¿Es posible conseguir empleo como aprendiz de linux sysadmin o como aprendiz de desarrollador de software? ¿Has visto alguna oferta de este tipo?

Supongo que si. No las he visto, porque no las estoy buscando.

Next

Language: English