Welche Programmiersprache ist die beste? (Wichtige Karrieretipps für Programmierer und Entwickler)

von

Haben Sie Probleme beim Konvertieren von Social Media führt in zahlende Kunden? CoupSmart ist ein unglaublich cleveres Tool, mit dem Sie mit dem Coupon-Marketing "Insider-Club" ist, dass Ihre Social-Media-Kontaktliste können.

Zusätzlich dazu, dass die derzeitige CTO von CoupSmart, ist Troy Davis ein erfahrener Entwickler mit einer langen Liste von Erfolgen hinter ihm. Durch seine Jahre in der Software-Industrie, hat er einige der wichtigsten Trends Karriere bemerkt, dass getrennte erfolgreichsten Entwickler von diejenigen, die nie ihr Potenzial auszuschöpfen.

Troy war nett genug, sich mit mir zu teilen und einige seiner Einsichten. Genießen Sie das Interview unten.

Können Sie mir bitte ein wenig Hintergrund über sich selbst und CoupSmart?

Ich begann als Webmaster für Werbeagenturen im Jahre 1995, arbeitete als Software-Entwickler und IT-Manager standardmäßig für einige Firmen wie meine Karriere voran. Ein Produkt an denen ich gearbeitet habe einige Investitionen Geld im Jahr 2008 und ich habe für Startup-Unternehmen gearbeitet, als CTO seit damals. Ich habe vor allem auf Web-Applikationen die meisten meiner Karriere konzentriert, sondern haben auch ein paar Desktop-und Embedded-Anwendungen entwickelt, wie auch. Im Jahr 2001 begann ich eine Gruppe mit dem Namen der Cincinnati Programmers Guild, einer pädagogischen Non-Profit, die auf die Erweiterung der Kenntnisse seiner Mitglieder, indem er sich keine spezifischen Technologien, die sehr viel anders als die meisten technischen Gruppen ist konzentriert. Stattdessen wurde der Fokus auf das Erlernen neuer Ideen, egal welche Technologien verwendet wurden platziert. Wir hatten konsequente monatliche Treffen für 5 oder 6 Jahren, und es war eine tolle Erfahrung.

CoupSmart begann im Jahr 2009 von CEO Blake Shipley. Ursprünglich um eine iPhone-App zentriert, verschoben wir Schwerpunkte am Ende des letzten Jahres auf einige interessante Ideen kamen wir auf die wirtschaftliche, geschäftliche und gesellschaftliche Dynamik des Coupons zu versuchen. Wir haben bietet eine Web-/ Facebook-Aktionen für ein paar Monate jetzt, ermöglicht es Menschen, um Angebote mit ihren Freunden zu teilen, einen höheren Wert bieten zu verdienen. Unsere Kunden sind meistens in Cincinnati im Moment. Wir setzen auf Social-Media-Bindung auf die physische Welt für unsere Kunden fokussiert, und haben vor kurzem ein Hardware-Gerät für Point of Sale, um bei diesen Bemühungen unterstützen, entwickelt. Dies ist im Beta-Test mit ein paar Kunden im Moment.

Was ist Ihre größte Rindfleisch mit Denkweise der Software-Entwickler-Community?

Es ist nicht so sehr die Gemeinschaft der Software-Entwickler, die ein Problem darstellen, wollen die meisten Leute sich die Mühe zu suchen und zu sprechen, mit anderen Programmierern suchen Wissen selbst, und in der Regel machen zu lernen, wie andere ihre Herausforderungen zu meistern. Dies führt häufig zu versuchen, mehrere Sprachen, Lieferanten, Bahnsteige usw. und das ist alles gut.

Das Problem, das ich besprechen, ist öfter in Einzelhaft Entwicklern gesehen. Die Technologien, die sie verwenden, sind zunächst attraktiv, nur weil die Stelleninserate höhere Einstiegsgehälter für Entwickler mit Erfahrung in ihnen zu zeigen. Nach einigen Klassen und viel Versuch und Irrtum, wird der Entwickler minimal kompetent in einem engen Aspekt der Software-Entwicklung, und landet einen Job durch Befragung (oft) mit einem nicht-technischen HR Person, die nicht abschirmen können Entwickler gut.

Nach ein paar Jahren erreicht der Entwickler ein bestimmtes Niveau der Kenntnisse im Umgang mit den Aufgaben oft die ihnen zugewiesen und sind davon ausgegangen, dass Software-Entwicklung-Profis sein. Und sie oft Küste für wie lange sie können auf dieser Ebene.

Einige Zeit später, nimmt eine neue Person über die Abteilung und nicht für die Technologien von ihrer Vorgängerin verwendet kümmern. So ein Aufwand Migration beginnt, und jeder wird erwartet, dass zu den neuen Technologien schnell anpassen oder finden eine andere Art von Arbeit für sich. Wenn ein Entwickler ein Interesse daran, auf dem neuesten Stand mit ihrem Arbeitsbereich übernommen hatte, würden sie Empfehlungen für die neuen Systeme zu leisten haben, und würde wahrscheinlich finden einen bequemen Platz in der neuen Struktur. Aber diejenigen, die sich auf ihren Lorbeeren ausgeruht oft defensiv reagieren, behindert Veränderung, weil sie einfach Angst davor. Und schließlich bekommen sie rosa Slips.

Als ich aktiv mit dem Cincinnati Programmers Guild war, sah ich viele Mainframe-Entwickler, die abgeschaltet worden Wellen gelegt hatte, und einmal arbeitslos waren verzweifelt zu holen, dass ein Schlüssel Idee, die sie um einen anderen Job tun dasselbe für sie das taten bekommen benötigt letzten 15 oder 20 Jahren. Viele dieser Menschen kamen zu ihrem ersten Treffen mit Guild nur geschrieben COBOL oder FORTRAN ihre gesamte Karriere. Sie hatten nie die Mühe gemacht, etwas anderes zu lernen. Und die meisten von ihnen schien die Idee, dass Lernen nur eine neue Sprache war alles, was sie an ihrer bisherigen Rolle und Gestalt wiedererlangen nötig haben.

Einige bekamen Zertifizierungen in. NET oder Java, verbringen Tausende von Dollar, um ihre Karriere neu zu starten. Einige bekamen neue Arbeitsplätze, und ich sah sie nie wieder bei Guild Treffen, kehrte sie zu ihrem einsamen Existenzen nehme ich an. Aber die meisten von ihnen verweilte der Arbeitslosigkeit seit Jahren, wobei sie diese Klasse oder die Klasse, wie sie es mit temporären Arbeitsplätzen leisten konnten. Sehr wenige von ihnen versuchten, freiberuflich tätig zu sein, entweder. Sie alle wollten zurück in großen Unternehmen, wie es schien. Die Illusion der Sicherheit des Arbeitsplatzes herrschte, trotz der offensichtlichen Beweise für das Gegenteil, was bedeutet, alle Menschen mit ähnlichen Rätseln Karriere an den Sitzungen teilnehmen.

Wenn ein Entwickler hat Erfolg unter einer bestimmten Plattform oder Sprache hatte, was ist los mit spezialisierten und immer einen Experten in dem betreffenden Gebiet?

Es ist nichts falsch mit zu einem Experten in einem bestimmten Bereich der Studie, ist es Überspezialisierung das ist das Problem: Die Konzentration auf einen Satz von Technologien, um den Ausschluss aller anderen. Also, nur weil Sie gerne schriftlich geschehen C + + auf Linux bedeutet nicht, sollten Sie so tun, wie es der einzige Weg, um anständige Software zu schreiben ist. Sie könnten ein paar Leute zu glauben, du Narr, aber letztendlich du bist nur täuschen sich.

Ein Beispiel: Ein Programmierer habe ich mit nur absolut gehasst Windows und alles, was mit ihm ging arbeiten. So konnte es nicht ertragen, im selben Raum mit ihm sein. Ich arbeitete auf einem Mac, also war ich irgendwie befreit. Aber wir hatten eine Web-Anwendung, um die Kompatibilität mit allen gängigen Browsern benötigt werden, und das war der Plan. Dieser Entwickler kämpfte mit nur etwa jeder auf das Personal einfach nicht unterstützt Internet Explorer, die seit ein fast sicheres ein Akt der Selbstmord wäre für jeden SaaS-Unternehmen haben. Ich war verantwortlich für diese Gruppe, so war es meine Aufgabe, zu versuchen, sie davon zu überzeugen, nur bekommen die Kompatibilität Arbeit trotz ihrer Bedenken gemacht. Es funktionierte nicht sehr gut funktioniert, passiert mehrere Anfälle von Schreien und Wut sowohl persönlich als auch über das Telefon. Ich drängte, mit ihr als freier Mitarbeiter nur für eine Weile zu sehen, ob einige Isolation helfen würde funktionieren, aber es kam nicht, und schließlich wurde sie entlassen.

Ein anderes Beispiel: Ein Linux-Entwickler arbeitete mit mir an der ersten Werbeagentur ich in den späten 90ern arbeitete. Er war jung und sehr rechthaberisch, wie groß seine Technologien gewählt wurden. Er häufig Mitarbeiter auf ihre technische Inkompetenz beleidigt wie er sie sah, war er nicht mit den Mitarbeitern beliebt. Aber er schrieb Code sonst niemand in der Firma wusste, wie man zu der Zeit zu schreiben, und es war wichtig, Code, so dass seine sozialen Eruptionen wurden toleriert. Ich beschloss, mehr über Linux und C an diesem Punkt zu lernen, und innerhalb von ein paar Monaten hatte eine ziemlich gute Vorstellung davon, was dieser Kerl tat, jeden Tag. Und es war nicht viel. Seine Ansprüche an technische Überlegenheit war zu einer Krücke, und er benutzte anderer Mangel an Wissen zu rechtfertigen, nicht sehr hart gearbeitet überhaupt. Letztlich wurde er loslassen nach einer besonders fiesen Austausch mit wenigen Mitarbeitern. Am nächsten Tag, als er in eine Client-Server aus seiner Heimat angemeldet und ihre gesamte Website gelöscht, zusammen mit mehreren Log-Dateien, die ihn verwickelt dabei haben könnte. Aber er verpasste ein, und es hatte eine IP-Adresse, die wir bestätigten später an diesem Tag mit seinem ISP, um zu seinem Login zu jener Zeit zugeordnet werden. Wir verloren den Kunden sowieso, aber er hat besondere Überwachung durch die Strafverfolgungsbehörden seit Jahren hinterher. Vielleicht noch überwacht werden, ich bin nicht sicher.

Viele würden argumentieren, dass es eine kluge Wette und eine intelligente Karriereschritt, um Ihre Bemühungen mit dem stärksten oder dominierende Plattform ausgerichtet ist. Was ist los mit dieser Mentalität?

Nichts, so lange, wie Sie verstehen, dass, was Sie auf Fokussierung ist nur der aktuelle Geschmack des Monats, und wird unweigerlich mit einer anderen Technologie irgendwann ersetzt werden. Also einfach durch das Lernen über die Alternativen, bevor es Zeit zu wechseln ist vorbereitet werden.

Mein Punkt ist, dass die Programmierung ist ein Karriereweg, wo alle wichtigen Kenntnisse hat ein Ablaufdatum befestigt ist, und wie die Zeit vergeht, wächst die Gültigkeitsdauer kürzer. Dies steht im Einklang mit Hardware, wie schnell ändert, hat der Mikroprozessor-Industrie blieb ziemlich nah dran an den Vorhersagen des Mooreschen Gesetzes für mehr als 30 Jahren, und viele Wissenschaftler sagen, dass dies Anzeichen dafür, dass wir uns noch in den Anfängen der EDV ist. Es wäre unklug, anzunehmen, dass wir jede Art von nachhaltigen Plateau mit diesen Technologien noch nicht erreicht.

So sind die Mainframe-Leute, die ich bereits erwähnt, dass hatte die gleichen Aufgaben für 15 oder 20 Jahren sind wahrscheinlich die letzte ihrer Art sein. Ein einsamer, überspezialisierte Programmierer Einstieg in die heute nur weg mit ihrem aktuellen Fähigkeiten für 5-10 Jahre. Diese kontinuierliche Abnahme der Lebensdauer der neu erlernten Fähigkeiten Computing stimmt mit der technologischen Singularität Konzept, etwas, das einen Besuch wert sein könnten:

http://en.wikipedia.org/wiki/Technological_singularity

Was ist das Schlimmste, was passieren kann? Was ist los mit Festhalten an Techniken, die "gut genug", und mehr vertraut sind?

Ich sehe mögliche Gefahren darunter ein allgemeiner Mangel an fähigen Programmierern wegen Überspezialisierung in-jetzt veralteten Technologien (große Unternehmen habe mit diesem Anspruch auf eine wachsende Zahl von Tech-Worker Visa für Jahrzehnte zu rechtfertigen), und riesige Mengen an Geld ausgegeben unnötig zu stützen, ein Alterung Technologie aufgrund interner Widerstand gegen Veränderungen. Diese machen letztendlich die gesamte Wirtschaft weniger produktiv / rentabel. Das bedeutet weniger Arbeitsplätze für alle und eine kleinere Wirtschaft insgesamt als wertvolle Ressourcen in nicht-produktive Anstrengungen verbracht und versucht, Stürme in Tassen in verschiedenen Größen und Zusammensetzungen zu erfinden, was tatsächlich auf absehbare Zeit benötigt fangen.

Und es gibt noch ein Dauerbrenner Entwickler Philosophie, dass "gut genug" Techniken sind wirklich gut genug, solange Sie Ihre Möglichkeiten gut zu kennen. Das ist nicht im Widerspruch zu dem Wert des fortwährenden Lernens, jedoch. Die meisten der Zeit, "gut genug" hat mit einem Urteil, wie viel Zeit es braucht, um eine komplexere Lösung für ein Problem, gegen die Wahl eines einfachere Methode, die Nachteile bekannt hat implementieren tun, wird aber wahrscheinlich nicht offenbar als Problem . Verwendung einer alten Technik, um die gewünschte Funktionalität schneller zu liefern ist nicht grundsätzlich falsch, könnte es der beste Weg, um das System funktioniert wie gewünscht zu bekommen. Aber die Unkenntnis der Alternativen für diese Entscheidung kann teuer werden für viel mehr Menschen als die Entwickler und ihre Arbeitgeber. Software Unzulänglichkeiten überwinden und immer wieder wiederholt mit wachsenden Zahl von Menschen, so eine schlechte Entscheidung von einem Entwickler kann einen überproportional großen Einfluss auf das Leben von viel mehr Menschen im Laufe der Zeit haben.

Aber mehr auf den Punkt, glaube ich nicht, es ist möglich, sichern Sie eine Forderung, dass jede einzelne Software-Technologie sein wird "gut genug", um eine Vielzahl von Problemen über einen langen Zeitraum anzugehen. Wir sind nur nicht in diesem Stadium der technologischen Entwicklung noch.

Was war Ihre Entwicklung Philosophie bei der Arbeit an CoupSmart, und welche Art von Ergebnissen hat es bringen?

Die Software-Entwicklung wurde bereits von zwei Teilzeit-Entwickler begonnen, als ich CoupSmart beigetreten, so dass die Sprache bereits gewählt worden, und es war PHP. Es ist nicht meine Lieblingssprache, aber es ist perfekt geeignet für moderne Web-Anwendungen, also war ich nicht besorgt. Es gibt auch einen Vorteil darin, dass mehr Entwickler frisch aus der Schule über Kenntnisse von PHP, während weniger vertraut mit Ruby, die die Sprache, die ich gewählt werden, wenn die Variablen anders gewesen sein könnte ist es.

Und obwohl es wahrscheinlich noch zu früh zu sagen, ob unsere Programmiersprache Wahl hatte einen direkten Einfluss auf den Erfolg der CoupSmart als ein Unternehmen, wir werden häufig von anderen Unternehmern in unserem Kreis von Freunden gelobt, werden ihre Software-Entwicklungsteams in. NET oder Java arbeiten sind und offenbar weit weniger produktiv auf die gleichen Ressourcen gegeben. Also werde ich das als vorläufige Sieg zählen.

Warum denken Sie, andere Entwickler sind so resistent gegen neue Ideen?

Ich glaube, Sie können dies mit den gleichen Gründen, die Menschen widersetzen sich der Veränderung im Allgemeinen beantworten. Angst vor dem Unbekannten, Selbstzweifel, überwältigende Auswahl, etc. Es ist wirklich nicht anders. Wir entwickeln Gewohnheiten, weil es einfacher ist als zu überdenken jedes einzelne Entscheidung ist Vergangenheit, es ist einfach schneller. Aber wenn Sie zu Ihrem vorherigen Entscheidungen zu lange ausfallen neu zu bewerten, es gibt immer Konsequenzen, wie Sie und der Rest der Gesellschaft auseinander driften ideologisch.

Eine Frau, die ich in Guild begegnete, war ein COBOL-Mainframe-Programmierer, der sich nach über 20 Jahren bekam legte schriftlich die gleiche Art von Code jeden Arbeitstag. Sie ersetzten die Großrechner mit einem moderneren System, und sie hatte nicht mit dem Team dabei das neue Werk überführt. Sie dachte, ihr Projekt scheitern würde, offenbar. Es könnte sicherlich haben, scheitern viele Software-Projekte. Aber diese hier nicht, und sie wurde kurz nach der Großrechner wurde stillgelegt gelegt. Sie beschloss, dass das, was war so neu in der modernen Programmiersprache, die gefehlt hatten in ihrer Arbeit war die Objektorientierung (AKA OÖ), eine Abstraktionsschicht, die es einfacher, große Softwaresysteme zu entwerfen macht. Ich ermutigte sie, eine neue Sprache lernen, um sich mit OO-Konzepte, aber sie schien irgendwie Angst. Einige Monate später erzählte sie mir, sie habe schließlich für eine Klasse in. Net registriert. Das wäre sicherlich decken OO Themen, also versuchte ich, einige positive Verstärkung geben. Aber ich denke, ihre Konzeption des Romans, wie dieses Konzept kann in ihre Art, einfach über sie, bis sie es verstanden bekommen haben. Sie bleibt ohne Arbeit bis zum heutigen Tag über 5 Jahre später.

Ich arbeite mit einem Entwickler, der für einen konkurrierenden Werbeagentur gearbeitet vertraut. Ich sprach mit ihm über Mittag ein Mal, und er gestand ein wenig scheu, dass er noch tun die meisten seiner Arbeiten in ColdFusion, eine Programmierumgebung, die wohl nicht sehr gut altert. Ich fragte ihn, ob er etwa versucht, etwas modernere für neue Projekte dachte, und er behauptete, untersucht ein paar andere Optionen, aber war einfach nicht bereit aufzugeben seine Lieblings-Umgebung, die er nur geliebt und fühlte mich sehr wohl mit. Etwa zwei Jahre später hörte ich, dass seine Firma hatte sich seine Abteilung geschlossen und legte ihn ab, nicht genug Kunden wollten ihre Arbeit in ColdFusion mehr gemacht, und der Entwickler war einfach nicht bereit sind, etwas anderes auszuprobieren, so hielten sie immer neue Projekte, und nach einer Weile, sie könnten nicht rechtfertigen, hält ihn in Vollzeit nur für Wartungsarbeiten an alten apps.

Related posts:

  1. Communication Skills sind entscheidend für den Erfolg in einem IT-Karriere
  2. Zukünftige CIOs und CTOs: Der Schlüssel zum Erstellen und Ausführen eines Winning Information Technology Karriere-Plan
  3. CRM-Beratung für Großhandel und Telesales Teleprospecting (B2B CRM)
  4. Praktische Ratschläge für den Aufbau Ihrer ersten Server Room
  5. Warum ist die Multi-Core so wichtig?

Lassen Sie eine Antwort