¿Siento que otros ingenieros de software están ocultando cómo obtuvieron tanta información de mí?

Durante los primeros años de mi carrera fui autodidacta. Así es como recogí las cosas:

  • Programación mediante copia. Esto fue en el día cuando tenías libros en papel y tenías que escribir los ejemplos a mano. Esta fue una buena práctica ya que ayuda a enseñar la sintaxis sin tener que entender la estructura. Después reflexionaría sobre el código para obtener una comprensión más profunda.
  • La lectura de materiales de fuentes primarias , por ejemplo, RFC, la especificación del lenguaje Java, el formato de archivo de clase, etc. Las fuentes secundarias como Stack Overflow y YouTube pueden ser buenas para obtener una respuesta rápida, pero no dan una idea completa de lo que está sucediendo.
  • Proyectos tecnológicos tontos y locos. En mi primer trabajo recibí un Sun 3/60 sin disco. Tenía un monitor a color de 19 ″ que era enorme en ese momento. Así que decidí intentar arrancarlo desde mi caja de Linux. (Era un procesador primo – 64G ram dual pentium con un precio de $ 3000.) Sabía poco sobre cómo hacer esto, pero el administrador del sistema en mi trabajo me ayudó con consejos cuando me atasqué. Aprendí a usar tcpdump para inspeccionar el tráfico de paquetes y ver dónde se estancaban las cosas. Esto me llevó a comprender protocolos como RARP, TFTP, etc. También tuve que aprender mucho sobre la administración general de Linux, la configuración de varios servicios (NFS, DHCP, etc.), cómo compilar software de forma cruzada, etc.
  • Experiencia laboral. Aprendí a ser un desarrollador con mucha gente experimentada a mi alrededor. Algunos de ellos eran básicos (por ejemplo, cómo usar emacs) y otros eran bastante avanzados (sistemas distribuidos con CORBA). Todo esto ayudó a construir una comprensión más rica de cómo desarrollar software.
  • Usar muchos sombreros en una pequeña empresa. Mi segundo trabajo como desarrollador fue en una pequeña empresa (4 ingenieros) y todos tuvimos que usar muchos sombreros. Aprendí a escribir SQL, procedimientos almacenados, PHP y C, cómo configurar un firewall, VPN y software de detección de intrusos, etc.

La teoría de CS llegó más tarde cuando estaba en la universidad. Ese también es un componente importante, especialmente si está buscando trabajar para una gran empresa de tecnología.

More Interesting

¿Pueden los ingenieros de software ser astronautas?

¿Cómo es la vida laboral diferente para un ingeniero de software que trabaja en un banco y un ingeniero de software que trabaja en una empresa de tecnología?

¿Cuáles son las ventajas de trabajar como ingeniero de software en TCS?

Planeo dejar un título en CogSci en UC Berkeley para enseñarme a ser desarrollador. ¿Qué podría perderme al no obtener un título de Berkeley?

¿Hay algún beneficio de hacer la certificación Java en una industria de TI?

¿Cuáles son los mejores y peores equipos en Amazon para trabajar como SDE?

¿Por qué no debería especializarme en informática?

¿A qué nivel contrataría como ingeniero de software a alguien que anteriormente había sido ingeniero de software pero fue ascendido a gerente y, por lo tanto, no está actualizado en sus habilidades de ingeniería de software?

¿Cómo se pretende obtener un puesto de Ingeniero de Software Senior en 6 meses (finales de 2016)? Planeo trabajar en un proyecto de código abierto a diario.

Quiero ser ingeniero de software. ¿Hacer el AFROTC para pagar la universidad y convertirse en un oficial obstaculizaría eso?

¿Debo elegir Sir MVIT, BMSIT, BIT o SIT (Tumkur) para la ingeniería de telecomunicaciones?

Cómo describirte a ti mismo como un programador con 3 años de experiencia

¿Cómo es el día típico de un ingeniero de software?

Programa Apple MFi: ¿Qué tan difícil es obtener una licencia de desarrollador MFi (Made For iPod / iPhone / iPad)?

¿Cómo debo prepararme para la entrevista de aprendiz de ingeniero de software de Informatica?