Me considero lo suficientemente calificado para responder esto. Ciertamente soy uno de los programadores más productivos que he conocido.
La respuesta a esto depende realmente de factores externos, así que primero, cubramos las estimaciones. Cuanta menos experiencia tenga (es decir, menos conocimiento práctico de un problema que tenga), más difícil será estimar algo al respecto. Esto hace que algunos proyectos sean imposibles de estimar con precisión. E incluso cuando usted maneja el tema, esto puede ser complicado, simplemente porque en la programación, incluso un pequeño detalle puede tener un impacto generalizado y severo en todo el proyecto. Una cláusula omitida en un documento de requisitos (si tiene la suerte de obtenerla) ya sea por el autor durante el diseño o por usted durante la estimación puede ser la diferencia de una semana.
En pocas palabras, tres cosas afectarán principalmente su ritmo y capacidad de estimar con precisión:
- ¿Cuál es el mejor centro de capacitación para sistemas integrados en Chennai?
- Flipkart versus Amazon Bangalore versus Adobe Noida: ¿a qué debo unirme con 1 año de experiencia? ¿Cuál será el mejor para el máximo crecimiento y aprendizaje?
- ¿Cuál es la carrera profesional más lucrativa para un ingeniero de software? Actualmente soy ingeniero senior en una compañía Fortune 500.
- ¿Cómo conseguir un rol de desarrollador de software a tiempo completo en Google, dado que no he realizado prácticas en las 4 grandes compañías? ¿Qué tan duro deberíamos trabajar para eso?
- Como ingeniero de software, me encanta administrar el negocio final y conocer a clientes, pero no tengo ningún grado para indicarlo. ¿Cómo puedo obtener experiencia profesional en esto sin ser encasillada debido a mis habilidades técnicas?
- Su dominio del tema (dominio del problema)
- Su experiencia con las tecnologías en juego.
- La precisión / fiabilidad de los requisitos del proyecto.
Dicho esto, si ya estoy familiarizado con el dominio del problema, las tecnologías que se utilizan, tal vez incluso hayan resuelto un problema similar en el pasado y, en general, puedo estar seguro de que los requisitos no cambiarán en el medio, entonces generalmente puedo vomitar sacar algo sustancial sin pensar mucho. En 8 horas podría hacer cualquiera de los siguientes, por ejemplo:
Cree una aplicación web simple de pila completa, junto con una aplicación móvil multiplataforma simple.
Para el sitio: AngularJS, Bootstrap, API web C #, SQL Server, OAuth2 básico
Para la aplicación: Cordova a través de Intel XDK o algo similar
Supongamos 1-5 vistas no estáticas en el sitio web, con otras 2-3 en la aplicación móvil. Puedo hacerlo mediante la reutilización en su mayor parte, porque he escrito muchas de las piezas varias veces, y la mayoría del trabajo es solo copiar / ajustar / reconfigurar / probar.
Diseñe un esquema de base de datos de mediano a grande.
Más de 20-50 tablas, incluidas las relaciones / índices obvios que deben aplicarse. Asumiendo que los requisitos de dominio están establecidos. Una vez que se decida por las decisiones ideológicas (nombrar Id vs EntityId vs EntityID, nombres de tabla plural versus singulares, etc.) el resto suele ser bastante sencillo.
Editar: Debería calificar esta respuesta diciendo que probablemente no te ayudará a entender si eres un “buen” programador o no. Es posible que solo le diga que necesita una mejor cobertura en su dominio o en alguna tecnología con la que no se siente cómodo, o que necesita aprender a prestar más atención a los detalles u obtener su PM despedido 😉