comment devenir développeur de logiciels reddit


Réponse 1:

Peut-être une bonne compétence à avoir, mais non, pas en tant que profession en ce moment.

Ce que je veux dire, c'est que l'apprentissage des logiciels et au moins l'écriture de certains programmes pourraient faire partie d'une formation générale de nos jours. La tendance est clairement à la réduction des embauches dans de nombreux autres domaines qui peuvent être automatisés, et une certaine connaissance du fonctionnement des logiciels pourrait être très utile dans toute carrière à long terme. Cependant, même si «n'importe qui» ne peut pas nécessairement devenir programmeur, beaucoup de gens le peuvent. Plus important encore, ils le font déjà.

La plupart de ces gens ne sont pas très bons, mais le cisaillement d'un grand nombre de jeunes qui entrent dans la programmation fait peur à quelqu'un sur le terrain. Les universités du monde entier voient une opportunité de gagner de l'argent, elles augmentent donc les inscriptions aussi vite que possible, jusqu'à la prochaine explosion de la bulle. En attendant, tous ces jeunes talentueux (et moins talentueux) se disputent les mêmes postes. Il y a probablement beaucoup moins de positions que le battage médiatique suggère. Il est clairement dans l'intérêt des dirigeants de l'industrie d'avoir un grand nombre de travailleurs à bas salaires qui ne «causent pas de problèmes», alors ils continuent de répéter la propagande sur une «pénurie».

D'après mon expérience, au moins la moitié à 90% des offres d'emploi sur divers sites Web sont fausses. Souvent, l'entreprise a déjà quelqu'un en tête, mais passe par les mouvements requis par un «processus». Les entreprises qui licencient, voire ferment, maintiennent leurs publications pour éviter que les clients ou acheteurs potentiels ne perdent confiance. Ceux qui sont réels attirent des centaines de candidats, il existe donc toutes sortes de techniques de sélection pour filtrer la plupart d'entre eux.

Si vous parcourez les premiers écrans, vous devez alors faire un quiz sur la programmation de type école qui n'a pas grand-chose à voir avec l'ingénierie logicielle réelle. Cela a clairement un préjugé contre les ingénieurs qui ne sont pas scolarisés depuis plus de quelques années. La plupart des gestionnaires ont environ 35 ans et voient rarement l'intérêt d'embaucher des personnes plus âgées qu'eux (ou les considèrent avec un mépris pur et simple).

Attendez-vous donc à ce que votre carrière atteigne son apogée lorsque vous avez environ 30 ans. Plus de 40 ans environ, il faudra peut-être un peu plus de temps pour trouver un nouvel emploi après l'inévitable mise à pied. À la mi-carrière, oubliez d'appliquer le froid et passez par des contacts personnels. Cependant, après environ 50 ans, vos collègues sont probablement également à la retraite ou au chômage, vous devez donc avoir une nouvelle carrière. Si vous prévoyez de vous lancer dans la gestion de logiciels, rappelez-vous que tous les autres de la même vague se disputent également ces postes, donc c'est encore plus compétitif.

Devenir dentiste, c'est mon conseil: vous passez votre journée à mettre les doigts dans la bouche des gens, mais la rémunération à vie et la sécurité de l'emploi sont bien meilleures! Ou une autre profession similaire avec un marché de candidats moins inondé.


Réponse 2:

Si cela vous enthousiasme, oui!

Si vous le faites parce que cela semble être un «bon cheminement de carrière», je réévaluerais. C'est beaucoup de travail pour arriver à une bonne position SWE - si vous aimez ce travail, vous vous amuserez probablement. Sinon, vous redouterez probablement la vie.

L'avantage d'obtenir un diplôme dans un domaine lié à la CS / IT est qu'il existe de nombreuses options qui ne sont pas simplement du «codage». Mon équipe actuelle est en fait une équipe de technologie et de formation et nous gérons l'aspect technique des choses, mais nous organisons également des ateliers pour former les employés sur les nouveaux systèmes et procédures et pour faire beaucoup de documentation technique. Si vous êtes capable de comprendre les tenants et les aboutissants d'un système, vous pourrez appliquer ces connaissances de différentes manières et vous frayer un chemin dans un rôle qui vous permet d'être impliqué dans des tâches techniques et d'aider gens.

C'est vrai, il y a beaucoup d'ingénieurs logiciels là-bas. Je ne sais pas à quel point le marché SE est surpeuplé, pour être honnête, mais en tant que futur diplômé SE, je n'ai pas vraiment rencontré de pénurie d'entreprises qui souhaitent embaucher des SE. Pour moi, il semble que tout le monde veut une sorte de programmeur.

Je suppose que cela dépend de ce que vous vous voyez faire sur le plan académique. Si vous choisissez SE, vous n'aurez pas nécessairement besoin d'un Master pour trouver un emploi. Une école de médecine ou une école de dentisterie ajouterait beaucoup plus de temps scolaire, c'est donc quelque chose à considérer. Tous les trois sont des carrières bien rémunérées, mais vous feriez probablement plus en tant que médecin ou dentiste, si vous vous concentrez sur l'argent. Cela dépend également de votre dévouement. Tout le monde peut apprendre à coder, mais tous ceux qui le font ne devraient pas être développeur. Si vous optez pour la voie médicale ou dentaire, vous devez vraiment être prêt à consacrer du temps et de l'argent supplémentaires.

J'ai toujours pensé que votre carrière ne devrait pas être quelque chose que vous devez faire, mais plutôt quelque chose que vous voulez faire. Vous saurez que vous êtes au bon endroit lorsque le travail ne ressemble pas au travail.


Réponse 3:

En tant qu'enfant, j'aimais jouer avec des blocs. J'ai construit toutes sortes de structures. Le deuxième mot de «ingénieur logiciel» est ingénieur. Les ingénieurs construisent des choses, des ponts à l'électronique, en passant par les logiciels. Aimez-vous construire des choses? Il a eu une conversation amusante avec un ami où il construisait un système de tournoi pour un serveur de jeu qu'il voulait impressionner. Mais le plus triste était qu'il admettait qu'il ne se souciait pas vraiment de ce qu'il construisait. Je veux dire qu'il est un type fort en maths et intéressé par les normes de codage et essaie d'écrire de bons logiciels, mais il semblait plus intéressé par le fait qu'il avait trouvé des moyens d'utiliser le concept de programmation de la réflexion qu'il ne se souciait vraiment de la chose réelle qu'il était un bâtiment qui, espérons-le, serait utilisé par les masses.

C'est un travail qui peut bien payer et qui peut avoir de nombreux avantages tels que la nourriture gratuite et des horaires flexibles. Cela peut également nécessiter beaucoup de temps assis devant un ordinateur, bien que la vie de beaucoup de développeurs ne soit pas toujours à l'ordinateur mais en réunion, etc. et à parler aux gens. Le caractère social peut dépendre de la nature du travail et de l'entreprise et si le développeur fait partie d'une équipe par rapport à la tâche de travailler seul sur certaines tâches. Mais ce n'est pas toujours parfait pour les personnes qui ne veulent pas être dans un bureau toute la journée et qui préfèrent se déplacer. Quand j'étais plus jeune, j'étais livreur et je bougeais tout le temps. Des emplois similaires m'intéressaient également, comme un représentant de produit allant d'un magasin à l'autre. D'un autre côté, je trouve que cela ne me dérange pas de travailler dans un bureau, mais il y a des compromis.

La plupart des bons développeurs sont un peu plus brillants que la moyenne avec des choses comme la résolution de problèmes, certaines compétences en mathématiques et la pensée abstraite. Si ce sont de quelque manière que ce soit des points faibles pour quelqu'un qui pense au domaine, cela peut ne pas être très utile. En économie, nous essayons de vendre au marché quels que soient nos avantages, nous devons donc trouver des emplois qui les exploitent plutôt que des emplois pour lesquels nous sommes désavantagés.

Les développeurs de logiciels construisent quelque chose d'un peu différent de ce que dit un ingénieur civil qui construit un pont ou un bâtiment. Je pense que les meilleurs aiment les ordinateurs et le monde câblé. Si une personne préfère voir quelque chose de plus physique construit, il existe peut-être d'autres types d'ingénierie qui lui conviennent mieux.


Réponse 4:

Vous pouvez poser cette question sur n'importe quelle profession et obtenir des réponses mitigées. Certaines personnes en ont probablement rêvé depuis le lycée, d'autres ne peuvent même pas imaginer le faire pour le reste de leur vie. La réponse dépend vraiment de ce qui compte pour vous et de vos priorités dans la vie.

Le génie logiciel n'est pas une tâche facile et vous ne deviendrez pas riche du jour au lendemain. Cela nécessite des années d'études et de pratique pour acquérir de l'expérience, le marché est assez compétitif même s'il y a une forte demande d'ingénieurs en logiciel, vous devrez continuer à apprendre tout le temps si vous voulez suivre les tendances technologiques et exceller dans votre carrière. .

L'ingénierie logicielle est un travail important et enrichissant, où vous pouvez façonner le monde futur, travailler avec les technologies émergentes et stimuler l'innovation. Si vous aimez résoudre des problèmes et trouver des solutions à différents défis, vous allez l'adorer.

Les salaires des ingénieurs en logiciel se situent dans une large gamme allant de 30 000 $ à 150 000 $ et dépendent de votre emplacement, de vos compétences et de votre expérience. Et ce n'est pas une limite, il y a beaucoup de potentiel pour se développer professionnellement et accomplir plus.

Si vous êtes prêt à faire un effort et prêt à vous consacrer à cette profession, vous avez de fortes chances de réussir. Les ingénieurs en logiciel sont très demandés et cette demande continuera de croître au cours de la prochaine décennie. Vous pouvez poursuivre cette carrière en tant que pigiste ou rejoindre un

équipe mondiale comme nous l'avons chez Trio.

Réponse 5:

Si vous visitez les meilleures écoles, vous verrez qu'il n'y a pas de distinction entre un ingénieur logiciel et un informaticien. Chaque diplômé du cours 6 du MIT est à la fois informaticien et ingénieur. Il en va de même pour Berkeley, Stanford, etc.

Ce que cela vous dit, c'est que vous ne pouvez pas devenir un grand ingénieur en logiciel sans une formation en informatique. D'un autre côté, vous ne pouvez pas être un grand ingénieur logiciel sans vous asseoir et écrire du code.

Un de mes exemples préférés de ce genre est le contraste entre Peter Norvig et Ron Jefferies lors de l'attaque d'un problème simple (solveur de Sudoku): http://gigamonkeys.wordpress.com/2009/10/05/coders-unit-testing/

À un certain niveau, la différence entre les deux se résume simplement - comme le suggère Norvig - à la connaissance: Norvig savait comment résoudre le problème parce que c'est une instance spécifique d'un type de problème qu'il savait déjà résoudre. Jeffries, évidemment, ne l'a pas fait. Mais a-t-il choisi de s'attaquer à ce problème particulier à l'aide du TDD, une technique dont il est censé être l'expert? Pourquoi a-t-il eu si peu de succès?

En fin de compte, pour résoudre des problèmes, vous devez savoir des choses et avoir résolu une variété de problèmes. Rien ne remplace cela, mais la formation de base en informatique est une boîte à outils pleine de techniques pour s'attaquer à des problèmes que vous n'avez jamais vus auparavant.

Oh, et comme pour l'industrie du jeu, la seule qualification dont vous avez besoin est la volonté de travailler pour les cacahuètes.


Réponse 6:

Je pense que cela dépend vraiment de vos objectifs et de votre destination. Si vous voulez un emploi en génie logiciel, ce que je suppose que vous faites, cela pourrait certainement vous être utile.

Cependant, un diplôme en génie logiciel n'est pas nécessairement le seul moyen d'obtenir un emploi en génie logiciel, même si cela pourrait certainement aider et pourrait vous donner plus de crédibilité.

D'autres options auxquelles je peux penser pour obtenir un emploi en génie logiciel pourraient être:

  • Obtenez un diplôme en informatique (qui est différent du génie logiciel). Les fondements théoriques de l'informatique peuvent vous aider à construire des solutions logicielles plus efficaces sur le plan algorithmique aux problèmes, ce qui est une compétence utile. Mais même avec ce diplôme, vous devrez acquérir une expérience en dehors du logiciel de construction de salle de classe qui peut prouver que vous serez utile en tant qu'ingénieur logiciel rémunéré.
  • Acquérir de l'expérience dans la conception et la mise en œuvre de solutions logicielles aux problèmes par vous-même, contribuer à des projets open source pour acquérir de l'expérience, travailler sur l'apprentissage de nouvelles technologies. Ensuite, après cet effort, essayez de prouver que vous êtes assez bon pour créer des logiciels pour une entreprise. Vous pouvez très bien obtenir un emploi en génie logiciel sans aucun diplôme officiel de cette façon.

Réponse 7:

Chaque fois que je veux apprendre une nouvelle langue, je me fixe un projet cible. Je vais donc imaginer une application qui couvre les aspects que je veux apprendre - par exemple la base de données, les graphiques, la présentation, la concurrence. Je vous recommande de vous fixer un objectif relativement ambitieux qui va étirer votre ingéniosité et vous forcer à chercher des réponses. Le projet peut être aussi simple qu'un gestionnaire de temps personnel (si vous êtes un débutant complet) ou aussi complexe qu'un système de négociation d'actions! En réalisant votre projet cible, vous irez bien au-delà du simple apprentissage de la syntaxe - vous apprendrez comment le langage s'harmonise avec les bibliothèques de logiciels et de nombreux autres aspects de l'environnement de programmation.

Deuxièmement, en plus de quelques langages de base comme Java, C ++, C # etc., vous devriez apprendre quelques langages de script courants comme Python, Javascript etc. Ceux-ci sont utiles pour le développement web, la génération d'outils, l'optimisation de votre environnement et même la version gestion du contrôle (pour ne citer que quelques utilisations!).

Dans la plupart des cas, vous aurez éventuellement besoin de compétences en bases de données. Découvrez la normalisation, le SQL et les bonnes pratiques de base de données au minimum. Il existe de nombreux produits de base de données gratuits ou en version limitée qui vous aideront à apprendre. J'ai commencé avec Microsoft Access, puis MySQL, avant de passer à Oracle etc. Dans toute organisation d'entreprise, la base de données est roi. Lorsque j'analyse une entreprise, je me dirige toujours directement vers les personnes de la base de données (et je reporte les gars et les filles fonctionnels / orientés processus aux réunions de midi).

Ensuite, vous devez vous familiariser avec les méthodologies de développement logiciel et le contrôle de version car vous ne pouvez pas échapper à ces deux aspects importants du développement logiciel dans le monde réel. La méthodologie la plus populaire est connue sous le nom d'Agile. Il existe de nombreux livres et vidéos sur le sujet, mais vous devez vous familiariser avec ce qui est le plus récent et le plus grand.

Le contrôle de version a de nombreuses applications allant de la sécurité logicielle aux tests système / composant / intégration en passant par le contrôle du cycle de vie du produit. Encore une fois, plusieurs de ces packages sont gratuits ou ont une version limitée que vous pouvez utiliser pour vous familiariser.

Enfin, il y a tout le sujet des exigences et des plans de test. Ce ne sont PAS des extrémités opposées du processus de développement (en fait, le premier objectif d'un plan de test devrait être de prouver les exigences). Mieux vous écrivez, lisez et développez ces documents, plus les rôles qui vous seront attribués seront élevés. Ils sont fortement liés aux méthodologies, mais je les considère en fait comme une compétence spécifique.


Réponse 8:

Vaut-il la peine de devenir médecin? un avocat? Vaut-il la peine de devenir [insérer une carrière potentiellement lucrative]? Nommez n'importe quelle profession lucrative et il y aura des gens qui détestent leur travail. Tout en vaut la peine si vous l'appréciez suffisamment. Les gens disent de suivre votre passion et l'argent viendra; Je dis, choisissez quelque chose que vous aimez qui rapporte de l'argent et travaillez dur pour y arriver.

J'aime le génie logiciel parce que je savais que j'aimais utiliser des ordinateurs pour résoudre des problèmes depuis que j'étais au lycée. Cela vaut donc la peine pour moi parce que j'ai travaillé dur pour cela, je ne déteste pas mon travail et le salaire est assez décent.


Réponse 9:

Vous voulez savoir si le coût de l'enseignement supérieur sera finalement rentable. Oui et non. Vous pouvez avoir plus de degrés qu'un thermomètre et toujours ne rien valoir dans la vie, si vous choisissez de ne pas appliquer toutes ces connaissances à un objectif valable. Vous pouvez être un décrocheur et devenir l'homme le plus riche du monde, si vous vous entourez d'un grand talent et rassemblez toutes ces personnes intelligentes pour une entreprise qui en vaut la peine.

La sagesse conventionnelle nous dit que nous avons une chance de faire mieux dans la vie avec une meilleure éducation. Mais l'éducation seule ne vous rendra pas riche. Et le montant que vous dépensez pour obtenir cette éducation ne vous donnera peut-être jamais le salaire pour le payer. En fin de compte, chaque choix vous appartient. Ne vous attendez pas à ce que l'éducation la plus chère produise l'emploi le mieux rémunéré. L'éducation est un outil. Mais avoir un marteau ne compte que si vous avez des clous à battre. Si quelqu'un vous tend une boîte de vis, ce marteau n'est pas le bon outil.


Réponse 10:

Oui, je suis vraiment ravi d'être ingénieur logiciel. Le travail m'aide à réaliser la plupart de mes aspirations. Cela m'apprend des leçons difficiles tous les jours. J'adore ce voyage. Cela me donne la plus grande indépendance financière. Même si je vis séparé de ma famille et de mes amis, je me sens si proche d'eux. Je les apprécie mieux que lorsque j'étais avec eux physiquement. Ma famille est mon dynamiseur. J'ai gagné beaucoup de bonnes personnes dans mon parcours professionnel. Mon travail a beaucoup appris sur les approches d'apprentissage que je n'étais pas au courant pendant mes années à l'université. Cela a également amélioré mes compétences en matière de prise de décision. Je peux me voir dans un chemin constructif.

J'ai pu voir que les mots tels que «stress», «dépression» sont devenus les meilleurs mots pour les gens de l'industrie informatique. Ne vous laissez pas trop emporter par les opinions et les perceptions des autres. Selon moi, vous pouvez vous sentir stressé ou déprimé lorsque vous n'arrivez pas à équilibrer votre vie professionnelle et votre vie personnelle. Vous ne vous sentez peut-être pas si bien dans votre travail / lieu de travail. Idéalement, vous devriez commencer à analyser ce qui ne va pas avec l'équation de l'équilibre plutôt que de blâmer carrément la profession.


Réponse 11:

La réponse dépend de ce que vous appréciez. Mon expérience est qu'être ingénieur logiciel était une entrée dans tout un monde de possibilités que je n'avais jamais imaginé. C'est un bon point de départ, mais vous ne vous retrouverez peut-être pas là-bas. Dans mon cas, le développeur de logiciels a été rapidement remplacé par le chef d'une équipe de logiciels, puis le responsable d'un projet logiciel, puis la planification stratégique et la rédaction de propositions pour de très grands projets et un peu si l'ingénierie des systèmes et la rédaction de discours sont ajoutées, sans parler de l'apprentissage d'un beaucoup plus sur le génie logiciel que je n'ai jamais appris à l'école et finalement enseigner aux autres des sujets de génie logiciel et de gestion de logiciel.