1 00:00:00,539 --> 00:00:05,259 foreign 2 00:00:02,180 --> 00:00:05,259 [Music] 3 00:00:08,480 --> 00:00:13,620 and welcome back 4 00:00:10,800 --> 00:00:16,800 uh Keith is the co-founder and 5 00:00:13,620 --> 00:00:18,779 co-organizer of taipei.py the largest 6 00:00:16,800 --> 00:00:21,539 python User Group in Taiwan 7 00:00:18,779 --> 00:00:23,760 he's lead back and engineer at ishef and 8 00:00:21,539 --> 00:00:26,939 served as chairperson of python APAC in 9 00:00:23,760 --> 00:00:29,099 2015. and Keith is going to talk to us 10 00:00:26,939 --> 00:00:31,520 about code review for senior python 11 00:00:29,099 --> 00:00:37,829 Engineers so please give it up for Keith 12 00:00:31,520 --> 00:00:37,829 [Applause] 13 00:00:39,620 --> 00:00:46,980 so today we'll explore the two 14 00:00:43,260 --> 00:00:48,320 difference between a senior Python and 9 15 00:00:46,980 --> 00:00:51,360 years 16 00:00:48,320 --> 00:00:54,059 Thailand developers we'll also diving 17 00:00:51,360 --> 00:00:57,840 into a profound impact the experience 18 00:00:54,059 --> 00:00:59,640 and well-rounded participative can have 19 00:00:57,840 --> 00:01:00,840 honorable quality and later on 20 00:00:59,640 --> 00:01:03,780 production 21 00:01:00,840 --> 00:01:07,320 so whether you are an aspiring the real 22 00:01:03,780 --> 00:01:11,040 person or a seasoned experts I hope 23 00:01:07,320 --> 00:01:15,320 you'll find insights and the principles 24 00:01:11,040 --> 00:01:15,320 now we are going to describe 25 00:01:16,580 --> 00:01:25,200 sorry so today's agenda was very two 26 00:01:21,240 --> 00:01:27,900 points like first we'll uh 27 00:01:25,200 --> 00:01:30,720 first we are dive into the six key 28 00:01:27,900 --> 00:01:33,900 points I will see them pattern code 29 00:01:30,720 --> 00:01:37,380 review and the second we'll discuss 30 00:01:33,900 --> 00:01:40,740 about supportive environment and Tools 31 00:01:37,380 --> 00:01:42,540 around before requests okay 32 00:01:40,740 --> 00:01:46,259 feed vacation 33 00:01:42,540 --> 00:01:48,960 so Indiana is we won't go into how to 34 00:01:46,259 --> 00:01:51,659 details in this show talk and we don't 35 00:01:48,960 --> 00:01:54,600 have the right talk about a career 36 00:01:51,659 --> 00:01:56,939 framework which may be another talk and 37 00:01:54,600 --> 00:01:59,220 then of course we can discover how to 38 00:01:56,939 --> 00:02:03,140 find a good job in my how to learn 39 00:01:59,220 --> 00:02:03,140 people in 10 toes okay 40 00:02:03,960 --> 00:02:09,319 so have anyone do a call review before 41 00:02:07,860 --> 00:02:13,140 um 42 00:02:09,319 --> 00:02:16,020 let's make a few sure so I'll probably 43 00:02:13,140 --> 00:02:20,220 spill likewise report because someone 44 00:02:16,020 --> 00:02:22,980 may even have a reviewer called page for 45 00:02:20,220 --> 00:02:25,860 the newness kernel anyway and hi I'm 46 00:02:22,980 --> 00:02:29,580 Chris Young I just have introduced I'm 47 00:02:25,860 --> 00:02:31,739 from Taiwan and if you can you want to 48 00:02:29,580 --> 00:02:36,239 come let me you can find me later on at 49 00:02:31,739 --> 00:02:38,760 home walk okay look at my video uh 50 00:02:36,239 --> 00:02:41,459 imagination like my company is doing 51 00:02:38,760 --> 00:02:45,000 like polls season in the restaurant we 52 00:02:41,459 --> 00:02:48,300 have like I have like uh we doing the 53 00:02:45,000 --> 00:02:53,400 all the preparation and the handle 54 00:02:48,300 --> 00:02:58,379 translation for our iPad and we have 55 00:02:53,400 --> 00:03:02,040 some like HRS jungle and a variety of 56 00:02:58,379 --> 00:03:05,580 database my Sequel and the postgres and 57 00:03:02,040 --> 00:03:10,080 the mongodb radius I'm gonna okay 58 00:03:05,580 --> 00:03:10,080 so now back to our foreign 59 00:04:05,580 --> 00:04:12,739 right so yeah you need to get sense then 60 00:04:08,640 --> 00:04:12,739 to use this email address 61 00:04:15,139 --> 00:04:22,500 now it's more to the GitHub already so 62 00:04:19,019 --> 00:04:26,100 you can do it like your normal parties 63 00:04:22,500 --> 00:04:28,440 but it's it might still want to really 64 00:04:26,100 --> 00:04:31,620 it's like develop the sky there are many 65 00:04:28,440 --> 00:04:34,199 advantages like you can even see let's 66 00:04:31,620 --> 00:04:37,320 see pylons internals you can inform it 67 00:04:34,199 --> 00:04:39,240 so so and it was early early yesterday 68 00:04:37,320 --> 00:04:42,960 so 69 00:04:39,240 --> 00:04:44,940 like the first point here comments no we 70 00:04:42,960 --> 00:04:48,660 are going to uh the comments always 71 00:04:44,940 --> 00:04:50,460 about the core visibility so but 72 00:04:48,660 --> 00:04:54,419 sometimes it's even more important 73 00:04:50,460 --> 00:04:58,320 medical he to be honest good rather than 74 00:04:54,419 --> 00:05:00,600 just comment everywhere so let's see 75 00:04:58,320 --> 00:05:03,600 some example Maybe 76 00:05:00,600 --> 00:05:03,600 okay 77 00:05:05,759 --> 00:05:12,060 so for example like you need to guess 78 00:05:08,520 --> 00:05:15,840 your highest risk live call and also is 79 00:05:12,060 --> 00:05:18,720 Aboriginal code was available mean so 80 00:05:15,840 --> 00:05:22,940 like it's time to place the reader's 81 00:05:18,720 --> 00:05:22,940 patience become down every day 82 00:05:25,160 --> 00:05:31,380 so another example now we have some 83 00:05:28,139 --> 00:05:34,320 comments on the call so it makes sense a 84 00:05:31,380 --> 00:05:36,840 little better but coasters like them so 85 00:05:34,320 --> 00:05:39,060 so you need to read a comment and you 86 00:05:36,840 --> 00:05:42,000 just understand what the code is going 87 00:05:39,060 --> 00:05:46,440 to do okay 88 00:05:42,000 --> 00:05:51,120 sure let's compare another example so 89 00:05:46,440 --> 00:05:54,600 now uh now we have a mode it's pretty 90 00:05:51,120 --> 00:05:56,820 simple code to like you tell the build 91 00:05:54,600 --> 00:06:01,199 total we are going to have a variable 92 00:05:56,820 --> 00:06:03,660 naming and like iterates over the menu 93 00:06:01,199 --> 00:06:06,960 items that should be much easier clear 94 00:06:03,660 --> 00:06:10,440 right so it's like I think it's like 95 00:06:06,960 --> 00:06:14,220 senior driver's Day live to learn 96 00:06:10,440 --> 00:06:15,199 something okay so now back to a concise 97 00:06:14,220 --> 00:06:16,919 call 98 00:06:15,199 --> 00:06:17,460 so 99 00:06:16,919 --> 00:06:20,220 um 100 00:06:17,460 --> 00:06:23,240 so we like who who don't like a 101 00:06:20,220 --> 00:06:26,759 descriptive and 102 00:06:23,240 --> 00:06:29,639 purpose a previous call so back to 103 00:06:26,759 --> 00:06:31,520 another core example no it's just the 104 00:06:29,639 --> 00:06:35,100 same example before 105 00:06:31,520 --> 00:06:38,580 the culture variable just tells the 106 00:06:35,100 --> 00:06:41,240 purpose of your total right 107 00:06:38,580 --> 00:06:41,240 so 108 00:06:41,639 --> 00:06:48,720 so back to the 109 00:06:44,400 --> 00:06:51,240 key points now is naming a set for this 110 00:06:48,720 --> 00:06:54,479 creative and the purpose now we have 111 00:06:51,240 --> 00:06:59,880 unicorns and come back to the variables 112 00:06:54,479 --> 00:07:02,460 so like and so anybody thinks how to 113 00:06:59,880 --> 00:07:05,340 name the variable and the module in 114 00:07:02,460 --> 00:07:08,419 different files like you have a user in 115 00:07:05,340 --> 00:07:11,759 users apply you have like remember in 116 00:07:08,419 --> 00:07:15,060 cnn.pi it might be like 117 00:07:11,759 --> 00:07:17,759 how can you do the right choice or a 118 00:07:15,060 --> 00:07:21,360 better choice for your teammates how 119 00:07:17,759 --> 00:07:22,400 they can find easier to find out let's 120 00:07:21,360 --> 00:07:25,919 uh 121 00:07:22,400 --> 00:07:29,099 so like another light or suggestion you 122 00:07:25,919 --> 00:07:31,919 may try to regret those video search you 123 00:07:29,099 --> 00:07:35,460 just bonus 124 00:07:31,919 --> 00:07:38,160 so pattern name example so 125 00:07:35,460 --> 00:07:41,099 usually we are talking about purpose we 126 00:07:38,160 --> 00:07:44,580 read it in the code about purpose so in 127 00:07:41,099 --> 00:07:48,539 the line remember logic or in member UTS 128 00:07:44,580 --> 00:07:51,900 I think we are focused on what's the 129 00:07:48,539 --> 00:07:54,960 function want to do so when you look at 130 00:07:51,900 --> 00:07:57,900 the first one it repeats what is doing 131 00:07:54,960 --> 00:08:00,479 equal remember roles and he said 132 00:07:57,900 --> 00:08:01,160 function equivalent version but in a 133 00:08:00,479 --> 00:08:04,220 second 134 00:08:01,160 --> 00:08:08,220 if the employee list remembers is 135 00:08:04,220 --> 00:08:12,720 properly the purpose of this function 136 00:08:08,220 --> 00:08:14,699 want to do it okay so I think in more 137 00:08:12,720 --> 00:08:17,120 normally the second one will be a better 138 00:08:14,699 --> 00:08:17,120 choice 139 00:08:17,880 --> 00:08:25,080 so and somehow is just not just about 140 00:08:21,960 --> 00:08:28,560 code it went back to your even far your 141 00:08:25,080 --> 00:08:31,020 module naming is can be like you 142 00:08:28,560 --> 00:08:33,060 understand is instead of puncture or 143 00:08:31,020 --> 00:08:34,140 spec and documents 144 00:08:33,060 --> 00:08:38,959 okay 145 00:08:34,140 --> 00:08:42,899 so let's back to the dental python 146 00:08:38,959 --> 00:08:45,120 so if you haven't been scared before now 147 00:08:42,899 --> 00:08:47,959 you are going to do this again I mean it 148 00:08:45,120 --> 00:08:52,160 shows a lot of interesting course okay 149 00:08:47,959 --> 00:08:55,440 so we're just Frozen sandwich so like 150 00:08:52,160 --> 00:08:59,040 comments and naming you can have like 151 00:08:55,440 --> 00:09:01,200 it's very simple and beautiful since the 152 00:08:59,040 --> 00:09:05,040 principle we are going to have it 153 00:09:01,200 --> 00:09:09,000 and uh with ability and easy to explain 154 00:09:05,040 --> 00:09:11,160 and namespace like you know you it could 155 00:09:09,000 --> 00:09:15,480 be our diverse daily life 156 00:09:11,160 --> 00:09:18,980 so now let's go to six key points of the 157 00:09:15,480 --> 00:09:18,980 senior python code review 158 00:09:20,040 --> 00:09:26,760 so I think normally the senior theater 159 00:09:23,519 --> 00:09:29,040 just don't write a unusual code but 160 00:09:26,760 --> 00:09:33,480 sometimes I just found different reports 161 00:09:29,040 --> 00:09:35,339 they are and use impose variables and 162 00:09:33,480 --> 00:09:37,920 you are going to guess what's happening 163 00:09:35,339 --> 00:09:42,120 there but actually it's easy to avoid 164 00:09:37,920 --> 00:09:46,380 just by using some help later tools like 165 00:09:42,120 --> 00:09:48,420 fake age so for example someone Imports 166 00:09:46,380 --> 00:09:51,720 this but you have your remote started 167 00:09:48,420 --> 00:09:56,339 thinking somewhere it might be the CSS 168 00:09:51,720 --> 00:10:00,240 somewhere but no what and there is an 169 00:09:56,339 --> 00:10:03,320 ambiguous variable l what does mean what 170 00:10:00,240 --> 00:10:07,740 does it mean right okay 171 00:10:03,320 --> 00:10:11,040 huh so uh so that's why I say you might 172 00:10:07,740 --> 00:10:13,740 use a tool and like we can meet so when 173 00:10:11,040 --> 00:10:16,380 you do git commit you just check like 174 00:10:13,740 --> 00:10:19,140 your call with like you say use you 175 00:10:16,380 --> 00:10:21,899 break a channel code for me so it says 176 00:10:19,140 --> 00:10:24,000 this is imported when I use and the 177 00:10:21,899 --> 00:10:26,940 local variable error is assigned but 178 00:10:24,000 --> 00:10:29,459 never use it again okay and learn even 179 00:10:26,940 --> 00:10:35,580 though complaining about the biggest 180 00:10:29,459 --> 00:10:38,480 variable name oh cool let's enter but if 181 00:10:35,580 --> 00:10:42,899 you really want we can skip it anyway 182 00:10:38,480 --> 00:10:44,720 so another common point in life 183 00:10:42,899 --> 00:10:48,779 everywhere I searched 184 00:10:44,720 --> 00:10:51,839 python errors like and you have 185 00:10:48,779 --> 00:10:55,519 sometimes you may have like default 186 00:10:51,839 --> 00:10:58,800 function arguments in your your code 187 00:10:55,519 --> 00:11:03,300 like you use this in your function 188 00:10:58,800 --> 00:11:08,040 arguments or you modify this when you 189 00:11:03,300 --> 00:11:09,560 iterating over it and the last one I'm 190 00:11:08,040 --> 00:11:13,820 going to show 191 00:11:09,560 --> 00:11:19,440 is a real party real case over this year 192 00:11:13,820 --> 00:11:21,420 is an operation and someone usually like 193 00:11:19,440 --> 00:11:25,019 the the 194 00:11:21,420 --> 00:11:27,959 Lambda in a loop and I think okay you're 195 00:11:25,019 --> 00:11:31,200 going to do every iteration but in the 196 00:11:27,959 --> 00:11:35,279 end it only to the last one iteration so 197 00:11:31,200 --> 00:11:38,940 so we've we spend some time to find our 198 00:11:35,279 --> 00:11:41,700 case and wow it's a surprise in case 199 00:11:38,940 --> 00:11:45,540 like you might search me and like come 200 00:11:41,700 --> 00:11:45,540 and buy some people right 201 00:11:46,620 --> 00:11:53,940 so now everyone say no paper but I'm not 202 00:11:51,600 --> 00:11:57,720 sure if I will be read over the official 203 00:11:53,940 --> 00:12:01,640 documents and actually is can be like 204 00:11:57,720 --> 00:12:04,920 you find in Black in ISO or fake 205 00:12:01,640 --> 00:12:07,200 somewhere if someone has done it for you 206 00:12:04,920 --> 00:12:10,440 okay 207 00:12:07,200 --> 00:12:14,160 so this is an example like you can have 208 00:12:10,440 --> 00:12:16,860 the link in your editor so I filmed the 209 00:12:14,160 --> 00:12:20,640 senior daily life is like you have 210 00:12:16,860 --> 00:12:24,180 everything every arrows found very early 211 00:12:20,640 --> 00:12:27,839 in your editor in your convinced in your 212 00:12:24,180 --> 00:12:30,720 pull request so you find a errors as 213 00:12:27,839 --> 00:12:34,680 early as possible so this is like you 214 00:12:30,720 --> 00:12:36,920 have the fake Edge in your VIN editor 215 00:12:34,680 --> 00:12:36,920 foreign 216 00:12:41,120 --> 00:12:45,660 supportive environment and Tools around 217 00:12:44,040 --> 00:12:48,019 the power request 218 00:12:45,660 --> 00:12:48,019 okay 219 00:12:49,139 --> 00:12:53,279 so 220 00:12:50,600 --> 00:12:56,880 before the core review will let the 221 00:12:53,279 --> 00:13:00,480 price like documentation when someone 222 00:12:56,880 --> 00:13:04,260 like someone like coming message is safe 223 00:13:00,480 --> 00:13:07,079 self safe who knows but we don't really 224 00:13:04,260 --> 00:13:09,959 really comments every day but once you 225 00:13:07,079 --> 00:13:12,839 are going to check out the history it 226 00:13:09,959 --> 00:13:16,139 might be the last clue you can find in 227 00:13:12,839 --> 00:13:18,300 your code why it do this code because he 228 00:13:16,139 --> 00:13:21,720 didn't write the comments and you can 229 00:13:18,300 --> 00:13:24,720 not get even variables so combination it 230 00:13:21,720 --> 00:13:27,720 might be the simple only way to find add 231 00:13:24,720 --> 00:13:30,660 a lot of time okay and if you are lucky 232 00:13:27,720 --> 00:13:33,899 to find back to the poor request usage 233 00:13:30,660 --> 00:13:36,600 and let's go to and the last and you're 234 00:13:33,899 --> 00:13:40,860 going to find the 10 years ago documents 235 00:13:36,600 --> 00:13:44,639 special speak about what the module is 236 00:13:40,860 --> 00:13:48,600 doing so like we have like design review 237 00:13:44,639 --> 00:13:51,420 document for years so in in there we'll 238 00:13:48,600 --> 00:13:55,800 put person reasons about what is 239 00:13:51,420 --> 00:13:58,740 Portugal the CRM projects like like 240 00:13:55,800 --> 00:14:01,440 online ordering projects we have like 241 00:13:58,740 --> 00:14:05,339 how we want to improve implement the 242 00:14:01,440 --> 00:14:08,339 plan and we will often do we always do 243 00:14:05,339 --> 00:14:11,339 it for recording of course 244 00:14:08,339 --> 00:14:14,279 because we want it to find the errors 245 00:14:11,339 --> 00:14:18,660 and do a discussion early when we before 246 00:14:14,279 --> 00:14:20,700 the Improvement so I think the point so 247 00:14:18,660 --> 00:14:22,800 and later we have like design review 248 00:14:20,700 --> 00:14:26,459 templates and it's really helpful 249 00:14:22,800 --> 00:14:28,200 because it because for human is so hard 250 00:14:26,459 --> 00:14:29,820 to Define everything you are going to 251 00:14:28,200 --> 00:14:32,940 climb Mountain where you are going to 252 00:14:29,820 --> 00:14:35,480 bring with you so you have like this and 253 00:14:32,940 --> 00:14:39,120 checklist and they feel the temperature 254 00:14:35,480 --> 00:14:42,120 so you can find from the templates 255 00:14:39,120 --> 00:14:45,120 so like it might be like somehow you're 256 00:14:42,120 --> 00:14:48,060 going to have your API looks how you 257 00:14:45,120 --> 00:14:50,040 want to you have your TV model looks yes 258 00:14:48,060 --> 00:14:52,800 and there is there something performance 259 00:14:50,040 --> 00:14:54,899 review do you need a plan B if 260 00:14:52,800 --> 00:14:59,220 everything just doesn't work you're 261 00:14:54,899 --> 00:15:03,180 going to roll by your release like the 262 00:14:59,220 --> 00:15:06,899 heavy one so so right in the live if 263 00:15:03,180 --> 00:15:09,720 like the company going to IPO so you are 264 00:15:06,899 --> 00:15:12,480 going to have a security check for or 265 00:15:09,720 --> 00:15:14,820 even just paperwork can you check I I 266 00:15:12,480 --> 00:15:19,500 have done some security check anyway 267 00:15:14,820 --> 00:15:22,380 it's a good one and so like for this 268 00:15:19,500 --> 00:15:25,880 year we doesn't even have a developer 269 00:15:22,380 --> 00:15:28,680 design review even we even have the SI 270 00:15:25,880 --> 00:15:33,480 design review for someone going to 271 00:15:28,680 --> 00:15:35,519 deploy a light info changes so they are 272 00:15:33,480 --> 00:15:38,760 going to have like Plan B is very 273 00:15:35,519 --> 00:15:43,279 important for SI because 274 00:15:38,760 --> 00:15:49,139 since happens I think in si is even more 275 00:15:43,279 --> 00:15:52,800 seriously okay so okay and there you now 276 00:15:49,139 --> 00:15:55,980 when we have also like we have a Time 277 00:15:52,800 --> 00:15:58,680 evaluation templates this year a lot of 278 00:15:55,980 --> 00:16:03,839 other good one like every developer can 279 00:15:58,680 --> 00:16:06,720 have a design tablets to evaluate the 280 00:16:03,839 --> 00:16:10,500 speed in the projects it's a hard one 281 00:16:06,720 --> 00:16:13,260 but okay I think it was to think of it 282 00:16:10,500 --> 00:16:18,440 yeah you tell me some time okay so 283 00:16:13,260 --> 00:16:21,839 documentation for 10 years company May 284 00:16:18,440 --> 00:16:23,420 missions Google talk figma or something 285 00:16:21,839 --> 00:16:28,320 but 286 00:16:23,420 --> 00:16:28,320 that is okay 287 00:16:30,959 --> 00:16:37,560 so like 288 00:16:33,560 --> 00:16:40,920 anyone has decided in the dominance the 289 00:16:37,560 --> 00:16:45,959 company so can you raise your hand 290 00:16:40,920 --> 00:16:49,620 uh field okay so I was a CIA life 291 00:16:45,959 --> 00:16:54,240 Jenkins get action in in your building 292 00:16:49,620 --> 00:16:57,360 process and the city is like uh 293 00:16:54,240 --> 00:17:00,720 you have like Auto ottoman 294 00:16:57,360 --> 00:17:02,100 ottoman deploy your code to the 295 00:17:00,720 --> 00:17:05,939 production okay 296 00:17:02,100 --> 00:17:08,819 so it reduce the light pen for routine 297 00:17:05,939 --> 00:17:13,199 so you don't need to type in so much 298 00:17:08,819 --> 00:17:15,959 since to do early deploy and the levels 299 00:17:13,199 --> 00:17:19,740 one time it even save our system because 300 00:17:15,959 --> 00:17:22,799 AWS just like cannot really deploy the 301 00:17:19,740 --> 00:17:27,480 machines so luckily we just have a 302 00:17:22,799 --> 00:17:31,200 automation with the pro is CD the 303 00:17:27,480 --> 00:17:34,620 process so we just do some buttons and 304 00:17:31,200 --> 00:17:37,640 the service convert so I think it's also 305 00:17:34,620 --> 00:17:41,460 good to Rob us and Recovery it's like 306 00:17:37,640 --> 00:17:43,980 actually to for me I personally but if 307 00:17:41,460 --> 00:17:45,900 you don't have cicd you are how to be a 308 00:17:43,980 --> 00:17:48,480 senior dear person in your company 309 00:17:45,900 --> 00:17:52,260 because you need to marry billing so 310 00:17:48,480 --> 00:17:56,640 much since manually so how Focus to like 311 00:17:52,260 --> 00:17:59,039 frozen documents something like that so 312 00:17:56,640 --> 00:18:02,160 so you can have a CI in your code 313 00:17:59,039 --> 00:18:04,500 request so it's just like uh like 314 00:18:02,160 --> 00:18:07,140 building someone is going to reveal you 315 00:18:04,500 --> 00:18:10,860 not always a review of merging is black 316 00:18:07,140 --> 00:18:14,880 okay so make sure since the principle 317 00:18:10,860 --> 00:18:17,400 instead of like human communication or 318 00:18:14,880 --> 00:18:22,020 don't you can imagine that before I read 319 00:18:17,400 --> 00:18:24,120 something so and I also spell pipeline 320 00:18:22,020 --> 00:18:27,860 so there are many privileges like 321 00:18:24,120 --> 00:18:31,620 Jenkins girl actions 322 00:18:27,860 --> 00:18:34,580 AWS scope you and even for data there 323 00:18:31,620 --> 00:18:34,580 are some new services 324 00:18:37,100 --> 00:18:45,419 and they can like compare together use 325 00:18:41,820 --> 00:18:47,520 with click on me and Netflix since I saw 326 00:18:45,419 --> 00:18:51,720 black okay 327 00:18:47,520 --> 00:18:55,020 so the other one is essential Point like 328 00:18:51,720 --> 00:18:57,900 you we own even for data but I want to 329 00:18:55,020 --> 00:18:59,820 find the error more early so they are 330 00:18:57,900 --> 00:19:01,980 doing this kind of thing instead you 331 00:18:59,820 --> 00:19:04,919 deploy and you find office on a 332 00:19:01,980 --> 00:19:08,340 production that's not everyone that 333 00:19:04,919 --> 00:19:12,059 that's fine yes 334 00:19:08,340 --> 00:19:16,880 okay so uh 335 00:19:12,059 --> 00:19:20,640 now there's cold coverage is how medical 336 00:19:16,880 --> 00:19:24,380 lines in your repo have recovered like 337 00:19:20,640 --> 00:19:29,520 for example our main report headline 95 338 00:19:24,380 --> 00:19:33,299 courage is like I I ready to hear this 339 00:19:29,520 --> 00:19:36,840 this number so uh it's for us we have 340 00:19:33,299 --> 00:19:39,059 much confidence on deploy because we 341 00:19:36,840 --> 00:19:42,120 have like every time every pull request 342 00:19:39,059 --> 00:19:46,980 we check well find this light isn't the 343 00:19:42,120 --> 00:19:49,020 test why is it are you sure this logic 344 00:19:46,980 --> 00:19:51,840 is really working because you haven't 345 00:19:49,020 --> 00:19:54,260 tested it so and then we do functional 346 00:19:51,840 --> 00:19:58,500 tests in our 347 00:19:54,260 --> 00:20:02,580 pull requests and we add about 95 to 100 348 00:19:58,500 --> 00:20:04,820 coverage so and so it's easy to like for 349 00:20:02,580 --> 00:20:08,760 people to review they don't need to 350 00:20:04,820 --> 00:20:11,460 they don't need to guess what this code 351 00:20:08,760 --> 00:20:12,600 that is work if you have already a test 352 00:20:11,460 --> 00:20:15,720 for it 353 00:20:12,600 --> 00:20:19,020 so there are many tools too so I 354 00:20:15,720 --> 00:20:21,600 encourage that type and Nicole cup and 355 00:20:19,020 --> 00:20:22,980 sonar Cube and there are some service 356 00:20:21,600 --> 00:20:25,760 you can use 357 00:20:22,980 --> 00:20:25,760 everywhere 358 00:20:25,980 --> 00:20:31,620 so you have like a curry check in your 359 00:20:28,620 --> 00:20:36,360 pool request of course so this example 360 00:20:31,620 --> 00:20:38,720 in our company like 95 this one is oh 95 361 00:20:36,360 --> 00:20:41,940 is our project this this product is 100 362 00:20:38,720 --> 00:20:45,360 covered look you know the coverage page 363 00:20:41,940 --> 00:20:48,780 you don't see that 100 yeah 364 00:20:45,360 --> 00:20:50,940 so and we are more relief okay back to 365 00:20:48,780 --> 00:20:54,840 the general python again 366 00:20:50,940 --> 00:20:59,400 so see I encourage you we I think it 367 00:20:54,840 --> 00:21:02,280 helps to find arrows array and you can 368 00:20:59,400 --> 00:21:06,120 it's please find it find in your pull 369 00:21:02,280 --> 00:21:08,520 request voice not cover and and if you 370 00:21:06,120 --> 00:21:13,160 have document templates you can buy 371 00:21:08,520 --> 00:21:16,200 Force the rules in your organization yes 372 00:21:13,160 --> 00:21:17,940 so like that might be joke advising the 373 00:21:16,200 --> 00:21:21,480 jewel is everywhere even like country 374 00:21:17,940 --> 00:21:24,780 though so the preferably only one way to 375 00:21:21,480 --> 00:21:27,840 like show in your teamwork your 376 00:21:24,780 --> 00:21:29,460 organization the cicd document and 377 00:21:27,840 --> 00:21:33,299 templates 378 00:21:29,460 --> 00:21:35,760 so and nowadays the AI cancer so the 379 00:21:33,299 --> 00:21:40,620 senior experience might be a challenge 380 00:21:35,760 --> 00:21:44,120 for us now so like are you senior more 381 00:21:40,620 --> 00:21:44,120 than judge Beauty something 382 00:21:46,760 --> 00:21:52,980 co-pilot all right anyway 383 00:21:49,760 --> 00:21:56,340 in Korean experience I think the real 384 00:21:52,980 --> 00:21:59,940 still the terminology is still working 385 00:21:56,340 --> 00:22:03,780 so it's like like it still tells the 386 00:21:59,940 --> 00:22:08,700 wrong answer so we still need to finger 387 00:22:03,780 --> 00:22:12,020 our life while and they cannot like is 388 00:22:08,700 --> 00:22:16,380 about like AWS 389 00:22:12,020 --> 00:22:18,780 info since but I always get around maybe 390 00:22:16,380 --> 00:22:21,840 I'm not good good prom Mountain anyway 391 00:22:18,780 --> 00:22:26,039 but every time you travel official 392 00:22:21,840 --> 00:22:29,280 attack is kind of help and at one time I 393 00:22:26,039 --> 00:22:31,919 even asked a direction and let something 394 00:22:29,280 --> 00:22:33,840 is even not on the official talk about 395 00:22:31,919 --> 00:22:37,799 let's say like did have probably going 396 00:22:33,840 --> 00:22:40,620 to songs in like April but it's just so 397 00:22:37,799 --> 00:22:42,720 hard to find out of your document and no 398 00:22:40,620 --> 00:22:47,220 not to mention the church if you never 399 00:22:42,720 --> 00:22:51,200 know buy it and my one day no no okay no 400 00:22:47,220 --> 00:22:55,020 and the light the sharing experienced 401 00:22:51,200 --> 00:22:57,299 the tour experiments with your team I 402 00:22:55,020 --> 00:23:01,320 think it's also good life someone in our 403 00:22:57,299 --> 00:23:04,140 team to give GitHub for Pilots for us so 404 00:23:01,320 --> 00:23:07,500 we we might learn for it and everybody 405 00:23:04,140 --> 00:23:12,900 get going okay 406 00:23:07,500 --> 00:23:16,620 so is teamwork and uh you know in our 407 00:23:12,900 --> 00:23:21,299 organization there's a key point about a 408 00:23:16,620 --> 00:23:24,000 senior is a mentorship so if we are very 409 00:23:21,299 --> 00:23:28,919 careful how you how you can help others 410 00:23:24,000 --> 00:23:32,059 or not is marry our key point of view 411 00:23:28,919 --> 00:23:35,940 and uh is that the official 412 00:23:32,059 --> 00:23:40,440 self-learning Ovation books or the 413 00:23:35,940 --> 00:23:43,380 latest AI iteration I think it's all 414 00:23:40,440 --> 00:23:46,980 helping like during the python Taiwan 415 00:23:43,380 --> 00:23:50,100 you may have a consideration 416 00:23:46,980 --> 00:23:53,940 all right the last summary is like 417 00:23:50,100 --> 00:23:57,720 actually I think the senior point is not 418 00:23:53,940 --> 00:24:00,960 not so important or it's more about how 419 00:23:57,720 --> 00:24:04,740 we be helpful to others so like 420 00:24:00,960 --> 00:24:07,559 mentorship or you help others or you 421 00:24:04,740 --> 00:24:10,080 have the icicially helping you so you 422 00:24:07,559 --> 00:24:12,840 find and you have yourself knowing like 423 00:24:10,080 --> 00:24:16,740 common errors so I think that's the 424 00:24:12,840 --> 00:24:20,039 point of this talk so the supporting 425 00:24:16,740 --> 00:24:23,280 environment tools and the final first 426 00:24:20,039 --> 00:24:26,100 error in very very first place is the 427 00:24:23,280 --> 00:24:27,480 key principle all about this story is 428 00:24:26,100 --> 00:24:29,159 going to take away 429 00:24:27,480 --> 00:24:32,560 so 430 00:24:29,159 --> 00:24:34,860 and thank you this is my talk today 431 00:24:32,560 --> 00:24:37,650 [Applause] 432 00:24:34,860 --> 00:24:40,759 foreign 433 00:24:37,650 --> 00:24:40,759 [Applause]