Actualmente estoy trabajando para una empresa de 2 personas, como desarrollador principal en solitario. Mi jefe recibe a los clientes, se burla de algunas plantillas de diseño png y me las entrega.
Este sistema ha estado funcionando bien y realmente lo estoy disfrutando.
Los tipos de proyectos en los que trabajo son para pequeñas y medianas empresas y generalmente quieren un sistema CMS. Desarrollado desde cero, crearé un back-end personalizado para que el cliente agregue / edite / elimine categorías, etiquetas, productos, etc. y luego los envíe al front-end de acuerdo con la plantilla de diseño que se me entregó. Con el paso del tiempo, los proyectos han aumentado en complejidad, con funciones de carrito de compras / pedidos y otras características comunes de tipo de comercio electrónico.
Una vez más, este sistema ha estado funcionando bien y realmente lo estoy disfrutando.
Mi problema es mi desarrollo personal como programador. Paso mucho de mi tiempo libre leyendo blogs de programación, revisando el intercambio de pila, leyendo libros de programación sugeridos (actualmente en ' The Pragmatic Programmer ', realmente buenos hasta ahora), haciendo ejercicios cerebrales ( problemas matemáticos de lumosity.com y khanacademy ), haciendo mucho de ejercicio físico y otras actividades de desarrollo personal.
Sin embargo, no puedo evitar sentir que me estoy perdiendo comentarios y críticas. Mi jefe es excelente y nunca se detiene en los elogios con respecto a mi trabajo, pero desafortunadamente está muy ocupado para verificar mi código o, para ser honesto, no creo que sea una de sus especialidades y, por lo tanto, no puedo brindar comentarios. .
Quiero saber qué estoy haciendo mal y qué estoy haciendo bien. Debo poner tanta lógica en el controlador, ¿estoy modulando mi código lo suficiente, etc.
Entonces, lo que hice fue desarrollar una pequeña aplicación de 'Presupuesto familiar' y traté de hacerlo de manera tan limpia y efectiva como lo sé actualmente.
Lo que quiero saber es si hay algún lugar donde pueda enviar esta aplicación y algunos desarrolladores experimentados me brinden sus comentarios. No es solo una subsección de mi código como 'codereview.stackexchange' parece requerir, es todo mi flujo de trabajo lo que quiero criticar.
Sé que esto es mucho pedir, y espero que el consejo principal que se dé sea buscar un trabajo dentro de un equipo, lo cual es algo que seguramente analizaré más adelante, pero por ahora quiero persistir en mi trabajo actual. situación laboral, pero simplemente no quiero desarrollar demasiados malos hábitos.
Avíseme si puedo proporcionar más información para ayudar a aclarar, o si este no es el lugar adecuado para este tipo de pregunta, pido disculpas por adelantado. No quería usar reddit ya que sentí que esta comunidad fomenta respuestas más bien pensadas.
fuente
Respuestas:
Está en el camino correcto para mejorar sus habilidades, y es comprensible que no esté seguro acerca de la confiabilidad y la preparación empresarial de su código.
Este es un proceso normal para un desarrollador junior, y su interés por mejorar es muy importante, ya que es clave para algún día convertirse en un desarrollador estrella de rock.
Como referencia para aprender las mejores prácticas, recomendaría unirse a proyectos de código abierto que están alojados gratis para programadores apasionados / curiosos. Realmente lo ayudarán a comprender cómo utilizar las mejores prácticas y cómo decidir sobre el diseño de la aplicación. Además, trate de involucrarse en el desarrollo de proyectos de código abierto, ya que aumentará su autoaprendizaje y mejora dramáticamente.
También recomendaría asistir a eventos de la comunidad local para desarrolladores de software. Puede encontrar algunos de estos grupos en communitymegaphone.com . Hable con los programadores de amigos locales, en su mayoría son buenas personas a quienes no les importaría ayudar a un colega.
fuente
A medida que gane más experiencia, puede volver y revisar sus proyectos / códigos anteriores para ver dónde se equivocó. La retrospectiva es una cosa hermosa. Sé con certeza que miré el código / documentación que escribí hace x y me di cuenta de dónde me equivoqué y dónde podría haber mejorado.
El hecho de que leas blogs, libros, SE, etc. debería darte una mayor comprensión de la programación como parte de tu propio desarrollo personal y la prueba y error y la evolución de tus proyectos y código sin duda debe ser evidencia del hecho de que tú ' Re mejorando. La autocrítica puede ser algo muy bueno.
Dicho esto, tener el ojo crítico de otro desarrollador siempre agrega valor y puede proporcionar opiniones / opciones en las que quizás no haya pensado. Aunque no conozco ningún sitio en particular en el que pueda volcar un proyecto completo para una revisión de código, podría poner fragmentos de lo que considera sospechoso en codereview.stackexchange para su lectura y comentario, luego tome esa retroalimentación a bordo y aplíquela en otro lugar donde sea apropiado.
Alternativamente, podría escribir algunas cosas de código abierto y lanzarlas en github (o equivalente). La comunidad de código abierto seguramente criticará su trabajo y lo mejorará donde mejor les parezca.
Al final del día, si los productos que está produciendo funcionan según lo previsto, cumplen con los requisitos comerciales y son mantenibles: está haciendo algo bien.
Para preguntas de programación conceptual, patrones, etc. Siempre puede publicar esas preguntas aquí en PSE y para problemas de implementación de código en SO.
fuente
Permítanme compartir mi opinión, algunas palabras de sabiduría y algunas preguntas para que reflexionen.
Al ser un programador experimentado, a lo largo de los años he descubierto que el mejor código es el que es simple (mira el concepto KISS) y más fácil de modificar por otro programador.
Además, dejar un espacio adecuado para que el código no esté congestionado (espacio de respiración) y estructurado de manera uniforme. Utilice una convención de nomenclatura bien conocida para sus variables, bríndeles nombres comprensibles (que otro programador pueda entender) y escriba comentarios que vayan al grano, ni demasiado ni muy poco.
Si sigue lo anterior, ya está en un buen camino.
Además, dado que los desarrolladores son algo así como arquitectos, le daré un dicho muy importante sobre el que debe reflexionar;
y
Sin embargo,
Con lo anterior, quiero que comprenda que existe un buen equilibrio entre esfuerzo y efecto, costo y calidad.
Y las preguntas para reflexionar;
fuente
Es posible que desee consultar https://codereview.stackexchange.com/
Ese sería un gran lugar para recibir comentarios sobre su código o diseño de profesionales experimentados.
fuente
Continúa leyendo libros, blogs y preguntas y respuestas sobre Stack Overflow. Si desea mejorar de una manera más social, ¿por qué no comprometerse a trabajar en un proyecto de código abierto? No me refiero a crear su propio proyecto , sino trabajar en uno existente.
Como eres el único desarrollador de esta empresa, imagino que algún día podrías contratar a alguien más. Dígase a sí mismo que este día, el tipo tendrá que leer su código. ¿Ya escribe alguna documentación sobre su herramienta? Tener en cuenta que tu trabajo puede ser leído por otras personas es algo bueno para los desarrolladores en solitario y te ayuda a crear un mejor código.
fuente
Estoy en una situación similar a la tuya, me contrataron como el único programador para una empresa de 5 personas, y solo uno de ellos está directamente involucrado con las aplicaciones que estoy desarrollando / agregando. Afortunadamente, no tuve que crear nada desde cero, pero hasta ahora solo modifiqué las aplicaciones que construyó mi predecesor. Al hacerlo, creo que ya me he mejorado al reconocer qué partes de su código eran buenas, qué partes eran malas y cómo se podían mejorar.
Leer el código es una gran parte de la mejora de su propia codificación, así que sobre todo le sugiero que busque un proyecto de código abierto, lea el código, lo entienda y trate de juzgar qué es bueno, qué es malo y qué podría mejorarse. Tal vez incluso escriba una revisión de código al respecto en su blog.
¡Aclamaciones!
fuente
Salir. Encuentre un nuevo empleador donde trabajará en un equipo más grande de desarrolladores, incluidos algunos tipos geniales de los que puede aprender.
Claramente tienes todas las motivaciones correctas para querer.
fuente