1 00:00:01,470 --> 00:00:06,680 Today I'm going to walk you through a Typical Developer Day. 2 00:00:06,700 --> 00:00:10,110 Now I know there's different types of companies. 3 00:00:10,270 --> 00:00:16,210 But in this video, there's going to be some main concepts that most likely you're going to see in all 4 00:00:16,210 --> 00:00:23,200 forms of work you do as a developer - whether it's for a company or a startup or freelance similar work 5 00:00:23,200 --> 00:00:24,570 patterns are going to be seen. 6 00:00:24,580 --> 00:00:28,480 And I want to take you through that because I'm assuming you're taking this course because you want 7 00:00:28,480 --> 00:00:31,040 to become a developer or you want to upgrade your skills. 8 00:00:31,150 --> 00:00:38,500 And it's important to know what a current workflow is and also what to expect to decide if this 9 00:00:38,500 --> 00:00:40,090 is for you or not. 10 00:00:40,120 --> 00:00:41,570 So let's get started. 11 00:00:41,620 --> 00:00:48,430 It's 9:00 A.M. now and as you can see I've created this great diagram of myself coming into work, 12 00:00:48,490 --> 00:00:55,550 It's 9:00 A.M. and I have here what I call a Trello board and I can show you right over here what it is. 13 00:00:55,690 --> 00:01:01,580 Usually when you work on big projects, in order to stay organized, people have this what they call 14 00:01:01,650 --> 00:01:06,540 'Kanban style' where there's a list of things To Do what people are working on. 15 00:01:06,550 --> 00:01:08,340 And then there's a Done list. 16 00:01:08,350 --> 00:01:13,630 So usually in the morning you come in and the first thing you want to do is you want to make sure that 17 00:01:13,990 --> 00:01:19,960 any changes that have been made while you were home or a night maybe have teams that are overseas that 18 00:01:19,970 --> 00:01:22,120 have worked while you were sleeping. 19 00:01:22,280 --> 00:01:28,000 Well as you know we want to always go to 20 00:01:30,290 --> 00:01:32,190 git checkout master 21 00:01:32,370 --> 00:01:34,810 And you should know how this works by now. 22 00:01:34,830 --> 00:01:37,870 If not make sure you check out the previous section. 23 00:01:37,920 --> 00:01:42,560 I would do something like git pull to make sure that everything is up to date. 24 00:01:42,570 --> 00:01:42,830 All right. 25 00:01:42,840 --> 00:01:44,880 And now I have everything up to date. 26 00:01:44,880 --> 00:01:50,130 Do you also want to see if there's anything that's maybe you're still working on that hasn't been resolved? 27 00:01:50,430 --> 00:01:57,900 If you remember from previous videos, I have a couple of pull requests and one of the ones was the conflict 28 00:01:57,900 --> 00:01:58,140 one 29 00:02:00,820 --> 00:02:08,000 and we remember that -well, this branch that I was working on Marcy told me that we don't really need 30 00:02:08,000 --> 00:02:10,350 that change so there's no files changed. 31 00:02:10,370 --> 00:02:15,970 I can clean up what I've been working on by just closing my pull requests I'm going to delete this branch 32 00:02:17,000 --> 00:02:22,310 so that now going back to my workflow I'll just have master that I'm working on. 33 00:02:22,310 --> 00:02:25,270 Everything is up to date. 34 00:02:25,270 --> 00:02:27,080 All right so pretty good. 35 00:02:27,100 --> 00:02:30,240 Maybe I'll move this conflict branch that I was working on. 36 00:02:30,250 --> 00:02:34,360 I'll just move it to done and say that you know I'm -I'm done with it. 37 00:02:34,360 --> 00:02:41,510 So the team knows that I am no longer working on this branch. 9:00 A.M. is done. 38 00:02:41,520 --> 00:02:49,320 And 10:00 A.M. rolls around and I have over here usually what happens is something called a stand up 39 00:02:49,740 --> 00:02:55,560 where team members and everybody that's involved in a project or whatever you're working on meets to 40 00:02:55,560 --> 00:03:00,990 get everybody's updates and usually everybody stands around and you see over here that there is an 41 00:03:01,080 --> 00:03:07,950 SM that is usually a scrum master or a manager or a director that usually organizes the meeting and 42 00:03:08,160 --> 00:03:09,480 takes the lead. 43 00:03:09,690 --> 00:03:14,130 And what we all do is just say "hey this is what we did yesterday." 44 00:03:14,130 --> 00:03:15,860 "This is where we're going to do today." 45 00:03:15,960 --> 00:03:19,900 Or maybe if you're blocked on something and you're having an issue maybe you can ask some team members 46 00:03:21,660 --> 00:03:26,340 and usually in this meeting you also have this scary looking person which is actually the PO which 47 00:03:26,340 --> 00:03:27,750 is the product owner. 48 00:03:27,750 --> 00:03:35,010 So that is anybody that it could be a client that has vested interests that is money on the line for 49 00:03:35,340 --> 00:03:36,800 this project to be built. 50 00:03:36,810 --> 00:03:43,470 It could be your your CEO it could be whoever is owning the product whoever wants to make sure that 51 00:03:43,800 --> 00:03:49,030 their product gets finished and gets finished on time but is also built properly. 52 00:03:49,050 --> 00:03:50,050 That's the product. 53 00:03:50,310 --> 00:03:53,930 So you have a quick stand up meeting and usually around 10:30. 54 00:03:53,940 --> 00:04:00,120 You'll go back to work you'll be working on something like bugs or new features and the way you do that 55 00:04:00,120 --> 00:04:05,550 is well you go back to a board like this and see what's on the To Do list. 56 00:04:05,550 --> 00:04:11,010 And usually they're all small chunks and you know let's say I want to update the read me old drag that 57 00:04:11,010 --> 00:04:16,890 in here and to let everybody know that I am working on the updating the reading. 58 00:04:17,130 --> 00:04:26,260 You know if I'm updating the read me I'll do something like 'git branch update-readme' and I'll just 59 00:04:26,460 --> 00:04:34,560 git checkout that branch and I'll start to work on that feature or bug whatever it is. 60 00:04:37,220 --> 00:04:40,800 All right and let's say that -you know, I have had my lunch. 61 00:04:40,850 --> 00:04:46,700 I'm feeling very happy I got a lot of work done and I actually finished my readme task, well in that 62 00:04:46,700 --> 00:04:53,420 case I will actually submit a PR or a pull request which we've seen in previous videos where I'll do 63 00:04:53,420 --> 00:05:00,890 the classic 'git add' command then 'git commit' then I'll be 'git push' 64 00:05:00,890 --> 00:05:09,710 up to github all my changes and then what we usually tend to do is if we go back to github 65 00:05:11,770 --> 00:05:16,780 we'll have people that like yourself or other team members that see that. 66 00:05:16,890 --> 00:05:23,170 There's a couple of pull requests Let's review a pull request so that is code that maybe yourself or 67 00:05:23,200 --> 00:05:29,860 others have done and I see over here that I have a nice little person who came and refactored our background 68 00:05:29,860 --> 00:05:39,920 generator. So we would view the file changes and we see here that they have fixed a bunch of our background 69 00:05:39,920 --> 00:05:45,640 scripts to include the new ES6 syntax which is very very nice. 70 00:05:45,680 --> 00:05:48,610 We review everything, if we want to comment that's great. 71 00:05:48,830 --> 00:05:51,180 But you know what, these changes look really good. 72 00:05:51,200 --> 00:05:55,270 So I'm going to say Approve, do the @ sign and 73 00:05:55,410 --> 00:05:59,170 "Thank you for this- 74 00:05:59,370 --> 00:06:01,580 -These changes. 75 00:06:01,800 --> 00:06:04,960 It looks great. Merging now." 76 00:06:08,360 --> 00:06:09,670 So I've submitted my review 77 00:06:12,700 --> 00:06:13,660 and everything looks good. 78 00:06:13,660 --> 00:06:18,670 If there's any issues then I can let them know that we need a couple more things fixed but everything 79 00:06:18,670 --> 00:06:19,590 looks good here. 80 00:06:20,740 --> 00:06:27,850 Some companies will pass it off to something called QA with that does Quality Analysis essentially making 81 00:06:27,850 --> 00:06:33,060 sure that the changes that we've implemented doesn't affect our web app. 82 00:06:33,070 --> 00:06:34,240 It still works on the phone. 83 00:06:34,240 --> 00:06:39,740 It still works on all the browsers and making sure that our features or bugs are fixed. 84 00:06:40,980 --> 00:06:48,800 So that usually happens and if everything passes then woohoo, our PR gets approved by our team. 85 00:06:48,900 --> 00:06:51,630 The QA says Yep everything's looks good. 86 00:06:51,630 --> 00:06:59,220 You're happy with what you've done and your PR and then you can finally merge in to master and when 87 00:06:59,220 --> 00:07:04,930 that's done we go back to the Trello board and we can just say that Update the Readme is done. 88 00:07:04,950 --> 00:07:12,500 The team knows that you're all good to go and it all starts back up the next day where you get in, make 89 00:07:12,500 --> 00:07:14,030 sure that there's nothing outstanding due. 90 00:07:14,030 --> 00:07:15,960 You go to the meeting. 91 00:07:16,010 --> 00:07:20,510 You look through that To Dos, grab a piece of feature or a bug that needs working on. 92 00:07:20,510 --> 00:07:21,980 And you start working on it. 93 00:07:22,190 --> 00:07:27,590 And I know it doesn't sound very exciting from the way that I'm describing it right now, but 94 00:07:27,590 --> 00:07:28,570 it is a ton of fun. 95 00:07:28,700 --> 00:07:34,250 Whether you're building a product yourself or you're the only owner you still are using these techniques 96 00:07:34,250 --> 00:07:39,650 to just keep yourself accountable making sure that tasks are getting done because being a web developer 97 00:07:39,650 --> 00:07:48,050 is all about breaking up big tasks like building Netflix into small manageable chunks and each day you're 98 00:07:48,050 --> 00:07:52,360 just working one chunk at a time to write some JavaScript, 99 00:07:52,370 --> 00:07:58,180 Maybe some CSS, maybe some HTML, to build this one great big product. 100 00:07:59,360 --> 00:07:59,970 And that's it. 101 00:08:00,140 --> 00:08:03,580 That's a typical day of a web developer. 102 00:08:03,680 --> 00:08:09,170 I know it's always good to know why you're getting yourself into some of the tools that companies use 103 00:08:09,200 --> 00:08:10,870 and some of the workflows. 104 00:08:10,880 --> 00:08:14,380 So hopefully this video was useful to you. 105 00:08:14,510 --> 00:08:16,080 I'll see you in the next one, byebye.