10 consejos de un ingeniero.

carlos frias 28 days


En las últimas semanas, quería compartir algunas de las lecciones que aprendí a lo largo de mi carrera como ingeniero, profesional independiente y ahora empezando unos proyectos independientes.

Además, compartir es preocupante y si alguien puede aprender de algunos de mis errores y observaciones, ¡sería increíble!

Sobre el artículo ...

Lección 1: El marketing es tu mejor amigo
Aprender los conceptos básicos del marketing es útil y esto no significa comprender cómo lanzar una campaña completa en la televisión nacional. Lo que quiero decir es:

  1. Construye un portafolio donde guardes tus proyectos e ideas.
  2. Mostrar todo, a que me refiero con esto a todas las ideas que tienes ponlas en desarrollo.
  3. Cuéntales a todos (amigos, familiares, tu red de LinkedIn) sobre lo que haces
En pocas palabras comparte tus ideas y hazlas!!!

Lección 2: Ve con calma

Al tratar con clientes ,partes interesadas o gerentes de proyecto, debes tener un buen sentido de comunicación, en el que ambos puedan entenderse entre sí para que puedan entregar un producto (software) que se ajuste a sus objetivos.

Por lo tanto, el uso de frases como "Las solicitudes son lentas, deberíamos optar por dbs en memoria", puede que no sea del todo apreciado. Tenga en cuenta que no todos entienden la tecnología de la misma manera que usted y es importante respetarla, especialmente cuando se ejecuta su propio programa.

Aprenda a usar el inglés simple (o cualquier idioma que use) cuando se comunique con partes interesadas no técnicas

Lección 3: Los lenguajes de programación son importantes pero ...

Mientras reviso mi cuenta de Twitter, veo cómo las personas están obsesionadas por conocer los "mejores" lenguajes o framework, lo cual es definitivamente importante, PERO el enfoque "correcto" para un proyecto, no se trata solo del lenguaje o framework.

Los idiomas son la herramienta para escribir las instrucciones, el arte consiste en conocer los conceptos básicos (estructuras de datos, algoritmos de búsqueda, OOP, patrones de diseño, desarrollo basado en pruebas, etc.) para brindarle una comprensión adecuada de cómo diseñar su software.

Además, los diferentes idiomas tienen diferentes fortalezas y algunos podrían ser más apropiados que otros para esa tarea específica.

Lección 4: Ego, ego, ego.

En mi opinión, ser un individuo seguro es algo importante, ya que le da esa sensación de tranquilidad al tomar ciertas decisiones. Sin embargo, como ingeniero de software, me gusta mantener los pies en el suelo. Si pregunta por qué, estas son las razones:

  1. Todo el mundo está contento, incluso los más experimentados.

  2. Le ayuda a convertirse en un mejor desarrollador ya que tiende a cuestionarse de vez en cuando.

  3. La gente te aprecia más, ya que eres realmente capaz de buscar la solución "correcta" en lugar de la que se adapta a tu ego.

Lección 5: Sé transparente

Antes de comenzar cualquier proyecto, siempre tenga claro lo que planea entregar y sea transparente con el cliente o la parte interesada. Esto le da al dueño del producto, la seguridad de que está poniendo su dinero donde está su boca y que es profesional.

No tenga miedo de decir que no, si siente que una tarea va a descarrilar todo su plan de proyecto.

Lección 6: la planificación del proyecto es clave

Cuando ejecute su propio programa y las cosas empiecen a mejorar, comenzará a tener más y más proyectos, lo cual es fantástico. Sin embargo, sin una planificación adecuada, corre el riesgo de decepcionar a los clientes, lo cual no es la situación ideal.

Adoptamos estos procesos y herramientas para mantenernos organizados:

  1. Diagramas de Gantt para la planificación de proyectos, lo que nos da una idea de cuánto tiempo llevará un proyecto, la secuencia de tareas y la asignación de recursos.
  2. Usamos Kanban  dentro de Trello para determinar todas las tareas y esto nos da una buena indicación del progreso actual y de lo que todos están haciendo.
  3. Organizamos stand-ups diarios con el equipo para discutir los problemas y el progreso de cada individuo.

Si pregunta, ¿cómo se aplica esto a los equipos más pequeños, por ejemplo, 1 o 2 personas, todavía sugiero usar gráficos de Gantt + Kanban. ¡Mantente organizado sin importar lo pequeño que seas!

Lección 7: Comprender sobre UX

Esto se aplica principalmente a cualquiera que trabaje en el front-end. Aunque como desarrolladores, no estamos obligados a saber cómo diseñar una experiencia de usuario adecuada. La experiencia me demostró que es bueno comprender qué es una buena experiencia de usuario.

Esto lo ayudará a hacer mejores recomendaciones y crear una pieza de software que el usuario final realmente disfrute usando.

Puede abordar esto de 2 maneras:

  1. Forme un equipo con un buen diseñador de UX, si los presupuestos son ajustados, opte por la opción 2
  2. Lea todo lo que pueda aprenda bastante sobre este tema, lo esencial es que usted este confiado de lo que sabe.

Lección 8: No seas un sabelotodo

Este tipo de vínculos con el ego, pero merece su propia lección. Como desarrolladores, a veces sentimos este poderoso poder de que somos como los dioses griegos. Esto puede atribuirse al hecho de que estamos resolviendo algunos problemas realmente desafiantes y sin disminuir el logro de nadie, debemos tener en cuenta que el equipo de desarrollo no es el más allá y todo un negocio.

Hay otras funciones comerciales importantes como marketing, SEO, etc. que tienen sus propias solicitudes de funciones. En mi experiencia, a veces he visto que estas características se descartan y afirman que no son importantes.

Este pobre sentido del juicio condujo al conflicto entre los departamentos, simplemente por falta de empatía o porque uno no se pone en el lugar de los demás. Por experiencia, puedo decir que un cambio básico para el departamento de SEO podría ser un verdadero ganador para el negocio.

En pocas palabras, respete otras solicitudes y haga su tarea correctamente.

Lección 9: Mantente al día

Nunca se sabe lo suficiente, incluso después de 15, 20, 30 años en la industria. Especialmente, cuando ejecuta sus propias cosas, debe hacer un esfuerzo adicional para mantenerse actualizado, ya que no siempre puede darse el lujo de preguntarle a su colega cuál es el mejor enfoque.

Así que mantente en contacto con comunidades como esta y nunca dejes de aprender.

Lección 10: Construir relaciones duraderas

Construir relaciones no solo es importante en los negocios, sino incluso cuando se trabaja en una organización, ya que aprenderán unos de otros. Más importante aún, nunca se sabe a dónde te llevará la vida y tu propio colega o jefe podría ser uno de tus primeros clientes o futuro socio comercial.

El fin
Espero que hayas disfrutado leyendo y hayas obtenido algún valor de esto. Bien hecho si has llegado al fondo: D

Siéntase libre de presentar cualquier sugerencia que pueda tener.

#freelancer #desarrollo

carlos frias
carlos-frias

Me gustan los proyectos de tecnología y actualmente me dedico al desarrollo web,ademas de que me interesa aprender de todo.

Ingeniero en Telematica
Mexico

Comentarios

Luis Daniel Fonseca · 25 days
Software Engineer en Intel

Estoy totalmente de acuerdo contigo Carlos. Hay muchos desarrolladores que pierden el tiempo peliando de cual es el mejor lenguaje de aprender, o el framework mejor para desarrollar x.. blah blah blah..  

Usa lo que te haga adelantar mas rapido! ( todo depende del tipo de proyecto claro jajaja ) 

Gracias por compartir esto!