JavaRush /Blog Java /Random-ES /Estudiando en JavaRush. Primeros proyectos, qué te espera...
dwajot
Nivel 41
Киев

Estudiando en JavaRush. Primeros proyectos, qué te espera y qué es mejor no hacer. Parte 1.

Publicado en el grupo Random-ES
Buenas tardes Finalmente llegué al momento en que estoy listo para compartir mi historia de éxito. Quiero contarles mucho, así que lo dividiré en dos partes: por así decirlo, "primeros proyectos y lo que es mejor no hacer" y, en realidad, "búsqueda de trabajo y aprobación de entrevistas". No les contaré mucho sobre mí, solo diré que, como casi todos aquí, me gradué y trabajé en otra especialidad, pero luego decidí convertirme en programador :) Hablemos de capacitación ahora mismo. Empecé a estudiar JavaRush a principios de 2016. Estuve mucho tiempo eligiendo dónde estudiar programación y, por supuesto, como toda nuestra gente, no quería pagar formación. Quería estudiar Java, ya que mi sueño es programar en Android. El curso JavaRush me llamó la atención varias veces durante mi búsqueda, pero lo descarté porque era shareware. Comencé a tomar lecciones en video en YouTube. Luego, sin embargo, alguna fuerza me obligó a intentar resolver problemas gratuitos en JavaRush, y me sorprendió tanto que después de completar 50 lecciones en video (las consideraba bastante normales) y escribir código con el profesor, tuve grandes dificultades y no en la primera. Intenta resolver los problemas iniciales del curso. Aprecié la calidad del curso y lo que me daría si lo completara por completo, luego miré en el foro que de vez en cuando había buenos descuentos en suscripciones y decidí que tomaría la versión completa. Sí, muchos estudiantes están enojados e indignados con el curso: los problemas se presentan basándose en material que aún no se ha cubierto, el validador no los comprende y hay muchísimas cosas que se pueden leer en el foro y en los comentarios. ¿Y adivina qué? Yo también era así :) Todavía tengo una gran tarea pendiente en el nivel 34 y probé todas las soluciones, pero el validador no la acepta. Que bueno que el apoyo me dio algo de materia negra y pude completar el curso. En general, como graduado del curso JavaRush, les contaré mi opinión subjetiva sobre lo que me gustó y lo que no me gustó del curso (que los administradores me perdonen). Me gustó: la cantidad de tareas, la verificación instantánea de las tareas, el aprendizaje remoto, la capacitación no está ligada a tu horario de trabajo, la estructura del curso, el foro de estudiantes, así como el precio. No le gustó:Durante el curso, comienzas a adaptarte al validador y luego es difícil dejarlo, pensar y encontrar otros enfoques (pero aún así es una idea así y aquí se implementa bastante bien), errores en algunas tareas, gran complejidad En algunas condiciones de la tarea (es bueno que haya un foro para tales casos), también probé la nueva interfaz; no me gustó mucho, afortunadamente existe la oportunidad de cambiar a la anterior. En resumen, estoy contento con el curso y lo que me ha aportado. Recuerdo que hace un año un amigo intentó explicarme qué son booleanos y vacíos, qué son los métodos y cómo devuelven valores. Recuerdo cuánto tiempo no pude entender por qué es necesario devolver estos valores :) Ahora recuerdo a menudo una escena de la película Matrix: Neo: ¿Me vas a enseñar a esquivar balas? Morfeo: Cuando llegue el momento, ya no lo necesitarás. Y efectivamente, cuando llegó el momento, ya tenía estas habilidades a priori. En el nivel 30 del curso, quería realizar una pasantía ofrecida por JavaRush. Miré la tarea de prueba y me horroricé un poco. Realmente esperaba que mi amigo me ayudara a hacerlo, pero una semana antes de la fecha límite dijo que aquí está Google, ingrese todas las tecnologías aquí y habrá un montón de ejemplos. Le agradezco mucho que esto haya sucedido, porque entonces sentí por primera vez lo que significa ser programador. Completé la tarea en 4 días completos y me alegré muchísimo de haber conseguido la pasantía. Pasantía. No terminé las prácticas porque al mismo tiempo comencé a hacer mi primer proyecto y, sin embargo, resultó ser una prioridad y más interesante para mí + No quería trabajar en una empresa. ¿Qué puedo decir sobre las prácticas en sí? Tiene sus pros y sus contras, pero en general es bastante buena. Si planea continuar con el negocio, creo que vale la pena hacerlo. Primer proyecto. Como mencioné anteriormente, alrededor del nivel 30 conseguí una pasantía y comencé a hacer mi proyecto. Era y es un robot de Telegram. Tenía el deseo de crear un bot incluso en los niveles 20-30 del curso, pero no pude encontrar un tutorial adecuado ni instrucciones sobre cómo empezar. Y, sin embargo, por casualidad encontré un artículo así e inmediatamente comencé a intentarlo. Si alguien está interesado, aquí hay un enlace al artículo: Cómo escribir un bot en Telegram Java. Francamente, el autor de este artículo me ayudó mucho más tarde, lo cual se discutirá a continuación. La idea del bot era la siguiente: como programador, necesito aprender inglés. Conocía relativamente bien la gramática, pero quería mejorar mi vocabulario. Pensé que sería bueno tener un robot para aprender palabras. Ya escribí información detallada sobre el bot en un artículo anterior, así que no lo repetiré; aquí está el enlace Telegram bot Words Te cuento las dificultades que tuve que afrontar a la hora de crearlo. En primer lugar, esta es la primera vez que trabajamos con la API de Telegram. Aunque mucha gente dice que esta es una de las API más simples y mejor documentadas, para mí fue muy difícil como principiante. Hice todo por selección :) A veces tenía que dedicar un día completo a crear alguna función, por ejemplo, eliminar un botón después de presionarlo. En aproximadamente medio mes logré escribir la primera versión beta, cuyo código estaba en una clase de Java, y quería intentar cargarlo en el servidor. Mi proyecto no es comercial, por lo que descarté inmediatamente los servidores pagos. Me acordé del servidor Heroku, que por cierto se utiliza para alojar el sitio de prácticas. Probé este servidor durante dos días completos y ya estaba completamente desesperado, ya que nada funcionó: todas las instrucciones relacionadas con los sitios, pero tengo un bot y allí necesito actuar de manera un poco diferente. Como resultado, decidí escribirle al autor del artículo sobre el bot y preguntarle qué servidor utiliza para alojar el bot. Y luego la suerte me sonrió: el autor resultó ser un programador genial (todavía me mantengo en contacto con él) y me ofreció alojar el bot en su servidor Linux (y si conozco a Linus, me asignará una cuenta). El aprendizaje inicial de Linux tomó un día y, por supuesto, no sin errores y dificultades, el bot comenzó a girar en el servidor. Además, entre todo esto, completé el curso JavaRush y quedé muy satisfecho :) Elegí MySql como base de datos para el bot, revisé muchas lecciones sobre cómo optimizar tablas, elegir un motor y todo lo demás. Le daría un consejo a todos los que vayan a realizar su primer proyecto: intenten pensar inmediatamente en toda su estructura y construir al menos una arquitectura relativamente ampliable. Reescribí el mío probablemente 3 veces debido a tales errores. Sí, es difícil, porque muchas veces no sabes qué quieres agregar al lado de tu proyecto, pero aún puedes hacerlo a un nivel mínimo. ¡¡¡No escribas todo tu código en una clase !!! Intente usar MVC, recuerde programación orientada a objetos, etc. Lo curioso es que comencé a utilizar algunos principios básicos de programación orientada a objetos en el proyecto cuando estaba casi listo. Antes de esto ni siquiera había pensado en ellos. Por supuesto, al usuario generalmente no le importa en qué idioma está escrito el producto, qué patrones y tecnologías se utilizan, pero cuando lo abres después de un par de meses y quieres agregar algo allí, pensarás en muchas buenas palabras. sobre usted :) Además, no olvide iniciar sesión: esto le permite realizar un seguimiento de los errores y ver qué funciones utilizan más los usuarios y cuáles deben desarrollarse más. En Telegram, por cierto, puedes hacer esto de una manera genial: envía todos los registros en tiempo real a tu canal privado, por así decirlo, puedes crear algún tipo de big data :) Para resumir sobre el primer proyecto , tomó alrededor de 3 meses crearlo, ahora hay más de 14 mil usuarios registrados, muchos de los cuales se han convertido en habituales y estudian palabras extranjeras todos los días. Segundo proyecto. Mi objetivo era convertirme en programador de Android, así que cuando tuve más o menos terminado con el bot, decidí adaptarlo a la plataforma Android. Comencé a entrenar con el curso startandroid y mi mejor amigo, el desarrollador de Android, me dio muchas tareas interesantes, las revisó y me dijo lo que había que rehacer y completar. Una vez que adquirí las habilidades básicas, comencé a hacer mi propia aplicación. Como ocurrió con el primer proyecto, hubo muchas dificultades diferentes, pero si lo tomamos en su conjunto, un poco menos. En aproximadamente un mes y medio, la primera versión beta estaba lista (tuve que reescribir todo el diseño de la aplicación un par de veces, ya que no tenía idea de cómo se vería). Luego me registré como desarrollador en Google Play y lo subí al mercado. Últimamente he estado optimizando y sincronizando mis dos proyectos. Para la base de datos general elegí Firebase: muy buena documentación, muchas lecciones y para proyectos pequeños la versión gratuita de 1 GB de volumen es más que suficiente. Si hablamos brevemente de las mayores dificultades del segundo proyecto (creo que algunas de estas dificultades también surgen para desarrolladores experimentados), entonces esta es la creación de subprocesos múltiples en Android, muchos problemas con los tamaños de pantalla y las extensiones, para crear el diseño que tuve que hacerme amigo de Photoshop, soporte para versiones antiguas de Android y nunca usar Recycler View si tienes animaciones en tu lista :) Después de que Yandex fue bloqueado en Ucrania, y ahí es donde obtengo la mayoría de las traducciones y voces. Sin palabras, tuve que agregar comprobaciones adicionales al código y simplemente informar a los usuarios que usaran VPN. Incluso surgieron dificultades al registrarse en Google Play: para convertirse en desarrollador debe pagar una tarifa única de $25 (a diferencia de Apple Store). Cuando pagué, había un límite en mi tarjeta y mi pago se trabó. Tuve que hablar con el soporte de Google y, en general, me enviaron de un operador a otro, hasta que me di cuenta de que solo me estaban enviando cortésmente :) Tuve que borrar todo y registrarme nuevamente (lo habría pensado de inmediato). ). Algunas palabras más sobre cómo promocionar sus proyectos.Con el bot, las cosas eran un poco más simples: la idea de los bots en sí es relativamente nueva (no entré en la corriente principal, pero todavía está bien). Hay un directorio de bots, grupos VK, FB y otros recursos. Ahora mi bot ocupa el quinto lugar en la sección educativa y para mí este es un muy buen resultado. Para avanzar en el catálogo de bots es necesario ser evaluado. Hice una propuesta para que el usuario vote, lo que ocurre solo una vez (a mí no me gusta la intrusión), cuando el usuario juega una cierta cantidad de juegos (como si pasara algún tiempo en el bot). Con la aplicación de Android la cosa es mucho peor. Diré una cosa: sin publicidad, nadie notará su aplicación en el mercado, ni siquiera por palabras clave, ya que hay millones de ellas. Después de sincronizar entre proyectos, anuncié mi aplicación en el bot. Después de eso, obtuve las primeras 14 descargas :) Si alguien ha leído hasta este punto, aquí hay un enlace a la aplicación, si está interesado: la aplicación Words para Android . El enlace al bot se encuentra en el artículo un poco más arriba en el texto. Gracias a todos por su atención. Te contaré mi experiencia en la entrevista, las preguntas que me hicieron y la búsqueda de empleo en general en la segunda parte.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION