¿Cuánto puede hacer un programador por su cuenta? [cerrado]

13

Con los productos de software llevando a equipos completos de personas a desarrollarse, ¿cuánto puede lograr un programador por su cuenta? 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?

    
pregunta fender1901 07.06.2011 - 05:36

6 respuestas

14

Empezar pequeño

Actualmente, Linux es mucho más grande que sus primeras iteraciones, pero lo importante es que salió con suficientes elementos para ganar tracción.

Solo si vale la pena

Tengo la regla personal de que vale la pena hacer cosas grandes si es fundamentalmente diferente al resto. De lo contrario, te estás sumergiendo en un océano rojo .

Es bueno comenzar, pero no siempre sostenible

Si su software es lo suficientemente bueno, es posible que desee ponerse serio con él. Tomemos, por ejemplo, a 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 alcanzan su potencial gracias a la colaboración del desarrollador, no a un solo genio, lo que me lleva al siguiente punto.

Un mito

Consulte El mito del programador del genio , una charla de Ben Collins -Sussman y Brian Fitzpatrick en Google I / O 2009. Debes obtener todas las falsas expectativas allí. El punto principal que quiero resaltar aquí es que a veces un solo desarrollador obtiene el crédito por todo el asunto, mientras que hubo más gente detrás.

Es definitivamente 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 para dos meses.

No es la cantidad de código, es el conocimiento técnico y de arquitectura lo que te permite lograr grandes cosas con menos código de lo que esperas.

Dada la habilidad y el conocimiento (más allá del nivel promedio), puedes hacer que mucho trabajo se sienta poco.

    
respondido por el dukeofgaming 07.06.2011 - 06:09
5

Debido a la naturaleza del trabajo que estoy haciendo, he desarrollado un par de aplicaciones bastante grandes por mi cuenta. Así que sí, es factible. Podría continuar con esto por horas, pero ahora no tengo mucho tiempo, así que aquí hay algunas ventajas y desventajas de la experiencia personal.

Pros:

  • tienes el control total y no hay un equipo con el que luchar, así que puedes elegir lo que crees / sabes que es mejor. No pierda tiempo en discusiones interminables sobre un pequeño aspecto en el código.
  • tienes toda la arquitectura en tu cabeza, literalmente sabes todo sobre ella, la atención al cliente es muy fácil ya que tú mismo sabes todas las respuestas
  • aprendes mucho sobre todos los aspectos de la programación. Interfaz de usuario de bajo nivel, de nivel medio, de alto nivel, ...

Contras:

  • ningún equipo con el que pelear, así que a veces tomas malas decisiones sin que nadie te lo diga
  • es fácil perderse en él, ya no ver el panorama completo. Y no hay nadie que pueda ayudarte. (excepto SO / SA y los gustos:])
  • dedicar mucho tiempo a la atención al cliente que preferiría dedicar a la programación
respondido por el stijn 07.06.2011 - 09:06
3

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 empiecen a funcionar y el número de usuarios crezca, todo esto por sí solo será cada vez más irrealista: ese es el punto en el que más personas ingresan al proyecto (a través de la participación comunitaria, la contratación de personas o de otra manera) o el proyecto muere.     

respondido por el Wladimir Palant 08.06.2011 - 00:28
1

Depende del software que esté intentando 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. Tratar de desarrollar un software tan complicado como Photoshop, MS Word, Blender, Flash, etc. es posible, pero lleva mucho tiempo, tiene la función más básica y las funciones son simples.

    
respondido por el Tom 07.06.2011 - 05:51
1

Todo depende de la habilidad, el tiempo empleado y la disposición para hacerlo. Cuanto más conocimiento tenga, menos tiempo tomará para lograr algo. Obtendrá un conocimiento muy íntimo de la base de código como el único desarrollador que también puede acelerar el proceso de averiguar / refactorizar / depurar.

Personalmente, he estado trabajando en una aplicación de transferencia de escritorio a servidor. He codificado la aplicación de servidor, la aplicación de escritorio y lo he probado 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 de Java desde cero. Hice esto en el transcurso de un año y aún está en desarrollo y pruebas.

Todo este proyecto ha sido un calvario principal. 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 El proyecto sigue siendo grande y sigue creciendo y es posible lograr mucho.     

respondido por el Glenn Nelson 07.06.2011 - 06:06
1

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 las 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 / versión deseada / al modelo que sea. Algunas licencias de copyleft requerirán que usted abra el código fuente de su "trabajo derivado". Algunas licencias permiten solo el uso no comercial. Lleve un registro de las bibliotecas / marcos que utiliza para que pueda proporcionar la atribución adecuada en su pantalla / área / "Lo que sea" Créditos

2) Trabaja de forma iterativa . Esto se enlaza con lo que dukeofgaming dijo con " Empezar pequeño ". Es mucho más probable que continúe con un proyecto si puede ver los resultados. Hasta que veas que algo funciona, cualquier desarrollo que hagas es equivalente a pintar en la oscuridad.

3) No tenga miedo de pedir comentarios / ayuda desde el principio . Es probable que no seas bueno en todo. Si eres bueno en la cuestión de la codificación de nivel inferior, probablemente apestas en la interfaz de usuario. Lo contrario también se aplica. Nunca está de más pedir consejo a aquellos que son mejores que tú en un área determinada. Muchas personas evitarán esto porque les preocupa que alguien les robe la idea. No te preocupes por esto: si alguien intenta copiarte, significa que estás 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 atractivo para los usuarios (y no para chupar).

    
respondido por el Daniel Kitchener 08.06.2011 - 01:16

Lea otras preguntas en las etiquetas