Videos uploaded by user “Wix Engineering Tech Talks”
Testing with Protractor - Daniela Green
In this talk, we will cover the frameworks that Protractor relies on, including the Jasmine framework, Selenium and WebDriverJS. We'll compare Protractor E2E testing with Java E2E testing and talk about the impact the asynchronous WebDriver API has on our test code. As well, we'll show some techniques we can use to capture DOM elements in Angular apps and explain the Protractor synchronization mechanism that helps us avoid unnecessary Wait and Sleep methods calls. Talk by: Daniela Green.
Tal Kol - Introduction to React Native Performance
React Native holds great promise in terms of excellent developer experience with Javascript and code reuse between platforms. The big question is  -  do these benefits come at the price of performance? How well can React Native hold its own against purely native implementations? Presentation slides: https://speakerdeck.com/talkol/introduction-to-react-native-performance Blog post: https://medium.com/@talkol/performance-limitations-of-react-native-and-how-to-overcome-them-947630d7f440 About Tal: Mobile Apps Lead Architect in Wix.com. Tal Kol is a full-stack developer, specializing in native mobile development for iOS and Android. His latest passion is React Native. Tal co-founded two technology companies. The latter, Appixia - a platform for native mobile app generation, was acquired by Wix.com.
ES2015 Iterators and Generators - Dan Shappir
Iterators and generators represent one of the most significant enhancements to the JavaScript language provided by ES6. Iterators specify a standard mechanism for traversing over data sources, such as collections. Generators provide a convenient mechanism for implementing iterator factories in your own code. ` In this session will dive into the technical details of iterators and generators, and learn how to best leverage their capabilities. Talk By: Dan Shappir - a performance specialist at Wix.com in the infrastructure team of the Client Editor. Dan is a twenty year software development veteran, holds an M.Sc. in Computer Science, and has spoken at numerous technical conferences.
Talking Architecture With Kevlin Henney
Systems get bigger, technologies reach further, practices mature, advice changes... or at least some of it does. Some guidance remains unaffected by the passing of paradigms, the evolution of technology or the scaling of development: break your software into small, cohesive parts defined by clear interfaces and sound implementations, all the while striving for simplicity. The excuses for not doing so are as predictable as they are problematic. But if you want to create legacy code, make sure code is arbitrarily partitioned into large, incoherent parts characterised by unwieldy interfaces and incomprehensible implementations. While there are many definitions of what a legacy system is, common to almost all perceptions of a legacy system is the concept of size — specifically, lots of it. The phrase 'small legacy system' can be considered an oxymoron. This talk sets out to re-assess and reassert the importance of thinking and implementing small as an essential property of software systems — yes, even the large ones. About Kevlin: Kevlin is an independent consultant and trainer based in the UK. His development interests are in patterns, programming, practice and process. He has been a columnist for various magazines and websites, including Better Software, The Register, Java Report and the C/C++ Users Journal. Kevlin is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of 97 Things Every Programmer Should Know
ReactJS: Code Reuse Patterns - Guy Romm
As developers, we all try our best to avoid code duplication. When using React, several patterns are available to help us with this task, of creating reusable code. In this talk, Guy goes over the pros and cons of simple composition, render callbacks, and high order components, in rich React applications. He teaches us how to decide which solution to apply to a problem, and how that solution affects our application.
Clojure: A live Demonstration of Simplicity That is Production Ready - Nir Rubinstein
Let's talk while we code - in this live demonstration, Nir shows how easy it is to spin up a production grade web-handler in under 5 minutes. He also shows how the Clojure mentality of "libraries as functions" let's us easily expand our project's functionality. Through this live demonstration, he emphasizes some core ideas of the language and see them implemented in real life. Nir Rubinstein is the Chief Architect of AppsFlyer - the company that runs the highest amount of Clojure code in production in Israel and handles 30B (and growing) daily incoming events. Nir has been writing Clojure for production in the last 5 years.
Scaling Wix to 70m Users - Yoav Abrahami (Hebrew)
Wix infrastructure has gone a number of transformations, starting as a monolithic application server with MySQL, evolving to a service based architecture with with diverse infrastructure. Building wix was a journey of scaling architecture and our engineering team from a small startup to where we are today - 70M users and 400 developers. In this presentation we explore the scaling challenges, both the technical architectural ones and the orgazinational ones.
Get Kata - Kevlin Henney
Coding katas are a way that programmers can kick the tires of their programming languages, paradigms and practices. Conventionally anchored in a TDD cycle, katas are typically simple problems that give programmers the opportunity to exercise deliberate practice and explore different approaches, whether programming style, pair programming or test-first programming. But the simplicity can be deceptive, with many programmers tiring of these katas too soon, missing out on some of the more mind-bending and paradigm-expanding opportunities on offer. This session will pick on a handful of katas and dig deeper into TDD, software craftsmanship, lambdas, language(s), (dys)functional programming and Alcubierre drive.
React Native Under the Hood - Rotem Mizrachi Meidan
React Native enables writing native apps in JavaScript, but under the hood there’s quite a complex mechanism that could easily be misused. This talk will help gain better understanding on how react-native actually ticks, which may help improve your app's performance and solve issues ahead of time.
Bruce Schneier  -  The Conflict between Privacy and Security
Bruce Schneier - CTO of Resilient Systems - showed up for a guest appearance at the Wix Meetup Space, thanks to a certain military unit. In this talk Bruce elaborates on his own perspective in the everlasting, ever growing, conflict between security and privacy. Fascinating stuff... Enjoy! "Any country that sacrifices a little bit of liberties to gain a little bit of security deserves neither, and will lose both..." - Benjamin Franklin.
From Callback Hell to Async Heaven - Promises
Come with me as I bring you to Node world, and lead you from the pit of callback despair, up to the purgatorio of promises, and finishes in async heaven - using generators and yields to make async code look like sync code. By: Gil Tayar This is part of Wix Tech Talk meetup group, join the group here: http://www.meetup.com/at-wix/
Wix Engineering Tech Talks Show, Episode 1: “SOLID” Principles
Robert C. Martin's "SOLID" principles are well-known and widely accepted guidelines for writing maintainable software. In this video, Fayga Derevicher explains them and demonstrates their usage, with simple and easy to understand examples. Stay tuned for episode 2...
React Native Code Sharing - Aaron Greenwald
React Native promises 85% code reuse...can it be done? In our experience, YES. Aaron Greenwald from Wix, will discuss code sharing between iOS and Android, the web, and between multiple projects.
Finding Your Organization’s Code Deodorant - Ittai Zeidman
What do you do when you know your codebase is dirty, and it’s your in-house framework? This happened to us at Wix. As we debated how to tackle our massive technical debt, we were struck by a wonderful realization: the process of transforming the old framework into something new and shiny is a golden opportunity to improve coding practices throughout the organization. We steered clear of specs and coding standards in favor of a platform of debating, reviewing and improving code. In this talk Ittai will walk you through the process we went through, sharing the story of how we used this ongoing refactoring effort to drive code quality improvements throughout Wix R&D. Check out Ittai's slides here: http://www.slideshare.net/ittaiz/finding-your-organizations-code-deodorant
Practical Functional Programming in JavaScript - Ben Katz
Everyone is talking about Functional Programming nowadays: various functional languages translate to JavaScript (e.g., Elm, ClojureScript, and PureScript) and Redux is a very popular architecture. Ben's talk is an attempt to go back to the basics; to the core concepts of Functional Programming. Most of the talk is about simple concepts that exist today without the need for libraries or frameworks. Ben wants to try and lead the audience to understand the value and what it means to write functional code, today. After watching this, you will finally learn what’s better about FP! He promises, there are no monads here. Ben has been in the software industry for over 10 years. Today, he is tech-leading a front-end project at Wix, and in the last few years has been talking about concepts of software and programming. Ever growing, learning, and always looking for opportunities to pass his knowledge.
Hypermedia APIs and HATEOAS - Volodymyr Tsukur
In this talk, by Volodymyr Tsukur from the Ukraine, he'll uncover the next step in API evolution - hypermedia! He'll reveal the meaning and principles behind HATEOAS buzzword, explain how hypermedia works. The focus is on practical applications, outcomes, seeded with a great bunch of real-world examples.
Journey to Functional Programming - Igal Tabachnik
Functional programming sounds great, in principle, but can it actually deliver on its promise of building highly scalable, predictable, composable and testable applications? In this lecture, Igal teaches us how to build just about any kind of software in a purely functional way in Scala, from first principles.
Clojure, REPL & TDD: Feedback at Ludicrous Speed - Avishai Ish-Shalom
When starting with Clojure, newcomers often program using the same patterns they used too - code, run tests, drink coffee & repeat until feature is done. But Clojure encourages a different programming mindset: explorative, rapid prototyping; The language and it's ecosystem make it very easy to get rapid feedback and iterate quickly on design. In this talk, Avishai introduces some Clojure patterns that enable this rapid feedback - REPL programming & the reloaded pattern and show how these supercharge TDD.
Cultural Learnings of Testing for Make Benefit Glorious Nation of Startup - Gil Tayar (HEBREW)
"Developer Testing", or "Testing" in short, is crucial for any company that does software. It is crucial not only for the development-side of the company, but is also crucial for the business side of the company. In this talk Gil explains, in a non-technical manner, why everybody in the company should make "Testing" a priority of the software development process. Check out Gil's Slides here: https://docs.google.com/presentation/u/2/d/1TdOi4JBK_GxN9692CoZOPyj0TEAADTiuI4z_1qmLDII/edit?usp=sharing
Driving to UI Test Heaven - Gabriel Grinberg
Testing UI is hard - the amount of platforms, the vast choice of technologies and the lack of a clear API, all lead to testing implementation details instead of the actual feature. In this talk, Gabi presents a design pattern called “Component Drivers” that had a huge impact on UI testing at Wix, and shows how we can take this to the next level and reuse component test code in browser/e2e testing code in different platforms, making QA automation much simpler!
How shit works - Tomer Gabel
The beautiful thing about software engineering is that it gives you the warm and fuzzy illusion of total understanding: Icontrol this machine because I know how it operates. This is the result of layers upon layers of successful abstractions, which hide immense sophistication and complexity. As with any abstraction, though, these sometimes leak, and that's when a good grounding in what's under the hood pays off. This first in what will hopefully be a series of talks covers the fundamentals of storage, providing an overview of the most common storage medium on modern platforms (namely hard drives). You'll come away knowing a little bit about a lot of different moving parts under the hood; after all, isn't understanding how the machine operates what this is all about?
Beyond Developer - Dan North
Keynote by Dan North at the annual Wix Engineering Conference 2018: When I started in IT the roles were clearly separated. Business Analysts wrote requirements, Systems Analysts designed systems, Architects designed them, Programmers wrote the code and then spent weeks of their life engaged in the soul-crushing activity known as integration. In some organisations Testers would test the software and write reports. Cross-disciplined Analyst-Programmers were a rare and valuable commodity. Over the last decade or so we have seen a shift towards “generalising specialists”, programmers who, as well as designing and building great software, can understand a business domain, design a user interface, participate in and automate some of the testing and deployment activities, and who are sometimes even responsible for the health and wellbeing of their own systems in production. To succeed in this new world requires more than “3 years of C# programming”. The modern lead developer needs to be constantly reinventing themselves, learning, and helping others to do the same. In this session, Dan explores some of the skills and characteristics of the modern lead developer, and suggests some ways you can grow them for yourself. *Source: https://speakerdeck.com/tastapod/beyond-developer Dan North uses his deep technical and organizational knowledge to help CIOs, business and software teams to deliver quickly and successfully. He puts people first and finds simple, pragmatic solutions to business and technical problems, often using lean and agile techniques. With over twenty-five years of experience in IT, Dan is a frequent speaker at technology conferences worldwide. The originator of Behaviour-Driven Development (BDD) and Deliberate Discovery, Dan has published feature articles in numerous software and business publications, and contributed to many others. *Source: https://dannorth.net/
Old Dog, New Tricks - Or, How I learned To Be Better - Nimrod Argov
For years I have been used to putting out fires after code changes and having parts of the product that can never be touched. The uncertainty and fear wore me down. Getting to know TDD, Clean Code and other methodologies was the start of a process of gaining confidence and a good night’s sleep. Making the transition wasn’t always easy. This is the story of what it took for me to let go of my old habits, teach myself new tricks and transition into code craftsmanship.
Tal Kol - Introduction to React Native Performance - New
React Native holds great promise in terms of excellent developer experience with Javascript and code reuse between platforms. The big question is  -  do these benefits come at the price of performance? How well can React Native hold its own against purely native implementations? Presentation slides: https://speakerdeck.com/talkol/introduction-to-react-native-performance Blog post: https://medium.com/@talkol/performance-limitations-of-react-native-and-how-to-overcome-them-947630d7f440 About Tal: Mobile Apps Lead Architect in Wix.com. Tal Kol is a full-stack developer, specializing in native mobile development for iOS and Android. His latest passion is React Native. Tal co-founded two technology companies. The latter, Appixia - a platform for native mobile app generation, was acquired by Wix.com.
Detox: tackling the flakiness of mobile automation - Viktorija Sujetaitė
As the number of smartphone users is expected to hit the 5 billion mark next year, we can confidently assume that the popularity and demand of mobile apps will continue to grow. Naturally, mobile apps do require testing, but a lot of it is done manually. The most difficult part of automated testing on mobile, is only the tip of the testing pyramid - E2E tests. The core of the problem with E2E is flakiness, which results in unreliable tests. At Wix, we believe the only way to tackle this flakiness head on is by moving from black box testing to gray box testing. And for that, React Native mobile apps automation library - Detox - is being created. Bio: Viktorija is a Mobile QA Engineer at Wix. After gaining experience in Web and Windows desktop apps testing, she followed her passion for technology and trends to work with mobile apps. At Wix, she’s making mobile automation an inseparable part of the QA cycle - working with Detox and teaching others to work with it.
TDD: Cultivating a Beginners Mind - Shai Yallin
What is software design? How does it relate to writing code? many of us are using agile methodologies nowadays, but how can we reconcile these with the concept of software design as we currently know it? In this talk, Shai shared with the audience his personal journey with Test-Driven Development (and Design) over the last 5 years, a journey that started with him assuming that he knows what TDD is and how one should write tests and over time has repeatedly proved Shai wrong, making him more humble and open to new ideas - and by way of that, helped him become a better engineer. This is not a talk about code. It's about adopting a Zen-like approach to software design, using TDD as our guide. Enjoy!
JavaScript riddles for fun and profit - Dan Shappir
You think of yourself as a JavaScript expert. Your colleagues come to you whenever they are unsure about a JavaScript feature. But how good are you really? Dan hopes that during this session you will find out. Dan poses a series of ever more challenging JavaScript riddles and brain-teasers. See how far you are able to go and along the way you'll likely learn some new things about this ever-evolving language.
First date with GraalVM - Pijus Navickas
GraalVM - the newest JVM extension generated a lot of buzz in the industry, already earning the trust of such industry giants as Twitter. The promises GraalVM gives definitely sounds good: a better performance, ability to run polyglot languages and more. In this talk we learn what exactly is GraalVM, what hides behind the scene, how come GraalVM is technically able to fulfill the promises it gave, and should we jump on the GraalVM hype train too. Pijus is a software engineer at Wix. He is a polyglot developer with main background coming from JVM and C++ worlds. He is passionate about good engineering, developing elegant and efficient solutions. Picking the right tool for the right job has always been one of the key principles of his. Java.IL - the Israeli Java Community: https://www.meetup.com/JavaIL
Deep Dive Into React Native - Lev Vidrak
Wix Mobile Application is built with React Native, a cross-platform framework, allowing developers to compose mobile apps using JavaScript in a declarative way. Scaling a production-grade application with such young framework without compromising on performance and dev velocity, forces us to deeply understand the internal architecture of React Native. In this talk, Lev Vidrak starts with an overview of the React Native framework, following that, he dives into the main building blocks of the framework such as the Bridge, Native Modules, Metro Bundle and understand what really happens during runtime of our application. He focues on the architectural bottlenecks of the system and explains how the upcoming re-architecture of React Native is going to solve these problems.
No: Insubordination in Service of Resiliency and Safety - Roy Rapoport
Keynote by Roy Rapoport at the annual Wix Engineering Conference 2018: There's a myth that effective organizations are ones where everyone marches in lockstep. In this discussion, Roy addresses the role of insubordination -- the "defiance of authority or refusal to obey orders" -- in healthy organizations and management structures as an intentional method of building up organizational resiliency and creating safer environments for decision-making. Roy talks about principles, perspectives, and both effective and hilariously ineffective examples of this, from his own 25 years of being a pain in the neck to the people managing him. Roy Rapoport leads the Data Engineering organization at Slack, where he is tasked with helping scale Slack's data organization to deal with massive data, tractable questions in need of answers, and the fundamental question frustrating data people everywhere: "What does this even mean?" (but he's not speaking for Slack). Before this he spent some years at Netflix, both in IT and in Engineering responsible for Netflix's real-time operational insight systems. He has an eclectic background in software engineering, IT, operations, network and systems engineering, and QA, which is probably about as relevant as mentioning that he owns goats.
Wix Media Platform - Lynne Hurwitz
Wix Media Platform is an end-to-end solution for all modern web media management, handling images, video and audio in the most efficient way on the market. From upload, storage, metadata management and all the way to delivery, Wix Media Platform takes care of all possible media workflows.
GOOS style TDD by Example - Sagy Rozman
This is a live demonstration of outside-in TDD starting from an end to end test (walking skeleton) and driving the finer implementation details using unit tests. The purpose is to demonstrate how e2e tests can drive your architectural decisions and the need for unit tests can drive your internal design. We'll start with a simple http server and complicate things as we go to show how changes in the requirements affect our architecture and design decisions. About Sagy: Sagy has been studying applying and teaching TDD and agile practices for more than a decade now. He is currently employed as a technical coach at Wix.com. He's also a musician and loves everything to do with music and improvisation.
Java 8 and Beyond, a Scala Story - Tomer Gabel
With Java 8 adoption skyrocketing, is Scala still relevant? In our opinion, the answer is an unequivocal yes. To make our point, Tomer Gabel (system architect at Wix) will showcase practical examples where Scala's features provide a definitive advantage over Java 8. We'll cover: • Effective logging with traits and by-name parameters • Pattern matching for fun and profit • Type-safe, efficient serialization with type classes
Joel Spolsky: Building World-class Companies
Joel Spolsky, CEO and co-founder of Stack Overflow, is a globally recognized expert on software development and is known by developers around the world for his website, Joel on Software, which has been translated into over 30 languages. In 2000, he founded his first company, Fog Creek Software, which creates project management tools for software developers, including Trello, which was acquired by Atlassian in 2017. Previously, Joel worked at Microsoft, where he designed VBA as a member of the Excel team, and at Juno Online Services, where he developed an internet client used by millions. He has written three books, including Smart and Gets Things Done: Joel Spolsky’s Concise Guide to Finding the Best Technical Talent (Apress, 2007) and worked as a contributing editor for Inc. magazine. Joel graduated from Yale University with a computer science degree. Joel will share stories and anecdotes from starting his popular blog Joel on Software to co-founding Stack Overflow, and how both have impacted the developer community. Joel will also talk about Trello.
Life Without Objects - Osvaldas Grigas
Transitioning from OOP to functional style can be quite challenging, not least because OO developers are used to modeling nouns, but not verbs. Programming languages, like Clojure, use functions as primary means of abstraction, so one is forced to try out other approaches to design. Assuming basic familiarity with the fundamentals of FP like immutability and purity, Osvaldas explores new ways of designing things, doing composition and polymorphism. Fear not! What you have learned about good OO design can be applied to FP, in obvious and sometimes weird ways. After all, an object is just a collection of partially applied functions. Osvaldas Grigas is a polyglot developer who uses mainstream as well as less popular JVM languages in production and is passionate about software design. He organizes Coderetreats and leads a community of Clojure enthusiasts in Vilnius. Osvaldas likes to talk about TDD, OOP, FP and to facilitate coding workshops.
Unbundling distributed monolith with Node.js - Vilius Lukosius
Wix transitioned from monolith to microservices around 8 years ago. Or did it? At Wix Engineering, there are hundreds of microservices in production with teams working on separate independent services or groups of services with decoupled deployments and SLAs. Sounds like a microservice architecture, but there is a dark truth to it - single platform (jvm), shared libraries (framework), fat clients (binary dependencies). In the industry it is called a distributed monolith. There is no natural way or incentive to get rid of it, but there is a way - adding a new platform. This talk is a story of adding a second backend stack in Wix - node.js: - background on why and how; - uncovering 'skeletons in the closet'; - joys of reverse engineering contracts; - approach to fixating/encoding contracts; - impact of evolution on existing (jvm) stack.
Learn Once, Write Anywhere: Intro to React Native - Aaron Greenwald
Facebook introduced a new way to develop native mobile applications using JavaScript: React Native. Though this doesn't sound like a very revolutionary concept, the way Facebook chose to do it makes React Native stand out among its peers. In this talk, we’ll take a look at what RN is, how it differs from its competition, and why we might want to use it. Geared toward developers with limited or no experience building mobile applications, it takes a high level view of the framework and makes a compelling case for considering it as part of your toolset. Link to presentation slides: https://speakerdeck.com/aarongreenwald/learn-once-write-anywhere-intro-to-react-native About Aaron: Before mobile development with React Native existed, Aaron architected and built web apps using AngularJS and other web development tech. Now he’s part of the team building Wix’s mobile presence, and is focused on delivering first-class experiences to users who need their business to be mobile. He enjoys talking about React Native and teaching others how to use it. Twitter: https://twitter.com/aaronjgreenwald Github: https://github.com/aarongreenwald
Wix Engineering Tech Talks Show, Episode 3: Meaningful Code Reviews
There are many different ways to review code, but how many of those methods really help you step up your game as a programmer? Watch the third episode of our fresh new Tech Talks Show, where our very own, Guy Ben Moshe, talks about the “Meaningful Code Reviews” method, that aims not only to deliver better code, but also explains how to build yourself (and your reviewee) to become stronger programmers.
Managing a 120-module npm monorepo and staying sane - Vilius Lukošius
For couple of years, Vilius has been building infrastructure to enable developers building node-based apps/services. From the beginning, it was designed to be modular - which is nice on paper, but not so great in an ecosystem that does not have built-in capabilities to manage multi-module projects. So tooling had to be built. And rebuilt. Three times. Vilius walks us though history, evolution and the current state of what we have and how we manage the beast.
TDD: Discover Implementation by Stepping Small - Vaidas Pilkauskas
Enough with the theory! Let's look into how classical TDD techniques are applied to discover algorithm implementations by moving forward with baby steps and triangulating into more generic implementation. This talk is fully based on live coding in Scala, but does not require any prior experience with the language. It covers the following techniques: baby steps, transformation priority premise, mutable vs. immutable code, functional programming habits that may get in the way. It will end with introduction to tail call optimization by leaving audience with an open question which code was more readable.
Helping First Time Managers Overcome the Dunning-Kruger Effect - Shai Kfir
It is known that developers don't necessarily make good managers, yet most companies (us included!) make the mistake of "promoting" the most successful developers into managerial positions. A developer transitioning to a managerial position deals with various difficulties: a new team, managing people who until recently were co-workers. Most tech companies offer very little, if any, training for first-time managers; without the tools, training, or even having a clue as to what their job is, it's no wonder that many first-time managers fail. In this talk Shai will discuss some of the mistakes we’ve made at Wix and the system we’re working on to support managers making their first steps including coaching, training and teaching. A great blog post by Shai about the subject: https://medium.com/@shaikfir/first-time-managers-reading-list-a47ace140762 https://twitter.com/shaik https://www.linkedin.com/in/shaikfir/
The Typescript Dilemma with Gil Amran (Hebrew)
In this Video, Gil Amran - Tech Lead for Wix Stores - breaks the myth that there are no types in JS. He explains that though the syntax doesn't force you (the developer) to declare it - you had a type in mind. In the past you had to read the comments, run through the JS.Docs or even dig in the code to find out what the previous developer really meant. Gil also talks about the structured workflow to be gained by using typescript and demonstrates why it doesn't take back from JavaScripts flexibility. Then he dives into the added syntax and shows how it turns out after compiling and explains how and why you should move your project to Typescript gradually.
New Adventures in Responsive Web Design - Vitaly Friedman
Wix Be'er-Sheva, Design South, GDG Be'er-Sheva and Starter combined forces to introduce to you, for the first time in Be'er Sheva - Vitaly Friedman! Smashing Magazine's Co-Founder and a world class speaker, Vitaly joined us to share his knowledge and expertise about Responsive Web Design. Twitter: https://twitter.com/smashingmag GitHub: https://github.com/vitalyfriedman LinkedIn: https://www.linkedin.com/in/vitalyfriedman/ New Adventures in Responsive Web Design / Vitaly Friedman We all are still trying to figure out just the right strategy for designing and buildings responsive websites just in time. We want to use all of these technologies, but how can we use them efficiently, and how do we achieve it within a reasonable amount of time? In this talk, Vitaly will be looking into some practical strategies for crafting fast, resilient and flexible responsive design systems by utilizing all of those wonderful shiny web technologies we have available today. We’ll also talk about dealing with legacy browsers and will cover a few dirty little techniques that might ensure that your responsive websites will stay relevant, flexible and accessible in the years to come. Our partners: Design South https://www.facebook.com/negevdesign/ https://www.facebook.com/groups/DesignSouth/ GDG Be'er Sheva https://www.facebook.com/groups/312503662194113/ https://www.meetup.com/GDG-Beer-Sheva/ Starter https://www.facebook.com/Starter.BGU/
Slaying the Dragon: How to rewrite an old project and stay alive - Dalia Simons
Have you ever been asked to add a feature to an old project and you were too scared to do it? Not sure what you might break? We have all been there. In this talk, Dalia discusses why we should put the effort into rewriting those projects, what differentiates them from legacy projects and use previous projects rewrites as examples, to give some ideas how to approach this issue successfully.
7±2 Reasons Psychology Will Help You Write Better Code - Jonathan Avinor & Moran Weber
During the Cold War, the CIA knew how to expose Russian spies disguised as American citizens with a 100% certainty. They used only a piece of paper and a few questions. How did they do that? Hacking your mind is easier than you think. Let’s explore how these mental hacks affects the code we all read and write. Moran & Jonathan take you on a stroll through the world of cognitive and social psychology, and shed some light on some of our industries’ best and worst practices. They present a few interactive samples of our mind’s limitations, examine how these limitations manifest themselves in real code examples and engineering conventions, and hopefully, you'll take away a few techniques on how to write better code.
Dev-Centric Culture at Wix / Aviran Mordo
Many people believe that DevOps is a fresh name for the operations team in your organization or the toolbox you use in order to manage your systems. We believe that DevOps is more than that- it's all about the culture. In this talk, I'll present the problems of the traditional, most common development pipeline and how we solved them at Wix from my perspective as a developer. I will also give you some proven techniques and tools from our experience, in order to improve the agility and quality of your organization.
The Joy of Scala - Maxim Novak (Hebrew)
Scala vs. Java Around eight years ago I started my journey as a developer. Since then, I've played around with many languages and thought that C# offers the best developer productivity. But after joining Wix two years ago, I was exposed to the amazing world of Scala and Functional Programming and never looked back. While the maturity and wide range of tools Java offers is great, the language doesn't seem to keep up with market requirements as other languages do. In Scala the code is much more concise, less ceremonious, immutable by default, combines functional with object oriented, seamlessly interoperates with Java and the JVM ecosystem, and many software engineering patterns are already baked into the language. Most importantly - Scala is FUN. By the end of the session you too will, hopefully, convert to Scala and never look back.
Name in Vain: Improving Design One Word at a Time - Boris Litvinsky (Hebrew)
As developers, we all appreciate readable code. Yet, we tend to neglect the one thing that makes it so - naming. In this talk we’ll rediscover the importance of naming, explore the anatomy of bad name and see what makes a good one.
Wix Engineering Tech Talks Show, Episode 2: Cross Platform Applications
Cross-Platform Applications are making the mobile development process much simpler, so no wonder they are widely used today in many companies. In the second episode of our fresh new Wix Engineering - Tech Talks Show, our very own Shalev Shalit explains what Cross-Platform Applications are, why you should use them too, and how you can build your first app! * In this video Shalev refers to “Create your own ScanShare” document - https://goo.gl/to96cP * You can find ScanShare GitHub project here: https://github.com/shalevshalit/scanShare * Watch Episode 1: “SOLID” Principles with Fayga Derevicher - https://youtu.be/ISAplsTsIOE