Ser un desarrollador de software es un plan de carrera lucrativo. Esas son personas con algunas habilidades negociables serias. Pero, ¿qué están haciendo exactamente?? Ya que probablemente no puedes vencerlos, tendrás que unirte a ellos. ¿Tienes la capacidad de tecnología y la capacidad de audiencia para desarrollar un buen producto?? Con un poco de lluvia de ideas, y, por supuesto, comenzando con el paso 1 a continuación, lo harás!
Pasos
Parte 1 de 3:
Aprendiendo las cuerdas
1. Determinar qué tipo básico de desarrollo de software le interesa. Hay dos campamentos de tipo básico de desarrollo de software: Desarrollo de aplicaciones y Desarrollo de sistemas. El desarrollo de aplicaciones se centra en la creación de programas que satisfagan las necesidades de los usuarios. Estos pueden ampliar desde aplicaciones de teléfonos móviles hasta videojuegos de alta producción, hasta software de contabilidad de nivel empresarial. El desarrollo de sistemas se centra en la creación y el mantenimiento de los sistemas operativos utilizando el desarrollo del ciclo de vida. El desarrollo de sistemas a menudo involucra la operabilidad de la red y la seguridad de los datos.
2. Te enseña un lenguaje de programación. Cualquiera puede encontrar ideas, pero un desarrollador podrá convertir esas ideas en algo tangible. Incluso si solo desea trabajar en los aspectos de diseño del software, debe tener alguna familiaridad con la codificación y poder crear prototipos básicos. Hay una gran variedad de lenguajes de programación que puedes enseñarte a ti mismo. Algunos de los más útiles e importantes incluyen:
C - C es uno de los idiomas más antiguos que aún están en uso, y es la base para la mayoría de los otros idiomas en esta lista. C se utiliza para desarrollar programas de bajo nivel, y funciona muy estrechamente con el hardware de la computadora.C++ - Esta es la versión orientada a objetos de C, y es el lenguaje de programación más popular del mundo. Programas como Chrome, Firefox, Photoshop y muchos otros están diseñados con C++. También es un lenguaje muy popular para crear videojuegos. Los desarrolladores de C ++ están casi siempre en una demanda muy alta.Java - Esta es una evolución del lenguaje C ++, y se utiliza para debidamente su facilidad de portabilidad. Casi cualquier sistema puede ejecutar una máquina virtual Java, lo que le permite ejecutar el software Java. Se usa ampliamente en videojuegos y software de negocios, y muchas personas lo recomiendan como un lenguaje esencial.C# - C # es un idioma basado en Windows que forma parte de la .Marco neto de Microsoft. Está estrechamente relacionado con Java y C ++, y si aprende Java, puede hacer una transición rápida a C #. Este idioma es especialmente útil para los desarrolladores que trabajan con Windows o Windows Phone Software.C objetivo - Este es otro primo del lenguaje C que está diseñado específicamente para sistemas de Apple. Ve la inmensa popularidad en las aplicaciones de iPhone y iPad. Es un gran lenguaje para aprender como un freelancer.Pitón - Este es un idioma increíblemente fácil para aprender, uno de los más fáciles. Python se especializa en desarrollo web.Php - Esto no es exactamente el desarrollo de software, pero PHP es esencial si está interesado en ingresar al desarrollo web. Siempre hay mucho trabajo para los desarrolladores de PHP, aunque no es tan lucrativo como desarrollo de software.3. Encontrar recursos para ayudarte a aprender. La mayoría de las librerías tienen secciones completas dedicadas a los libros de programación, y hay toneladas disponibles en Amazon y otros e-tailers. Un libro de programación bien escrito podría ser el mejor recurso que pueda tener, y le permitirá hacer referencia rápida mientras trabaja en proyectos.
Más allá de los libros, Internet es un tesoro sin fin de guías y tutoriales. Búsqueda de guías en el idioma de su elección en sitios como CodeAcademy, código.Org, Bento, Udacidad, Udemy, Academia Khan, W3Schools, y muchos más.4. Tomar algunas clases. Si bien no necesita un grado completo para entrar en el desarrollo de software, no puede dañar tomar algunas clases en su Centro de Aprendizaje o Universidad de la Comunidad Local. Esto le dará el beneficio de una instrucción individual, y usted será desafiado a resolver problemas que probablemente no, si estuviera aprendiendo por su cuenta.
Las clases cuestan dinero, así que asegúrese de que se está registrando en las clases que lo ayudarán a aprender lo que quiere saber.Si bien muchos desarrolladores pueden ingresar a la industria basándose exclusivamente en los méritos de sus habilidades, te ayudará a destacar desde el paquete si tiene una licenciatura en informática de una universidad de cuatro años. Un título le dará un fondo más amplio de conocimiento y le dará acceso a clases adicionales útiles, como matemáticas y lógicas.5. Trabajar en proyectos de mascotas. Antes de comenzar a intentar aplicar sus nuevas habilidades de programación a los trabajos del mundo real, trabaje en algunos proyectos para usted. Desafíate a sí mismo para resolver problemas usando su lenguaje de programación. Esto no solo ayudará a desarrollar sus habilidades, sino que también ayudará a construir su currículum.
Por ejemplo, en lugar de usar el programa de calendario de su computadora para mantenerse organizado, intente diseñar su propio!Si estas interesado en Desarrollo de videojuegos, Trabajar en juegos simples que no se centran en gráficos o mecánicos complejos. En su lugar, concéntrese en hacerlos divertidos y únicos. Una colección de juegos pequeños que te creaste se verá genial en su portafolio. Consejo experto
Gene Linetsky, MS
Startup Fundador & Engineering Director Gene Linetsky es un Fundador de inicio y ingeniero de software en el área de la Bahía de San Francisco. Ha trabajado en la industria de la tecnología durante más de 30 años y actualmente es el director de ingeniería en Poynt, una empresa tecnológica construyendo terminales de punto de venta inteligente para empresas.
Gene Linetsky, MS
Startup Fundador e Ingeniería Director
La experiencia práctica es su mejor herramienta de aprendizaje. Según Gene Linetsky, un ingeniero de software y Fundador de inicio: "Ser un ingeniero de software no tiene la capacidad de programar: es todo lo que se requiere para que su código en un producto real utilizado por las personas reales. Luego, cuando hace eso, sus clientes generalmente regresan y dicen: `Esto no funciona "o` eso no funciona.` El ciclo de mantener sus propias cosas es la educación real de un ingeniero de software."
6.
Hacer preguntas. Internet es una forma fantástica de conectarse con otros desarrolladores. Si se encuentra perturído en uno de sus proyectos, pida ayuda en sitios como StackOverflow. Asegúrate de que usted
Preguntar de manera inteligente y puede probar que ya ha probado varias soluciones posibles.
7. Practica cada día. Trabajar en los proyectos de su mascota todos los días, incluso si solo por una hora. Esto le ayudará a mantenerse fresco y aprender constantemente nuevas técnicas. Muchos desarrolladores han tenido éxito aprendiendo un idioma asegurando que los estén expuestos a diario.
Establezca un tiempo todos los días que pueda dedicar a la codificación, o establecer una fecha límite que debe terminar. Trate de trabajar en sus proyectos todos los días durante la semana para que pueda relajarse en su fin de semana.Parte 2 de 3:
Desarrollando un programa
1
Tormenta de ideas. Un buen programa realizará una tarea que facilita la vida para el usuario. Mire el software que está actualmente disponible para la tarea que desea realizar, y vea si hay formas de que el proceso podría ser más fácil o más suave. Un programa exitoso es uno de los que los usuarios encontrarán mucha utilidad en.
- Examine sus tareas diarias en su computadora. ¿Hay alguna manera de que pueda automatizar una parte de esas tareas con un programa??
- Escribe cada idea. Incluso si parece tonto o extraño en ese momento, podría cambiar a algo útil o incluso brillante.
- Examinar otros programas. Qué hacen? ¿Cómo podrían hacerlo mejor?? Que faltan? Responder a estas preguntas puede ayudarlo a idear ideas para su propia toma.
2. Escribe un documento de diseño. Este documento describirá las características y lo que pretende lograr con el proyecto. Refiriéndose al documento de diseño durante el proceso de desarrollo ayudará a mantener su proyecto en camino y enfocado. Ver esta guía Para detalles sobre la escritura del documento.
3. Crear un prototipo. Este es un programa básico que muestra la funcionalidad que está apuntando a lograr. Un prototipo es un programa rápido, y debe ser iterado hasta que encuentre un diseño que funcione. Por ejemplo, si está creando un programa de calendario, su prototipo sería un calendario básico (con fechas correctas!) y una forma de agregar eventos a él.
Su prototipo cambiará a menudo durante el ciclo de desarrollo, ya que se le presentan nuevas formas de abordar problemas o pensar en una idea más tarde que desea incorporar.El prototipo no tiene que ser bonito. De hecho, el arte y el diseño deben ser una de las últimas cosas que enfocas en. Usando nuevamente el ejemplo del calendario, su prototipo debe ser más probable que sea el texto.4. Probarlo una y otra vez. Los errores son la Bane de cada desarrollador. Los errores en el código y el uso inesperado pueden causar todo tipo de problemas en un producto terminado. A medida que continúe trabajando en su proyecto, pídelo lo más posible. Haz todo lo posible para romperlo, y luego tratar de evitar que se rompa en el futuro. Haga que amigos y familiar prueben su programa e informe los resultados. De cualquier manera que pueda obtener comentarios ayudará a su proceso de desarrollo.
Intente ingresar fechas extrañas si su programa se ocupa de las fechas. Las fechas realmente antiguas o fechas futuras mucho pueden causar reacciones extrañas con el programa.Ingrese el tipo incorrecto de variables. Por ejemplo, si tiene un formulario que solicita la edad del usuario, ingrese en una palabra y vea qué sucede con el programa.Si su programa tiene una interfaz gráfica, haga clic en todo. Lo que sucede cuando regresa a una pantalla anterior, o haga clic en los botones en el orden incorrecto?5. Pulir tus proyectos. Si bien está bien hacer un proyecto aproximado para la fase de prototipos y desarrollo, si desea que otros lo usen, tendrá que pasar un tiempo en polaco. Esto significa asegurarse de que los menús fluyan lógicamente, la interfaz de usuario (UI) esté limpia y fácil de usar, no hay errores de deslizamiento o espectáculo, y que está recubierto en un buen acabado de aspecto.
El diseño y la funcionalidad de la interfaz de usuario pueden ser muy difíciles y complejos. La gente hace carreras enteras fuera de diseño de UIS. Solo asegúrese de que su proyecto personal sea fácil de usar y fácil en los ojos. Una UI profesional puede no ser posible sin un presupuesto y un equipo.Si tiene el presupuesto, hay muchos diseñadores de gráficos independientes que podrían diseñar una UI sobre contrato para usted. Si tiene un proyecto sólido que espera que se convertirá en la próxima gran cosa, encontrará un buen diseñador de la interfaz de usuario y haz que formen parte de su equipo.6. Pon tus proyectos en GitHub. GitHub es una comunidad de código abierto que le permite compartir su código con otros. Esto le permitirá obtener información sobre su propio código, así como beneficiar a otros que están buscando soluciones que pueda haber encontrado. GitHub es un gran recurso de aprendizaje, así como una buena manera de construir su cartera.
7. Distribuye tu software. Una vez que tenga un producto terminado, puede elegir si desea distribuirlo o no. Hay una variedad de formas en que puede hacer esto en estos días, dependiendo del tipo de software que creó.
Una de las formas más comunes para pequeños equipos o desarrolladores independientes para distribuir su software es a través de un sitio web personal. Asegúrese de que todas sus funciones estén bien documentadas e incluyen algunas capturas de pantalla y tutoriales. Si está vendiendo su software, asegúrese de tener un buen sistema de pago digital y un servidor para distribuir el software desde.Si está desarrollando software para un dispositivo o sistema operativo específico, hay varias tiendas digitales que puede usar. Por ejemplo, si está haciendo software para dispositivos Android, puede vender su aplicación a través de la tienda de Google Play, la tienda de aplicaciones de Amazon, o su propio sitio web personal.Parte 3 de 3:
Obteniendo trabajo
1.
Tomar trabajos de contrato. Aunque estos no pagan también y son menos confiables que el empleo a tiempo completo, puede aumentar significativamente su cartera tomando una serie de trabajos de contrato. Revise sitios como Elance y Odesk (también conocido como "Rotundo" ahora) para encontrar trabajo. Si bien puede ser difícil ser considerado para un contrato, una vez que obtiene su primera vez se vuelve mucho más fácil.
- Hacker News es un gran recurso para trabajos de contrato y freelance. Comprobar el "Pedir" sección.
- Si bien puede ser tentador ofertar a la oferta baja para asegurar un trabajo de contrato, no vende sus servicios cortos. ¿No solo terminará trabajando más por menos de lo que merece, también enojará a otros en su campo, lo que llevó a menos redes.
- El buen trabajo en un trabajo de contrato a veces puede llevar a una posición de tiempo completo. Siempre ponga su mejor pie adelante!
2
Red tanto como sea posible. Asistir a tantas convenciones y hack-a-thons como posiblemente pueda. Esto no solo lo expondrá a más códigos y problemas para resolver, también lo ayudará a conocer a otras personas en la industria. A pesar de lo que podría pensar acerca de los programadores que trabajan solos en su sótano, la mayoría de los desarrolladores a tiempo completo son parte de un equipo y la creación de redes es tan importante como cualquier otro campo.
3. Solicitar posiciones de tiempo completo. Una vez que tenga algunos trabajos de contrato bajo su cinturón, puede comenzar a enviar su currículum y portafolio a organizaciones más grandes para empleo a tiempo completo. Además de Monster y, de hecho, hay una variedad de sitios de trabajo específicos para desarrolladores que debe estar mirando, incluidos los trabajos de GitHub, la Junta de Trabajos de Stackoverflow, la Junta de Trabajo, el Angel, Crunchboard, Hirelite y Hacker News.
4. Diversifique su conjunto de habilidades. Un buen desarrollador de software suele ser competente en más de un idioma. Si bien mucho lo que aprendes estará en el trabajo, use parte de su tiempo libre para ampliar sus conocimientos y aprender lo básico de otro idioma o dos. Esto hará que la transición a nuevos proyectos sea mucho más fácil y lo hará un candidato mucho más deseable.
5. No te preocupes por la paga. No todos los trabajos de desarrollo de software de nivel de entrada va a pagar seis figuras. De hecho, ninguno de ellos lo hará. Sin embargo, lo bueno del desarrollo de software es que el mercado laboral es increíblemente fuerte. Si sientes que no estás ganando lo suficiente donde estás, es relativamente fácil mudarse a una nueva posición en una nueva compañía (si tiene las habilidades). Trata tus primeros trabajos como la experiencia necesaria en lugar de centrarse en su plan de jubilación.