├── css ├── modern-business.css └── vertical-timeline.css ├── README.md ├── index.html ├── COPYING └── vendor └── bootstrap └── js ├── bootstrap.min.js └── bootstrap.bundle.min.js /css/modern-business.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 56px; 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SWE department dev hiring process 2 | 3 | This repo holds the description of our hiring process for developers 4 | which is published as [GitHub site](https://wmde.github.io/Hiring/). 5 | -------------------------------------------------------------------------------- /css/vertical-timeline.css: -------------------------------------------------------------------------------- 1 | .timeline-v2 { 2 | padding: 10px 0 0; 3 | list-style: none; 4 | position: relative; 5 | } 6 | 7 | /* The line */ 8 | .timeline-v2 > li{ 9 | position: relative; 10 | } 11 | 12 | .timeline-v2:before { 13 | top: 0; 14 | bottom: 0; 15 | left: 10%; 16 | width: 4px; 17 | content: ''; 18 | background: #f3f3f3; 19 | position: absolute; 20 | margin-left: -14px; 21 | } 22 | 23 | /* The date/time */ 24 | .timeline-v2 > li .cbp_tmtime { 25 | width: 25%; 26 | display: block; 27 | position: absolute; 28 | padding-right: 80px; 29 | } 30 | 31 | .timeline-v2 > li .cbp_tmtime span { 32 | top: 9px; 33 | display: block; 34 | text-align: right; 35 | position: relative; 36 | } 37 | 38 | .timeline-v2 > li .cbp_tmtime span:first-child { 39 | color: #999; 40 | font-size: 14px; 41 | line-height: 0.9; 42 | } 43 | 44 | .timeline-v2 > li .cbp_tmtime span:last-child { 45 | color: #585f69; 46 | font-size: 20px; 47 | font-weight: normal; 48 | 49 | } 50 | 51 | /* Right content */ 52 | .timeline-v2 > li .cbp_tmlabel { 53 | padding: 10px 20px 20px; 54 | background: #f3f3f3; 55 | line-height: 1.4; 56 | clear: both; 57 | position: relative; 58 | /*border-radius: 5px;*/ 59 | margin: 0 0 40px 13%; 60 | } 61 | 62 | .timeline-v2 > li .cbp_tmlabel li { 63 | padding: 0; 64 | } 65 | 66 | .timeline-v2 > li .cbp_tmlabel h2 { 67 | margin-top: 0px; 68 | font-size: 21px; 69 | padding: 0 0 5px; 70 | margin-bottom: 10px; 71 | text-transform: capitalize; 72 | border-bottom: 1px solid #ddd; 73 | } 74 | 75 | .timeline-v2 > li .cbp_tmlabel .text-left { 76 | float: left; 77 | } 78 | 79 | .btn-timeline.right { 80 | float: right; 81 | } 82 | 83 | /* The triangle */ 84 | .timeline-v2 > li .cbp_tmlabel:after { 85 | right: 100%; 86 | border: solid transparent; 87 | content: " "; 88 | height: 0; 89 | width: 0; 90 | position: absolute; 91 | pointer-events: none; 92 | border-right-color: #f3f3f3; 93 | border-width: 10px; 94 | top: 18px; 95 | } 96 | 97 | /* The icons */ 98 | .timeline-v2 > li .cbp_tmicon { 99 | top: 22px; 100 | left: 10%; 101 | width: 10px; 102 | height: 10px; 103 | position: absolute; 104 | background: #003b5c; 105 | margin: 0 0 0 -17px; 106 | box-shadow: 0 0 0 4px #f3f3f3; 107 | -webkit-font-smoothing: antialiased; 108 | } 109 | 110 | /* Example Media Queries */ 111 | @media screen and (max-width: 65.375em) { 112 | 113 | .timeline-v2 > li .cbp_tmtime span:last-child { 114 | font-size: 1.5em; 115 | } 116 | } 117 | 118 | @media screen and (max-width: 47.2em) { 119 | .timeline-v2:before { 120 | display: none; 121 | } 122 | 123 | .timeline-v2 > li .cbp_tmtime { 124 | width: 100%; 125 | position: relative; 126 | padding: 0 0 20px 0; 127 | } 128 | 129 | .timeline-v2 > li .cbp_tmtime span { 130 | text-align: left; 131 | } 132 | 133 | .timeline-v2 > li .cbp_tmlabel { 134 | padding: 1em; 135 | font-weight: 400; 136 | margin: 0 0 30px 0; 137 | } 138 | 139 | .timeline-v2 > li .cbp_tmlabel:after { 140 | left: 20px; 141 | top: -20px; 142 | right: auto; 143 | border-bottom-color: #f3f3f3; 144 | border-right-color: transparent; 145 | } 146 | 147 | .timeline-v2 > li .cbp_tmicon { 148 | left: auto; 149 | float: right; 150 | position: relative; 151 | margin: -55px 5px 0 0px; 152 | } 153 | } 154 | 155 | .timeline-v2 > li .cbp_tmlabel.equal-height-column { 156 | height: auto !important; 157 | } 158 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 |We aim to keep our hiring process as straightforward and transparent as possible.
30 | 31 |32 | Below are the various steps of the software departments hiring process for developers. 33 | Things are different for non-developer yet technical positions such as User Experience expert and for 34 | non-technical positions such as Product Manager and Community Manager. 35 |
36 |In this 30-45 minute call we’ll get to know each other and we'd love to hear about your motivation to applying for the position. Participating in the conversation will be an HR representative and a hiring manager or tech lead. It will be a two-way conversation and we want to 46 | understand whether we'll be a good fit for one another.
47 | 48 |You will have time to introduce yourself and we will tell you about the organisation, the software development department and the team you will be working with. You will be asked about your experience and some simple technical questions. During the whole interview feel free to ask any questions.
49 |This session will take around two hours and will be done remotely over Google Meet. 55 | One developer will be participating. There will be two main sections: 56 | a straightforward programming session and a general discussion about your technical 57 | preferences or experiences.
58 | 59 |60 | During the pair programming 61 | exercise you'll be working together with one of the developers 62 | on refactoring a small set of self contained legacy code. No knowledge of 63 | MediaWiki or other such specific technology is required. You will have the 64 | choice between doing the exercise in PHP and in JS. 65 |
66 | 67 |68 | The Pair Programming allows us to see how you approach problems, how 69 | you collaborate and how you communicate. You and the developer will 70 | pretend to work, as colleagues, on a task at a company you just started 71 | working for. This collaboration is what is evaluated, so there is no need 72 | to rush and try to get as much of the exercise done as possible. If 73 | it is not completed, which is likely, you will not be penalized for this. 74 |
75 | 76 |77 | The remote pairing is done using Visual 78 | Studio Code and Visual 79 | Studio Live Share, a service that allows synchronization of code between 80 | different machines and editors. 81 | If using VS Code does not work for you, it is possible to use the web based editor 82 | as an alternative. 83 | Make sure that your Google Meet is working. 84 |
85 | 86 |87 | This will allow us to get a better understanding 88 | of your technical skills and how you collaborate and communicate with people in your team. We will also be assessing how you approach problems and your thought processes as you reach a solution. 89 |
90 | 91 |97 | Organised online. It will take around three hours and is divide in four sections: 98 |
117 | We will send you the job offer based on the details agreed upon during the 118 | Insight Day. 119 |
120 |129 | We try to move things along as quickly as possible, though we will likely need several days, perhaps 130 | up to a week in between the steps up to, and including, the Insight Day, to schedule 131 | sessions. You can, therefore, expect the whole process to take about 4 weeks. 132 |
133 | 134 |135 | We may skip the Telephone Interview steps for candidates already familiar with Wikimedia. 136 |
137 |145 | You can view our current vacancies. 146 |
147 | 148 |149 | Our GitHub contains many of our open-source projects. 150 |
151 |