[advies/ervaring] Werken als ontwikkelaar..

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Edwin88
  • Registratie: Januari 2005
  • Laatst online: 03-10 23:05
Beste mede Tweakers

Niet heel lang geleden heb ik mijn Bachelor Industrial Design gehaald aan de TU/e in Eindhoven. Deze opleiding richtte zich op product ontwikkeling -> prototypen, user focus, business models, graphic design, product design, etc. Op een projectmatige manier maakt de opleiding je eigenlijk min of meer klaar om in de wereld van de product ontwikkeling.

Het laatste jaar van mijn opleiding heb ik stage gelopen bij een kleine startup als ontwikkelaar van een videosysteem waarbij ik veel heb geprogrammeerd in PHP, Javascript (jQuery) en heb gespeeld met Linux in de vorm van webservers, NTP servers en allerlei command line tools die aangestuurd werden vanuit de PHP software. Ook heb ik hardware ontwikkeld (draadloos aangestuurde camera gebaseerd op een raspberry PI en custom software) en bij klanten allerlei testen gedaan en zo aan het 'product' gewerkt. Hierna heb ik nog een half jaar bij dit bedrijf gewerkt (voor een relatief laag loon maar ik zou het gratis gedaan hebben als ik niet zou moeten eten zo leuk vond ik het) en heb veel geleerd over programmeren en development.

Nu ben ik op zoek naar een serieuze baan, en heb min of meer bedacht dat een job als ontwikkelaar mij wel interessant lijkt. Ik heb het afgelopen jaar veel boeken gelezen over allerlei programmeer onderwerpen (API ontwerp, TDD style coden, SOLID design principles, etc) maar dit niet echt heel erg kunnen toepassen binnen het software pakket waar ik aan werkte bij de startup. Dit was namelijk een grote collectie met 'spagetti-code' die om budget-tijd redenen moest worden aangepast/uitgebreid ipv herschreven. Ook de front-end was voornamelijk jQuery soep met zo'n beetje alle programmeerfouten die je kan maken, en ook ik heb me daar aan schuldig gemaakt omdat ik in het begin simpelweg niet veel beter wist. Ook werkte ik alleen aan de code en was ik dus niet onderdeel van een team, wat wellicht beter had geweest.

Wat ik nu eigenlijk voornamelijk van jullie zou willen weten qua ervaring:
1: Hoe ervaren jullie het ontwikkelen in een professioneel team tegenover het knutsel achtige van alleen coden aan prototype/minimal viable product.

2: Hoe kan ik me als beginnend professioneel programmeur verbeteren op het gebied van methodologieën zoals Agile Scrum (wat veel gevraagd word), test driven design en de SOLID principles. Hoe kan ik daar ervaring mee opdoen?

3: Hoe gaan jullie om met het aanleren van nieuwe talen/frameworks/best practices? Ik ben nu bezig om NodeJS, ReactJS, Laravel en allerlei server technologie zoals nginx en apache beter te begrijpen, dit doe ik voornamelijk via eBooks en tutorials. Echter heb ik het idee dat je juist de code moet gaan toepassen om het echt onder de knie te krijgen, maar ik heb niet echt hobby projecten waarin ik dat kan doen.


Ik denk dat deze vraag wel vaker gesteld word, maar dit is vanuit mijn positie als beginnend programmeur die hard op zoek is naar een baan binnen een bedrijf waar ik iets zou willen leren. Hoe zijn jullie aan je baan gekomen en hoe hebben jullie je kennis vergaart?

Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
1. door mijn geknutsel werk ik nu zelfstandig aan grote klussen met de nieuwste technieken.
In een professioneel team zat ik vast in oude technieken en hopelose code overhead.
jQuery, Magento, WordPress, etc. etc. etc. Ik kon mijn draai er niet vinden omdat het allemaal zo groot, lomp en traag is (met name op mobiel en IoT).

2. Door het gewoon te doen, of een bedrijf zoeken die daar mee werkt.
Persoonlijk vind ik het te veel gedoe, ben zelf van de GTD
http://www.doede.net/jour.../30/de-hardwerkende-mier/

3. Ben zelf autodidact en mijn leermethode is: doen
Voor jou kan het anders zijn, gebruik de methode waarbij jij het beste leert.

Persoonlijk zou ik je aanraden om een bedrijf uit te zoeken dat jou de vrijheid geeft om uit te zoeken wat jou beste leermethode is. Daarvoor moet je dan ook wel zelf iets doen: discipline
Het is voor je baas niet leuk als jouw leermethode 3 uur aan werktijd kost omdat je alles op google naleest.
Je moet dus discipline hebben om niet langer dan 10-15 minuten te zoeken, en vervolgens een collega vragen om zijn kennis.

Maak je niet druk, dat doet de compressor maar


Acties:
  • +1 Henk 'm!

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 11-10 16:28

Douweegbertje

Wat kinderachtig.. godverdomme

:+ Na het lezen van je post stelde ik eigenlijk gelijk de vraag: weet je zelf nou wel wat je wilt en wilt gaan doen?

Ik denk dat je eens moet stoppen met het lezen van dingen, focussen op allerlei fancy termen en gewoon eens plain & simple moet bedenken: wat wil ik worden, hoe zie ik mij over 10 jaar. Goed voorbeeld is vraag nummer 2 bij jou, als je dat in real life zou vragen dan zou ik je waarschijnlijk een slap geven en vragen of je even normaal wilt doen of dat je je pilletjes bent vergeten :)

Wat ik ongeveer wil zeggen is dat bepaalde technische meuk, of dit nu SCRUM of nodeJS is, puur bijzaak is. Het enige wat ik zo lees wat van belang is bij jouw zoektocht is dat je bij een bedrijf komt die investeert in al zijn zaken, zowel voor de werknemers als technisch. Het punt is dat je ruimte moet krijgen om te ontwikkelen, ondersteuning van seniors en sowieso een redelijk goed visie vanuit het bedrijf om constant door te ontwikkelen. That's it, daar hoef je geen enkele term tegen aan te gooien, maar het maakt je zoektocht ongeveer een factor 10 makkelijker en het vertellen wat jij zoekt ongeveer 1000x simpeler.

Dus:

1) Dat is niet relevant, want je kunt dit immers ook 'goed' doen met de 'technieken' die je op meerdere plekken opnoemde. Anyways; het is altijd goed voor je eigen ontwikkeling om in een goed team te zitten. Beetje casual aan de bak gaan is aan de andere kant soms wat 'rustiger' alleen "verpest" (misschien iets te groot woord) je je toekomst omdat je achter gaat lopen en na 10 jaar geen enige nuttige ervaring hebt voor een andere baan. Het is gewoon persoonlijk, elk ding heeft zijn voor- en nadelen. Daar kom je met ervaring zelf achter wat JIJ graag wilt. Niets is per definitie dan ook slecht.

2) Goed bedrijf zoeken
3) zie 2.

IMO heb je wel de juiste gedachte erbij hangen, alleen verwoord je het nog enorm krom puur omdat je zelf over de verkeerde dingen zit na te denken.

Acties:
  • 0 Henk 'm!

  • Ask!
  • Registratie: Februari 2015
  • Laatst online: 04-10 12:12
1: Hoe ervaren jullie het ontwikkelen in een professioneel team tegenover het knutsel achtige van alleen coden aan prototype/minimal viable product.
Werken in een professioneel team leert mij veel meer, puur omdat ik ook nog een junior software ontwikkelaar ben. Ik moet dus nog veel leren. Dat houdt niet in dat hobbymatig coderen niet werkt, hoe zoek je zelf meer de grens op en experimenteer je meer, wat je ook weer meer leert.
Beiden zijn erg leerzaam. Alleen hobbymatig coderen levert geen geld op haha.
2: Hoe kan ik me als beginnend professioneel programmeur verbeteren op het gebied van methodologieën zoals Agile Scrum (wat veel gevraagd word), test driven design en de SOLID principles. Hoe kan ik daar ervaring mee opdoen?
In mijn beleving is alleen Scrum een must in Software Development. Vrijwel elk project wat er bestaat gebruik scrum of een variant van scrum. Waterval methode wordt wellicht meer gebruikt in kleinere projecten. Voor de rest krijg je zelf veel mee tijdens een project. Bedrijven vragen vaak alleen ervaring met talen en hoe goed je problemen kunt oplossen. En vooral hoe je het hebt gedaan. Test/Behaviour Driven Design en SOLID principles zie ik bijvoorbeeld niet vaak langskomen, ik zie het meer als een nice-to-have.
3: Hoe gaan jullie om met het aanleren van nieuwe talen/frameworks/best practices? Ik ben nu bezig om NodeJS, ReactJS, Laravel en allerlei server technologie zoals nginx en apache beter te begrijpen, dit doe ik voornamelijk via eBooks en tutorials. Echter heb ik het idee dat je juist de code moet gaan toepassen om het echt onder de knie te krijgen, maar ik heb niet echt hobby projecten waarin ik dat kan doen.
Ten eerste: Elke ReactJS fanatik die erbij komt, is tof! :P Op dit moment zijn we een enorme applicatie aan het omschrijven van jQuery naar React. Hier had ik dus helemaal geen ervaring mee ( Ben ook meer een backend developer ), maar toch pak ik het snel op.
Programmeertalen lijken erg veel op elkaar, alhoewel elke taal wel weer andere best pactices/code convention rules heeft. In mijn optiek, als je:

Java
C/C++
Python
Javascript

deze programmeertalen beheerst ( Lees beheerst als (web)applicaties mee gemaakt ), kun je eigenlijk alle programmeertalen wel, na enige inwerktijd. Populaire programmeertalen tegenwoordig zijn bijvoorbeeld Swift en Go, welke weer erg lijken op andere programmeertalen (Beiden lijken erg veel op C, Swift ook op Objective C) Ik begon als Java Software Engineer, maar heb onderhand ervaring met C++, Python, Perl, Java, Javascript (jQuery, React ), noem maar op. Het is wel goed om een vast aanknopingspunt te hebben ( Dus een taal waar je echt expert in wilt worden ), omdat alles draait om expertise (tenzij je de detachering in gaat, dan is een manusje van alles erg handig haha).

Acties:
  • 0 Henk 'm!

  • Edwin88
  • Registratie: Januari 2005
  • Laatst online: 03-10 23:05
DJMaze schreef op maandag 29 februari 2016 @ 17:27:
1. door mijn geknutsel werk ik nu zelfstandig aan grote klussen met de nieuwste technieken.
In een professioneel team zat ik vast in oude technieken en hopelose code overhead.
jQuery, Magento, WordPress, etc. etc. etc. Ik kon mijn draai er niet vinden omdat het allemaal zo groot, lomp en traag is (met name op mobiel en IoT).

---

Persoonlijk zou ik je aanraden om een bedrijf uit te zoeken dat jou de vrijheid geeft om uit te zoeken wat jou beste leermethode is. Daarvoor moet je dan ook wel zelf iets doen: discipline
Het is voor je baas niet leuk als jouw leermethode 3 uur aan werktijd kost omdat je alles op google naleest.
Je moet dus discipline hebben om niet langer dan 10-15 minuten te zoeken, en vervolgens een collega vragen om zijn kennis.
Dank. Ik heb een jaar als stage / afstudeer opdracht zo kunnen/moeten werken, mede omdat ik de enige web programmeur was en qua programmeren geen 'senior' kon benaderen. Ik zal dan ook moeten beginnen in een junior functie.
Wat ik ongeveer wil zeggen is dat bepaalde technische meuk, of dit nu SCRUM of nodeJS is, puur bijzaak is. Het enige wat ik zo lees wat van belang is bij jouw zoektocht is dat je bij een bedrijf komt die investeert in al zijn zaken, zowel voor de werknemers als technisch. Het punt is dat je ruimte moet krijgen om te ontwikkelen, ondersteuning van seniors en sowieso een redelijk goed visie vanuit het bedrijf om constant door te ontwikkelen. That's it, daar hoef je geen enkele term tegen aan te gooien, maar het maakt je zoektocht ongeveer een factor 10 makkelijker en het vertellen wat jij zoekt ongeveer 1000x simpeler.

1) Dat is niet relevant, want je kunt dit immers ook 'goed' doen met de 'technieken' die je op meerdere plekken opnoemde. Anyways; het is altijd goed voor je eigen ontwikkeling om in een goed team te zitten. Beetje casual aan de bak gaan is aan de andere kant soms wat 'rustiger' alleen "verpest" (misschien iets te groot woord) je je toekomst omdat je achter gaat lopen en na 10 jaar geen enige nuttige ervaring hebt voor een andere baan. Het is gewoon persoonlijk, elk ding heeft zijn voor- en nadelen. Daar kom je met ervaring zelf achter wat JIJ graag wilt. Niets is per definitie dan ook slecht.
Jouw reactie maakt me inzien dat ik meer moet investeren in een plaats waar ik mezelf kan ontwikkelen door constant bij te leren (iets wat ik in mijn studie ook eigenlijk 90% van de tijd heb moeten doen) en te proberen, dan dat ik in een groot log bedrijf simpelweg code moet gaan tikken.
In mijn beleving is alleen Scrum een must in Software Development. Vrijwel elk project wat er bestaat gebruik scrum of een variant van scrum. Waterval methode wordt wellicht meer gebruikt in kleinere projecten. Voor de rest krijg je zelf veel mee tijdens een project. Bedrijven vragen vaak alleen ervaring met talen en hoe goed je problemen kunt oplossen. En vooral hoe je het hebt gedaan. Test/Behaviour Driven Design en SOLID principles zie ik bijvoorbeeld niet vaak langskomen, ik zie het meer als een nice-to-have.
Ik heb mij wellicht een beetje laten beïnvloeden door de grote hoeveelheid blogs/boeken -> daarin beschrijven ervaren en goede programmeurs de nieuwste technieken en best-practices. De gemiddelde programmeur houd vaak geen blogs bij of schrijft over de code die hij dagelijks schrijft; zo krijg ik al snel het idee dat iedereen netjes via SOLID principles werkt en alle code TDD word geschreven. Budget en deadlines gooien hier natuurlijk roet in en zo zal alles niet altijd even netjes worden gedaan.
Programmeertalen lijken erg veel op elkaar, alhoewel elke taal wel weer andere best pactices/code convention rules heeft.
Ik heb wegens mijn studie in veel talen wel eens wat gedaan, prototypes gebouwd en projectjes in gedaan. Ik heb het idee dat het ook niet veel uit maakt, maar dat je voornamelijk per vacature/opdracht ook moet werken met wat er is (huidige codebase) of wat er gevraagd word.


TL;DR: Bedankt voor alle inzichten, ik denk dat het belangrijkst word om een goed, modern en ontwikkelend bedrijf te vinden waarin ik mezelf kan ontwikkelen en niet alleen simpelweg code tikken. Het is als hobby/amateur/beginnend programmeur moeilijk in te schatten hoe het er aan toe gaat in de professionele wereld, maar dat is dus iets wat je gaandeweg oppikt en niet kan voorbereiden door alleen maar literatuur te lezen.

Laatste: hoe zijn jullie aan je baan gekomen, en hoe verliepen de eerste tijd na de studie / in de echte wereld?

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Op welk moment je ook zit van je carriere: je wil eigenlijk nooit de 'beste' developer zijn. Je trekt je (als het goed is) altijd op aan andere mensen om je heen. Als die mensen jou niks meer kunnen leren is het erg moeilijk om te blijven groeien.
Edwin88 schreef op dinsdag 01 maart 2016 @ 11:30:
Laatste: hoe zijn jullie aan je baan gekomen, en hoe verliepen de eerste tijd na de studie / in de echte wereld?
Vrij standaard informatica -> stage -> aanbod gekregen na stage. En hoe dat ontwikkelde. Tja; ik zat bij een tech bedrijf met veel slimme mensen. Wel een beetje last van not-invented-here maar wel erg veel geleerd. Later bij dat bedrijf de consulting hoek ingegaan en ook weer omdat ik bij veel verschillende bedrijven kwam in verschillende rollen weer erg veel bijgeleerd.

https://niels.nu

Pagina: 1