¿Qué debo hacer para ser un mejor desarrollador de software?

Hay muchas cosas que puede hacer si está interesado en un mejor desarrollador de software. Spoj, UVa, ACM / ICPC, TopCoder, CodeChef y todos los demás tipos de jueces en línea / sitios de programación competitivos son excelentes para aplicar y aprender nuevos algoritmos y usos de estructura de datos. Pero normalmente recurren a las prácticas de C / C ++ o Java. Experimente con diferentes lenguajes de programación y vea cuáles son mejores para qué.

Como dijo Michal, también sugeriría elegir un marco y estudiar cómo se hacen y cómo funciona bajo el capó. También ayuda a usar diferentes marcos y entenderlos como usuarios, de modo que cuando trabaja en proyectos, la experiencia del usuario no se olvida.

Trabaja mucho en la arquitectura de tu programa. Incluso si eres el único que está trabajando en ello, es posible que alguien quiera editarlo más tarde. ¿Está eligiendo las propiedades adecuadas para un objeto? ¿Tiene sentido el esquema? ¿Son necesarias las relaciones? ¿Necesito guardar esta información? ¿Puedo hacer esto más rápido si pierdo esto? etc.

Finalmente, vaya más allá de lo que sea en lo que está trabajando. Si está creando una aplicación web, céntrese en la seguridad, aprenda algunos métodos de cifrado y familiarícese realmente con el funcionamiento de CRUD. Aprende algunas técnicas de AJAX. Si está trabajando en una aplicación nativa, concéntrese en las fugas de memoria y las optimizaciones. El punto es, entiende tus proyectos por dentro y por fuera.
Hay todos estos sitios de aprendizaje de programación en línea:

  • LearnStreet – La codificación comienza aquí
  • Código de la escuela
  • Codecademia
  • academia Khan

Y más de lo que ni siquiera sé. Échales un vistazo y selecciona los temas en los que te gustaría sumergirte.

Aprende de otros buenos desarrolladores.

Estás en una empresa de software, así que presumiblemente están resolviendo problemas y te dan problemas de codificación del mundo real. Ser un buen desarrollador significa que en realidad estás construyendo sistemas reales, fuera del aislamiento esterilizado de una función en una competencia de codificación. No es algo que se aprende fácilmente en un libro, al menos, no más allá de ejemplos trillados; trabajar y construir nuevos sistemas es la mejor manera de, bueno, llegar a ser bueno en la construcción de sistemas.

Estás en una empresa de software. Eso es genial. Ahí es donde aprendes a ser un buen ingeniero de software.

Yo diría que lo mejor que puedes hacer es prestar atención a tu trabajo. Hay muchas posibilidades de que su compañía tenga un buen código y un código de mierda. Todas las empresas en las que he trabajado tienen ambas. Ciertamente he escrito ambos. Algunas partes de su base de código son probablemente la forma en que se deben a un diseño cuidadoso y bien pensado, y algunas partes probablemente fueron golpeadas juntas. Pregunte a los ingenieros que han estado allí un tiempo sobre cómo está diseñado el código, qué les gusta de él y qué no. Probablemente tendrán muchas opiniones.

Presta atención a los problemas con los que se encuentra el equipo. Pueden ser errores de software, problemas de comunicación, requisitos poco claros, cambios de prioridades, malas estimaciones para los plazos del proyecto, etc. Todos los equipos tienen problemas, es una cuestión de cómo lidiar con ellos.

Una de las grandes diferencias entre un desarrollador de software profesional y un aficionado es entender que la creación de software se trata tanto de tratar con las personas como con las computadoras. Probablemente más aún.

Cada vez que escuches un término o técnica que no te resulte familiar, apúntalo y luego búscalo en Google. Explora los que parecen interesantes.

Considere este trabajo como una oportunidad de aprendizaje como cualquier clase o libro, y aproveche al máximo.

¡Buena suerte!

Aprenda un marco, una aplicación de código abierto o una biblioteca en su lenguaje de programación favorito y siga su desarrollo por un tiempo. Le dará una gran visión sobre un buen código y diseño.

De acuerdo con Jon Moter, que la mejor persona pensada que está interesada en la programación puede hacerlo, en realidad es hacer la programación en un entorno profesional. Eres bastante afortunado, ya sabes, porque generalmente la gente aparece en la situación opuesta. Reciben capacitación especial, pero no trabajan o trabajan como especialistas de baja calidad. Una gran cantidad de estudiantes utilizan servicios de asistencia como este http: //www.domyprogramminghomewo … y evita hacer sus tareas prácticas.
Tienes mucha experiencia y pasión en este trabajo. Tendrás éxito rápidamente, buena suerte.