1) Como
Primero y principal vos tenes que cobrar por hora de trabajo, ese es tu punto de partida al elaborar un presupuesto.
El costo de tu hora de trabajo va a depender de dos factores : tus habilidades y tu grado de conocimiento/experiencia.
Tus habilidades (skills):seria lo que vos sabes y podes hacer; PHP, CSS, Javascipt, asp, CMS, etc; Por ejemplo en mi caso tengo multiple skill, se html, javascript usando mootools y jquery, css, php y en cms WP, drupal y joomla.
Tu grado de conocimiento/experiencia: Bien, una vez enumerados tus Skills debes asignarle un rango de conocimiento y la experiencia que tenes trabajando con cada uno de ellos, por ejemplo yo soy senior en html, css, SEO, diseño grafico y semi-señor en javascript y junior en php.
El conocimiento va de la mano de la experiencia, eso es un echo, la practica hace al maestro.
Así debes Calificarte:
Junior: seria todo aquel que posee hasta un año de experiencia.
Semi-senior: seria hasta 3 años de experiencia.
Senior: es de 3 para arriba. En algunos casos se toma como 5 para arriba.
VAmos a un ejemplo practico:
VOs conoces y sabes codear en lenguaje HTM, eso da por sentado que posees ese Skill, ahora bien , cuanto llevas trabajando con ese lenguaje? Supongamos que hace 2 años que venis haciendo cosas con HTML, Entonces tu experiencia es de Semi-senior en HTML.
Otro ejemplo practico: Vos hace 1 año que estas utilizando PHP para tus proyectos, eso deja en claro que sos un Junioren PHP. Cuando digo UTILIZANDO me refiero que algo codeaste, que hiciste algunos scripts propios y no solo copiaste y pegaste algun recurso PHP de alguna web.
Ademas de los lenguajes conocidos para web, tambien hoy en dia se utilizan CMS para desarrollar sitios web (aunque paradojicamente esten escritos en lenguages que sepas utilizar), Estas soluciones prefabricadas son bastante flexibles, y nos ahorran tiempo, siempre y cuando sepas cual es la esencia y el concepto de cada una de ellas, es por eso CMS tambien calificaria para darle un rango de conocimiento y se toma como un Skill mas.
Ejemplo practico: No es lo mismo hacer un theme (skin, template) para wordpress que para joomla.
Ocurre lo mismo con los frameworks.
Me llego un proyecto y ahora...?
!important leer antes de continuar Antes de empezar con este punto debo acralar algunas cosas:
Hacer presupuestos basados en cantidad de paginas o secciones o imagenes que van incluidas esta completamente OBSOLETO, eso es considerado muy "1999", la forma correcta de trabajar es crear una base, lo explico a continuacion:
Cuando creamos un sitio web ya sea estatico o dinamico lo primero que demos hacer es la maquetacion y la programacion del sitio independiente de cuantas paginas vaya a tener.
Ejemplo practico: Tenemos que hacer un sitio estatico en HTML + CSS y algun javascript para el eyecandy, en este caso trabajaremos son SSI (server side includes), el header, la barra de navegacion, las subs-navegacion, el footer y cualquier otro elemento comun que vaya a estar presente en mas de 1 pagina debe ser un SSI, de esta manera insertaremos estos elementos dentro de un contenedor (un documento html o php o como mas les guste) para crear una pagina, la cual maquetaremos de forma ordenada poniendole las etiquetas correspondientes (h1, h2, p, span,etc) y rellenandola de texto e imagenes "dummy" (de prueba, solo relleno).
Una vez que hayamos diseñado esto el sitio web ya tiene forma y una base y de ahi empezas a clonar pagina tras pagina y nombrarlas de maneras diferente de acuerdo a las secciones del sitio, no va a importar la cantidad, el "esqueleto" siempre va a ser el mismo, lo que va a variar es el contenido de texto e imagenes que va dentro de cada "esqueleto".
Entonces, hacer esa "base" o "esqueleto" es el groso del trabajo, ya que el resto es copiar y pegar texto e imagenes, para reemplazar nuestro contenido "dummy" en cada pagina creada.
Esta es la mejor practica que existe.
Obiamente que el relleno de la web consume tiempo, pero no se compara en absoluto con el tiempo que consume crear el "esqueleto" , entonces, a la hora de presupuestar un sitio web de 3 paginas es casi lo mismo que si el sitio tuviera 10 paginas. Trabajando con CMS ocurre exactamente lo mismo. Si lo tuyo es flash o flex entonces es un poco mas complicado.
vale la aclaracion, volvamos al hilo...
El primer paso es leer atentamente los requerimientos y estudiar de que manera lo ejecutaremos, es decir que lenguaje utilizaremos y con que haremos la parte dinamica, en base a eso elaboraremos nuestro presupuesto.
El diseño:
Se debe hacer un wireframe (boceto) para presentar al cliente, si es aprobado luego de un concenso de las dos partes, vas directamente a diseñarlo con la herramienta que mas te guste (yo en lo personal uso primero photoshop, aveces fireworks y siempre illustrator para los vectores).
Ejemplo practico:El tiempo que te lleva diseñarlo + el wireframe previo es facturable, supongamos unas 14/20 hs.
La programacion:
El tiempo que tardaremos en hacer la base o el esqueleto del sitio web es directamente proporcional a la complejidad del mismo y a nuestros conocimientos. Tambien se toma en cuenta la complejidad del diseño en photoshop a la hora de cortarlo y maquetarlo y los componentes dinamicos que lleve el sitio web.
Ejemplo practico: Supongamos que el sitio web es estatico y lleva como contenido dinamico solamente mostrar las feeds de otra web, y el diseño que hiciste es basico, el calculo seria el siguiente (es solo un ejemplo):
Programacion dinamica: 2 hs
HTML+CSS: 16 hs
Sigamos; supongamos que el sitio web se compone de 8 paginas o secciones, cuanto tiempo podes demorar en clonar el esqueleto y pegarle las imagenes y texto para crear una nueva pagina? Yo creo que 1 hora es mucho, segun mi experiencia yo lo hago en 30 minutos. Supongamos que te lleva 1 hora porque la pagina es muy larga...
el calculo seria el siguiente:
1 pagina: 1 Hora
8 paginas: 1 hr x 8 = 8horas
El presupuesto total seria(siempre a manera de ejemplo):
Diseño: 14 hs
Programacion dinamica: 2 hs
HTML+CSS: 16 hs
Paginas: 8 hs
Total: 40 hs.
2) Cuanto
El precio de tu hora de trabajo, como mencione antes, lo vas a calcular basandote en tus skills y experiencia.
Ejemplos:
* Si tenes un proyecto que debe llevar javascript y no sabes javascript, no lo deberias tomar...pero en el caso de que lo tomes tu hora de trabajo valdria casi nada ya que estas experimentando.
* En el caso de que el proyecto lleve componentes que decidiste hacerlos en javascript y vos sabes javascript, el precio de tu hora va a variar dependiendo si sos junior, semi-señor o señor.
Y porque varia dependiendo mi experiencia? porque un senior hace en 1 hora el trabajo que a un junior le tomaria 2 horas. Porque el codigo de un semi-senior es mejor que el de un junior y el de un senior mejor que el de un semi-señor.
Y en el diseño visual? Pasa exactamente lo mismo, un diseño en photoshop de un diseñador junior tiene menor calidad que el de un semi-señor. Mientras mas experiencia tengas, el diseño estara mejor orientado a usabilidad y buenas practicas.
Te doy un promedio de como deberia estar tarifada tu hora de trabajo (hoy 09/07/2010):
Junior: $30 - $50
Semi-senior: $50 - $70
SEnior : $70+ (sin tope)
CONSEJOS FINALES
Cada cual atiende su juego...
Si vas a tomar un proyecto en solitario tenes que tener buenos conocimientos y multiples skills, de otra forma lo conveniente es trabajar en grupo donde participen diseñadores y programadores cada uno especialista en su area.
El echo de trabajr en grupo no debilita tu ganancia, vos vas a cobrar por tus horas, y la persona con la que te aliaste para que le de la estocada a lo que no sabes hacer tambien cobrara por sus horas de colaboracion y todos contentos.
Tengo miedo de cobrar caro...
Naaaaaaa, no temas pichon! es tu trabajo y para eso estudiaste o aprendiste de corajudo autidacta! es hora de que conviertas en dinero tus horas de aprendizaje, es como cualquier otra profesion...pero mas cool porque somos los unicos que podemos convertirnos en vampiros en algun momento de nuestras vidas (las noches que me habre quedado despierto trabajando!!)
Si cobro menos tendre mas clientes jejeje que vivo soy!!!!
TOTALMENTE FALSO, vos tenes que cobrar deacuerdo a tus conocimientos y skills, hay clientes que les cabe mas contratar a un junior porque no quieren gastar mucho y no les importa tener una pagina top, y hay otros clientes que se estiran con tal de tener algo bien hecho por manos de un especialista.
Soy Junior y me vendo como si fuera un Senior...
Estas cagando a la gente...
Soy Junior y me vendo como si fuera un Senior pero cobro muy barato menos que un junior
Ademas de estar cagando a la gente sos un gil.
Debo cobrar mantenimiento?
Debes cobrar cada vez que hagas un update a algun sitio que vos creaste, cobra por hora como te explique antes.
A la hora de cobrar me tiembla el pulso...
Sabes cuanto gana un programador/diseñador web en USA?: alrededor de 4.000 dolares mensuales (algo asi como 15.000 quincemil pesos).
Ahora...te tiembra el pulso?.
Bueno, de seguro esta gia(?) que redacte les servira para despejar dudas, por ultimo quiero decirles que el que se dedique a esta profesion por favor no la bastardee, la dignidad es importante como en cualquier profesion.
Cualquier cosa para agregar lo ponen como comentario, es mas, me interesa que todos los diseñadores/programadores comenten. Saludos!