Slide 1

Slide 1 text

Pijus Navickas, Software Engineer Backend Interviewing Process at Wix Engineering [email protected] https://pijusn.eu

Slide 2

Slide 2 text

Know Wix 01

Slide 3

Slide 3 text

Wix.com Wix.com

Slide 4

Slide 4 text

Site-Builder Wix.com

Slide 5

Slide 5 text

Business Domains Wix.com

Slide 6

Slide 6 text

Structure Wix.com "verticals" "companies" Autonomous group of cross-functional teams. "guilds" Community of people of the same profession. Blog Server

Slide 7

Slide 7 text

Agile? Yes, but implementation depends on team

Slide 8

Slide 8 text

Technologies (server) Wix.com … pretty sure I'm missing something

Slide 9

Slide 9 text

DevOps? We have DevOps-oriented culture

Slide 10

Slide 10 text

You don't code, You develop. You own it.

Slide 11

Slide 11 text

Wix Engineering Locations Ukraine Kiev Dnipro Israel Tel-Aviv Be’er Sheva Haifa Lithuania Vilnius ROW US, Canada, Berlin and ROW

Slide 12

Slide 12 text

~1000 (micro/macro/mega)services

Slide 13

Slide 13 text

~700 developers

Slide 14

Slide 14 text

~50 BE engineers in Vilnius

Slide 15

Slide 15 text

Being a great engineer 02

Slide 16

Slide 16 text

Passion may be expressed as... ▪ Side-projects. ▪ Watching talks. ▪ Reading books & articles. ▪ Following news. ▪ Doing talks. ▪ Knowing something really deep. ▪ ... Great Engineer

Slide 17

Slide 17 text

Technology stack ▪ Things you use - know well. ▪ Know the WHY. ▪ Otherwise - doesn't matter THAT much. Great Engineer "Why did you choose …?" "Why is … better?"

Slide 18

Slide 18 text

Key principles ▪ Readable over writable. ▪ Simple over smart. ▪ Automated over manual. Great Engineer

Slide 19

Slide 19 text

Readable over writable ▪ Naming matters. ▪ Declarativity is better*. ▪ Expressive design. ▪ Avoid noise. ▪ Related to simplicity. Great Engineer *except when it's not

Slide 20

Slide 20 text

Simple over smart ▪ Small units are helpful. ▪ Avoid over-engineering. Great Engineer

Slide 21

Slide 21 text

Automated over manual ▪ Tests are mandatory. ▪ We are lazy. ▪ Also acts as documentation. Great Engineer

Slide 22

Slide 22 text

Interview Process 03

Slide 23

Slide 23 text

Homework Assignment Technical Interview Typical Flow Hiring Process HR Interview Team Lead Interview + 1-2 evenings 3 hours

Slide 24

Slide 24 text

Homework Assignment 04

Slide 25

Slide 25 text

Homework Assignment Technical Interview Typical Flow Hiring Process HR Interview Team Lead Interview +

Slide 26

Slide 26 text

Purpose ▪ You get to know Wix a little. ▪ We get to know you a little. ▪ Test your coding skills. Homework Assignment

Slide 27

Slide 27 text

Evaluation ▪ Technical requirements. ▪ Code. ▪ Design. Homework Assignment

Slide 28

Slide 28 text

Notable points / tips ▪ Direct technical requirements are a must. ▪ If something is not specified, use your judgement; code is still evaluated. ▪ Test code is also evaluated. ▪ Avoid adding unnecessary elements; ends up increasing complexity. ▪ Good names help A LOT. ▪ Use tools and language you know well. Homework Assignment

Slide 29

Slide 29 text

OOP vs FP both are great but... ▪ Know both. ▪ Apply FP principles. ▪ Don't go hard-core FP. Homework Assignment Immutable… Pretty much everything. No side-effects. Write declarative code.

Slide 30

Slide 30 text

Preparation (books) Homework Assignment

Slide 31

Slide 31 text

Technical Interview 05

Slide 32

Slide 32 text

Homework Assignment Technical Interview Typical Flow Hiring Process HR Interview Team Lead Interview +

Slide 33

Slide 33 text

Purpose ▪ Test your problem solving. ▪ Test your reasoning. ▪ Test your system design skills. ▪ Test your ability to communicate your ideas. Technical Interview

Slide 34

Slide 34 text

▪ Thought process. ▪ Knowledge. ▪ Logic. Evaluation Technical Interview

Slide 35

Slide 35 text

▪ Verbalise your thoughts. ▪ Don't get stuck for long. Ask. ▪ There is rarely a correct solution. ▪ You are not expected to ace everything. ▪ You will be asked WHY questions. Notable points / tips Technical Interview

Slide 36

Slide 36 text

Preparation (books) Technical Interview

Slide 37

Slide 37 text

Preparation (lots of material) Technical Interview https://github.com/checkcheckzz/system-design-interview

Slide 38

Slide 38 text

Remaining Stages 06

Slide 39

Slide 39 text

Homework Assignment Technical Interview Typical Flow Hiring Process HR Interview Team Lead Interview +

Slide 40

Slide 40 text

I don't know. Good luck.

Slide 41

Slide 41 text

Join Us 07

Slide 42

Slide 42 text

https://jobs.wix.com Join Us

Slide 43

Slide 43 text

Notable points / tips ▪ Better too much than too little. ▪ Learn, improve and come back. Join Us

Slide 44

Slide 44 text

Q&A [email protected] https://pijusn.eu

Slide 45

Slide 45 text

Thank You [email protected] https://pijusn.eu