Con los productos de software que requieren el desarrollo de equipos completos de personas, ¿cuánto puede lograr un programador por sí mismo? En otras palabras, ¿podría una sola persona escribir Photoshop, MS Word, etc.? Y si no pudieran, ¿el desarrollo web sería un área donde un programador podría hacer mucho?
web-development
project-management
fender1901
fuente
fuente
Respuestas:
Empieza pequeño
Linux es actualmente mucho más grande que sus primeras iteraciones, pero lo importante es que salió con suficientes cosas para ganar tracción.
Solo si vale la pena
Tengo la regla personal de que vale la pena hacer grandes cosas si es fundamentalmente diferente al resto. De lo contrario, te sumerges en un océano rojo .
Bueno para empezar, pero no siempre sostenible.
Si su software es lo suficientemente bueno, es posible que desee tomarlo en serio. Tomemos, por ejemplo, Markus "Notch" Persson, creador de Minecraft. IIRC comenzó el juego solo, y cuando el juego ganó fuerza comenzó a buscar colaboradores e incluso comenzó una empresa.
Si bien es gratificante lograr algo solo, los grandes proyectos cumplen su potencial mediante la colaboración del desarrollador, no un solo genio, lo que me lleva al siguiente punto.
Un mito
Echa un vistazo al Programador The Myth of the Genius , una charla de Ben Collins-Sussman y Brian Fitzpatrick en Google I / O 2009. Debes tener todas las falsas expectativas allí. El punto principal que quiero hacer aquí es que a veces un solo desarrollador obtiene el crédito por todo el asunto, mientras que había más personas detrás.
Definitivamente es posible
Otro ejemplo, aparte de Linus Torvalds, es John Carmack. Portó a Wolfenstein en solo cuatro días cuando EA había estimado un equipo completo durante dos meses.
No es la cantidad de código, es el conocimiento arquitectónico y técnico que le permite lograr grandes cosas con menos código de lo que esperaría.
Dada la habilidad y el conocimiento (más allá del nivel promedio), puede hacer que mucho trabajo se sienta como poco.
fuente
Debido a la naturaleza del trabajo que estoy haciendo, he desarrollado un par de aplicaciones bastante grandes por mí mismo. Entonces sí, es factible. Podría continuar con esto durante horas, pero no tengo mucho tiempo ahora, así que aquí hay algunos pros y contras de la experiencia personal.
Pros:
Contras:
fuente
Con algo de dedicación y habilidad, una sola persona definitivamente puede lograr mucho. Sin embargo, no es fácil, solo ser un buen programador no es suficiente. Para un proyecto exitoso, a menudo tiene que pensar en casos de uso, diseño de interfaz de usuario, documentación, soporte y mucho más. Una vez que las cosas se pongan en marcha y el número de usuarios crezca, hacerlo todo por sí solo será cada vez más poco realista: ese es el punto en el que más personas ingresan al proyecto (a través de la participación de la comunidad, contratando personas o de otra manera) o el proyecto muere.
fuente
Depende del software que él / ella está tratando de desarrollar, la limitación de tiempo y las habilidades. Si él / ella está desarrollando una aplicación MIS simple, es muy posible que pueda hacerlo en poco tiempo. Intentar desarrollar un software tan complicado como Photoshop, MS Word, Blender, Flash, etc. es posible, pero lleva mucho tiempo y tiene la función más básica y las características son simples.
fuente
Todo depende de la habilidad, el tiempo dedicado y la voluntad de hacerlo. Cuanto más conocimiento tenga, menos tiempo tomará para lograr algo. Obtendrá un conocimiento extremadamente íntimo de la base de código como el único desarrollador que también puede acelerar el proceso de descifrar / refactorizar / depurar.
Personalmente he estado trabajando en una aplicación de transferencia de escritorio a servidor. Codifiqué la aplicación del servidor, la aplicación de escritorio y lo probé todo yo mismo. Incluso he escrito el instalador para la aplicación. Descubrí una forma de permitir arrastrar y soltar en los iconos de la bandeja del sistema en Windows e incluso terminé escribiendo una nueva biblioteca Java desde cero. Lo hice en el transcurso de un año y todavía está en desarrollo y pruebas.
Todo este proyecto ha sido una prueba única. Todos los días después de la escuela he trabajado en el proyecto, así como los fines de semana. ¿Es tan masivo como MS Word, Photoshop, etc.? No Sin embargo, el proyecto aún es grande y está creciendo, y es posible lograr mucho.
fuente
Actualmente estoy trabajando en un proyecto de este tipo en mi tiempo libre (es una aplicación web, no una aplicación de escritorio, pero los principios son los mismos). Esto es lo que he encontrado hasta ahora:
1) No reinventes la rueda . Utilice bibliotecas / marcos existentes, en lugar de hacer todo desde cero. Una advertencia aquí: asegúrese de prestar atención a las licencias, ya que se aplican a su distribución / lanzamiento / modelo deseado. Algunas licencias copyleft requerirán que abra el código fuente de su "trabajo derivado". Algunas licencias solo permiten el uso no comercial. Realice un seguimiento de las bibliotecas / marcos que utiliza para que pueda proporcionar la atribución adecuada en su pantalla / área de "Créditos" / lo que sea
2) Trabajar iterativamente . Esto se relaciona con lo que dukeofgaming dijo con "Start Small" . Es mucho más probable que te quedes con un proyecto si puedes ver los resultados. Hasta que pueda ver que algo funciona, cualquier desarrollo que haga es el equivalente a pintar en la oscuridad.
3) No tenga miedo de pedir comentarios / ayuda desde el principio . Lo más probable es que no seas bueno en todo. Si eres excelente en el nivel básico de codificación, probablemente apestas en la interfaz de usuario. Lo contrario también se aplica. Nunca está de más recibir consejos de quienes son mejores que usted en un área determinada. Muchas personas evitarán esto porque les preocupa que alguien les robe su idea. No se preocupe por esto: si alguien intenta copiarlo, significa que está en algo que vale la pena. Las ideas son baratas, la implementación es clave. Apple no inventó el reproductor de MP3, Microsoft no inventó el sistema operativo, Facebook no inventó la red social y Google no inventó el motor de búsqueda. Lo que hicieron fue hacerlo convincente para los usuarios (y no apestar).
fuente