Anything NPM – Girl Code @ Adyen
Post written by: Marijke van den Berge
More pictures at: meetup.com/girlcode
When I career-changed to software/frontend-development in 2019, Girl Code was the first meetup I ever attended (the one at Adidas), and since then, I’ve been a regular at meetups all over the Randstad and especially enjoy the Girl Code meetups.
It’s so nice to learn more about all kinds of (IT) subjects and sharing experiences with other women and it pleases me to contribute a little by writing this blog post.
On 28 November, Adyen was host to the last Girl Code meetup of 2018.
At the entrance Girl Code’s host Zinat Farhang welcomed everyone and took us all the way to the top floor where Miss Girl Code Ineke Scheffers and Adyen’s Floor Disselhorst received us with food and drinks. After unwinding from our work days, having a chat will fellow Girl Coders and enjoying pizzas, it was time to officially kick-off the evening.
Ineke started with a word of welcome, an intro to Girl Code and shared a cringeworthy experience she had just had that day. While part of a hiring committee conducting a job interview, she was completely ignored by the male interviewee. Girl Code meetups are a great way to be able to share these experiences with fellow women and feel supported!
Martine de Visscher, VP of Product Mid-Market at Adyen, continued by introducing Adyen and explaining that 30% of the employees are women and the company is actively working on diversity and getting more women in. If the name Adyen doesn’t ring a bell, you’ve probably all used the company’s services without realizing it. Adyen’s software makes payments happen, wherever you are and whatever payment method you are using. Sometimes in life you might think ‘what if I could start all over again?’ At least, I think that sometimes. So, I liked hearing that that question actually formed the basis of Adyen! Adyen builds everything in house by its own people, no rules, just one: they maintain a ‘no-blush-policy’; if you start blushing you know you are doing something wrong!
After hearing from the two organizers it was time for the girl coders to share their experiences with NPM.
First up was ‘Create and Deploy an NPM Package’ by Mirellys Arteta Davila who works as an iOS engineer/ full stack developer at ANWB.
Follow Mirellys here:
Then Adyen’s own Kat Chilton took the microphone to dive into ‘Enterprise Level NPM Security (and other dependency management tools)’
But there is risk involved. As Ani DiFranco says, every tool is a weapon if you hold it right.
NPM is potentially the scene of a crime!
NPM installs a tree of dependencies. That is, every package installed gets its own set of dependencies. That means loads of potential danger! She gives us some examples of NPM gone wrong like how bitcoins got robbed and explains us that massive dependency trees make you and everyone that uses your product vulnerable. She shows how easy it is to inject malware into an NPM patch and how you can just sit back and relax while the infection spreads. She further demonstrates her point by showing one dependency node which grows and grows until we see a screen full of tiny dependency dots. Summarizing, NPM makes work easier, but can make it very unsafe easily!
Fortunately, there are some steps you can take to be a responsible NPM-user. Use smaller libraries with fewer dependencies, be critical, take the time to look; and, let the right one in! At the NPM-database you can see a list of dependencies of the package you want to install, but unfortunately you can’t see the dependencies of those dependencies. So best thing to do is not to jump immediately on any new js-libary bandwagon we see. It isn’t secure! So, what should you look at while investigating packages? Kat talked us through what we should pay attention to while browsing for packages. Check how old it is, how mature is the latest update? Is there a read-me? Are there any known vulnerabilities in the library? Does it have a SPDX compliant license? Is it free for commercial use? Is there a link to source code? And, if you’re always prone to update as soon as a new update comes out, think again. To avoid being a victim of a zero-day exploit attack, don’t grab updates immediately fresh off the presses. If you update as soon as it comes out, you could be victim of a vulnerability that we don’t know exists yet. She ended her whirlwind talk by advising us to stand on the shoulders of giants and to check out the Open Web Application Security Project (OWASP) and to never put our full trust in NPM as, after all, they’re in the business to make money.
Follow Kat here:
Check out her slides:
And read her blogpost about Skantek (NPM security project):
The last presentation of the evening was ‘Working with NPM Packages in Monorepos’ by Admira Husić, Fullstack engineer at Harver.
Like the previous talks, this one introduced me to new concepts. If you had any misconceptions on working with monorepos (a software development strategy where code for many projects are stored in the same repository) she debunks them one by one. On her first day at Harver she was assigned a buddy who told her to clone a repository to set up her work environment, that was it! She was confused; how do so many developers work on one repository?! But working for Harver she slowly learned the perks of this strategy.
To work with different teams on a monorepo means that we have separate packages that separate teams are working on, but they are stored in one git repository. When you can use code in a monorepo for several applications you don’t have to adjust every single project (like when all applications would have their own repo), but it works directly for all applications which means they are all up to date continuously.
She explained that there are tools to manage your multiple packages like lerna and ended her presentation using a magical forest and magical creatures to show how it all works.
Follow Admira Husić here:
This last GirlCode Meetup of 2019 gave me lots of new insights and the opportunity to catch up with fellow Girl Coders.
As Ineke is taking a well-deserved break a new meetup isn’t planned yet but be sure to keep an eye on meetup.com/girlcode for when the next one will be announced. She and all other contributors wish you a splendid 2020 with lots of Girl Coding Power!
For this meetup the Girl Code team was formed by:
Ineke Scheffers – Organizer and host https://www.linkedin.com/in/ineke-scheffers/
Marijke van den Berge – Blogger https://www.linkedin.com/in/marijkevdb/
Zinat Farhang – Host https://www.linkedin.com/in/zinatfarhang
Dominique Kersten – Host / Photographer https://www.linkedin.com/in/dominiquekersten
Building a number guessing game – Girl Code at Codam
On the 18th of September, some 30 Girl Coders met up for the quarterly Girl Code Meetup, this time hosted at Codam.
The first challenge of the evening being finding the front door. However, once the front door was located, a bowl of hot tomato soup with bread and good conversation awaited. As a meetup regular, I cannot say how nice it was to get something other than pizza for once. It was a really nice touch.
After eating one too many pieces of bread with hummus, we headed into the auditorium where Ineke introduced Girl Code.
Once Ineke had done the official word of welcome, Michèle of Codam took over. She explained how she had gone from a general social sciences graduate to completing a boot camp and now working as a developer at Codam. She also introduced Codam, which is the first full-on coding school in Amsterdam. The curriculum is 3.5 years with 2 internships, before the release you into the wild. However, it is about there the resemblance with normal schooling ends. At Codam there are no teachers, no lectures and no books, only peer learning.
So true to Codam’s teaching philosophy, we got a short introduction to the concepts before we were led into the “clusters”. In the clusters, rows of iMacs awaited us along with a bunch of girls from Codam ready to assist.
The assignment was a small number guessing game, prompting the user to guess a randomly generated number. The exercise was a nice introduction to the basics of programming and for getting familiar with Ruby syntax. We got to try both control flow, reading input from the user and conditionals.
To make it even easier to get started, we used the website repl.it/languages/ruby, where you can create and run Ruby scripts in the browser.
Since there were girls of all skill levels, some programmed for the first time whilst others finished in no time. Fortunately, there was room for both types of programmers, with super helpful tutors to guide the first-timers and extra challenges for the experienced programmers.
One of the main takeaways for me was Michèle’s tip about writing out all the steps of the program before starting. It is a good reminder to take a step back and actually figure out what you are building before you dive in.
We got about an hour and a half to program, after which we rounded off the evening with a final word of thank you. Then for those who wanted to hang out and chat, there were drinks, stroopwafels and nuts. All in all, a really enjoyable evening in good company.
So thank you very much to Ineke for making this a nice evening happen and thank you to Michèle and the awesome team of helpers at Codam. Also, thank you to Tiffany for hosting and Marta for taking pictures 🤗
Now we just have to wait for the next one, which will be on “Anything NPM” on November 27th at Adyen. If you want to do a talk about ‘anything NPM’, or want to help out as a host or blogger, see the event for more information to sign up!
Thank you for reading and maybe I’ll see you at the next Girl Code meetup!
PS. My solution to the exercise can be found here, should you want to compare.
The feedback form and the official solution can be found through this link.
This blogpost was written by Johanne Anderson and originally posted here.
Coding Accessibility – Girl Code at Incentro
It took a while but here it is. The recap of our ‘Coding Accessibility’-meetup at Incentro a few weeks ago! And lucky me, while I was finding the time to write a proper blogpost about one of the most inspiring Girl Codes ’til now, our speaker and host Elisabeth Boldewijn wrote one that absolutely captures the awesomeness of the whole night, so I won’t try to match it, but just share it here! But before I copy-paste below I would like to thank all of our speakers so much. The night was buzzing with passion, inspiration and last but not least courage of all our speakers to also talk about their own physical challenges in life. It emphasised how these ‘disabilities’ are not always visible and why as Eva Westerhoff eloquently put: “accessibility is for everyone” and if you don’t experience a disability now “at one point in life, all of us will experience ‘disability'”, like Dr. Cara Antoine told us during her talk. During the drinks after it turned out all of the attendees were very much inspired to do better on the accessibility front of coding and a few of them were already activists on the matter. It was so rewarding to organise this meetup and it’s inspiring outcome, partly because it was a topic high on my personal wish list since I’m battling a chronic illness myself which does causes the world to be less accessible to me on a daily basis. We are very proud we could shine a light on this topic from three different sides: Elisabeth about how coding can make a great career accessible while being chronically ill, Eva about why building accessibility or rather usability in your software and products is important to everyone and Dr. Cara Antoine accompanied by Lisanne Brons how software, in this case AI, can make the physical world more accessible to all! And now it’s finally time for Elisabeth’s recap of the night. Below her post you will find the pics and the slides!
GirlCode Accessibility meetup
– by Elisabeth Boldewijn
Wednesday evening I held my first meetup ever and about a quite intimate topic, accessibility. Not only did we learn more about accessibility within the services and products we use, but there were some personal stories shared which explained why some of us are so passionate about this topic and do our best to be heard and include those who are challenged in life.
After my friend & colleague Hajar Mokhtafa gave us a wonderful introduction about our company. It was my turn and I held my talk on how fibromyalgia changed my life and the challenges I faced at finding a job when you’re not only a starting junior developer, but not confident at all in your capabilities with a body you cannot trust.
I embarked on my journey to become a web developer after a heart surgery. As medication didn’t work for me, I opted for the surgery. It was supposed to make my life more manageable, but unfortunately it left me in a much worse state. (it had triggered my current condition, but only after 9 months would I find out what it was and get it confirmed by a doctor.)
As physical work was impossible for me to do even on heavy painkillers, I set my mind to really go for it and find a place to learn web development at a faster pace. I got lucky and got the opportunity to learn at the NYCDA and after finishing the course successfully I finally wound up at incentro (Rotterdam).
This to wasn’t without the help of GirlCode founder Ineke Scheffers. She reached out to one of my colleagues and within a few days I had found a place to work (prior to this it had taken me months). We were classmates at the nycda and after we got a bit personal in our introductions, she had taken me along to the GirlCode meetups. I was amazed at all the women I’d meet and their talks, so I kept going and I really felt and still feel like I am part of a great community. So after I felt I had enough courage to get on that stage I decided to host a GirlCode myself at incentro.
Our second speaker Eva Westerhoff (helps organisations improve their accessibility & is currently working at ING) made it very clear how much we actually fail, when we think something is ‘accessible’ when it’s made for the wrong target group. Everyone BUT the ‘disabled’ people it was meant for.
She also had a very solid point, saying
I don’t feel disabled, it’s the environment that makes it that way.
If you think about it, it makes compleet sense! Don’t we all feel much more at ease at a place where we know our way around, and managing everything ourselves without the help of others?
If we do a better job at making sure our products & services ARE accessible, then more people can feel that way. Don’t wait until it has become a ‘requirement’, try to always include accessibility within your designs. And if you want to do it the right way. Invite people who you think will benefit from this new feature, or design and ask THEM.
- Does this make your life easier?
- Would you use this product/service in it’s current state?
- How can I improve my product to meet your needs?
Aside of the fact that a LOT of people are missing out in using the services offered, you make then feel excluded. Perhaps they even think they’re not important enough, and that would be a shame.
Eva also shared some links with us, so please check them out!
- Tips for developers
- Different disabilities and what to do & not do
- Stories of multiply accessibility needs
Our third and last speakers were Dr. Cara Antoine & Lisanne Brons from Microsoft the Netherlands. They also had a personal story to share and told us how the Microsoft vision plays a role in accessibility.
At one point in life, all of us will experience ‘disability’
I found that such a powerful thing to hear, and fully agree! With that mindset you have a completely different view on the things you use, design, perhaps even on the world.
Cara also gave a very simple example when mentioning that a lot of disabilities are ‘invisible’. If those in the audience wearing glasses would take them off for the rest of the presentation. Those people would not see very well, but how many people are wearing contact lenses? You have no clue, but they also count as ‘disabled’.
So if you develop your products with future you in mind who may the same, or may be disabled in one way or another, you are thinking ahead and including those people.
Empower every person and every organisation on the planet to achieve more
Lisanne told us how machine learning (a way of achieving AI) is not much different from how children learn. They pick up information eventually start speaking and when making mistakes we correct them. We also cheer them on when they get it right.
She also gave a demo of one of their apps SeeingAI. With this app you take a picture and it will verbally explain what is on the picture. It was very cool to see this, but what got me and a colleague even more excited was the app where you can become a buddy for someone who’s visually impaired (I forgot the name). If you cannot see something clearly, you can call someone, who will see what you’re seeing, and tell you what to pick or which way to go. I believe this app wasn’t available yet in The Netherlands, only in USA.
Other amazing app mentioned were:
microsoft translator, this can translate from one language to another. So if you’re speaking in Spanish, but I cannot understand it, it will translate to a language I do understand making it possible to communicate with far more people than before.
Stream, in this video platform it is possible to:
- Search for text or spoken words within videos
- Enhance accessibility for everyone with closed captioning
- See all speakers and jump ahead to where they appear in your video
- Play your video while viewing or searching its transcript
- Discover a variety of content without relying on metadata
As a developer who learn a lot through videos. I find myself often searching for something I’ve seen or heard in a video. If the stream features were used on youtube as well, my life would be so much easier!
Also a shout out to the catering for this evening. The food was deliciousss! Thank you very much!
This summary of the evening turned out to be quite a long post, but I really wanted to share how much I appreciated hosting this event, having such wonderful speakers and truly feeling blessed by those around me!
I hope to continue seeing more powerful women making a change in this world for the better. If ever you see a GirlCode meetup, don’t hesitate! They’re always a lot of fun, and you always leave with a bit more knowledge.
Thank you for reading.
Until next time
Original post by Elisabeth Boldewijn can be found here.
The next meetup is being organised as we speak! Keep an eye on our Meetup page to RSVP once it’s up!
CODE: Debugging the Gender Gap – Girl Code screening at Accenture
Since it came out in 2015 this screening was on top of our wish list for Girl Code! And Lisa from Accenture made the dream come true! Last Monday we screened the documentary ‘CODE: Debugging the Gender Gap’ with Accenture at their office. MOVIENIGHT!!!1!!1!
It was a great film. And if you know people who don’t really see the problem or are blind for the sexism that takes place in the developer’s world: show them this film. It will save you a lot of explaining!
We started off the night with some drinks and pizza and after watching the movie we discussed some themes around this topic. Like: Will a quota help? Should we retrain women to code within businesses? And did you experience the sexism which was showed in this movie? You can imagine this was a seriously interesting discussion. Thanks Lisa and Accenture for making this screening possible!
PS You can now join us for our next meetup about accessibility June 13 at Incentro!
PS2 You can also apply for the open speaker spot! See our meetup event page for details how to.
Developers Testing – Girl Code @ bloomon
Past 21st of March was the date that goes into history as the first Girl Code of 2018. It was also the first Girl Code I, Ineke, had to miss because of an acute inflammation in my stomach and so the first Girl Code without a real blogpost, ha. Wouldn’t want you to miss out on the photos and the slides, so here they are!
Sure, the testing of your projects is generally done by testers. And that’s a good thing: testing your project shouldn’t depend solely on you as a developer testing your own code! But that doesn’t mean testing your own stuff before you release it to be tested isn’t important. There are more kinds of testing then just user testing alone. Such as functional testing, unit testing and integration testing. Unit testing, for example, also takes care of missing bugs when you build something new that might unintentionally break another part of your code: your tests will save you!
We were welcomed by Teddy at bloomon. As I already code at home with the flowers of bloomon next to my laptop I was really excited this meetup was at their office where we got to see not only their flowers but also their development department up close. Our speakers talked about their approaches to testing. Mariyana’s talk was called ‘UI Testing & Libraries @ bloomon’ and Marie‘s ‘Unit testing using Mocha’.
PS You can now join us for our next meetup about accessibility June 13 at Incentro!
PS2 You can also apply for the open speaker spot! See our meetup event page for details how to.
Back to the future – Girl Code talks AI @ ING
Another awesome Girl Code meetup has taken place last Wednesday and this time we were welcomed at ING. A new company for us, but not a new hostess. We were lucky enough working with Victoria again. We’ve met her at Booking.com during our ‘The challenges of a (Girl) Coder’-meetup and now she’s kicking ass and empowering women at ING. So, when she called for another meetup at her new office and suggested a topic high on our wish list: we couldn’t possibly refuse. The topic in question was: Artificial Intelligence. Yeahhhh!
This technology will enhance us. So instead of artificial intelligence, I think we’ll augment our intelligence – Ginni Rometty
The development of full artificial intelligence could spell the end of the human race – Stephen Hawking
AI, a term of which it’s true definition is still debated on, but most of us still have a hope, fear or opinion about. Some people can’t wait for what the future of it will bring, some just hope it won’t be as scary as they envision it to become. This night was all about lifting a corner of the veil covering it by our professional Girl Coders.
First up was Flavia with her key note titled: Demystifying AI – Robots are coming! During her talk she deconstructed the hype around AI and it’s differences with Machine Learning. It was a very interesting, inspiring and highly amusing talk of 40 minutes, so I will not be giving a summary of her whole talk. If you didn’t attend our meetup last Wednesday, you really should try to keep an eye on her and hear her talk some time about this and other topics yourself! Highly recommended! But one thing she really stressed to us is the importance of a good and complete dataset. ‘Cause your AI will be biased, and it’s predictions no good if the dataset is already biased. So a true challenge for us humans is: to keep making sure the data we feed it is the best and most complete it can be.
After a little breather it was time for Esther’s demo. Esther has been a member of Girl Code since the earliest days and is one of those inspirational people we really wanted on our stage some time. Wednesday was finally that time, ’cause our topic perfectly fits Esther, you know her being a Master of Science in it. During her short demo she showed us how we all, with a little time (like 40 minutes), can set up our first AI using TensorFlow. Check her slides to get on it!
We finished the talks with a panel discussion. Flavia and Esther were joined on stage by Janna (IT Chapter Lead) and Bidisha (IT Manager). They answered all the questions and ideas of our Girl Coders in the audience. And they did so with great passion! We closed the evening by getting to know each other and meeting up with what have become good friends while enjoying some truly delicious snacks and drinks provided by Victoria and her awesome team.
It was another AWESOME night! Thank you all for coming and making this another success as always. You ARE Girl Code :-)
If you want to join us next time, we already announced our next one at bloomon March 21st. RSVP’s will open up in January when we announce the whole program after a little holiday break. So keep an eye on meetup, to make sure you have a spot!
Happy holidays and see you next year!
All about Front End – Girl Code @ ANWB
Last Wednesday it was finally time for another Meetup! This time it was at the ANWB. And that wasn’t really a coincidence, ’cause it’s where I got my first job as a full stack developer after being retrained as one last December. To be fair, it took a little nudging to apply for the job back then, ’cause why would you want to program at the company of the ANWB-stelletjes with their unisex raincoats? Well, in the end I’m really glad I did, ’cause we’re with more than a 100 developers here, building around 150 web applications and 30 apps. And we’re as free as can be to use the modern techs and tools we like. So that’s pretty awesome. What’s also pretty awesome is that the people who hired me were really interested in Girl Code and wanted to support our cause by hosting one and hopefully in this way also get in contact with more Girl Coders and help to raise the number of women in code.
When I started to work here I met Hanny and I was really impressed by her work and story. So after helping her with VHTO’s Girlsday at the ANWB, I asked if she also wanted to organize a Girl Code with me at the ANWB. And if it was up to me if she would also give a talk at this event herself! Even though she never did it before and was a little nervous about it, she accepted the challenge! So we started to look for a second speaker and we soon found out, which didn’t surprise me, we had a lot of other brilliant women ANWB’ers for the second talk and helping us out with the rest of the organization. Thanks, Anne, Xiaolin, Sabine, Marjon, Chantal and Lisa! With an open call for a speaker we completed the program with Chantal (S)!
In programming you can choose sides. You can choose the front or back end and if you really can’t choose you can always still be Switzerland and choose full stack.
For this meetup at the ANWB we sided with the front end and we had three Girl Coders who led us through some different tech and aspects of front end coding. Despite the autumn storm outside we had a filled up room and an awesome night. Hanny, Anne and Chantal rocked the stage and we had some great conversations after during the drinks. So thank you all for coming and making this night another successful Girl Code event!
Hanny talked about the connection between front end and UX, Anne about Elm and how it compares to AngularJS and Chantal about Bootstrap. You can take another look at all the slides below.
PS Keep an eye out on our Meetup page, ’cause the next one is already in progress! If you like the topic of artificial intelligence, I would make sure to block Wednesday night December 6 ;-) Just a tip.
Building Rock-Paper-Scissors – Girl Code at Codaisseur
So, last Wednesday it was time to get a taste of it at Codaisseur. And despite of the very, very, VERY good weather outside we had a filled classroom. Proud of our eager to learn Girl Coders and eager to teach tutors! After some short introductions about Girl Code and Codaisseur, all eyes and ears were focused on Ester Kais who showed just how easy it is to build a Rock-Paper-Scissors game in Ruby in just 1.5 hours. The evening was a big success: we once again met cool new people, got a taste of a new language and saw that wine not always beats coding, ’cause even after we finished and it was time for drinks most of you were still perfecting their games. In short: it was a good ol’ night of coding!
Keep an eye on our meetup page because we can’t wait to see you all again!
And if you weren’t able to join us this time, below you can find the slides and here the tutorial complete with installation guide. You’re welcome ;-)
PS it was Valentina Colombo who invited us to Codaisseur and arranged for everything on Codaisseur’s end. Because of a more important personal emergency she sadly couldn’t join us. But we would like to thank her again for welcoming us and help arrange for this awesome meetup to happen: thank you, Valentina!
Workshop Photon Particle: Girl Code meets IOT
Because of the enthusiastic reactions to the talks about IOT at our last Meetup in August, our September Meetup last Friday at Q42 was all about connecting our own ‘Things’ to the internet ourselves. For this hands-on workshop we’ve picked the Particle Photon Starter Kit as our ‘Thing’. And because it comes with a built-in WiFi module everybody was online in no time, building their own apps with the LED and photocell. Afterwards they took it home to keep on building the wild ideas they made up during the workshop.
As always time flies when you’re coding with other Girl Coders, so it was hard to stop when the evening was over. Several Girl Coders are hungry for more coding with their Photons in the good company of some fellow Girl Coders. If you’re too let us know you’re interested in a casual Photon evening somewhere with WiFi, so we can pick a date and a place!
Girl Code meets IOT
Internet of Things has become increasingly ubiquitous in our daily lives. Your thermostat is controlling the temperature based on your behavior, your smoke detector warns you through your lights in case of a fire and in the near future you’ll be buying your smart-by-itself-ordering-new-coffee-beans-when-you’re-out-coffee-machine right at the Media Markt.
IOT makes our daily lives easier and offers fun opportunities for us coders. Beyond coding apps and websites, you can bring your coding into the real world even more when you do something with IOT. Think of world-saving drones, but also of fun little projects like building a connected dress.
Last Wednesday it was finally time for our meetup at Q42 Amsterdam dedicated to IOT in preparation for an IOT workshop Kristin wants to give for quite a while now (read: at least a year). And because everybody was as excited about the topic as we are, this long-anticipated IOT workshop will be next! Keep an eye on our Meetup group, Facebook and Twitter to make sure you will be part of it.
We had a blast and want to thank you all again for coming and making Girl Code such a success. Below the slides of all of the talks. See you at the next one!