Feuille de route d'un développeur Java
Un de mes amis se demandait pourquoi les développeurs sont toujours si heureux. La réponse qu'elle a apportée était simple et surprenante : ils font ce qu'ils aiment et gagnent beaucoup d'argent. Bienvenue dans le monde des développeurs de logiciels.
Salaire d'un développeur de logiciels
Je voudrais vous parler des salaires des développeurs. Comment la terre se situe avec les salaires, où vous devriez aller travailler et où vous ne devriez pas. Si vous n'êtes pas un développeur et que vous essayez de résoudre le problème par vous-même, vous pouvez obtenir des données plutôt controversées. Le point principal est que le principal facteur influençant le salaire d'un développeur n'est pas la qualification, mais le lieu de travail. Parfois, à niveau de qualification égal, la différence entre un bon et un mauvais lieu de travail peut être de 2 à 10 fois (!) A chaque instant donné votre qualification est constante. Vous ne pouvez pas devenir deux fois plus qualifié en un mois et être payé deux fois plus. Mais vous pouvez changer de lieu de travail en un mois et toucher un salaire deux fois plus élevé. Une fois dans le flux de deux mois mon salaire multiplié par trois (!) – Expérience inoubliable. Alors, découvrons quel endroit est le meilleur.- Si l'activité principale d'une entreprise est le développement de logiciels
- Que l'entreprise soit orientée vers le marché mondial ou local
- Où est situé le bureau principal : pays développé ou pays en développement
Numéros spécifiques
Étant donné que les salaires sont différents dans différentes parties du monde, je propose de prendre le salaire d'un développeur Java senior avec 5 ans d'expérience comme point de départ et de l'appeler "5 ans maximum". Tous les chiffres ci-dessous seront donnés en pourcentage de ce montant. Voici quelques exemples de salaires "maximum 5 ans" dans différentes villes du monde :


Ce que vous pouvez réaliser à moins de faire des choses stupides
Si vous commencez à travailler sur votre autoformation en programmation dès maintenant, votre salaire peut ressembler à ceci :
Plan
0-3 mois (Étudiant)
Vous connaissez très peu la programmation. Vous l'avez peut-être étudié à l'école ou dans un collège au niveau de base. Ce que vous devez faire est d'apprendre à programmer et à apprendre Java. Votre objectif est d'obtenir un emploi en tant que développeur junior Java dans une entreprise de niveau 3 ou supérieur. Pendant les trois premiers mois du plan, vous n'obtiendrez rien, car vous apprenez simplement à programmer. Mais plus vous commencez tôt, mieux c'est. Le meilleur moment est MAINTENANT. À l'avenir, lorsque vous aurez une famille et beaucoup de prêts, il sera beaucoup plus difficile de se requalifier. Afin de corriger votre erreur, vous devrez mettre de l'argent de côté pour payer au moins une année de vie normale. Ne faites pas d'erreurs stupides.3-15 mois (Développeur Java Junior)
Vous travaillez déjà en tant que développeur de logiciels et votre expérience grandit chaque jour. Ne vous détendez pas. Vous avez beaucoup à faire avant de vous reposer sur les rames. Ce que vous devez faire est d'étudier les technologies dont vous aurez besoin en tant que développeur intermédiaire. Qu'est-ce que c'est? Le monde change constamment. Je te chargerai de conseils et la vie changera tout. Trouvez quelques postes vacants sur le Web et voyez ce dont vous avez besoin pour postuler. Assurez-vous de lire un livre de Bruce Eckel "Thinking in Java". Votre objectif au cours de la première année de travail en tant que Java Junior Developer est d'atteindre le niveau de Java Middle Developer. Personne ne dit que ce serait facile, mais c'est possible pour une personne axée sur les objectifs. Il augmentera votre salaire en un instant jusqu'à 40% de "5 ans maximum" (50K $ pour SF et Londres, 6K $ pour Bangalore).Programmation en 2ème année (Java Middle Developer, niveau 1)
Vous avez fait du bon travail l'année dernière et vous êtes maintenant un développeur intermédiaire Java. Vous pouvez très bien vivre en gagnant 50% du salaire d'un développeur Java senior. On vous confie des tâches sérieuses au travail et votre expérience augmente considérablement. Vous atteindrez le niveau de Java Senior Developer en deux ou trois ans. Pas besoin de se presser. De toute façon, vous n'obtiendrez pas de grosses augmentations de salaire. Ce que vous devez faire, c'est apprendre les modèles de conception, lire - McConnell's Code Complete. Perfectionnez la qualité de votre code et les compétences de votre équipe. Créez une règle de lecture d'un livre sur la programmation informatique chaque mois. Ensuite, dans 4 ans, vous serez 50 livres plus intelligent que tout le reste. Ne le remettez pas à plus tard : vous n'aurez pas plus de temps libre, d'ailleurs, très probablement vous fonderez une famille, ou si vous en avez une, elle deviendra plus grande. Ton butest de choisir quelques technologies dans lesquelles se spécialiser en tant que développeur Java senior. Vous ne pouvez pas tous les apprendre, vous savez. Et c'est toujours une bonne décision de devenir gourou dans une seule spécialisation.
Programmation en 3ème année (Java Middle Developer, niveau 2)
Vous êtes maintenant un développeur intermédiaire expérimenté et vous envisagez de devenir un développeur senior. C'est aussi agréable que prestigieux. Votre salaire dépasse 60 % du « maximum de 5 ans » (10 000 $ à Bangalore, 25 000 $ à Kiev, 40 000 $ à Berlin, 80 000 $ à New York). A partir de ce moment sur demande pour des professionnels comme vous monte l'offre. Vous pourrez toujours trouver un emploi en quelques jours et vous ne gagnerez presque jamais moins qu'actuellement. Cela, bien sûr, si vous ne faites rien de stupide. Ce que vous devez faire estcontinuez à étudier les technologies que vous avez choisies. Mieux travailler. Pas pour le bien de votre employeur, pour le vôtre. Postulez pour participer à des projets impliquant des technologies prometteuses (comme BigData, au moment où cet article est en cours de rédaction). De toute façon, vous passerez 8 heures par jour au bureau, alors pourquoi ne pas en tirer un peu plus d'argent et, ce qui est bien plus important, l'expérience la plus précieuse dont vous aurez besoin à l'avenir. Votre objectif est de trouver un nouvel emploi. Une bonne équipe est toujours à trouver. Vous serez confronté à de nouveaux projets et technologies. Vous n'avez pas besoin de vous enraciner à votre chaise. Si vous travaillez toujours dans une entreprise de troisième niveau, envisagez d'embaucher dans une entreprise de quatrième niveau.Programmation 5ème année (Java Senior Developer, niveau 1
Vous êtes maintenant développeur senior. Peut-être que vous ne le méritiez pas, et vous le ressentez. Néanmoins, mes félicitations. Peu importe que vous soyez digne de votre position maintenant, tout ce qui importe est que vous en deveniez digne à l'avenir. Je pense que vous conviendrez qu'il est préférable d'obtenir un bon travail et après avoir atteint le niveau requis, puis vice versa. J'espère que vous n'avez pas oublié mon conseil de lire un livre par mois ? Tout étudiant enviera vos connaissances et vos compétences maintenant. Pour être plus précis, il priera sur eux. Pensez-y : vous avez des revenus importants, proches de 90 % du salaire « 5 ans maximum ». Vous êtes probablement encore jeune. Le monde est à vos pieds. Ce que vous devez faire estpour réévaluer les technologies que vous avez choisies. Peut-être avez-vous besoin de changer de spécialisation. Le monde a changé, les technologies ont changé et vous avez acquis pas mal de connaissances au cours des deux dernières années. Ce que vous choisissez maintenant deviendra pour vous le titre des prochaines années. Il est temps de choisir vos technologies préférées. Votre objectif est de choisir votre direction de croissance. Ils sont nombreux, personne ne peut tous les nommer, mais votre choix doit être fait dès maintenant. Si vous faites un petit changement aujourd'hui, vous en aurez un gros à l'avenir.Programmation 6ème année (Java Senior Developer, level2)
Vous avez décidé de votre avenir et vous travaillez sur votre rêve pour qu'il se réalise. Une direction bien choisie avec envie d'aller de l'avant – et le résultat ne tardera pas. Toutes nos félicitations. Je suis heureux de voir qu'il y a une personne de plus qui a réalisé son rêve. Il y a une vérité profonde. Les gens surestiment souvent ce qu'ils peuvent accomplir en un an et sous-estiment ce qu'ils peuvent faire en cinq ans. Regardez cinq ans en arrière. Il en est ainsi. Ce que vous devez faire, c'est éviter les décisions imprudentes et ne pas être paresseux. Votre objectif est de choisir une direction et d'avancer. Ou pensiez-vous que cela s'arrête ici? Souvenez-vous de votre diplôme. Ce n'est pas la fin, c'est juste le début.Votre future spécialisation

Carrière de développeur Java
La carrière de développeur est différente des autres. Vous n'avez pas besoin de devenir manager pour gagner beaucoup d'argent. Il arrive souvent qu'un Développeur Senior gagne plus que son manager-boss. Plus vous gagnez en expérience, plus vos relations de travail avec votre patron sont solides, passant de « patron-subordonné » à « star et manager ».
Développeur bicentenaire
Si vous aimez la programmation par-dessus tout, alors c'est votre chemin : Développeur Senior, puis Développeur Tech Lead et un architecte. De cette façon, vous pouvez travailler en tant que développeur pendant 50 ans et plus. Dans la plupart des cas, les salaires des développeurs seniors et des développeurs en chef technique dépassent ceux de leurs managers. Alors, obtenez-en pour votre argent.Directeur. tu as de la chance tu n'es pas comme les autres
Tu es passé chez l'ennemi. Je rigole. Si vous découvrez de grandes compétences d'organisation, alors vos voies sont : chef d'équipe, puis chef de projet. Cela vous donnera une chance de devenir chef de département et d'ouvrir votre propre entreprise. C'est ce que tu veux, n'est-ce pas ?La maison est là où se trouve le cœur

Voir Naples et ne pas mourir.
Vous n'avez pas encore de famille et vous aimez voyager . oDesk est votre tout. Trouvez un client, convenez d'un tarif de 20 $ à 50 $ de l'heure, emportez un ordinateur portable avec vous et partez ! Votre salaire suffira pour vivre n'importe où dans le monde. Pourquoi ne pas commencer à réaliser vos rêves tout de suite ?Je ne veux pas programmer, je suis une fille..
Si vous êtes une fille , vous devrez peut-être prendre un congé de maternité . Cela ressemble à une blague sexiste, ce qui est le cas. Pourtant, il y a beaucoup de bon sens là-dedans. Très probablement, en prenant un congé de maternité, vous pourrez obtenir beaucoup d'argent pour le congé de maternité (dans les pays à protection sociale élevée). Il y a des entreprises qui ne paient rien et il y en a qui paient bien. Une de mes étudiantes a reçu un tiers de son salaire annuel en congé de maternité. Et cela s'est passé au printemps 2009, lors de licenciements. Et dans un an et demi, vous reviendrez peut-être en étant au moins Développeur intermédiaire.Niveau 6

1 Elly. Visibilité des objets. nul
- Salut Amigo ! - Salut Elly ! Voulez-vous me dire quelque chose d'intéressant aujourd'hui ? - Aujourd'hui je vais vous parler de la durée de vie d'un objet . Une fois qu'un objet est créé, il existe (vit) jusqu'à ce qu'au moins une variable stocke son adresse (il y a au moins une référence d'objet). S'il n'y a plus de références, l'objet meurt. Exemples :
2 Professeur, Collecte des ordures

3 Elly, finalise
- Rebonjour! Je vais maintenant vous donner une brève introduction à la méthode finalize() . Cette méthode est appelée par la machine virtuelle Java sur l'objet avant que l'objet ne soit détruit. En fait, cette méthode est opposée au constructeur. Dans cette méthode, il est possible de libérer les ressources utilisées par un objet. - La classe Object a cette méthode, donc chaque classe l'a ( toutes les classes en Java sont considérées comme héritées de la classe Object et contiennent une copie de ses méthodes ). Si vous écrivez dans votre classe la méthode finalize() et elle sera appelée avant que les objets de cette classe ne soient détruits. Exemple :
4 Elly, durée de vie de l'objet
- Je veux aussi vous dire quelques choses intéressantes sur la durée de vie de l'objet. En Java, il est très difficile de perdre l'objet par accident ; si vous avez une référence d'objet, cela signifie que l'objet est sûrement vivant. - A l'intérieur d'une référence d'objet stocke un numéro – adresse de cet objet en mémoire. Vous ne pouvez pas modifier ce nombre, l'augmenter ou le diminuer. Vous ne pouvez pas créer de référence lorsque vous n'avez qu'une adresse en mémoire. Vous pouvez uniquement créer un nouvel objet et affecter sa référence à une variable. C'est le seul moyen d'obtenir une nouvelle référence. - Je vois. C'est-à-dire que si je mets à null (effacer) toutes les références d'objet, je n'obtiendrai jamais la référence d'objet et n'y accéderai jamais ? - Ouais. Mais souvent, c'est le contraire qui est vrai : il y a trop d'objets vivants inutilisés.La plupart des programmes créent des dizaines d'objets et les stockent dans différentes listes lors de l'exécution, mais ne nettoient jamais ces listes. - La plupart du temps, les programmeurs étiquettent les objets indésirables comme "supprimés", c'est tout. Personne ne se soucie de leur retrait des listes. Ainsi, les gros programmes Java ont tendance à gonfler - de plus en plus d'objets inutilisés restent vivants dans la mémoire. - C'est tout. À l'avenir, j'attirerai toujours votre attention sur les objets inutilisés et leur élimination appropriée. - ОK, merci. Vous avez clarifié quelques points au sujet des références.5 Diego, Tâches de durée de vie d'un objet
- Salut Amigo ! Voici quelques tâches pour vous :Tâches | |
---|---|
1 | 1. Méthode finalize() de la classe Cat Ecrire une méthode protected void finalize() throws Throwable dans la classe Cat |
3 | 2. Classes Cat et Dog et méthode finalize() pour chaque classe Dans chaque classe Cat et Dog, écrivez une méthode finalize() , qui affiche à l'écran un message indiquant que l'objet est détruit. |
3 | 3. 50 000 objets de classe Cat et 50 000 objets de classe Dog Créer en boucle 50 000 objets de classe Cat et 50 000 objets de classe Dog. (La machine virtuelle Java détruira les objets inutilisés, donc la méthode finalize() sera appelée au moins une fois). |
4 | 4. Compteur de chat Dans le constructeur de classe Cat [public Cat()], augmentez le compteur de chat (variable statique catCount de la même classe) de 1. Dans la méthode finalize() diminuez de 1. |
6 Elly, Classes et méthodes statiques
- Voici un nouveau sujet intéressant. Je veux vous parler des variables statiques et des méthodes. - Oh, j'ai déjà entendu parler des variables statiques. À propos des méthodes statiques aussi, je suppose. Mais j'aimerais avoir plus de détails. - Lors de la déclaration de variables dans une classe, on précise si ces variables sont créées dans une seule instance partagée, ou s'il faut créer leurs copies pour chaque objet. Par défaut, une nouvelle copie de variable de classe est créée pour chaque objet de cette classe. Voici à quoi cela ressemble :



7 Risha, Classes et méthodes statiques
- En plus des méthodes statiques, il existe également des classes statiques . Nous reviendrons sur ce cas plus tard, je vais juste vous en montrer un exemple :
8 Diego, Tâches sur la méthode statique
- Salut Amigo ! Voici quelques tâches intéressantes sur les méthodes statiques :Tâches | |
1 | 1. Classe Cat et variable statique catCount Écrivez une variable statique int catCount dans la classe Cat. Créez un constructeur [ public Cat() ], dans lequel la variable donnée doit être augmentée de 1. |
2 | 2. Méthodes statiques : int getCatCount() et setCatCount(int) Ajoutez deux méthodes statiques à la classe Cat : int getCatCount( ) et setCatCount(int) à l'aide desquelles vous pouvez obtenir/modifier le nombre de chats (la variable catCount) |
3 | 3. Class Util Implémenter une méthode statique double getDistance(x1, y1, x2, y2) . Il devrait calculer la distance entre les points. Utilisez la méthode double Math.sqrt(double a) pour calculer la racine carrée du paramètre passé |
4 | 4. Classe ConsoleReader Écrivez une classe ConsoleReader, qui aura 4 méthodes statiques : - String readString() pour lire les chaînes depuis le clavier - int readInt() pour lire les nombres depuis le clavier - double readDouble() pour lire les nombres fractionnaires depuis le clavier - void readLn () pour attendre d'appuyer sur entrée [utiliser readString()] |
5 | 5. Classe StringHelper Écrivez une classe StringHelper, qui aura 2 méthodes statiques : - String multiplier(String s, int count) doit retourner la chaîne s nombre répété fois. - String multiplier(String s) doit renvoyer la chaîne s répétée 5 fois. Exemple : Amigo → AmigoAmigoAmigoAmigoAmigo |
9 Professeur, portée statique de l'objet et durée de vie

10 juillet
- Salut Amigo ! Vous avez fait un excellent travail aujourd'hui. C'est pourquoi je ne peux pas vous en donner plus. Allez, asseyez-vous, le spectacle commence :11 Capitaine Écureuils
- Salut, soldat ! - Bonjour Monsieur! - J'ai une super nouvelle pour vous. Voici une vérification rapide pour renforcer vos compétences. Faites-le tous les jours et vous améliorerez rapidement vos compétences. Les tâches sont spécialement conçues pour être effectuées dans Intellij IDEA.Tâches supplémentaires à effectuer dans Intellij Idea | |
---|---|
1 | Classe Cat et variable statique catCount Écrivez une variable statique public int catCount dans la classe Cat. Créez un constructeur [public Cat()]. Laissez la variable statique catCount augmenter de 1 chaque fois que vous créez un chat (un nouvel objet Cat). Créez 10 objets Cat et affichez la valeur de la variable catCount . |
2 | 2. Chats statiques
pour créer une variable cats , utilisez la ligne de code : public static ArrayList<Cat> cats = new ArrayList<Cat>(); |
3 | 3. Déplacez un modificateur statique Déplacez un modificateur statique pour que le code se compile. |
4 | 4. Nombre minimum de mots-clés statiques Ajoutez le nombre minimum de mots-clés statiques pour que le code soit compilé et que le programme se termine avec succès. |
5 | 5. De nouvelles idées ? Réfléchissons...
|
6 | 6. KissMyShinyMetalAss Écrivez une classe nommée KissMyShinyMetalAss. Créez un objet de cette classe, puis affichez-le à l'écran. |
7 | 7. Nom de trois variables statiques Écrivez 3 variables statiques publiques : String Solution.name , String Cat.name , String Dog.name |
GO TO FULL VERSION