Category Archives: Enlightening

Programming Interview Tips

Behavioral Questions
Think about good examples you can describe from school (or internship) projects that were successful, in which you played an important role. Think about projects that went wrong initially and how the situation was corrected. What did you learn from the situation? what would you do different next time? think about a difficult bug you had to solve and how you approached the solution. Think about the different programming languages and which ones you like best and why. Always be very honest in your answers, since the interviewer can easily spot when you are making up stuff. Do not come across as the “perfect programmer”. Show that you have made some mistakes and have learn from them. Show that you have good communication skills, good team work skills, that you are a rapid learner, that you go the extra mile…

Technical Questions
Refresh some of the core CS concepts:

  • Data structures
    • Study some of the basic data structures:
      • array, list, tree, binary search tree (bsd), queue, heap, map (dict/hash), set
    • What are the main characteristics/properties of each structure?
    • What are the pros and cons of each structure?
    • What is the big-O complexity of the common operations (insert, find, delete, access) on these structures?
      • e.g accessing an element from an array is O(1), while on a list is O(n)
      • e.g searching for an element in a BSD is O(log n)
  • Algorithms
    • Learn some basic algorithms, know how they work, and what is their big-O complexity

During the technical interview: ask lots of questions to the interviewer. Repeat the problem statement to him to prove that you understood the problem. Verify assumptions with the interviewer: “is it ok to assume that this function will never receive a NULL string?”. It is ok to ask for help, don’t stay silent. Selecting the correct data structure for a solution usually takes you 80% there. Consider different data structures and always start with the simpler ones (array, list) before you jump into trees and graphs. Do some design before you implement any code. If you have access to paper / white board, draw your data structure, fill it with some sample data and verbally walk the interviewer through your solution. Write clean code, use good meaningful self documented variable names, use proper indentation. Pretend the interviewer is a coworker and work with him through the problem. This shows him that you are a person he would like to work with on a daily basis. The same goes for you, see if you would like to be on a team with this person.

Here are two books that help you prepare for a technical interview. I highly recommend getting at least one and solving some of the problems in them. And actually SOLVE the problems. Do not just read the answer, because if you do that, the solution wont stick in your brain. If you solve it, you won’t ever forget it.

  • Programming Interviews: The Insiders’ Guide Paperback by Adnan Aziz
  • Cracking the Coding Interview by Gayle Laakmann McDowell

Adnan Aziz has a website at UT and posted a PDF for free that includes a lot of content from one of the books, which you can download for free.

You should also look into online tools that help you prepare for programming interviews like:

  • LeetCode
  • HackerRank
  • InterviewCake

Barrel Assembly

Corría el año 2014 y luego de trabajar por 13 años en National Instruments estaba listo para probar nuevos rumbos. Comencé a mirar oportunidades de trabajo disponibles y la verdad ninguna parecía llenar mis expectativas. Sin embargo me animé a una entrevista con Roku en Austin. No me fue bien y ahí me dí cuenta que hay que prepararse muy bien para presentar una entrevista técnica. Por esa época me contactó Sameer un reclutador que me ayudó a organizar mejor mi hoja de vida, me recomendó unos buenos libros para preparar las entrevistas técnicas y me comenzó a conseguir oportunidades laborales.

Durante este proceso la noche del 8 de Agosto de 2014, mientras estaba en cama tratando de dormir vino a mi mente algo parecido a una epifanía: el desarrollo de software ya no es lo que me apasiona. Tengo que descubrir una nueva pasión. Y de la nada se me ocurrió: voy a montar una cervecería.

Con nula experiencia en el mundo de la cerveza, decidí que el primer paso era comprar un kit para hacer cerveza casera y aproximarme a ese mundo con el hobby de hacer cerveza casera. Decidí que lo iba a hacer por al menos un año para estar más convencido de que la cerveza era mi nueva pasión.

Después de presentar varias entrevistas infructuosas con diferentes compañías tuve la oportunidad de entrevistar con Visa, y me ofrecieron trabajo. Así que en Junio de 2015 renuncié a National Instruments y luego de un provechoso viaje de aprendizaje cervecero por Alemania, Bélgica y República Checa durante Junio y Julio, comencé a trabajar para Visa en Agosto 2015.

En Diciembre 2016 viajé a Medellín a visitar a mi familia y fue allí cuando decidí que ya estaba preparado para comenzar mi negocio cervecero. Con dos años y medio de experiencia haciendo cerveza casera, de participar en diferentes clubes cerveceros, de enviar cervezas a competencias y colaborar como juez, tomé la decisión de renunciar a mi trabajo en Visa y dedicarme a crear mi nueva empresa.

Es así como el 23 de Enero de 2017 comienzo a crear mi propia empresa y nace Barrel Assembly.

Barrel Assembly Logo
Barrel Assembly Logo

Felices Fiestas 2015-2016

Por el trajín de la temporada decembrina no pudimos hacer nuestro tradicional mensaje festivo hace un par de semanas, sin embargo aunque ya un poco tarde, queremos desearle a todos nuestros queridos lectores unas felices fiestas para 2015 y un maravilloso 2016 lleno de felicidad, alegría y macarena.

Para esto los dejamos con nuestro L. Ron Hubbard feo padre y fundador de la Dianética y la Cienciología.

Ugly L. Ron Hubbard
Ugly L. Ron Hubbard

Y las felices fiestas para el 2014?

Recientemente, recibimos una queja formal de una de nuestras más queridas lectoras, quién nos indagó el por qué no hubo un mensaje deseando unas felices fiestas 2014 de parte de Chichipanguanorrea y su personal.

Luego de extensas investigaciones, introspección personal, soul searching y otras pendejadas, hemos concluido que la razón por la cual no fue publicado el mensaje decembrino, fue por simple y trivial olvido.

Sin embargo creemos que nunca es tarde para corregir los errores del pasado y para desearle a nuestros queridos lectores unas felices fiestas 2014 y un alegre 2015 lleno de bailongo, sabor y macarena.

De parte de la virgen María Fea de la Iglesia Católica Ortodoxa, un próspero 2015 para todos.

Virgen María Fea

Tres docenas y una pintura de zurda

Gol de James Rodriguez a Uruguay
Fue un 28 de Junio de 2014 cuando el reloj marcaba las 5:28 de la tarde, que el tiempo aminoró su eterna prisa y James Rodriguez detuvo el balón con el pecho de espaldas al arco que defiende el guardameta Uruguayo Muslera y sin permitir que el balón se despegue ni medio metro de su cuerpo giró y empalmó el balón con un zurdazo impecable que infló la red y el corazón de los miles Colombianos que ahí estábamos siendo testigos de un momento histórico para el fútbol Colombiano y que teñíamos de amarillo el mítico estadio Maracaná en Rio de Janeiro.

Ese mismo día mi torta imaginaria requirió 3 docenas de velas.

Uribita la babosa limpiadora

Babosa Uribita
Me encontraba la tarde de hoy limpiando un montón de hojas que se habían quedado atrapadas en una parte del techo de mi casa, cuando me encontré con Uribita, una babosa que desesperada trataba de alejarse de las hojas que yo estaba limpiando. Recordé en ese momento que hace varios años vi en la televisión un programa donde alguien mostraba como tenía babosas en su baño para limpiar la ducha. Las babosas se comen el moho que se forma entre los baldosines y que es muy difícil de limpiar. Para asegurarme de que no lo había soñado, busqué en internet y encontré un artículo que confirma dicha práctica extraña pero efectiva y ecológica. Así que decidí invitar a Uribita al baño de visitas para que viera si le gustaba el lugar. Rápidamente, y luego de echarse un pequeño número 2, se fue a la esquina más oscura de la ducha para darse una siesta. Según el artículo a las babosas en el día les gustan los lugares oscuros y en la noche es cuando salen a comerse el moho. La persona del artículo incluso le puso un tarro a las babosas para que duerman durante el día y no sean molestadas por las personas cuando entran a bañarse en las mañanas. Pronto estaré reportando como van las relaciones entre Uribita y yo. Si todo sale bien, espero poder conseguirle una compañera a Uribita y le pondré por nombre Maria Fernanda Cabal.

¿Cómo mejorar la portabilidad de una DSLR?

En la entrada anterior Qué tipo de cámara debo comprar? concluímos que las cámaras DSLR ofrecen la mejor calidad y configurabilidad, pero la peor portabilidad. Las DSLR son innegablemente más grandes y pesadas que otros tipos de cámaras. Con esta entrada sin embargo ofreceré algunos consejos de como mejorar la portabilidad de una DSLR. De esta manera considere factible llevarse una DSRL consigo la próxima vez que se vaya de mochilero por Europa.

El Cuerpo de la Cámara
Al momento de comprar una cámara, es importante ver las dimensiones y el peso del cuerpo de la cámara. Comparemos dos cámaras similares de Nikon:

Peso (g) Dimensiones (mm)
D3200 505 125 x 96 x 77 = 924,000
D90 703 132 x 103 x 77 = 1,046,892

La D90 es 13% más voluminosa y 39% más pesada que la D3200. La D90 es sin duda una mejor cámara pero el fotógrafo debe preguntarse: ¿Justifica cargar el peso extra?

El Lente
Nótese que he escrito ‘el lente’ en singular. Los fotógrafos profesionales tienen una colección de lentes, cada uno con usos específicos. El fotógrafo aficionado sin embargo no necesita tener más que uno o dos lentes. Las cámaras Nikon usualmente vienen en paquetes que incluyen dos lentes: 18-55mm (265g) y 55-200mm (335g). El primero es bueno como un lente gran angular pero carece de aumento suficiente, mientras que el segundo tiene muy buen aumento pero es pésimo para situaciones que requieren un lente gran angular. Con estos dos lentes no queda otra opción que cargar ambos en todo momento. Esto no solo hace más pesado el equipo de fotografía, sino que obliga al fotógrafo a estar intercambiando los lentes haciendo más tedioso el proceso. Alternativamente Nikon ofrece un lente de 18-105mm (420g) y uno de 18-135mm (385g). Cualquiera de esos dos lentes funciona para fotos que requieran un lente gran angular o un lente con aumento, sin la necesidad de cargar dos lentes que en conjunto pesan más y ocupan más espacio.

Para el fotógrafo que considera que tener un solo lente es desaprovechar el potencial de la DSLR le respondo: estoy de acuerdo. Por eso yo tengo dos lentes:
– Nikon AF-S DX Nikkor 18-105mm f/3.5-5.6G ED VR
– Nikon AF-S DX Nikkor 35mm f/1.8G
Pero nunca salgo de mi casa con ambos: elijo uno dependiendo de la ocasión y trato de sacarle el máximo provecho.

El Estuche
Si con la última sección he logrado convencerlo de que no es necesario salir de la casa con más de un lente, entones el único estuche que necesita para su DSLR es uno de Zing Designs. Estos estuches son muy livianos y le dan una protección básica a la cámara contra el polvo y el agua, y al no tener bolsillos obligan al fotógrafo a no cargar absolutamente nada más que la cámara y el lente. Tenga en cuenta que este estuche no protege la cámara si se le cae al suelo. Y elija muy bien el tamaño del estuche dependiendo del lente que vaya a usar, pues los lentes más grandes requieren el estuche ‘Large Zoom SLR’

El Trípode
Son realmente pocas las situaciones en que uno va a tomar una foto, quiere salir en ella y no hay absolutamente ningún lugar donde apoyar la cámara o una persona a quien pedirle el favor de tomar la foto, por lo cual mi consejo es: no se encarte cargando un trípode. Pero si realmente piensa que es importante tenerlo, considere el GorillaPod SLR Zoom (240g).

Otros implementos
Los únicos dos implementos que nunca está de más tener son tarjetas de memoria y una batería extras. Considere no cargar ningún otro objeto con su cámara como filtros, limpiadores para lentes, cubiertas para el brillo, flash, etcétera.

La conclusión es entonces que si es factible tener una DSLR relativamente portátil para sacar excelentes fotos en los viajes.