sobre empleo de programador web
"me conviene empezar como freelancer o meterme en una empresa una vez que ya haya dominado al menos frontend?"
Un empleado tiene un sueldo fijo que recibe según sus fechas de pago, ademas prestaciones como seguro y aguinaldo, pero debes cumplir un horario de trabajo. Puedes trabajar hasta ser viejo y conseguir una mísera pensión para luego gastar tus ahorros tratando de alargar el poco tiempo que te queda de vida; o puedes ser empleado durante algún tiempo mientras ahorras para conseguir algo que te deje lo suficiente para no necesitar la falsa seguridad de un empleo.
Un freelancer ajusta sus tiempos y establece su precio pero no tiene prestaciones y debe buscarse clientes. Puedes pasar hambre y estar malbaratando tu trabajo mendigando por proyectos para obtener algo de dinero y pagar por tu salud, que no es nada barato; o puedes aclientarte, cobrar bien, emplear personal que trabaje para ti y formar una empresa.
¿que te conviene? es relativo a tu persona, la decisión es tuya.
Hay quienes trabajan para empresas y en tiempos libres hacen trabajos externos.
Hay quienes comienzan como freelancer, hacen algún trabajo para una empresa y luego la empresa los contrata como empleados.
"algunos consejos sobre como agilizar mi aprendizaje?"
Participa en foros, seminarios, comunidades, lee libros, cuando alguien intenta mostrarte algo no lo interrumpas creyendo que ya lo sabes, deja que te muestren y compara con lo que tu sabias, enseñar es la mejor forma de reafirmar el conocimiento, puedes reunir un grupo de jóvenes para darles clases, incluso podrías cobrar.
"es posible aprender de memoria todos los codigos necesarios para hacer un sitio web para después trabajar en una empresa o es normal que en las empresas no entras sabiéndolo de memoria aunque sea lo fundamental?"
Es imposible aprender todo de memoria debido a que las tecnologías evolucionan pero hay cosas de uso diario que aunque no quieras las sabrás, ademas hay una esencia básica que puedes aprender, por ejemplo, si conoces la lógica de una estructura de control (if, switch, operador ternario), un estructura repetitiva (for, do, while) te puede facilitar la comprensión de cualquier lenguaje.
Las empresas buscan personal con aptitudes y no empleados conflictivos que sean expertos en la materia. un empleado con buenas aptitudes puede ir aprendiendo ya sea con forme se le va requiriendo algo o con capacitaciones; pero si se requiere conocimientos mínimos, ademas, depende de la labor a desempeñar, no contrataran a alguien con maestría o doctorado, disculpa el absurdo ejemplo, que cobraría bastante por hacer un hola mundo! si lo puede hacer alguien con carrera técnica a quien le pagaran mucho menos al igual que no contratarían a un técnico para el desarrollo de una aplicación de operaciones bancarias.
Te recomiendo que leas "El libro negro del programador" de Rafael Gómez Blanes