Hallo. Dieser Artikel ist Teil einer Reihe, in der wir mit professionellen Softwareentwicklern sprechen, sie fragen, wie es ist, Code für ihren Lebensunterhalt zu schreiben, und vielleicht dabei ein paar Einblicke in die Softwareentwicklungsbranche gewinnen.
Heute sprechen wir mit Joe C. Hecht, auch bekannt als „TJoe“. Joe tippt jetzt Code in den feuchten Höhen von Florida aus, obwohl ich im Laufe des Interviews herausfand, dass er ein gebürtiger Texaner ist, der nicht mehr als fünf Meilen von meinem jetzigen Wohnort entfernt geboren und aufgewachsen ist. Die Welt der Entwicklung ist viel enger verbunden, als Sie es sich jemals vorstellen können!
Table of Contents
Hallo Joe, es ist wirklich toll mit dir zu reden, danke dass du dir die Zeit genommen hast
Es ist eine großartige Idee! Wie gesagt, ich nehme sehr gerne teil.
Sie sind ein sehr bekannter Name in der Delphi-Community. Für die wenigen, die Sie nicht kennen, was wäre Ihre kurze Zusammenfassung dessen, wer Sie sind und was Sie tun?
Angeheuerter Waffenprogrammierer – Haben Delphi – Wird Debuggen.
Welche(s) Embarcadero-Produkt(e) verwenden Sie a) am häufigsten b) regelmäßig?
RAD-Studio! Ich verwende sowohl Delphi als auch C++ Builder. Ich habe jede Version, die jemals veröffentlicht, installiert und einsatzbereit war.
Ich bekomme eine ganze Reihe von Kunden, die ein Upgrade von Legacy-Versionen in Betracht ziehen, bestehende Anwendungen modernisieren und plattformübergreifend zur Unterstützung von macOS und mobilen Plattformen möchten.
Zweifellos empfehle ich RAD Studio als das beste plattformübergreifende Entwicklungstool der Welt, um die Arbeit zu erledigen. Embarcadero hat wirklich alles getan, um Plattformen zu überqueren, sowohl für die Compiler als auch für die visuelle Steuerung. Sie haben in einem Markt, in dem es kein anderes Vergleichsinstrument gibt, eine erstaunliche Arbeit geleistet.
Wie und/oder warum sind Sie Entwickler geworden?
Ursprünglich war ich in der Akzidenzdruckerei tätig. Als der Apple Laserwriter zum ersten Mal auf den Markt kam, brauchten wir eine benutzerdefinierte PC-Drucksoftware. Ich begann mit BASIC und wechselte schnell zu C. Ich war bereits sehr beeindruckt von den Sidekick- und Superkey-Produkten von Borland. Der Rest ist Geschichte. Unser Desktop-Publishing-Dienstprogramm TypeStudio gewann einen PC Magazine Award, und die Softwareentwicklung wurde schnell viel erfolgreicher als unser Druckgeschäft.
Was hat Ihnen am meisten geholfen, Entwickler zu werden?
Mein Entwicklungssprungbrett kam mit meinem ersten Modem. Ich habe die Borland Compuserve-Foren gefunden, die von den berühmten TeamB-Mitgliedern besetzt sind. Durch das Lesen der Beiträge habe ich schnell viel gelernt und dann angefangen, anderen in den Foren zu helfen.
Ich bin fest davon überzeugt, dass das Durchforsten der Antworten auf Forenbeiträge (auch solche, die Sie nicht interessieren) oft viele versteckte Kodierungsjuwelen aufdecken. Technische Diskussionsforen sind wahrscheinlich der beste Weg, um gute Antworten zu finden, da auf schlechte Antworten normalerweise Antworten folgen, die auf Fehler hinweisen.
Glauben Sie, dass Sie jemals aufhören werden, Entwickler zu sein? Wenn ja, was wäre als nächstes?
Wenn RAD Studio nicht wäre, würde ich einen anderen Beruf in Betracht ziehen. Ich verwende viele verschiedene Entwicklungstools und Compiler auf mehreren Plattformen. Für die langfristige Entwicklung wird Ihre IDE zu Ihrem Zuhause, und RAD Studio ist das einzige Tool, das ich gefunden habe, das die gesamte Entwicklungserfahrung äußerst angenehm macht. Es hat alles, was Sie brauchen, es ist sehr reaktionsschnell, gut durchdacht und hochgradig anpassbar.
Was hat Sie dazu bewogen, Delphi/C++ Builder zu verwenden?
Ich habe mich intensiv damit beschäftigt, Windows-Programme von Grund auf mit Borland Pascal für Windows zu schreiben. Ich habe meine erste Kopie von Delphi erhalten, als ich bei Borland arbeitete. Es war eine erstaunliche Erfahrung, die erste ernsthafte Point-and-Shooting-Umgebung für die visuelle Entwicklung mitzuerleben. Es war rasend schnell und änderte das Windows-Programmierparadigma vollständig zu RAD (Rapid Application Development). Warum etwas anderes verwenden?
Ich habe bei Borland angefangen, C++ Builder zu verwenden, wie es entwickelt wurde. Es war seiner Zeit um Jahrzehnte voraus (und ist es immer noch). Ich habe auch Kylix (die Linux-Version C++ Builder) verwendet, über die Linux-Programmierer immer noch sprechen.
Wenn Sie einem Studenten, der über eine Karriere als Softwareentwickler nachdenkt, einen Rat geben könnten, welcher wäre das?
Versuchen Sie, sich nicht auf einen bestimmten Bereich zu „überspezialisieren“. Spezialisierung ist heute eine Herzensangelegenheit, kein Beruf. Die Softwareentwicklung hat sich zu einer sehr schnelllebigen Branche entwickelt, die sich schnell auf die Verwendung der neuesten Technologie ausrichtet. In Stellenausschreibungen werden oft Anforderungen aufgeführt, die Dutzende von Fähigkeiten erfordern.
Machen Sie sich in Online-Foren bekannt und lesen Sie die Beiträge. Sie werden viel lernen, wenn Sie den Austausch in den Entwicklungsgemeinschaften lesen.
Tabulatoren… oder Leerzeichen?
Räume! Handelt es sich um eine Frage zu Codeformatierungspraktiken (leicht gemacht durch das hervorragende Codevervollständigungsmodul von RAD Studio)?
Ein paar Schlüsselregeln für den Erfolg, die ich versuche zu befolgen:
„Nie ein Dann ohne Anfang“. Die Codeblockierung ist für die Nachverfolgung während des Debugging-Prozesses von entscheidender Bedeutung und bietet eine gute Schicht für die „Late-Night-Code-Klarheit“.
„Nie ein Kreieren ohne ein Freies“. Schreiben Sie Ihren Freigabecode, wenn Sie eine Ressource zuweisen. Sie können es später blockieren, verschieben, kommentieren (oder was auch immer), stellen Sie einfach sicher, dass Sie es schreiben. Wenn Sie den Freigabecode weit verschieben, ist es keine schlechte Idee, im Zuordnungscode zu dokumentieren, wo er platziert wurde (und warum).
Schneiden Sie langatmigen Code nach jedem „Gedanken“ im Prozess ab. Dies kann so einfach sein wie das Hinzufügen einer leeren Zeile oder vorzugsweise eines Kommentars.
Was war Ihr schönster Tag als Entwickler?
Ich wachte mit starkem Fieber auf, hatte einen Traum, in dem ich ein komplexes Problem gelöst hatte, das uns seit Jahren quälte. Ich habe es codiert und die Lösung in meinem Traum war richtig.
Was ist das Schlimmste daran, Entwickler zu sein?
Arbeiten in dieser „anderen“ IDE (natürlich)!
Eine große Lösung entwerfen und dann codieren, nur um festzustellen, dass es am Ende nicht funktioniert und einen völlig anderen Ansatz erfordert.
Was ist der coolste Entwicklungstipp, den Sie kennen?
Wenn Sie wirklich vorsichtig sind, können Sie Code schreiben, der zwischen Pascal und anderen C-basierten Sprachen fast genau übertragbar ist (abzüglich einiger kleiner Änderungen der Syntax, die automatisiert werden können). Ich portiere viel Code, in beide Richtungen, von und nach C und Pascal. Ich finde, dass Delphis „Compile and Run“ so schnell ist, dass es oft schneller ist, Code in Delphi zu entwickeln und dann den Pascal-Code für die endgültige Auslieferung nach C zu portieren.
Von zu Hause aus arbeiten, von einem Büro aus arbeiten, in einem offenen / geteilten Raum arbeiten? Was bevorzugen Sie und warum? Können Sie wählen?
Ich bevorzuge das Programmieren auf Kreuzfahrtschiffen!
Mit Ausnahme meiner besten Zeit auf dem Scott’s Valley Campus in Borland arbeite ich seit 1985 erfolgreich aus der Ferne.
Ich verwende High-End-Laptops mit großen Bildschirmen und mindestens Dual-Monitor-Funktionen. Ich habe eine kleine Aktentasche mit zwei Mac Minis, die ich zum Bereitstellen von VMs mit Entwicklungsumgebungen verwende, zusammen mit einem kleinen kabelgebundenen Netzwerk und verschiedenen ARM-Boards, Tablets und Telefonen für die „mobile Entwicklung“ (kein Wortspiel beabsichtigt).
Mit einem guten Wechselrichter habe ich ganze Sommer lang codiert, während ich das US-Nationalparksystem besuchte, und habe zweimal mit meiner Familie auf meinem Boot gelebt und über zwei Jahre aus der Ferne codiert.
Erzählen Sie uns etwas Interessantes, das wir nicht wissen.
Der Campus Borland war voller temperamentvoller Kameradschaft und farbenfroher Charaktere.
Ich erhielt den Spitznamen „Tjoe“, wie er mir von Bill „One Eye“ Fisher gegeben wurde.
Bemerkenswerte Erwähnungen:
Anders „Wenn du folgst, was ich sage“ Hejlsberg
„Lloyd ganz groß“
„Steve T“
„X“
„Der billig importierte Anders“ (um die beiden Anders zu unterscheiden)
Lino „Hey Boss“ Tadros (der zuletzt den alten Borland Campus besitzt).
Wenn Sie einen „Reparatur der Tech-Industrie“-Zauberstab schwenken könnten, was würden Sie ändern?
Bring Delphi in die Klassenzimmer!
Bekomme ich drei Wünsche?
Datenschutz, Sicherheit und Updates von Computern sind die großen Themen. Opt-In sollte eine Wahl sein, keine Regel. Ihre Handynummer zu verlangen, um ein paar Produktinformationen zu erhalten, ist das pure Böse, und die Datenbanken, die jeden unserer Atemzüge verfolgen, sollten dauerhaft gelöscht werden.
Waren Sie schon einmal im Silicon Valley? Wenn ja, wie war es? Wenn nicht, wollten Sie das schon immer?
Meine Zeit in Scott’s Valley auf dem Borland Campus hat unserer Familie einige der schönsten Erinnerungen beschert. Die Leute bei Borland waren für uns alle fantastisch! Die Landschaft war unübertroffen. Es war eine wirklich wertvolle Erfahrung und ein Höhepunkt unseres Lebens. Leider mussten wir aufgrund außergewöhnlicher Umstände abreisen, aber wir sind ein paar Mal zurückgekehrt, um unsere Freunde zu besuchen, und würden sofort wiederkommen.
Haben Sie jemals berühmte/bekannte Tech-Figuren getroffen? Wer war es? Wie ist es gelaufen?
Ich hatte das große Vergnügen, einige der Größen der Branche zu treffen, mit ihnen zu arbeiten und sogar mit ihnen anzufreunden.
Steve Teixeira, Lino Tadros, Danny Thorpe, Allen Bauer, David Intersimone und nicht zu vergessen die gesamte Mitgliedschaft im „Borland TeamB“.
Da fällt mir sicherlich Anders Hejlsberg (der Vater von Delphi) ein. Wir hatten eine sehr lockere Beziehung (ich habe nicht direkt mit ihm zusammengearbeitet), aber wir trafen uns gelegentlich. Er war sehr nett, aufrichtig und sehr zuvorkommend (sogar für meine dummen Delphi-Fragen). Leider habe ich die Tür geöffnet, als Bill Gates in einer Limousine vorfuhr und Anders mitnahm. Er schuldet mir immer noch eine dänische Flagge von einer kleinen Wette, die er verloren hat. Ich habe vor, eines Tages auf dieser Flagge zu sammeln.
Wenn Sie jemanden davon überzeugen könnten, Delphi oder C++ Builder in Betracht zu ziehen, was wäre Ihre Methode, wie würden Sie das tun?
Könnten? Möchten? Ich versuche aktiv, die Leute bei jeder Gelegenheit davon zu überzeugen, Delphi und C++Builder zu verwenden.
Ich erledige viel direkte API-Arbeit für MSVC-Clients, daher schließe ich das RAD Studio-Projekt in den Job ein. Kunden sehen sich das Projekt an, fragen danach und kommentieren oft, wie toll der Testcode aussieht (im Vergleich). Sie scheinen die Kommentarblöcke zu lieben, die von C++Builder eingefügt werden, wenn Sie klicken, um ein neues Ereignis hinzuzufügen, und sie lieben auch die Ereignisbenennung. Es ist alles sehr sauber.
Auf Konferenzen lasse ich oft meinen Laptop offen und arbeite an RAD Studio-Projekten (sogar auf beiden Linux-Festen) und bekomme immer wieder Fragen zum Produkt. Sie werden überrascht sein, wie viele Linux-Leute, die an diesen Konferenzen teilnehmen, auch in Windows programmieren. Ich habe ein paar gefesselt.
C++-Programmierer zu überzeugen, einen Blick auf C++ Builder zu werfen, ist ein Kinderspiel. Zeigen Sie ihnen einfach die IDE! Visual Studio-Benutzer sind immer wieder erstaunt über die Geschwindigkeit und Benutzerfreundlichkeit eines echten RAD-Entwicklungssystems, und Linux-Programmierer geben oft schnell zu, dass sie über eine Windows-VM verfügen (also zeige ich ihnen FMX Linux). Es klappt!
Delphi-Benutzer scheuen oft vor C++, wenn sie das Upgrade annehmen sollten. Die Welt ist voll von großartigem C-Code, der Delphi über das Upgrade zur Verfügung gestellt werden kann.
Ebenso gibt es eine Fülle großartiger für Delphi geschriebener Komponenten, die auch in C++Builder funktionieren.
Für mich geht es nicht um Delphi ODER C++ Builder, sondern darum, wie man sie am besten zusammen verwendet.
Welches technische Produkt möchten Sie erfunden/entworfen haben und warum?
Das PDF-Format (Portable Document File).
Ich liebe es, Typografie-, Imaging- und Publishing-Software zu entwickeln.
PDF ist viel zu kompliziert und wurde hauptsächlich als schreibgeschütztes Format mit sehr schlechten Bearbeitungs- und Konvertierungsfunktionen entwickelt. Das „Portable Document Format“ sollte für mehr als nur die Anzeige leicht zu transportieren sein. Das Importieren, Bearbeiten und Konvertieren eines PDFs erfordert oft ganz spezielle Werkzeuge (wie unser Produkt UberPDF).
Wenn du dein Leben noch einmal leben könntest, würdest du immer noch Entwickler werden? Wieso den?
Ich wurde zum Programmieren geboren!
Als kleines Kind in den 1960er Jahren, als die meisten Leute noch nicht wirklich wussten, was ein Computer ist, wurde ich bewertet und mir wurde gesagt, dass ich „ein großartiger Computerprogrammierer werden würde“. Diese Einschätzung wurde zum Familienwitz – bis ich ein großartiger Computerprogrammierer wurde.
Wie viele Kaffees trinken Sie am Tag und ist das genug?
Tjoe hat vor kurzem auf „eine Tasse Tee bitte – kein Zucker“ umgestellt.
Ich habe Kaffee komplett aufgegeben, nach Jahrzehnten des „immer on, immer frischer kolumbianischer Kaffee, 24×7 verfügbar“.
Sind Sie ein Nachtschwärmer, der bis spät abends codiert, ein Morgenmensch, der früh aufsteht, oder halten Sie sich an eine Art regulärer Sprechstunde?
Nachtfalke! Ich liebe es, nachts im Dunkeln zu programmieren. Es ist kühl, leise und der Bildschirmkontrast ist ausgezeichnet! Das Timing funktioniert auch gut für meine europäischen Kunden.
Haben Sie in Ihrer Karriere schon einmal eine „All-Nighter“ gemacht, um sich mit etwas auseinanderzusetzen, das unbedingt getan werden musste?
Oh mein! Jawohl!!! Viele Male. Ich habe einmal 121 Stunden in einer einzigen Woche für einen Kunden protokolliert.
Beschreiben Sie einige der besten Projekte, die Sie als Entwickler durchgeführt haben.
Ich war ein leitender Ingenieur bei der 7. Stufe, Grafik – Gaming – Motoren sowohl von 7 verwendeten Gestaltung ten Stufe und Disney Interactive für mehr Top – Titel, darunter „Ace Ventura“, „Battle Beast“, Howie Mandel „Abenteuer in Tuneland“ -Serie, „Timon & Pumbaa’s Jungle Games“, zusammen mit mehreren Monte-Python-Titeln. Es war eine sehr unterhaltsame und anspruchsvolle Position. Als wir unter Druck standen, um einen Titel herauszubringen, wechselten wir die Rollen von Programmierern zu Audio-Video-Editoren und machten uns an die Arbeit mit dem Talent. Es war nicht ungewöhnlich, mit jemandem wie David Gilmore von Pink Floyd oder Howie Mandel zusammenzuarbeiten, um einen Soundtrack zu erstellen. Die Monte-Python-Jungs waren im wirklichen Leben zerfetzt (sie brauchten kein Skript – sie lebten so).
Was ist die dümmste Frage, die Ihnen gestellt wird (keine davon zählt!)
Wenn ich sage, dass ich mich auf Grafikprogrammierung spezialisiert habe, werde ich oft gefragt: „Machen Sie T-Shirts?“.
Bieten Sie für die Arbeit mit Kunden an? Wenn ja, ohne etwas preiszugeben, was Ihnen unangenehm wäre, welche Art von Verfahren verwenden Sie?
Ja, ich zitiere normalerweise Aufträge für Kunden.
Der Code, der benötigt wird, um eine Stelle zu besetzen, ist entweder einfach oder erfordert zusätzliche Recherchen, Bewertungen oder eine Machbarkeitsstudie.
Ich gebe dem Kunden eine Gliederung, in der ich den minimalen und voraussichtlichen Zeitaufwand für die bekannten Teile der Arbeit erkläre, empfehle Obergrenzen für den Zeitaufwand für Recherche und Bewertung und setze „nicht weiter“-Grenzen für Fälle mit unbekannter Durchführbarkeit.
Ich bin sehr offen für das, was ich garantieren kann, was ich nicht garantieren kann, den beabsichtigten Input und Output des Jobs, und ich achte sehr darauf, dass kein Feature Creep im Rahmen des bestehenden Jobangebots irgendwie rationalisiert werden kann.
Wie verhindern Sie, dass Kunden/Programmmanager/Manager „Feature Creep“ haben?
Ich ermutige gut gestaltete Feature-Creeps! So entstehen außergewöhnliche Features!
Softwareentwicklung ist oft ein fließender künstlerischer Prozess, bei dem Sie Lösungen für die Probleme, auf die Sie stoßen, malen. Diese Lösungen werden oft zu hervorragenden Puzzleteilen, die niedrig hängende Früchte für neue und aufregende Funktionen liefern können, die einem Kunden empfohlen werden können.
Beschreiben Sie eine typische Programmiersitzung für Sie. Wie fängt es an? Machst du Pausen? Hast du irgendwelche Rituale/Gewohnheiten, die es begleiten?
Entfernen Sie zuerst Ihre Ablenkungen und machen Sie es sich bequem.
Ich beginne meinen Programmiertag immer mit einer kleinen „Aufwärmsitzung“, indem ich ein leeres Projekt erstelle und ein kleines Experiment durchführe, eine neue Komponente ausprobiere oder mit einer IDE-Funktion spiele, die ich lernen möchte.
Sehen Sie sich als Nächstes Ihre bevorstehende Codierungssitzung an (um sich aufzufrischen, wo Sie sich im Prozess befinden), bereiten Sie alle für Ihre Sitzung erforderlichen Recherchen vor und versuchen Sie, die Sitzung in logische „Abschlussschritte“ aufzuteilen (wo Sie Ihre Pausen einlegen).
Wenn Sie beim Programmieren auf ein schwer zu lösendes Problem stoßen, das Nachdenken erfordert, sollten Sie eine Pause einlegen (und beiläufig über das Problem und die möglichen Lösungen nachdenken).
Schließlich, wenn Sie Ihre Sitzung beenden, geben Sie immer eine Kommentarzeile ein, in der Sie erklären, wo Sie aufhören, notieren Sie alle anstehenden Probleme, was als nächstes ansteht, und sichern Sie immer Ihre Arbeit!
Hören Sie beim Programmieren Musik? Wenn ja, kannst du uns ein paar Tracks/Künstler/Performances nennen?
Nein. Während ich kodiere, nehme ich meine Umgebung nicht wahr. Ich kann auf einem überfüllten Lido-Deck eines Kreuzfahrtschiffes um 17 Uhr mit voller Kraft codieren. Ich liebe Musik, spiele Gitarre und bevorzuge klassischen Rock, Jazz und Blues. Zu den Lieblingskünstlern zählen Led Zeppelin, The Beatles, Diana Krall und so ziemlich jeder, der ein Blues-Cover macht. Polkas mag ich auch!
Verwenden Sie Methoden oder Techniken wie Agile, Scrum, Kanban, TDD? Wenn ja warum? Wenn nicht, warum?
Wussten Sie, dass TMS Software eine hervorragende Kanban-Board-Komponente hat?
Kanban passt sich gut der Softwareentwicklung an, es ist einfach und leicht zu implementieren.
Auch die empfohlenen Techniken, die in dem Buch „Code Complete“ von Steve McConnell, Microsoft Press, diskutiert werden, haben mir im Laufe der Jahre gute Dienste geleistet.
Verfolgen Sie Fehler? Wenn ja, was empfehlen Sie?
Natürlich verfolge ich Bugs!
Ich bin altmodisch, also halte ich es sehr einfach, es sei denn, der Kunde hat ein Tracking-System hochgeladen, indem ich (höchstens) ein dreistufiges Kommentarsystem verwende.
Kommentare am Anfang einer Unit, Kommentare in der Codeschnittstelle und den Implementierungsabschnitten und eine bugs.txt-Datei mit einer Übersicht, mit der sie nachverfolgt werden können.
Wenn es komplex wird, kann ich eine Kanban-Vorlagen-App verwenden, die ich habe.
Was ist der beste Programmierratschlag, den Sie erhalten haben?
Von Anneke Leigh (Borland): „Lernen Sie nicht zu viel, indem Sie versuchen, alles zu lernen – es kommt nicht darauf an, was Sie wissen, sondern wie gut Sie Ihre Ressourcen einsetzen können, um eine Antwort zu finden, wenn Sie sie brauchen“.
Von Heather Lathum (Borland): Nehmen Sie sich ein paar Minuten Zeit, um jeden Tag eine Delphi-Komponente auszuprobieren.
Was war die beste Frage, die Ihnen jemals in einem Vorstellungsgespräch gestellt wurde und wie sind Sie damit umgegangen?
Trickfragen im Vorstellungsgespräch! Ich gebe einen Überblick, wie das Problem zu lösen ist (ohne die genaue Antwort zu erarbeiten). Wenn ich nach einer genauen Antwort gedrängt werde, erkläre ich, dass genaue Antworten funktionieren, und frage sie, ob sie bereit sind, den Job oder den Abrechnungszyklus zu starten.
Hatten Sie schon einmal ein technisches Vorstellungsgespräch, das super glatt verlief – wenn ja, was raten Sie anderen? Wenn Sie ein katastrophales Vorstellungsgespräch hatten, was ist schief gelaufen und brauchen Sie eine Umarmung?
Mein Lieblingsinterview war bei Borland! Es lief perfekt, auf allen Ebenen. Es war wie ein wahr gewordener Traum.
Die größte Katastrophe war ein großer Debugging-Auftrag, der am Whiteboard auf Video aufgezeichnet wurde. Ich habe zu viele Informationen darüber preisgegeben, wie ich die verschiedenen Codierungsprobleme des Unternehmens genau lösen würde (sie haben die Lösungen ohne mich verwendet).
Die nächste große Katastrophe war ein großes Vorstellungsgespräch für einen Vertrag, den ich wirklich wollte, und sie wollten mich. Ich hatte die überwältigende Zustimmung von allen außer einem (dem Regisseur). Vielleicht hatte sie einen schlechten Tag, da ich einige negative Schwingungen und Reibungen von ihr spürte. Ich hätte etwas Initiative ergreifen sollen, um das Blatt zu ändern, einfach durch zusätzliche Interaktion mit ihr, aber stattdessen zählte ich für den Erfolg auf die Mehrheitsregel (und verlor).
Tipp: Überziehen Sie sich nicht, verschenken Sie Ihre Karten nicht und versuchen Sie, sich mit jedem zu identifizieren, der Ihrem Erfolg im Wege stehen könnte.
Ein guter Softwareentwickler:
Schreibt klaren, präzisen Code, der gut strukturiert und leicht verständlich ist.
Verwendet gut benannte Variablen, Prozeduren und Argumente.
Dokumentiert Code, dessen Zweck nicht genau geklärt ist.
Ist immer auf der Suche nach zukünftigen Möglichkeiten, um das Design des vorliegenden Codes zu nutzen.
Ein schlechter Softwareentwickler:
Schreibt schlampigen, verwirrenden, schlecht strukturierten Code, der schwer zu verstehen ist.
Verwendet kurze, kryptisch benannte Variablen, Prozeduren und Argumente.
Lässt keinen Spielraum für zukünftige Verbesserungen.
iPhone, Android, Sonstiges – und warum?
Ich habe sie alle. Persönlich. Ich würde „andere“ bevorzugen, obwohl es kaum zu gebrauchen ist.
Das iPhone schränkt ein, Android ist eher ein Leben im Wilden Westen.
Wir leben in einer Zeit, in der unsere Telefone als sicherer mobiler Computer funktionieren sollten, den Sie an einen Monitor und eine Tastatur in voller Größe anschließen und als Desktop verwenden können.
Das echte Microsoft Windows-Desktop-Betriebssystem kann auf diesen winzigen ARM-Geräten ausgeführt werden, sogar x86-Anwendungen im Emulationsmodus ausführen und in den meisten Fällen eine angemessene Benutzererfahrung bieten. Ich habe es benutzt.
Es sollte keine Überraschung sein, dass ein Board mit 4 Kernen, 2 Gigahertz und ein paar Gigs RAM tatsächlich ein einigermaßen gutes Desktop-Erlebnis bieten kann.
Sicher, ein kleines ARM-Board ist keine Rakete für ernsthafte Zahlenverarbeitung, aber in der heutigen Zeit sollten wir in der Lage sein, riesige Rechenaufgaben problemlos in die Cloud zu verlagern.
Ich schickte zwei Kinder zum Collagen mit Windows RT auf ARM-Tablets. Hat super geklappt und die Kinder waren begeistert. Ich besitze diese Tablets immer noch und mache immer noch einen guten Job.
Ein optimierter Linux-Desktop kann auf ARM fast magisch sein.
Es ist wirklich schade, dass nicht viel mehr Arbeit in das Ubuntu Touch-System gesteckt wurde. Die Welt braucht wirklich ein großartiges mobiles Betriebssystem, bei dem die Plattform nicht „im Besitz“ ist.
Für einen Entwickler: PC vs. Mac? Wieso den?
Was, keine Linux-Desktop-Option?
Ich bin in erster Linie ein Windows-Entwickler, ich mag Widows, aber ich bin überhaupt nicht zufrieden mit den Richtungen, die das Betriebssystem eingeschlagen hat.
Der Mac leistet hervorragende Arbeit bei der Bereitstellung von VMs aller Art, aber ich bin überhaupt kein großer Fan von OSX.
Die Wahrheit? Ich führe Linux als Desktop-Host aus, führe Windows in einer VM aus und greife über VNC auf OSX zu.
Was ist das Einzige, wofür Sie gerne in Erinnerung bleiben möchten?
Programmierer helfen und brutale Ehrlichkeit.
Gut oder schlecht, ich meine nichts Böses und wünsche nur Gutes daraus.
Ich habe Kunden aufgrund von Code-Reviews mit meinem roten Stift verloren. Kunden verstehen die Wahrheit, aber ich hatte einige, die tatsächlich die Bestätigung schlechter Praktiken wünschten.
Was ist der beste Entwickler-/Hacker-/Technik-/Geek-Film?
Ich mag Dokumentationen über Geschichte und Wissenschaft. Ich mochte Stargate (sowohl den Film als auch die Serie). Ich habe eine echte Stargate SG-1 Militärjacke bekommen und werde manchmal gegrüßt, wenn ich sie in der Öffentlichkeit trage.
Kein Entwickler sollte gesehen werden ohne:
Delphi, Beyond Compare und NotePad++. Was braucht man wirklich mehr?
Oh, C++-Builder! Holen Sie sich das Upgrade auf RAD Studio!
Wenn ein Film über Ihr Leben gedreht würde, wen würden Sie gerne spielen?
Glen Campbell oder Jimmy Page.
Haben Sie ein Buch, ein Produkt oder eine Dienstleistung, die Sie erwähnen möchten?
Dalija Prasnikar [Embarcadero MVP] hat zwei sehr wertvolle Bücher, die jeder Delphi-Programmierer besitzen sollte: “ Delphi Event-based and Asynchronous Programming “ und “ Delphi Memory Management for Classic and ARC Compilers „.
„ Delphi Component Design “ von Danny Thorpe ist ein Muss (auch für C++ Builder-Benutzer). Auch wenn Sie keine Komponenten entwerfen, finden Sie in dem Buch viele Juwelen.
Das Buch „ Code Complete “ von Steve McConnell, Microsoft Press, hat mir gute Dienste geleistet, um Code intelligent zu entwerfen und zu formatieren, um Fehler zu minimieren.
„ Beyond Compare “ von Scooter Software ist ein unverzichtbares Produkt, das für alle Desktop-Plattformen verfügbar ist und sich auch gut in den RAD Studio-Editor integrieren lässt. Holen Sie sich das vollständige Produkt und lernen Sie, es zu verwenden!
TMS Software [Embarcadero Technology Partner] bietet eine fast endlose Liste großartiger Komponenten für RAD Studio. Die Komponenten sind gut gestaltet, bieten großartige Unterstützung und werden regelmäßig aktualisiert. Sie haben auch einen „All Access Pass“, mit dem Sie alles im TMS-Katalog erhalten. Sag ihnen, TJoe hat dich geschickt!
Haben Sie eine Website, die die Leute besuchen können?
Was ist Ihre bevorzugte Kontaktmethode von potenziellen Kunden?
https://code4sale.com/email/JoeHecht/
Was für ein super Interview! Danke, dass du mit mir gesprochen hast, Joe.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition