Zum Inhalt springen

Soll ich Codebeispiele bei meiner Bewerbung angeben?


Tutorialwork

Empfohlene Beiträge

Hallo liebes Forum,

ich habe vor mich als Fachinformatiker zu bewerben. Dort heißt es man soll Projekterfahrung oder Codebeispiele mitliefern. Ich programmiere in meiner Freizeit Minecraft Plugins (Erweiterungen für Minecraft Server) und auch mit PHP.

Jetzt weiß ich allerdings nicht ob ich das Projekt als Codebeispiel nutzen soll. Deswegen frage ich euch was ihr denkt.

Codebeispiel: https://github.com/Tutorialwork/WebApply

Ich freue mich über eure Antworten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist das für eine Bewerbung für ein Arbeits- oder Ausbildungsplatz?

Für einen Arbeitsplatz wäre ich vorsichtig, da der Code keine professionelle Note besitzt.

Für einen Ausbildungsplatz weiß ich nicht, was ich davon halten soll, wenn eine Firma Codebeispiele sehen möchte. Eine Ausbildung ist doch dafür da, dass man den Beruf erst erlernt. Man benötigt also keine Erfahrung. Auf den ersten Blick klingt es eher danach, als ob sie nur eine billige Arbeitskraft suchen. Ich bin da zwie­ge­spal­ten aber ich glaube, ich würde es weglassen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das habe ich ganz vergessen zu erwähnen. Es handelt sich um einen Ausbildungsplatz. Wobei mir grade auffällt das mit den Codebeispielen steht unten auf der Seite wo die Jobangebote stehen und auf dieser Seite stehen nicht nur Ausbildungsplätze sonder auch Arbeitsplätze ich denke es ist auf die Arbeitsplätze bezogen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Eine Angabe deines Github-Accounts im Lebenslauf unter den persönlichen Daten oder Kontaktdaten kann aus meiner Sicht nie schaden. Dort würde sich beispielsweise auch ein Foren- oder Xing-Account angeben lassen, wenn man das möchte. Ob der Personaler oder ein weiterer Entscheider sich die Beiträge wirklich anschaut weiß man nie, aber es zeigt Interesse sich dort zu engagieren.

Deinen Quellcode kann ich nicht beurteilen. ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb neikei:

Eine Angabe deines Github-Accounts im Lebenslauf unter den persönlichen Daten oder Kontaktdaten kann aus meiner Sicht nie schaden.

Wenn der praktisch inaktiv ist und/oder dort nur Code-Müll produziert wurde, kann das sehr wohl Schaden. Man sollte nie vergessen das Github als persönliche Referenz-Werbung gedacht ist. Schlechte Werbung = schlechter Gesamteindruck. Wenn man da nicht an professionellen Projekten mitarbeitet, sollte man sich den Link in meinen Augen besser sparen, denn es hat keine Aussagekraft.

Bearbeitet von Decius
Link zu diesem Kommentar
Auf anderen Seiten teilen

Bei einer Ausbildung und einem aktiven Account kann das nur nutzen, finde ich. Dort erwartet keiner, dass Du top notch Code produzierst, aber so sehen die Unternehmen, dass Du nicht bei 0 anfangen musst. Das ist, gerade für eine Ausbildung, in jedem Fall ein Mehrwert. Hier gibt es also viel Chance bei überschaubarem Risiko.

Bei einem richtigen Arbeitsplatz wäre ich damit vorsichtig. Da kann man sich viel mit kaputt machen, denn an eine gelernte Fachkraft werden andere Anforderungen gestellt und es gibt viel mehr Fallstricke. Zudem erwartet man dort, dass Du natürlich weißt, was Code ist. Dafür hast Du eine Ausbildung absolviert. Hier gibt es viel Risiko bei überschaubarer Chance.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kurz Offtopic: In der apply.php (bzw natürlich generell, hatte das nur da so gesehen):

Lange HTML-Strings per Echo ausgeben ist nicht so wahnsinnig guter Stil, du kannst (auch innerhalb eines if-Blockes) mit ?>  den PHP-Parser stoppen und mit <?php wieder starteten. Also statt

<?php
$something = ['foo', 'bar'];
if (count($something) > 1) {
  echo '<div>Sehr viel HTML</div>';
} else {
  echo '<div>Ebenfalls viel HTML</div>';
}
$something_else = ['lorem', 'ipsum'];
?>

Ist das da deutlich besser:

<?php
$something = ['foo', 'bar'];
if (count($something) > 1) {
  ?>
  <div>Sehr viel HTML</div>;
	<?php
} else {
  ?>
  <div>Ebenfalls viel HTML</div>;
  <?php
}
$something_else = ['lorem', 'ipsum'];
?>

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 21 Stunden schrieb Tutorialwork:

Jetzt weiß ich allerdings nicht ob ich das Projekt als Codebeispiel nutzen soll. Deswegen frage ich euch was ihr denkt.

Ich bin da bisschen im Zwiespalt. Auf der einen Seite ist eine Ausbildung da, um dich auszubilden. Auf der anderen Seite, ist der Code halt auch absoluter Anfängercode (nicht böse gemeint, ich weiß wovon ich rede weil ich auch so angefangen habe). Die Frage ist halt, was der Betrieb erwartet. Erwartet er jemanden, der schon alles kann? Dann ist es eh der falsche Betrieb, denn du solltest ausgebildet werden. Wenn nicht, ist das erstmal absolut OK. Ich würde dennoch einige Grundlagen mehr reinpacken, zum Beispiel einiges objektorientiert umsetzen, HTML und PHP trennen (keine echos!) und auch "EVA" (Eingabe-Verarbeitung-Ausgabe statt alles zu mischen). Was mir absolut gar nicht gefällt ist, dass du bei Aufzählungen keine Unsorted Lists (<ul>) verwendest, sondern "•"-Zeichen oder "<br><hr><br>" (abstände mit CSS machen statt mit HTML). Worüber man auch streiten kann ist, dass du externe Scripte/Styles aufrufst (jQuery und Google Fonts), das ist halt grad auch so n DSGVO-Ding was man vermeiden sollte. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb Errraddicator:

[...]aber so sehen die Unternehmen, dass Du nicht bei 0 anfangen musst. Das ist, gerade für eine Ausbildung, in jedem Fall ein Mehrwert. Hier gibt es also viel Chance bei überschaubarem Risiko.[..]

Kommt auch hier darauf an:

Wenn ich sehe dass der Azubi mistigen Code produziert und ich ihm erst einmal schlechte Angewohnheiten wieder abgewöhnen muss nehme ich lieber einen, bei dem ich zwar bei Adam und Eva aber eben auch komplett auf der grünen Wiese anfangen kann.

Zumindest in meiner FiSi Klasse in der BS waren alleine schon an die Punkte "Variablendeklaration" und "Kommentare" immer ein großer Reibungspunkt. Diejenigen die schon alles konnten *hust* haben deutlich unübersichtlicheren Code produziert als diejenigen die bei Null angefangen haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Risiko bei Codebeispielen ist ziemlich hoch.

Erstens guckt deine Bewerbung vermutlich erstmal ein Personaler an, der nicht viel von IT weiß. Sobald der dann sowas  sieht (und auch der Rest passt), geht das weiter an den zuständigen Leiter der Arbeitsstelle. Der/Die hat vermutlich auch Besseres zu tun, aber guckt sich natürlich an, was der/die potentielle Neue denn kann.

Also wird vermutlich das erst beste Projekt aus deinem GitHub angesehen, evtl. auch ältere, und man guckt ob man irgendwas findet, was man nicht gern sieht. Da man ja kritisch bewertet sieht man hier automatisch mehr auf die negativen Sachen, als die positiven (ist selten, dass sich jemand bei einer Bewertung mehr den positiven Dingen widmet).

Auf deinem GitHub muss also perfekt strukturierter Code sein, der die gängigen Konventionen deiner Sprache einhält, ohne irgendwelchen "schmutzigen" (Not)lösungen. Das heißt du kannst schon mal ein gutes Stück von dem Zeug, welches du auf StackOverFlow gefunden hast um ein Problem zu lösen vergessen.

Und glaub auch nicht, dass groß viel Zeit investiert wird um dein GitHub zu durchleuchten. Schließlich gibt es viele Bewerber und die Person die da macht, hat auch noch selbst was zu tun. Im schlechtesten Fall bist du dann die nervige Arbeit vom Personaler, weil wieder jemand sich mit nem GitHub bewerben muss, obwohl man bis zum Hals in Arbeit steckt und Zeitdruck hat.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb äymm:

Ist das da deutlich besser:


<?php
$something = ['foo', 'bar'];
if (count($something) > 1) {
  ?>
  <div>Sehr viel HTML</div>;
	<?php
} else {
  ?>
  <div>Ebenfalls viel HTML</div>;
  <?php
}
$something_else = ['lorem', 'ipsum'];
?>

Wirklich besser ist das nun auch nicht. Eine beliebte Methode bei Anfängern ist es, PHP-Code im HTML-Text auszuführen:

<div><?php echo count($something) > 1 ? 'Sehr viel HTML' : 'Ebenfalls viel HTML' ?></div> 

Aber man vermischt weiterhin HTML und PHP, was ich nicht besonders schön finde. Ich persönlich würde da entweder ein HTML-Template-Framework verwenden oder in einfachen Fällen kann man aber auch kurz was eigenes schreiben:

<?php
class TemplateRenderer {
    public function Render($template, $values) {
        foreach ($values as $key => $value) {
            $search = '{@'. $key . '}';
            $template = str_replace($search, $value, $template);
        }

        return $template;
    }
}
<?php
$template = '<div>{@Content}</div>';
$content = count($something) > 1 ? 'Sehr viel HTML' : 'Ebenfalls viel HTML';

$renderer = new TemplateRenderer();
echo($renderer->Render($template, array("Content" => $content)));

Nun könnte man sich überlegen, den Inhalt von $template in eine eigene Datei auszulagern und schon hat man überhaupt kein HTML-Text mehr in seinem PHP-Code und beides wäre separiert. 

Der Inhalt von $content könnte ja nun ebenfalls ein Stück HTML sein, was ebenfalls mit dem TemplateRenderer erzeugt wurde. Mein Beispiel ist aber auch sehr stark vereinfacht und könnte je nach Situation Sicherheitsrisiken hervorrufen (Bsp. Cross-Site-Scripting).

Ich muss aber auch zugeben, dass ich kein PHP-Entwickler bin und nicht weiß, was derzeit dort so die Best Practises sind.

vor 57 Minuten schrieb Maniska:

Wenn ich sehe dass der Azubi mistigen Code produziert und ich ihm erst einmal schlechte Angewohnheiten wieder abgewöhnen muss nehme ich lieber einen, bei dem ich zwar bei Adam und Eva aber eben auch komplett auf der grünen Wiese anfangen kann.

Ein guter Azubi wird immer in der Lage sein, seine schlechten Angewohnheiten schnell abzulegen. Ein ignoranter Entwickler, der meint, er könne und wüsste alles, wird früher oder später sowieso Probleme bekommen, da er nicht bereit ist, dazuzulernen. Ich hab aber die Erfahrung gemacht, dass solche Leute mal heftig gegen die Wand fahren müssen, dann werden sie auch ruhiger und hören auch mal zu.

Aber das Thema hat sich wohl eh schon erledigt:

vor 21 Stunden schrieb Tutorialwork:

Wobei mir grade auffällt das mit den Codebeispielen steht unten auf der Seite wo die Jobangebote stehen und auf dieser Seite stehen nicht nur Ausbildungsplätze sonder auch Arbeitsplätze ich denke es ist auf die Arbeitsplätze bezogen.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 22 Minuten schrieb Whiz-zarD:

Ich muss aber auch zugeben, dass ich kein PHP-Entwickler bin und nicht weiß, was derzeit dort so die Best Practises sind.

Am besten verwendet man das MVC-Pattern. Entweder selber schreiben, wobei man hier umfassende Kenntnisse in der objektorientierten Programmierung benötigt oder eben ein vorhandenes Framework wie Z.B. Laravel (gerade sehr "in"), Codeigniter oder CakePHP verwendet, wobei man auch hier OOP-Kenntnisse vorausgesetzt werden. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Whiz-zarD:

Ein guter Azubi wird immer in der Lage sein, seine schlechten Angewohnheiten schnell abzulegen. Ein ignoranter Entwickler, der meint, er könne und wüsste alles, wird früher oder später sowieso Probleme bekommen, da er nicht bereit ist, dazuzulernen.

Geb ich dir recht, aber wenn ich mich zwischen 2 Azubis entscheiden muss, welchen nehme ich?

Ob er allgemein taugt oder nicht, das Risiko habe ich bei beiden, beim einen kommt aber noch hinzu, dass er sich schon angewöhnt hat "unsauber" zu programmieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 56 Minuten schrieb Maniska:

Geb ich dir recht, aber wenn ich mich zwischen 2 Azubis entscheiden muss, welchen nehme ich?

Ob er allgemein taugt oder nicht, das Risiko habe ich bei beiden, beim einen kommt aber noch hinzu, dass er sich schon angewöhnt hat "unsauber" zu programmieren.

Derjenige, der aber "unsauber" programmiert, weiß aber schon in etwa, worauf er sich bei der Ausbildung einlässt. Jemand, der noch keine Programmiererfahrung hat, geht ggf. zu romantisch an die Sache heran. Solche Leute habe ich während meiner Assistentenausbildung kennengelernt, die dann spätestens nach dem zweiten Semester hingeschmissen haben. Einer dachte, Objektorientierung sei programmieren per Drag'n'Drop ala Hollywood. Er assoziierte den Begriff "Objekt" mit 3D-Objekte.

Es gibt für alles ein Für und Wider. Man sollte daher eine Sicht nicht kategorisch ausschließen. Ich gehöre auch zu den Menschen, die schon vor der Ausbildung Programmiererfahrungen gemacht haben. Ich programmiere seit ich 8 Jahre alt bin. Mit 24 habe ich dann die Assistentenausbildung angefangen und inzwischen bin ich 34 Jahre alt. Mein Code sah vor der Ausbildung genauso aus, wie der von @Tutorialwork aber ich nehme jeden Tipp dankend an und mir ist die Meinung meiner Arbeitskollegen wichtig und versuche in der Firma den Gedanken von Clean Code zu etablieren. Es muss also nicht immer schlimm sein, wenn man schon Erfahrungen hat. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sorry, aber das mit dem "unsauberen" Programmieren halte ich für regelrechten Blödsinn. Abgesehen davon, dass zur Software-Entwicklung etwas mehr als Programmieren gehört (ein lernwilliger Azubi, der nicht gut programmieren kann, hat ggf. einen besseren theoretischen Kenntnisstand als ein Code-Monkey), kann vermutlich kein Azubi oder frisch ausgelernter wirklich gut "programmieren" - können oft nicht mal die Ausbilder.
Einer meiner damaligen Mitazubis war auch kein Programmierheld und hat mit Design Pattern etc. um sich geworfen, hat sich aber nun bis zur Promotion hochgearbeitet. Programmierer ist er immer noch nicht, aber dafür konnte er damals schon recht weitreichend und strukturiert denken - und das ist viel wichtiger als zu wissen, wie man tollen Code schreibt. Meiner Erfahrung nach sind es auch gerade solche Leute, die in der Abschlussprüfung wirklich gut abschneiden. Ich würde mich im Zweifelsfall immer für denjenigen entscheiden, der wirklich Interesse hat und nicht nur vor dem PC sitzen will, um Code zu tippen. Vergesse nie, dass es in der Ausbildung nicht nur ums Coden geht, da gehört schon mehr dazu.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 41 Minuten schrieb D-eath:

Meiner Erfahrung nach sind es auch gerade solche Leute, die in der Abschlussprüfung wirklich gut abschneiden. Ich würde mich im Zweifelsfall immer für denjenigen entscheiden, der wirklich Interesse hat und nicht nur vor dem PC sitzen will, um Code zu tippen. Vergesse nie, dass es in der Ausbildung nicht nur ums Coden geht, da gehört schon mehr dazu.

Lustigerweise kann ich das mit meinen Erfahrungen bestätigen. Ich bin zwar kein vollkommener Tölpel in der Programmierung, aber es gab gewiss einige in meiner Berufsschulklasse, die es besser konnten als ich. Der eine hat schon über 20 Jahre programmiert (kam aus dem Ausland) und konnte echt wunderhafte Dinge mit seiner Programmierung anstellen. In der Abschlussprüfung hat er aber nur insgesamt mit einer 3 abgeschlossen, in der Projektarbeit sogar mit einer 4 - er hat sich viel zu sehr nur aufs Programmieren konzentriert und auch seine Dokumentation nur darauf ausgerichtet. Das soll natürlich nicht heißen, dass jeder der gut programmieren kann, den Rest nicht so drauf hat, sondern, wie @D-eath schon gesagt hat, die Ausbildung nicht nur um das Coden geht.

Bearbeitet von Gottlike
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 17.12.2018 um 10:57 schrieb Whiz-zarD:

Aber man vermischt weiterhin HTML und PHP, was ich nicht besonders schön finde.

Du hast die Büchse der Pandora ja ohne Zwang aufgemacht, jetzt kommen die Übel aus ihr heraus geschossen wie Öl aus 'ner Ölquelle. :P

Also, kurz und gut, dass ist eine offene Diskussionsfrage auf die es keine Konsens-Antwort gibt. Kurz gesagt, ich würde sagen es ist eine Geschmacksfrage oder eine Frage "äußerer Parameter". Denke es gibt 3 Möglichkeiten:

- Gar keine Logik im Template (wie in deinem Beispiel). Das ist meiner Erfahrung nach eher unüblich weil einfach total unpraktisch im Alltag.

- Logik im Template aber nicht als PHP-Code: Das ist das was man meistens macht. Manche erlauben dabei gar keinen direkten Einbau von PHP-Code, ...

- und manche doch.

Oder vielleicht ist es auch eine Frage der Sichtweise. Wenn man eine Template-Engine schreibt, die eigene Tags (Funktionen) einführt, aber letztlich nur ein Wrapper um PHP-Funktionen ist (siehe Laravel Blade), dann kann man das als "kein PHP-Code im HTML-Template" sehen oder eben als Wolfs im Schafspelz und somit doch PHP-Code im HTML-Template. Letztlich dürften die meisten wohl der Ansicht sein, dass etwas Logik im Template recht komfortabel ist und sich die Meinungsverschiedenheiten dann eher um Details drehen, z. B. wie viel genau denn dieses "etwas" ist.

Bearbeitet von monolith
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Stunden schrieb monolith:

Oder vielleicht ist es auch eine Frage der Sichtweise. Wenn man eine Template-Engine schreibt, die eigene Tags (Funktionen) einführt, aber letztlich nur ein Wrapper um PHP-Funktionen ist (siehe Laravel Blade), dann kann man das als "kein PHP-Code im HTML-Template" sehen oder eben als Wolfs im Schafspelz und somit doch PHP-Code im HTML-Template. Letztlich dürften die meisten wohl der Ansicht sein, dass etwas Logik im Template recht komfortabel ist und sich die Meinungsverschiedenheiten dann eher um Details drehen, z. B. wie viel genau denn dieses "etwas" ist.

Es geht mir nicht darum, die Logik zu entfernen, sondern um die Lesbarkeit zu verbessern und um eine Modularisierung zu ermöglichen. Das vermischen von HTML- und PHP führt zu schlecht leserlichen, schlecht wartbaren, fehleranfälligen und darüber hinaus zu doppelten Code. Man muss nämlich darauf achten, dass man zwei Sprachen in einer Datei vermischt und jedes Mal den Interpreter/Compiler darauf hinweisen muss, welche Sprache gerade benutzt wird. Als Beispiel der Code-Schnippsel von @äymm:

<?php
$something = ['foo', 'bar'];
if (count($something) > 1) {
  ?>
  <div>Sehr viel HTML</div>;
	<?php
} else {
  ?>
  <div>Ebenfalls viel HTML</div>;
  <?php
}
$something_else = ['lorem', 'ipsum'];
?>

Jedes Mal muss man hier mit <?php ... ?> markieren, dass in diesem Bereich PHP verwendet wird. Das selbe auch im Beispiel von mir:

<div><?php echo count($something) > 1 ? 'Sehr viel HTML' : 'Ebenfalls viel HTML' ?></div>

Vergisst man jetzt mal ein <?php oder ein ?> oder schreibt sie falsch, kann es zu ungeahnten Problemen führen. Im Schlimmsten Fall wird der gesamte Code sichtbar, weil der Webserver dies nicht als PHP interpretiert, sondern als HTML. Auch ist es beim Lesen ein deutlicher Störfaktor, denn man sollte bedenken, dass 80% der täglichen Arbeit eines Entwicklers aus Quellcode lesen besteht. Das macht das Vermischen von zwei Sprachen nicht einfacher. Außerdem haben auch IDEs Probleme beim Syntax highlighting.

Du solltest dich jetzt mal fragen, wieso Template-Engines eine eigene Syntax benutzen, anstatt da einfach nur PHP oder JavaScript, wie in den oberen beiden Beispielen reinzuwursteln. Die tun es nicht, weil sie es können, sondern sie tun es, um genau solche Fehlerquellen zu minimieren. Es läuft automatisiert ein Interpreter durch das Template und ersetzt sicher die Schlüsselwörter gegen den PHP-Code. Sie stellen also eine weitere Abstraktionsebene dar. Sie stellen sicher, dass HTML als HTML und PHP als PHP interpretiert wird und zusätzlich wird durch eine geeignete Syntax die Leserlichkeit verbessert.

Ich sage auch nicht, dass mein Beispiel nun der Weisheit letzter Schluss ist. Natürlich ist eine gewisse Logik in den Templates komfortabel, nur ist das halt im Stil von <?php ... ?>, wie schon gesagt, fehleranfällig und stellt auch ein Störfaktor im Lesefluss dar. In meinem Beispiel bot sich auch keine Logik an, weil ich keine Logik benötigt habe.

Bearbeitet von Whiz-zarD
Link zu diesem Kommentar
Auf anderen Seiten teilen

Stimmt, durch das Kompilieren ensteht eine Kontrollinstanz. Und ja, dass es lesbarer ist, ist richtig. Ich wollte übrigens auch kein Plädoyer für natives PHP-Templating halten. :) Ich selber nutze das nach Möglichkeit nicht.

An Probleme beim Syntax-Highlighting kann ich mich nicht erinnern, wohl aber wenn Template-Engines mit ihrer eigenen Syntax zum Einsatz kommen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...