Vor kurzem wurde ich von einer lokalen Werbeagentur mit einer Arbeitsmöglichkeit angesprochen. Sie bringen die gesamte Web- / interaktive Entwicklung in Eigenregie und erweitern ihr Entwicklungsteam.
Ich habe meinen bequemen, aber langweiligen Unternehmensjob satt und bin von dieser Position fasziniert.
Ich habe nur für Softwarehäuser gearbeitet, in denen das Hauptgeschäft Software herstellte, und befürchte, dass sie möglicherweise keinen Schwerpunkt auf Qualitätssoftwarepraktiken legen, da die Entwicklung nicht der Schwerpunkt ihres Geschäfts ist.
Könnte jemand mit Erfahrung in beiden Bereichen die Arbeit in einem Softwareunternehmen mit der Arbeit in einem Unternehmen vergleichen, das zufällig über ein internes Softwareentwicklungsteam oder eine interne Abteilung verfügt?
quelle
Antworten:
Es wird von der Firma abhängen. In der Regel ist die Qualität der Software jedoch geringer, wenn sie nicht im Mittelpunkt steht. Der Prozess wird, falls vorhanden, weniger streng sein. Die Prüfung ist nicht vorhanden. Und die Arbeit insgesamt weniger technisch herausfordernd.
Sie werden wollen, dass es funktioniert und jetzt, und das wird gut genug sein.
Aber manche Orte sind angesagt in Bezug auf Softwareentwicklung, auch wenn sie in Tante-Emma-Läden etwas ganz anderes machen. Es kommt darauf an, dass die Unternehmensführung offen für gute Ideen ist, die technische Führung genug weiß, um es richtig zu machen, und Menschen hat, die eine gute Idee erklären können. Welches könntest du sein?
Interview mit der Firma. Fragen Sie sie, ob sie den Joel-Test kennen / befolgen. Die meisten davon sind gute Punkte. Sehen Sie, ob sie technische Schulden und den mythischen Mannmonat verstehen. Wer ist Ihr Projektmanager, welchen Prozess verwendet er und wie geeky ist er?
quelle
Es gibt einen RIESIGEN Unterschied. Im ersten Fall sind Sie Teil eines Profit Centers. In letzterem Fall sind Sie Teil einer Kostenstelle. Ratet mal, welcher wird besser behandelt?
Ich arbeite jetzt für eine Softwarefirma und bin so viel glücklicher als bei meinem letzten Job, bei dem es immer um Entlassungen und Outsourcing ging und Entwickler einfach als leicht austauschbare Widgets galten (anstelle des Herzens der Firma).
quelle
Programmierer sind immer noch Programmierer. Nur weil das Hauptprodukt des Unternehmens keine Software ist, heißt das nicht, dass ein Programmierer nicht die gleichen Annehmlichkeiten benötigt.
quelle
Ich habe in der IT-Abteilung großer Unternehmen gearbeitet und Software für den internen Gebrauch entwickelt. Ich habe in Unternehmen gearbeitet, die Software für den Markt entwickelt haben. und ich habe in Agenturen gearbeitet, die Webentwicklung für Kunden betrieben.
Und ich würde nicht sagen, dass es einen Unterschied zwischen diesen verschiedenen Unternehmen in Bezug auf die Wichtigkeit von produktivitätssteigernden Dingen gibt.
Die Produktivität von Programmierern ist von entscheidender Bedeutung, unabhängig davon, welche Art von Entwicklung diese Programmierer durchführen. Und ich würde sagen , dass Programmierer glücklich zu halten und halten sie für Sie arbeiten , ist noch mehr von Bedeutung , wenn sie Wartung Programmierer in der IT - Abteilung eines Nicht-Software - Unternehmen sind.
quelle
Der Unterschied hängt weitgehend vom Unternehmen selbst ab. Ich habe bei guten Nicht-Software-Unternehmen und schrecklichen Software-Unternehmen gearbeitet. Im Durchschnitt habe ich jedoch Folgendes gefunden:
Nicht-Software-Unternehmen
Der Schwerpunkt liegt auf der schnellen Erledigung von Aufgaben, bei denen Qualität und langfristige Wartbarkeit kaum oder gar nicht berücksichtigt werden. Entwickler kennen sich in der Regel technisch nicht mit dem aus, was sie in der Vergangenheit oder während ihrer Zeit im Unternehmen getan haben, und beim Versuch, neue Konzepte (ORMs, SOLID-Prinzipien, TDD usw.) einzuführen, kommt es zu Verwirrung oder sofortiger Entlassung. Die Leute konzentrieren sich eher auf das "Abschleppen der Unternehmenslinie".
Softwareunternehmen
Der Schwerpunkt liegt darauf, Dinge ohne Qualitätseinbußen zu erledigen. Mitarbeiter halten sich mit größerer Wahrscheinlichkeit auf dem neuesten Stand der Technik (unabhängig davon, ob sie diese bei der Arbeit einsetzen können oder nicht) und schauen häufig nach, wie sie neue Ideen oder Rahmenbedingungen in den Tagesablauf integrieren können, um die Software besser zu machen. Wenn sie nicht bereits mit Konzepten wie TDD, ORMs, SOLID usw. vertraut sind und diese verwenden, haben sie wahrscheinlich davon gehört und sind eher bereit, sie zu bewerten.
Auch dies ist letztendlich firmenabhängig. Ich habe bei einem Nicht-Software-Unternehmen mit einem extrem agilen Team gearbeitet, das sich mit TDD und ORM befasst und mir viel über richtiges Software-Engineering beigebracht hat. Außerdem habe ich bei einem kleinen Software-Unternehmen gearbeitet, das VBScript-Spaghetti-Code der schlimmsten Art geschrieben hat und über 50 Entwickler hat dass jeder auf verschiedenen Seiten arbeiten musste, um zu verhindern, dass Dinge kaputt gingen, und tonnenweise Bürokratie, selbst für eine kleine Änderung. Je weniger sich das Unternehmen jedoch äußerlich auf Software verlässt, desto wahrscheinlicher ist es, dass die Umgebung für die Softwareentwicklung sehr schlecht ist.
quelle
Ich habe als einziger Softwareentwickler in einer Gruppe von Nicht-Software-Leuten gearbeitet, und ich denke, Unabhängigkeit ist in diesem Fall noch wichtiger. Wenn Sie nicht über Dutzende von Mitarbeitern verfügen, die dieselben Tools verwenden, müssen Sie viel mehr Entscheidungen treffen - welche Sprache Sie verwenden, welchen Compiler, welche Server usw. Alleine Entwickler benötigen mehr Freiheit bei der Installation, Evaluierung und Verwaltung von Software in einer gruppe ist das selbstverständlich.
quelle
Ein sicherer Unterschied wird darin bestehen, dass der Overhead und das Redtape, die Sie in einem Unternehmenssoftwareshop durchlaufen müssen, weniger betont werden. Sie werden feststellen, dass Sie in der Lage sein werden, alle Aspekte Ihrer Projekte genauer zu steuern.
Ein Profi ist, dass dies erfrischend sein kann ...
Es hat sich für mich persönlich als schrecklich herausgestellt, aber das mag nur daran liegen, dass ich mich schlecht entschieden habe. Ein RIESIGES Manko ist, dass Sie nicht mehr an das Alltagsgeschäft gebunden sind, sondern einen administrativen Aufwand haben. Die Haushaltskontrolleure behandelten mich so, als würde ich persönlich Geld aus ihrem eigenen Portemonnaie nehmen und sozusagen "mich wie ein gemietetes Maultier schlagen". Für mich war es eine ärgerliche und anstrengende Tortur, daher sollten Sie beim Vorstellungsgespräch sorgfältig nach Anzeichen für eine solche Haltung suchen.
quelle
Hier gibt es bereits einige gute Antworten, aber ich möchte nur auf einen Link zum Transkript des zweiten Teils eines Vortrags verweisen , den Joel Spolsky an der Yale University gehalten hat:
Joel Spolsky - Talk At Yale Teil 2 von 3
Dort spricht er über den Unterschied zwischen "internen" Programmierern und Programmierern, die in Software- / Technologieunternehmen arbeiten.
Seine drei Hauptpunkte sind:
Wenn Sie ein interner Programmierer sind, können Sie die Dinge nie richtig machen. Man muss die Dinge immer so tun, wie es zweckmäßig ist.
Als Inhouse-Programmierer hören Sie auf, daran zu arbeiten, wenn eine Software „gut genug“ ist. Wenn Sie Software- "Produkte" entwickeln, können Sie sie schön machen.
Wenn Sie Programmierer bei einem Softwareunternehmen sind, hängt Ihre Arbeit direkt davon ab, wie das Unternehmen Geld verdient. Das bedeutet zum einen, dass sich das Management um Sie kümmert.
Persönlich habe ich während meiner gesamten Karriere sowohl bei Softwareunternehmen als auch bei Nicht-Softwareunternehmen gearbeitet, und obwohl es immer Ausnahmen zu jeder Regel gibt, stimme ich den Aussagen von Joel zu, da die überwiegende Mehrheit der Unternehmen mit diesen übereinzustimmen scheint.
quelle
Ein wesentlicher Unterschied besteht darin, dass Sie bei der Arbeit in einem Software-Shop wahrscheinlich dazu beitragen, Arbeitsplätze im Unternehmen zu schaffen. Arbeiten in der Programmierabteilung Bei einer anderen Art von Unternehmen bedeutet dies im Allgemeinen, dass Sie Software schreiben, um Menschen zu ersetzen. Es ist eine deprimierende Realität, mit der man umgehen muss. Davon abgesehen kann eine Werbeagentur durchaus ein anderes Tier sein. Eher wie ein Web-Entwickler-Shop in einem anderen Unternehmen, würde ich raten.
quelle
Nach meinen Beobachtungen gibt es mindestens zwei Fälle, in denen es darum geht , die Grenzen eines Softwareunternehmens im Hinblick auf das berufliche Überleben zu halten .
Der erste Fall ist, wenn man total auf Codierung steht - gib mir 80 ... 90 ... 100% Zeit zum Codieren oder ich sterbe . In Software-Shops ist das fast selbstverständlich, als ob jeder weiß, wie man dorthin kommt, weil jeder genau das tut. Aber draußen besteht ein sehr hohes Risiko, nicht dorthin zu gelangen. Man kann so niedrig wie 50, 40, 30% werden (meine persönliche Codierungslast ist einmal auf 20% gefallen - kein Scherz, ich habe es in JIRA gemessen !) , aber ... sie wissen vielleicht einfach nicht wie.
Das zweite "tödliche Risiko" ist, wenn jemand ernsthafte Kommunikationsprobleme hat. Das mag selbst in Software-Shops problematisch sein, aber es gibt zumindest gute Chancen, zu überleben und ein schönes produktives Leben zu führen, ohne die Interaktion zu stören. :) Bei Nicht-Software-Unternehmen sind diese Chancen jedoch viel geringer - im Gegenteil, es ist fast unvermeidlich, dass man irgendwann viel Mühe aufwenden muss, um einen Außenseiter in IT-Grundlagen zu schulen, nur weil es sonst unmöglich ist, die Arbeit zu erledigen.
Nun, abgesehen von zwei Fällen, die oben erwähnt wurden, kenne ich keinen anderen starken Grund, mich strikt an Softwareunternehmen zu binden. Nun, welche Seite ist zu bevorzugen? Soweit ich das beurteilen kann, ist dies eher eine Frage des Geschmacks, welche Art von Spaß dich mehr ansteckt.
Beide Seiten bieten ihre eigenen, unterschiedlichen Formen des Spaßes an. Es ist nicht einfach zu beschreiben.
Ich würde sagen, dass Software-Unternehmen denjenigen mehr Spaß machen, die "gute Noten" anstreben, während externe Unternehmen denjenigen, die "große Unterschiede" anstreben, einen Nervenkitzel bereiten. Ich denke , davon etwa wie folgt aus (Anmerkung Zahlen unten nur erfunden machen einen Punkt zu vereinfachen) ...
Beachten Sie außerdem, dass die Chancen, bei einem Softwareunternehmen 500% mehr zu erreichen, im Vergleich vernachlässigbar gering sind .
Bestnoten auf der einen Seite erweitern unser Verständnis für berufliche Grenzen und verbessern unser Wissen, wie man Dinge besser macht. Ein großer Unterschied auf der anderen Seite wirkt sich tief auf die Unternehmenskultur aus und verbessert das Wissen von Außenstehenden, wie man es richtig macht.
Wenn Sie nun eine klare Präferenz für die eine oder andere haben, wissen Sie, auf welche Seite Sie gehen müssen. Oder wenn Sie sich nicht sicher sind, können Sie einfach nach Belieben zwischen ihnen hin- und herschwingen. :)
quelle
Ein großes Lob an die Cost-vs-Profit-Center-Antwort.
Ich war in beiden und würde eine Softwarefirma sehr bevorzugen. Da Ihre Korrelation zu Gewinnen offensichtlicher ist, ist es wahrscheinlicher, dass Sie eine angemessene leistungsbasierte Vergütung und eine Unternehmenskultur haben, die die Persönlichkeit eines Softwareentwicklers umfasst. Oft bedeutet das weniger Büropolitik, keine Docker, offensichtliche Karrierewege und weniger BS. Aber wenn Ihr eher ein 9-5, vielleicht weniger herausfordernder, nicht hochmoderner Auftritt als manchmal ein corp-IT-Geschäft ist - nicht zynisch hier zu sein, verstehe ich einige Leute wie eine typischere Work-Life-Balance auf Kosten von andere Dinge. Nach meiner Erfahrung ist die Gesamtqualität eines Entwicklers bei einem Softwareunternehmen viel, viel besser. im gegensatz zu der mittelmäßigkeit, die oft die unternehmensinformatik durchdringt. Ich weiß, dass es Ausnahmen gibt,
quelle
IT ist Teil der Support-Gruppe von Nicht-Software-Unternehmen. Software-Programmierer haben Anwendungen entwickelt, die dem Unternehmen helfen, die Produktivität zu steigern, Transaktionen zu beschleunigen und den technischen Support zu verbessern. Einige Nicht-Software-Unternehmen (Manufacturing / Industrial Etch) bieten Schulungen und andere an Dinge an ihre Programmierer, aber viele sind es nicht, also haben sie Programmierer in andere Unternehmen ausgelagert.
quelle
Ich möchte lieber in einer IS-Abteilung arbeiten als in der Produktentwicklung eines Unternehmens, das Software verkauft. Nur um jede Seite zu verdeutlichen und einige davon mit einigen Formatierungskorrekturen zu versehen:
IS-Abteilung
Das Unternehmen kann Hardware, Software, Autos oder was auch immer herstellen, aber der Schlüssel ist, dass es eine interne Abteilung gibt, die für die Systeme verantwortlich ist, die das Unternehmen Tag für Tag einsetzt. Hier kann es Frameworks wie ITIL geben, die versuchen können, den Prozessen, die die Abteilung durchführt, eine gewisse Reife zu verleihen. Ein Teil dieser Abteilung sind die Mitarbeiter der Infrastruktur, die das Licht anhalten, und der andere Teil sind die Mitarbeiter der Entwicklung und Analyse, die Verbesserungen vornehmen , Verbesserungen und neue Systeme. Hier können die Projekte unterschiedlich lang sein. In einigen Fällen kann es Jahre dauern, bis ein System vollständig implementiert ist. Dies liegt an den Phasen des Roll-outs, wenn ein großes System wie ein CMS, CRM oder ERP ersetzt wird.
Manchmal hatte ich das Gefühl, ein Zahnrad in einer Maschine zu sein, und bei anderen ist es ziemlich ordentlich, Teil des Rückgrats des Unternehmens zu sein, wenn man die Tiefs und Höhen einer solchen Position bedenkt. Ich kann nicht allzu oft mit Leuten außerhalb des Unternehmens angeben, weil der Großteil meiner Arbeit auf internen Systemen stattfindet, die nicht öffentlich zugänglich sind oder nicht angezeigt werden sollen. Hier kann es Support-Tickets geben, bei denen man sich möglicherweise mit Softwareanbietern befassen muss, da jemand ein Problem hat, bei dem es nicht unbedingt einfach ist, die Fehlerursache zu ermitteln, und die IS-Abteilung sich daher an einen anderen Mitarbeiter wenden muss um das Problem zu beheben. In anderen Fällen muss möglicherweise eine Anpassung aufgrund geänderter Anforderungen oder Geschäftsregeln vorgenommen werden.
Softwareunternehmen
Hier wird daran gearbeitet, was das Unternehmen direkt verkauft, und daher gibt es einige große Regelunterschiede. Erstens kann der Kunde hier nicht so viel verpackt werden wie im Fall der IS-Abteilung. In der IS-Abteilung gibt es möglicherweise nur wenige Benutzer eines Systems, sodass die Unternehmensführung sich um viele ungewöhnliche Fälle kümmern kann, in denen ein absichtlicher Missbrauch eines Tools nicht immer verhindert werden kann. In der Softwarefirma gibt es dieses Sicherheitsnetz nicht. Wenn jemand Ihre Software herunterlädt und es schafft, einen Weg zu finden, um etwas ziemlich Zerstörerisches daraus zu machen, bekommt das Unternehmen möglicherweise ein großes blaues Auge dafür. In diesem Fall kann es einige Beispiele geben, die zeigen, was ich getan habe, und es kann eine coole Funktion geben, um einem Freund oder Verwandten zu zeigen, ob er etwas mehr über meine Arbeit wissen möchte.
Hier ist zu bemerken, dass es Unternehmen geben kann, die als Systemintegratoren hinzugezogen werden, um große anpassbare Unternehmenssoftware bereitzustellen, die mit Leuten in IS-Abteilungen an der Implementierung von Dingen im Wert von einer Million Dollar arbeiten, sowie solche, die direkt für das Unternehmen arbeiten, das die Software erstellt große Software selbst. Es kann auch Anbieter von Anwendungsdiensten geben, die ich hier genannt habe, da sie einen Dienst verkaufen, der in der Regel aus Software besteht. Zum Beispiel hat Google möglicherweise eine IS-Abteilung sowie eine Reihe von Software-Entwicklern, obwohl man nicht in ein Geschäft gehen würde, um eine DVD von Googles Software zu kaufen, zumindest glaube ich nicht, dass ich das gesehen habe, obwohl ich es tue Kennen Sie viele Google-Produkte online, die ziemlich einfach verwendet werden können. Dies kann eine gewisse Spezialisierung ermöglichen, da dies nicht der Fall ist.
quelle
Ich habe kürzlich bei einem großen amerikanischen Nicht-Software-Unternehmen gearbeitet, bei dem ein Kollege den CEO sagen hörte: "Ich mache keine Angaben zu Software, die ich mit einem * * betreibe. " Nach meiner Erfahrung ist dies selbstverständlich. Es wird fast unvermeidlich Probleme geben, die dem Software-Team offensichtlich erscheinen, aber das Management ohne Entwickler wird sich weigern, überhaupt darüber nachzudenken.
quelle