Cómo desarrollar software

Aquí hay un protocolo que rastrea más o menos lo que realmente sucede para crear un software de producción entregado:

Usuario: DeepNorth / ReceivedDevelopmentMethodology

Algunos consejos para la programación están en lo anterior, pero para un tratamiento excelente y más detallado, recomiendo esto:

http://vitoex.googlecode.com/svn…

La mayor parte del software interesante del que sé mucho fue al menos originalmente escrito para rascar la propia picazón de un programador. Esto incluye wiki, navegadores, Linux, el lenguaje de programación C, etc. Si nunca ha hecho nada antes, le sugiero que configure un entorno de programación en algún lenguaje (me gusta hackear en C yo mismo) y a medida que avanza vea si puede crear una herramienta que automatice una parte de su proceso.

Aquí hay un programa de ejemplo autónomo que incluye cosas como obtener argumentos de la línea de comandos, mostrar su sintaxis, documentar su progreso, etc. Da un ejemplo del tipo de código que, empíricamente, los programadores profesionales han encontrado útiles.

El desarrollo de software es una tarea que puede ser simple para un principiante o casi imposible para un veterano experimentado. Depende del software …

Comience simple y construya desde allí. Los lenguajes de programación comienzan con ‘hello world’ por una razón.

¡Buena suerte!

Como otros han dicho, usted está abordando el problema de la manera incorrecta, porque –y lo he dicho mucho antes– a nadie le importa la lista de compras de cosas que “sabe”. A los empleadores les importa lo que puede hacer por ellos.

Me gusta dibujar una analogía con la poesía. Imagine que alguien pidiera una lista de idiomas (humanos) que debería aprender y un conjunto de listas de palabras para poder ser un poeta profesional sin aprender nada que pueda volverse obsoleto. Con suerte, eso suena extremadamente tonto, y le dirías a esa persona que la poesía trata sobre el ritmo, el sonido, la rima, las formas de hablar y cómo son interpretadas por las personas, no las palabras específicas que puedes usar.

Saber más permite diferentes tipos de técnicas, pero no son las que te hacen profesional. Ser capaz de hacer las cosas para las personas, ya sea escribir poesía que las mueve o automatizar sus sistemas manuales obsoletos, eso les da trabajo. Concéntrese en resolver problemas reales y trabajar con personas, y deje que esas soluciones guíen sus elecciones de tecnología.

A2A

Tener algunos idiomas específicos dentro de mi cartera no es, desde mi punto de vista, lo más importante. Se trata de su conocimiento sobre cómo crear aplicaciones, incluido el mantenimiento es mantenible, bien probado (en el mejor de los casos TTD), limpio y comprensible, mientras sigue teniendo un buen rendimiento. Eso tiene poco que ver con los idiomas, pero con la experiencia y el deseo de aprender cosas nuevas y estar interesado en cómo otros resuelven problemas.

Sugeriría permanecer en estas tecnologías por un tiempo y ponerme en contacto con otros desarrolladores. Trabaje en proyectos comunes (por ejemplo, código abierto) y lea artículos y blogs de buenos programadores de sus idiomas. Intente comprender qué hay detrás de sus sugerencias, evalúelos y, si cree que tienen razón, pruebe estas ideas.

Si quiere ser empleado, debe poder ofrecer algo a una empresa como otros escribieron antes. Entonces, pregúntate qué talentos (quizás únicos) puedes ofrecer a alguien.

Tengo un amigo que tomó una clase en Java en la escuela nocturna y luego comenzó a desarrollar una carrera muy exitosa en programación. De hecho, fue desarrollador de IBM durante 10 años hasta que se fue hace un par de años para comenzar su propia empresa.

Si puede desarrollar una aplicación en Java, incluso una mala, siga adelante y publique su currículum. Mejor aún contacte a un consultor / contratante / cazador de cabezas. Cuando hable con un futuro empleador simplemente dígales: “Mire, soy realmente nuevo en el desarrollo de software y, aunque puedo programar en Java, todavía no tengo mucha experiencia en el desarrollo de aplicaciones”. Asegúreles que trabajará duro y pregunte por aproximadamente la mitad de la tasa actual, que debería ser de alrededor de $ 30k en los EE. UU. Vive con tus padres y pasa un año trabajando para esa compañía, luego continúa y podrás obtener un salario completo y puedes considerarte un Programador / desarrollador completo.

Permíteme mostrarte un error básico que estás cometiendo: desarrollar software no es (solo) aprender la gramática de algunos idiomas y un par de trucos para codificar de manera eficiente.
El desarrollo de software consiste en seguir ciertas metodologías que lo ayudan a comprender y crear una arquitectura de software, para que su trabajo sea eficaz y seguro. Para que sea útil y mantenible. Y muchas otras cosas.
Su verdadera elección es:
– Para aprender eso de antemano, para aprovechar al máximo cada tecnología que tiene que aprender a lo largo de su vida profesional, o
– Aprender eso en la práctica, a lo largo de varios años, dependiendo de su buena suerte y sus propias habilidades.
No tiene elección sobre las tecnologías de aprendizaje que se vuelven obsoletas: esa es su vida como desarrollador de software. Para aprender cosas que no durarán los próximos diez años. Y para aprender cosas que son lo suficientemente independientes de la tecnología para ayudarlo a lo largo de toda su vida profesional.

El título de su pregunta menciona al desarrollador de software, mientras que la descripción de su pregunta menciona las tecnologías Java. Un desarrollador de software usa lenguaje y marcos como un medio para un fin. En el proceso adquieres más experiencia en ciertas tecnologías que en otras.

Dado que está más orientado hacia la pila de Java, le recomendaría leer este excelente libro: https://www.manning.com/books/th … que casi cubre lo que está buscando. Buena suerte.

Elija una solución dentro de un mercado objetivo (por ejemplo, desarrollo de aplicaciones en el mercado de Android) y aprenda lo que necesita para desarrollar soluciones dentro de ese alcance. Estás demasiado desenfocado en este momento y te está matando. No debe caer en la trampa de aprender solo algo específico para hacer el trabajo. Elija la herramienta adecuada para el trabajo, sea lo que sea. Es por eso que sugiero comenzar con el enfoque de arriba hacia abajo que describí anteriormente.

Si desea desarrollar el software usted mismo:

  1. Aprende a codificar
  2. Aprender algoritmo
  3. Aprender estructura de datos
  4. Aprenda el ciclo de vida del desarrollo de software
  5. Aprende a usar IDE
  6. Comienza a desarrollar tu software

Si desea pedirle a alguien o a un grupo de personas que desarrollen el software por usted:

  1. Aprenda análisis y diseño de software
  2. Aprenda el ciclo de vida del desarrollo de software
  3. Aprenda gestión de proyectos de software
  4. Comience a escribir su diseño de software y pídales que lo construyan

Supongo que aprender “cómo desarrollar software” realmente necesita mucho tiempo y paciencia. Depende de para qué desea ese conocimiento: ¿para crear un buen producto competitivo? Es mejor no perder el tiempo y comprometer este trabajo con alguien que sea el mejor, por ejemplo. Soluciones Industriales ¡Definitivamente te recomiendo estos profesionales de alto poder, que pueden crear lo que quieras! todo lo que te exige. ¡Buena suerte!

Si pudiera explicar qué tipo de software, por ejemplo;

-Los lenguajes de programación

-El propósito del software.

-Etc.

More Interesting

¿Los desarrolladores de software de 20 años deben preocuparse por el envejecimiento en Silicon Valley cuando envejecen?

Estoy comenzando mi estudio como desarrollador de software. ¿Cómo debo convertirme en un desarrollador exitoso en grandes empresas?

¿Cuáles son las mejores prácticas para que una persona no técnica se comunique con los desarrolladores?

¿Qué software usan los equipos de cricket para analizar el desempeño de los otros equipos? ¿De dónde sacan los datos? ¿Cómo lo visualizan? ¿Quién desarrolla este software?

¿Qué se puede decir de un jefe que escribe código y espera que lo sepas?

¿Debo convertirme en un desarrollador de software full stack o no stack?

Cuando desarrolle software SaaS que sea bastante complejo, ¿debería contratar a múltiples desarrolladores en Upwork o contratarlos internamente en una oficina local física?

¿Cómo obtiene un desarrollador externo los derechos sobre el código fuente de un software abandonado, si el desarrollador original está muerto?

¿Debo hacer otro semestre con uno o dos cursos para mejorar mi promedio? Estudio ciencias de la computación y muchas empresas piden el promedio. También estoy buscando trabajo pero no puedo encontrarlo.

¿Cuáles son los componentes principales de un ciclo de vida de desarrollo de software de viaje?

Para un principiante relativo, ¿cuál sería el área más útil y demandada de desarrollo de software para aprender?

¿Debo ir a la escuela de desarrollo de software si solo me importa el desarrollo web?

Cómo encontrar desarrolladores interesados ​​en trabajar en proyectos de código abierto

¿Cuál es la mejor manera de entrevistar a un posible desarrollador de software externo?

¿Qué es mejor, desarrollador de software o diseñador gráfico?