-
De Python Software Engineering Track
De Capgemini Academy Python Software Engineering Track is één van onze Software Engineering Tracks. Kijk voor een totaaloverzicht van deze tracks, waaronder de Java en Front End tracks op onze Software Engineering Tracks pagina.
Wat is de opzet van de Python Software Engineering track?
De Python Software Engineering Track heeft een looptijd van 12 weken, waarvan de eerste 6 weken een vast onderdeel zijn. Binnen de eerste zes weken krijgen de deelnemers een basis aangereikt van de belangrijkste programmeertalen, veel gebruikte tools en veel voorkomende concepten. Daarnaast leggen ze de basis voor het leren van software engineering als proces.
De tweede zes weken zijn in modules opgedeeld en kunnen flexibel ingezet worden naar de behoefte van de deelnemer.
De standaard opzet van een dag bestaat uit een ochtenddeel waarin nieuwe onderwerpen en vragen over vorige onderwerpen behandeld worden en een middagdeel waarin cursisten aan het project werken en/of aan extra opdrachten om zich nieuwe kennis eigen te maken en te integreren. In de eerste weken zullen de deelnemers meer begeleiding en aansturing krijgen en naarmate hun kennis vordert, zullen ze steeds zelfstandiger te werk gaan.
Wat voor onderwerpen komen er aan bod in de track?
Zoals hierboven al aangegeven, worden er in deze software engineering opleiding verschillende onderwerpen van het software engineering proces behandeld. Deze verschillende onderwerpen zijn onder te verdelen in een aantal thema’s. De thema’s en onderwerpen van de eerste 6 weken zijn:
Front-end - Front-end refereert aan de voorkant van een applicatie, dus datgene wat een gebruiker ziet en waarmee hij/zij interactie heeft. Hierbij kun je denken aan de knoppen op een webpagina of de layout. Om de front-end van een applicatie te kunnen bouwen, moeten deelnemers bekend zijn met een aantal tools en frameworks. In de Python Sofware engineering track wordt hiertoe het Django framework behandeld.
- JavaScript
- HTML
- CSS
- ASP.NET
Back-end - Back-end refereert aan de achterkant van een applicatie. Oftewel de logica en de database. De gebruiker zal hier in principe niet zoveel van zien, maar dit onderdeel is wel cruciaal voor een goed werkende applicatie. Waar houd je bijvoorbeeld gebruikersgegevens bij en hoe kun je zorgen dat de applicatie doet wat hij moet doen? Ook voor dit onderdeel zijn een aantal talen, tools, frameworks en concepten belangrijk. In deze Python Software Engineering track komen de volgende aan bod:
- Python
- Object Oriented Analysis en Design
- UML class diagrams
- Object Relational Mapping
- Relationele databases
- SQL
General - Na, maar ook tijdens, het bouwen van een applicatie is het erg belangrijk om te controleren of deze wel goed werkt. Hiervoor moeten software engineers hun werk testen en debuggen (fouten eruit halen) op onder andere functioneren, security en performance. Ook verloopt het proces van het bouwen van een applicatie niet vanzelf. Samenwerking, communicatie, leren en zelforganisatie zijn belangrijke competenties die elk individu moet bezitten. Daar bovenop wordt er binnen de IT wereld vaak op een Agile manier samengewerkt, waardoor software engineers ook met deze processen bekend moeten zijn. Hiervoor worden naast de eerder genoemde onderwerpen ook de volgende onderwerpen behandeld:
- Agile/Scrum
- Persoonlijke vaardigheden
- Test automation
- Debuggen
- Security
- Performance
Wat gaan de deelnemers precies doen in de track?
Hoe gaan de deelnemers dit zich nu allemaal eigen maken? Binnen de software engineering training wordt gebruik gemaakt van projectmatig leren. Met andere woorden: De deelnemers zien aan de hand van een project alle onderwerpen aan bod komen. Binnen het traject bouwen de deelnemers onder begeleiding van verschillende trainers een werkende web applicatie. Het voordeel hiervan is dat ze meteen kennismaken met hoe het er in de praktijk aan toe gaat. Hierdoor wordt de omschakeling naar het werken binnen een organisatie minder heftig.
Gedurende het hele traject werken de deelnemers volgens een aangepaste Scrum methode. Voor het projectmatige werken werken ze in principe geheel volgens scrum. Zo wordt er elke middag een stand-up meeting gehouden om de vorderingen in het proces te evalueren en nieuwe stappen vast te stellen. Naast de middag stand-up vindt er ook een ochtend stand-up plaats. In deze meeting ligt de focus echter op het leerproces. Vragen als: “Wat hebben we geleerd?”, “Waar heb ik nog moeite mee?”, “Wat heb ik nodig om verder te komen?” komen tijdens deze meeting aan bod.
Naast het zelf werken aan het project en het leren van nieuwe onderdelen is er tijdens het traject elke week ook een coach aanwezig. Deze coach observeert de processen die binnen het team en bij elk individu plaatsvinden en coached aan de hand daarvan op persoonlijke en samenwerkingsvaardigheden, waaronder het Scrum proces.
Programma
Daily Agile Project Personal Skills Morning
- New theory and excersizes
Afternoon
-
Agile project
Project characteristics
-
Scrum
-
Development of a real world web application
-
Quality software development
-
Focus on craftmanship
-
Tools and frameworks as used in nowaday’s projects
Coaching on both individual as group level
- Self-organization and management
- Self-directed learning
- Information processing
- Decision making
- Reflection
- Knowledge sharing
- Communication
- Collaboration / teamwork
Week 1 & 2 Week 3 Week 4 Python
- Basic language aspects
- Structured programming
- Distributed systems design
- Networks
- Unit testen (unittest)
- PyCharm
- GitHub
- Trello
- Pip
Django
- Django Introduction & CLI
- Object-relational mapper
- URLs and Views
- Templates
- Forms
- Docker intro
Django continued
- SQL
- Data modeling
- Authentication
- Django Admin
Week 5 Week 6 Databases - streaming
- Apache Kafka
- Producer / Consumer
- Twitter Streams
- Docker
Testing & Security
- Django Security
- Mocks
- Code Quality
- OWASP
- SQL Injection
- SonarQube
Block 1 & 2 Block 3 & 4 Block 5 & 6 Angular
- Typescript
- Angular CLI
- Components
- Directives
- Templates
- Pipes
- Services
- Forms
- HttpClient
- Routing en Navigation
- Styling
- Automatic Testing
Python Big Data / Machine Learning
- Hadoop MapReduce NumPy
- Matplotlib
- Pandas SciPy
Java
- Java at OCA level
- Object oriented concepts and UML
- Java and web applications
- Java and databases
Wat kan ik na afloop van een deelnemer verwachten?
Een duidelijk verschil van de Capgemini Academy software engineering tracks ten opzichte van vele andere bestaande IT-leertrajecten is dat er binnen deze software engineering tracks een breed scala aan onderwerpen aan bod komt. Behalve dat deze onderwerpen apart behandeld worden, maken de deelnemers ook kennis met hoe de verschillende onderwerpen geïntegreerd zijn binnen het software engineering proces zoals dat in de praktijk plaatsvindt.
Hierdoor raken de deelnemers beter bekend met de praktijk van software engineering en kunnen ze, als ze eenmaal aan het werk zijn, veel meer volgen van wat hun ervaren collega’s doen.
Zijn de deelnemers na afloop zelfstandig inzetbaar als software engineer?
Dit is geheel afhankelijk van hoeveel ervaring en kennis de deelnemers hebben bij de instroom van het traject. Het is een illusie dat een beginnende software engineer na 6 weken geheel zelfstandig aan de slag kan binnen een software engineering project. Dit aangezien software engineering een zeer complex vakgebied is waarin gebruik wordt gemaakt van vele verschillende talen, tools, frameworks etc.
De verwachting is wel dat de deelnemers na afloop van deze Python Software Engineering track makkelijker meekomen en mee kunnen praten met hun ervaren collega’s op de werkvloer. Daarnaast worden ze in staat gesteld nieuwe informatie zelfstandiger eigen te maken. Dit doordat ze van verschillende onderwerpen genoeg hebben gezien en daarmee een bredere kapstok hebben kunnen ontwikkelen waar nieuwe kennis aan opgehangen kan worden. Hierdoor kunnen ze nieuwe informatie dus sneller plaatsen.
Verder ligt er binnen de track ook een focus op zelfstandig leren. De deelnemers zijn gewend aan zelf informatie opzoeken op het internet en krijgen een basis toegereikt aan websites die veel gebruikt worden binnen de software engineering community.
Waarom kies ik voor de software engineering track in plaats van een toegewijde Python training?
Binnen de software engineering track is Python het onderwerp dat gedurende het hele traject terugkomt. Hierbij wordt het geïntegreerd met de verschillende onderwerpen. Zo leren deelnemers bijvoorbeeld hoe je met je Python applicatie met een database kan communiceren of hoe Python communiceert met de front-end van een applicatie. Ook krijgen de cursisten binnen de Python Software Engineering track de basis van Python mee. Hiermee draagt de software engineering track bij aan brede basis van Python.
Zijn er behalve de kosten voor deelname nog andere kosten verbonden aan de track?
Behalve de inschrijfkosten zijn er geen andere kosten aan de track verbonden. Alle benodigde materialen zijn in de prijs opgenomen.
Open Rooster
De Python Software Engineering Track is op aanvraag beschikbaar. Deze training vind niet plaats in ons Standaard Open Rooster.
Meer weten?
Interesse gekregen en wil je meer weten, neem dan contact met ons op voor een afspraak met een van onze experts. Bel direct met +31 (0)30 203 0510 of stuur een bericht via het contactformulier onderaan deze pagina.
-
Contactformulier Software Engineering Track