sábado, 27 de julio de 2013

Delegados o criptografía

Delegados ¿¿¿¿???

Es curioso lo criptográficas que llegan a ser la explicación de algunos conceptos, por ejemplo el concepto de delegado, que está vinculado al de evento. Si buscas información encontraras una y otra vez las siguientes descripciones "firma de un evento", "puntero a una función", y ponen ejemplos que no se entienden un carajo, están escritos para listos, de hecho muchas veces parece que esté escrito a propósito para que no se entienda y así le da más glamour al concepto.

Microsoft no es una excepción en este caso, en realidad la msdn muchas veces deja que desear, dando explicaciones muy teóricas pero sin exponer ejemplos claros (http://msdn.microsoft.com/es-es/library/system.delegate(v=vs.80).aspx) , ves el ejemplo y piensas, "pero que carajos están haciendo...", al final lo que se acaba interpretando (al menos los normalitos) es que para llamar a una función se están complicando la vida, para hacer una analogía da a entender que si un tío que está en Pamplona tiene sed, se va a San Sebastián y pide agua.

Después lees muchos otros post donde remarcan "firma del evento...el controlador de evento clic responde a la firma del delegado de un evento..." y otras frases tecnicistas que no explican nada.

Pués bien, al final si ves el vídeo del link que dejo a continuación, sí que se entiende. La explicación más apropiada, comprensible y fácil para un delegado que se me ocurre es que en el contexto de ejecución de dos objetos (por ejemplo dos formularios winforms) y también por ejemplo en el contexto de los threads, con los delegados se consigue COMUNICACIÓN entre los mismo.

En el video se ve claro que dado dos forms (form1 y form2) el form2 podrá enviarle notificaciones al form2 pasándole argumentos, es decir que form2 puede llamar a funciones de form1 aunque ni siquera sepa que existe. Esto es aplicable a N forms o Threads.

Ahí va el link http://www.youtube.com/watch?v=gRSc6PPNjvk

Hasta otra

miércoles, 17 de julio de 2013

Katas

Las Katas en programación son ejercicios "simples" y fascinantes para practicar determinados aspectos de la programación. Sirven para practicar algorítmica, probar nuevas funcionalidades de un lenguaje, comparar eficiencia de algoritmos, y además también son un buen ejercicio para empezar a familiarizarse con el TDD.

Hay varias Webs donde se proponen numeros Katas muy divertidos y "fáciles", para todos los  lenguajes. Aquí dejo el link de Solveet , Web con muchos Katas propuestos para muchos lenguajes, hay muchos desafíos con las soluciones de varios programadores, te puedes picar con ellos y comparar soluciones, incluso puedes publicar tu propio desafío. Hay ejemplos incluso de un lenguaje que se llama Ruby, por tanto le gustará a un buen amigo mio.

Katas típicos pueden ser por ejemplo cálculo factorial, fibonacci, números primos, etc...

También es divertido inventarse uno propio, yo me propuse el siguiente Kata:

1. Función calculo Número primo clásico
2. Función cálculo número primo con LINQ usando expresiones Lambda.
3. Función cálculo número primo con solución 2 recursiva.

Cosa que me ha permitido practicar las expresiones Lambda, y no solo eso, además ha permitido comprobar la eficiencia de LINQ. A través de las pruebas unitarias se ha comprobado que las solución 2 y 3  con expresiones Lamda, son con mucha diferencia mucho más efectiva que la primera. La solución 3 es ligeramente más efectiva que la 2.

Pego a continuación una foto con las 3 funciones.



martes, 16 de julio de 2013

Body Shoppers

Continuando con mis historias de búsqueda de trabajo, merece un artículo aparte el tema de los "Body Shoppers"

Me hizo gracia la primera vez que escuche este adjetivo para referirse a las consultoras que contratan trabajadores para hacer outsourcing. Literalmente lo traduciría como "Tiendas de carne a medida", el nombre encaja como un guante, la experiencia que yo tuve en mi búsqueda es que puedes optar a un puñado o dos de "Body Shoppers" a la semana, pero si no estas cortado a medida no tienes nada que hacer, es decir, ejemplo, la oferta viene a decir, se busca programador con:
1 año experiencia MVC 4
2 años de experiencia de JQuery
etc...

Y si tú no estas cortado a medida, no tienes nada que hacer, da igual que tengas 3 años de experiencia en MVC 3, o que tengas año y medio de experiencia en JQuery, o cumples los requisitos al milimetro o olvidate de inscribirte a la oferta, no tienes nada que hacer.

Así que si quieres trabajar en una "Body Shopper" necesitarás mucha experiencia en muchas tecnologías, así quizas encajes en alguna :-)

Aquí acaban mis reflexiones sobre búsqueda de trabajo, no había dicho que yo lo encontré en una body shopper para un proyecto en WinForms.

Hasta otro día.

domingo, 14 de julio de 2013

Entrevistas de trabajo para AP .NET

¿Estáis buscando trabajo como AP .NET? Cómo yo ya lo he encontrado voy a compartir mis experiencias y consejo con vosotros, para echaros una ayuda, ya que ahora mismo no sois competencia ;)

 Bueno, pues resulta, que por allá por mediados de 2013, me cansé de ser autónomo - o quizás la crisis me obligó a cansarme - y me puse a buscar trabajo, llevaba unos 6 años sin ir a una entrevista de trabajo; hasta el momento siempre que había buscado trabajo en mi tierra de adopción, Castellón, lo había encontrado muy rápido, unas dos semanas, y sin demasiada dificultad, 2 o 3 entrevistas. No era consciente de que el escenario había cambiado totalmente, menos ofertas y mucha más gente preparada sin trabajo, por tanto muchísima más competencia. Me encontré con unos procesos de selección mucho más complejos y largos que os resumo a continuación.

Mi primer golpe en la frente fue cuando fui a infojobs y filtre búsqueda de empleo por Castellón/Informática, esperaba encontrarme unas 10 ofertas para apuntarme, jaja ni una sola, totalmente vacío. Acto seguido cambié la provincia por Valencia y tampoco había mucho, sí de informática en general, pero muy poco de mi especialidad en concreto .NET, así que me hice la idea de que tendría que hacer las maletas, y empece a buscar en Barcelona, donde sí que había muchas ofertas.

 En mis primeras entrevistas, lo más divertido fue encontrarme con unos psicotécnicos muy divertidos, me pidieron dibujar un árbol, escribir un cuento, me preguntaron que pensaba de las mujeres modernas, que envidiaba de algunos hombres, jeje las respuestas estan protegidas por la LOPD y no os las contaré, os compartiré esta, jeje:
Pregunta: Los hombres de mi edad....
Respuesta: tienen 35 años.

 Ya entrando en aspectos más técnicos os comparto todo lo que me han preguntado y hay que saber para poder pasar las entrevistas. Comentar que todo esto se centra en entrevistas para puesto de AP .NET en consultoras.

 Inglés. Pero de verdad, no ese nivel "medio" del "from lost to the river" que pone todo el mundo el el CV sin soltar palabra
 Hay que saber hablar con fluidez, ya que las consultoras, al no haber pan en España, lo buscan en Europa. Si sabes además Francés y/o Aleman es un plus.

 En todas las entrevistas os preguntarán sobre:

Metodologías ágiles, Scrum, TDD, ORM, SOLID, LINQ , patrones de diseño, y arquitectura.

En muchas os harán un examen test donde os pueden preguntar por muchas cosas relacionadas con la Ingeniería del Software:
  Singleton (Que no soltero), Patron observer, decorator.
  Pruebas unitarias, Mocking (Buscar en la wiki, no quiere decir mocoso ;), stub, pruebas de stress
  SOLID. Dependency Inyection, etc...
Y por supuesto, cualquier cosa directamente relacionada con el framework .NET, POO y C#

En algunas os harán pasar un examen práctico.

O sea que no solo hay que saber programar sino que también hay que estar documentado y mostrar interés por la Ingeniería del Software.

En muchas os preguntaran si tenéis hijos, si estáis casados etc etc... cosa que no juega mucho en vuestro favor. En principio todas estas preguntas se consideran discriminatorias según las buenas normas, como también lo es la foto en el CV, que no debería estar; pero la realidad es bien distinta.

Por hoy, esto es todo, otro día hablaré de los Body Shoppers...

Bienvenidos

Hola y bienvenidos, Soy Jaume González, programador informático apasionado del mundo .NET, la Ingeniería del Software, y la programación en general.

Os presento literatura programada, un blog para escribir sobre Ingeniería del Software y programación, especialmente del mundo .NET, aunque también se aceptan reflexiones pyThonianas y Javeras, las de PHPeros me lo pensaré :-). Se trata de un blog en el que hablaré temas técnicos sobre mi experiencia en el mundo de la programación, intentando ser ameno, exponiendo temas técnicos con un lenguaje llano y ameno. Estáis invitados