YouTube2Text

I Bet Nobody Explained Real Developer Life in IT Like This (3-Hour Course) — Transcript

by Cloud X Berry · 27,383 words · 4,809 segments · language en · Watch on YouTube

Full transcript

  1. 0:00If you're trying to break into tech
  2. 0:01right now, you've probably noticed a
  3. 0:03frustrating problem.
  4. 0:05Tutorials teach you how to write code,
  5. 0:07but that's honestly the easy part.
  6. 0:10When you get hired, you aren't just a
  7. 0:12solo coder anymore. You have to
  8. 0:14integrate with a team, existing code,
  9. 0:16and moving parts.
  10. 0:18You're thrown into a world of Jira
  11. 0:19tickets, Git repositories, staging
  12. 0:22environments, and deployment pipelines.
  13. 0:25It's incredibly overwhelming.
  14. 0:27Most people only understand this stuff
  15. 0:29after 6 to 12 months on the job. And
  16. 0:31honestly, most beginners get massive
  17. 0:34imposter syndrome their first week
  18. 0:36because no one taught them this stuff.
  19. 0:38Most of that only comes from years on
  20. 0:40the job.
  21. 0:41This course hands you the short version.
  22. 0:43So when you talk about it, you sound
  23. 0:45like someone who already has the
  24. 0:46experience well before you've actually
  25. 0:49put in the time.
  26. 0:50This course exists to fix that.
  27. 0:53In under 2 hours, we are going to walk
  28. 0:55through the real-world developer
  29. 0:56workflow. We're not going deep into
  30. 0:58theory.
  31. 0:59The focus is how things actually work in
  32. 1:02real jobs.
  33. 1:03No dry history lessons on hardware, just
  34. 1:06the day-to-day reality of modern IT.
  35. 1:08We're going to look at how front ends
  36. 1:10and back ends actually talk to each
  37. 1:12other using APIs,
  38. 1:14how to navigate code reviews and Q&A
  39. 1:16pushback without taking it personally,
  40. 1:18how to read a status code and a log line
  41. 1:20so you can tell where a problem is
  42. 1:22before anyone else,
  43. 1:24how cloud platforms like AWS actually
  44. 1:26fit into the picture, and how developers
  45. 1:28are actually using AI tools like Copilot
  46. 1:31and Cursor today, including how to
  47. 1:33review what the AI hands you because
  48. 1:35that's the skill that actually gets you
  49. 1:37trusted.
  50. 1:38If you want to stop feeling lost in tech
  51. 1:40jargon and actually understand how the
  52. 1:42industry operates, this is for you.
  53. 1:45If this is the part you've been missing,
  54. 1:47you'll get a lot out of this. Welcome to
  55. 1:49module one. It's a short one with two
  56. 1:52ideas.
  57. 1:53We'll look at what IT covers inside a
  58. 1:55real company using one everyday example.
  59. 1:58You'll also see the two reasons depend
  60. 2:00on these systems, including companies
  61. 2:02that don't sell software at all. By the
  62. 2:04end of this module, you'll be able to
  63. 2:06explain what IT really is and why a
  64. 2:09business can't run without it. Ask 10
  65. 2:11people what IT means and you'll get 10
  66. 2:14different answers.
  67. 2:16Some think it's the guy who fixes your
  68. 2:17laptop.
  69. 2:18Some think it's just coding.
  70. 2:21Neither one is really the full picture.
  71. 2:23In real companies, IT is every system
  72. 2:26that keeps the business running
  73. 2:27digitally.
  74. 2:29That includes the app your customers
  75. 2:30use, the servers that host it, the
  76. 2:32database that stores their information,
  77. 2:35the network that connects everything,
  78. 2:37and yes, the person who resets your
  79. 2:39password when you forget it.
  80. 2:41Think about ordering food from an app.
  81. 2:43The moment you tap order, you've
  82. 2:45triggered a whole chain of IT systems.
  83. 2:48The app talks to a server. The server
  84. 2:51checks a database to confirm the
  85. 2:52restaurant is open.
  86. 2:54Another system calculates your delivery
  87. 2:55fee.
  88. 2:56A notification system pings the driver.
  89. 2:59All of that from end to end is IT.
  90. 3:03So when people say they work in IT, that
  91. 3:06could mean building the app, maintaining
  92. 3:08the servers, securing the data, or
  93. 3:10supporting the people who use all of it.
  94. 3:12It's not one job.
  95. 3:14It's an entire ecosystem of jobs working
  96. 3:17together.
  97. 3:18And here's the part most beginners miss.
  98. 3:20None of these systems exist in
  99. 3:22isolation.
  100. 3:23They're all built and maintained by
  101. 3:25teams of people who have to coordinate
  102. 3:27constantly.
  103. 3:28Which brings us to the next question.
  104. 3:30How do companies actually organize all
  105. 3:32of this? Here's something that surprises
  106. 3:34a lot of beginners.
  107. 3:36Most companies aren't in the business of
  108. 3:38making software.
  109. 3:40A bank isn't a software company. A
  110. 3:43hospital isn't a software company.
  111. 3:45But almost every single one of them runs
  112. 3:47entirely on software.
  113. 3:49Companies use IT for two big reasons.
  114. 3:52First, to run the business internally.
  115. 3:55Things like payroll systems, internal
  116. 3:57messaging tools, and databases that
  117. 3:59track inventory or employees.
  118. 4:02Second, to serve customers externally,
  119. 4:05things like a banking app, a hospital's
  120. 4:07patient portal, or an online store.
  121. 4:10Companies organize all of this in
  122. 4:11different ways, and we'll talk about
  123. 4:13what that means for your first job near
  124. 4:15the end of the course.
  125. 4:17In either case, IT isn't a side
  126. 4:19department anymore. It's the backbone.
  127. 4:22If the systems go down, the company
  128. 4:24stops making money, customers can't get
  129. 4:26service, and employees can't do their
  130. 4:28jobs.
  131. 4:29That's why companies invest so heavily
  132. 4:31in the people and processes that keep IT
  133. 4:34running smoothly.
  134. 4:35Now that you understand what IT is and
  135. 4:38how companies rely on it, let's zoom in
  136. 4:40on the machines themselves. In the next
  137. 4:42section, we're going to open up the hood
  138. 4:45and look at how computers and operating
  139. 4:46systems actually work. Let's recap
  140. 4:49module one.
  141. 4:50You now know that IT is every system
  142. 4:53that keeps a business running.
  143. 4:55That goes from the app customers use to
  144. 4:57the person who resets your password.
  145. 4:59You've seen how one food order sets off
  146. 5:01a whole chain of those systems. And you
  147. 5:04know companies use them in two ways, to
  148. 5:06run the business from the inside and to
  149. 5:09serve customers.
  150. 5:10When those systems go down, the business
  151. 5:12feels it right away. Welcome to module
  152. 5:15two.
  153. 5:16Let's look at the machine your code runs
  154. 5:17on.
  155. 5:18We'll begin with the simple loop every
  156. 5:20program follows and the three physical
  157. 5:23parts your app depends on.
  158. 5:25After that comes the operating system
  159. 5:27and the rules it sets for your code.
  160. 5:29We finish with the screen full of plain
  161. 5:31text that developers work in and why
  162. 5:34many of them prefer it to a mouse.
  163. 5:36By the end of this module, you'll
  164. 5:38understand why an app can run out of
  165. 5:40memory.
  166. 5:41You'll also know why servers are often
  167. 5:43run by typing commands. Let's begin.
  168. 5:45Let's clear this up right away. If you
  169. 5:48get a computer science degree, you'll
  170. 5:49spend months calculating binary code.
  171. 5:52But honestly, I never calculate binary
  172. 5:55on the job.
  173. 5:56Let's look at computers the way a
  174. 5:57working developer does.
  175. 5:59At its core, a computer is a digital
  176. 6:02machine. That just means it stores
  177. 6:04everything as tiny electrical switches
  178. 6:06that are either on or off, ones and
  179. 6:09zeros.
  180. 6:10Every photo, song, and piece of software
  181. 6:13is just millions of these switches.
  182. 6:15But you don't need to read the ones and
  183. 6:17zeros. You just need to know a computer
  184. 6:19is a fast calculator that does exactly
  185. 6:22three things, input, process, output.
  186. 6:26Think about logging into Instagram or
  187. 6:28Netflix. You type your password and
  188. 6:30click a button. That's the input. The
  189. 6:33system checks if your password is
  190. 6:34correct. That's the process. It loads
  191. 6:37your feed. That's the output.
  192. 6:39Every piece of software you will ever
  193. 6:41work on is just doing that loop.
  194. 6:44Your job as a developer is to write the
  195. 6:46process part. The computer doesn't try
  196. 6:49to fix your code. It just follows
  197. 6:51instructions like a very obedient robot.
  198. 6:54If your code is broken, the machine will
  199. 6:56execute that broken code perfectly.
  200. 6:58That's exactly why debugging is such a
  201. 7:00massive part of the job, and we'll get
  202. 7:02into that later. But first, let's look
  203. 7:05at the physical hardware that actually
  204. 7:07runs your code. Every app you've ever
  205. 7:09used depends on just three physical
  206. 7:11parts.
  207. 7:12If even one of them fails, your app
  208. 7:14dies.
  209. 7:16Those parts are storage, RAM, and
  210. 7:18[clears throat] the CPU.
  211. 7:20Storage is your hard drive. It's where
  212. 7:22data lives permanently. It holds a
  213. 7:25massive amount of data, but pulling that
  214. 7:27data is slow.
  215. 7:29RAM is your active memory. When someone
  216. 7:31opens your app, the system pulls it from
  217. 7:33slow storage into fast RAM so it runs
  218. 7:36smoothly.
  219. 7:37But RAM is strictly limited. If your
  220. 7:40code loads too much data at once, RAM
  221. 7:42fills up and the app freezes.
  222. 7:45The CPU is the engine. It executes your
  223. 7:48logic and does the actual math.
  224. 7:50You need to care about this because when
  225. 7:52your company hosts an app in the cloud,
  226. 7:54they pay for these resources based on
  227. 7:56usage.
  228. 7:57If you write bloated code, your app
  229. 7:59chews through RAM and CPU.
  230. 8:02That drives up your AWS bill, or worse,
  231. 8:05your app crashes in production because
  232. 8:06the server ran out of memory.
  233. 8:09Storage is where data is saved. RAM is
  234. 8:12where data works, and the CPU does the
  235. 8:14heavy lifting. But hardware is
  236. 8:16completely useless on its own. It needs
  237. 8:18a manager, which brings us to the
  238. 8:21operating system. You might think your
  239. 8:23code runs directly on the computer's
  240. 8:24hardware, but in reality, your code
  241. 8:27isn't even allowed to touch it.
  242. 8:30Hardware only understands electricity.
  243. 8:32It has no idea what a database or a web
  244. 8:35browser is.
  245. 8:36We use an operating system, like
  246. 8:38Windows, Mac, or Linux, as a middleman.
  247. 8:42In tech, we call this abstraction.
  248. 8:45When your backend reads from a database
  249. 8:47or sends a response over the network,
  250. 8:49it's not doing it directly. Your code is
  251. 8:52asking the operating system to do it for
  252. 8:54you.
  253. 8:55To keep things safe, the operating
  254. 8:57system is divided into two strict zones.
  255. 9:00First, there is kernel mode. This is the
  256. 9:03core engine. It has absolute power over
  257. 9:06the hardware.
  258. 9:07Second, there is user mode. This is
  259. 9:10where your code runs.
  260. 9:11User mode is basically a restricted
  261. 9:13bubble.
  262. 9:14Your app cannot directly touch the
  263. 9:16hardware or mess with other programs.
  264. 9:19If your code tries to access memory it
  265. 9:21doesn't own, the kernel immediately
  266. 9:23shuts it down.
  267. 9:25This is exactly why one buggy app can't
  268. 9:27take down the whole machine, and it's
  269. 9:29why you'll see errors like segmentation
  270. 9:31fault or out of memory on the job.
  271. 9:34That's the kernel stepping in and
  272. 9:36stopping a program before it damages
  273. 9:38anything else.
  274. 9:39Here's the thing. You probably use a Mac
  275. 9:42or Windows right now, but the servers
  276. 9:44that run the internet overwhelmingly run
  277. 9:46Linux.
  278. 9:48If you look at the web servers where the
  279. 9:49operating system can be identified, more
  280. 9:51than nine out of 10 run a Unix-style
  281. 9:54system, and most of those are Linux.
  282. 9:57You don't need to be an expert in it
  283. 9:58today, but you need to understand that
  284. 10:00the environment where you write your
  285. 10:02code is usually different from the Linux
  286. 10:04server where your code actually lives.
  287. 10:07And when you deploy your code to that
  288. 10:08Linux server, you won't have a mouse to
  289. 10:10click around with.
  290. 10:12Let's talk about the command line. Here
  291. 10:14is something most beginners don't
  292. 10:15realize. When developers deploy code to
  293. 10:18a server thousands of miles away, they
  294. 10:21aren't clicking buttons on a screen.
  295. 10:23You've spent your entire life using a
  296. 10:25mouse, clicking icons, dragging folders.
  297. 10:29It's comfortable.
  298. 10:30Early on, most people rely on the mouse.
  299. 10:33Over time, you'll notice developers lean
  300. 10:35on the keyboard instead because for
  301. 10:38repetitive or technical tasks, it's
  302. 10:40usually a lot faster.
  303. 10:42What you are used to is called a GUI, a
  304. 10:45graphical user interface.
  305. 10:48But when you get on a dev team, you'll
  306. 10:49see developers staring at black screens
  307. 10:52with white text.
  308. 10:53That is the CLI, the command line
  309. 10:56interface.
  310. 10:57It's not hacking. It does the exact same
  311. 11:00thing your mouse does.
  312. 11:01Typing a simple text command in the CLI
  313. 11:04is exactly the same as right-clicking
  314. 11:06and hitting new folder with your mouse.
  315. 11:08Developers do this for two reasons,
  316. 11:10speed and automation.
  317. 11:13You cannot easily automate 100 mouse
  318. 11:15clicks, but you can write a one-line
  319. 11:17script to do it instantly in the command
  320. 11:19line.
  321. 11:20More importantly, when you deploy your
  322. 11:22back-end code to a Linux server in the
  323. 11:24cloud, there is often no screen and no
  324. 11:27mouse waiting for you.
  325. 11:28It's a remote machine that expects text
  326. 11:31commands.
  327. 11:32Even on teams where deployments run
  328. 11:33through an automated pipeline, that
  329. 11:35pipeline is usually built and maintained
  330. 11:38using the CLI. So sooner or later,
  331. 11:41you'll need it.
  332. 11:42You don't need to memorize a dictionary
  333. 11:44of commands today. Just know that as you
  334. 11:46step into this industry, you'll notice
  335. 11:48developers rely heavily on the keyboard
  336. 11:51because it's much faster.
  337. 11:53Now that you know the hardware and the
  338. 11:54OS, it's time to look at the actual
  339. 11:57software.
  340. 11:58In the next section, we are going to
  341. 12:00break down exactly what happens when you
  342. 12:02type a website into your browser.
  343. 12:04I'll see you there. Let's recap module
  344. 12:06two.
  345. 12:07You saw that programs take input,
  346. 12:09process it, and give output, and that
  347. 12:12your job is to write the process part.
  348. 12:14That code depends on three physical
  349. 12:16parts. Storage keeps data, RAM holds
  350. 12:20what's being worked on, and the CPU does
  351. 12:23the work.
  352. 12:24Use too much memory or CPU and your
  353. 12:26cloud bill goes up or your app crashes.
  354. 12:29The operating system sits between your
  355. 12:31code and the hardware. That's why one
  356. 12:33buggy app usually can't take down the
  357. 12:35whole machine.
  358. 12:37And since most web servers run Linux,
  359. 12:39often with no screen or mouse,
  360. 12:41developers get comfortable with the
  361. 12:42command line. Welcome to module three.
  362. 12:45Let's see what happens when someone uses
  363. 12:47a website.
  364. 12:49We'll take one page load apart piece by
  365. 12:51piece.
  366. 12:52Along the way, you'll meet the front
  367. 12:54end, the back end, APIs, and the
  368. 12:56database, and you'll see what each one
  369. 12:58is responsible for.
  370. 13:00You'll also learn to read status codes,
  371. 13:02a small skill that helps you find
  372. 13:04problems much faster.
  373. 13:06The last part compares websites and
  374. 13:08mobile apps.
  375. 13:09By the end of this module, you'll be
  376. 13:11able to look at a failed request and say
  377. 13:13which part to check first.
  378. 13:15Let's start in the browser. You open
  379. 13:17your browser, type a website address,
  380. 13:19and within a second, the page appears.
  381. 13:22It feels simple,
  382. 13:23but behind that one click, your computer
  383. 13:26is talking to other computers, sending
  384. 13:28requests, receiving data, and putting
  385. 13:31everything together into a page you can
  386. 13:32use.
  387. 13:34Let's break down what actually happens.
  388. 13:36First, you open a browser like Chrome or
  389. 13:39Safari.
  390. 13:40You type a website address, such as
  391. 13:42example.com, and press enter.
  392. 13:45Your browser needs to find the server
  393. 13:47hosting that website.
  394. 13:49This is where DNS comes in.
  395. 13:51DNS stands for Domain Name System. It
  396. 13:54translates a domain name, like
  397. 13:56example.com, into an IP address that
  398. 13:59computers can use to locate the
  399. 14:00destination.
  400. 14:02You don't need to memorize the entire
  401. 14:04DNS process right now. Just remember
  402. 14:06this. Humans use names, computers use
  403. 14:09addresses.
  404. 14:11Once the browser knows where to connect,
  405. 14:13it sends a request to the server.
  406. 14:15This is called an HTTP request.
  407. 14:18For example, your browser might ask,
  408. 14:21give me the homepage.
  409. 14:22The server receives that request and
  410. 14:24decides what to do. Maybe it returns an
  411. 14:27HTML page. Maybe it needs to fetch some
  412. 14:29data. Maybe it needs to check whether
  413. 14:31you're logged in.
  414. 14:33The server processes the request and
  415. 14:35sends a response back.
  416. 14:37That response might contain HTML, CSS,
  417. 14:40JavaScript, images, or data.
  418. 14:43Your browser receives those files and
  419. 14:45uses them to display the website.
  420. 14:48By the way, you can actually watch all
  421. 14:50of this happen.
  422. 14:51Every browser has a developer tools
  423. 14:53panel, and the network tab shows every
  424. 14:55single request your page makes.
  425. 14:58You'll use it in the assignment for this
  426. 14:59section.
  427. 15:00And that's the basic idea. You request
  428. 15:03something, a server processes it, you
  429. 15:05receive a response.
  430. 15:07Now, here's something important.
  431. 15:09The website you see is not necessarily
  432. 15:12running entirely on your laptop.
  433. 15:14The browser is responsible for
  434. 15:16displaying and running the front end.
  435. 15:18The back end may be running on a
  436. 15:20completely different machine, possibly
  437. 15:22in the cloud.
  438. 15:24That's why developers need to understand
  439. 15:25how these pieces communicate. Because
  440. 15:28when a user says the website isn't
  441. 15:30working, the problem could be in the
  442. 15:31browser, the network, the back end, or
  443. 15:34somewhere else.
  444. 15:36And that brings us to the next question.
  445. 15:38What exactly is the front end and what
  446. 15:41does the back end do? When you use an
  447. 15:43application, there are usually two major
  448. 15:45parts you need to understand, the front
  449. 15:48end and the back end.
  450. 15:50And if you're entering software
  451. 15:51development, you'll hear these two words
  452. 15:53constantly.
  453. 15:54Let's use a simple example. You open an
  454. 15:57online shopping website. You can see
  455. 15:59products, search for items, add
  456. 16:01something to your cart, and place an
  457. 16:03order.
  458. 16:04Everything you see and interact with in
  459. 16:06the browser is part of the front end.
  460. 16:09The front end is the user-facing part of
  461. 16:11the application.
  462. 16:13It handles things like what appears on
  463. 16:14the screen, what happens when you click
  464. 16:16a button, how a page responds to your
  465. 16:19actions, and how data is displayed.
  466. 16:22Common front-end technologies include
  467. 16:24HTML, CSS, and JavaScript.
  468. 16:27Frameworks like React, Angular, and Vue
  469. 16:30are also used to build front-end
  470. 16:32applications.
  471. 16:33But here's the important part. The front
  472. 16:36end usually doesn't own all the data or
  473. 16:38business logic.
  474. 16:40For example, when you open a product
  475. 16:42page, the front end needs product
  476. 16:44information.
  477. 16:45Where does that information come from?
  478. 16:47That's where the back end comes in.
  479. 16:50The back end runs on the server side. It
  480. 16:52handles things like processing requests,
  481. 16:55applying business rules, accessing data,
  482. 16:58and communicating with other systems.
  483. 17:00Let's say you click Add to Cart. The
  484. 17:03front end knows you clicked the button,
  485. 17:05but the back end may need to check the
  486. 17:07product, verify availability, calculate
  487. 17:10the price, and save the cart.
  488. 17:12The front end displays the result. The
  489. 17:15back end handles the work behind the
  490. 17:16scenes.
  491. 17:18Now, don't think of front end and back
  492. 17:20end as two completely separate
  493. 17:22applications that never interact.
  494. 17:24They work together. The front end is
  495. 17:26responsible for the user experience. The
  496. 17:29back end is responsible for server-side
  497. 17:31processing and data access, and they
  498. 17:33communicate through APIs, which we'll
  499. 17:36cover next.
  500. 17:37One more thing. A front-end developer
  501. 17:39doesn't necessarily need to know every
  502. 17:42back-end technology,
  503. 17:43and a back-end developer doesn't
  504. 17:45necessarily need to build the front end.
  505. 17:48But both developers need to understand
  506. 17:50how their work connects.
  507. 17:52Because if the front end sends the wrong
  508. 17:54request, the back end may reject it.
  509. 17:56And if the back end returns the wrong
  510. 17:58data, the front end may display
  511. 18:00something incorrectly.
  512. 18:02That's why understanding the complete
  513. 18:04application is useful, even if you
  514. 18:06specialize in one area.
  515. 18:08Now let's look at the piece that
  516. 18:09connects these two sides, the API. API
  517. 18:13is one of those words you'll hear
  518. 18:15everywhere in IT.
  519. 18:17Front-end developers talk about APIs,
  520. 18:19back-end developers build APIs. QA
  521. 18:22engineers test APIs, and cloud
  522. 18:25applications communicate with APIs all
  523. 18:27the time.
  524. 18:29So what is an API?
  525. 18:31Let's keep it simple.
  526. 18:33An API, or application programming
  527. 18:35interface, is a defined way for software
  528. 18:38to communicate with other software.
  529. 18:40Think about a restaurant. You look at
  530. 18:42the menu and decide what you want. You
  531. 18:45tell the waiter your order.
  532. 18:46The waiter takes it to the kitchen. The
  533. 18:48kitchen prepares the food, and the
  534. 18:50waiter brings it back.
  535. 18:52You don't need to walk into the kitchen
  536. 18:53and figure out how everything works. You
  537. 18:55just use the interface provided to you.
  538. 18:58An API works in a similar way.
  539. 19:01Let's say your front end needs to
  540. 19:02display a list of products. It sends a
  541. 19:05request to the back end through an API.
  542. 19:07The back end processes that request,
  543. 19:09gets the required data, and sends a
  544. 19:11response.
  545. 19:13The front end receives the response and
  546. 19:14displays the products.
  547. 19:16For example, an API might have an
  548. 19:18endpoint that simply means give me the
  549. 19:21products. The response would come back
  550. 19:23as structured data, something like a
  551. 19:25list of products, each one with an ID, a
  552. 19:28name, and a price.
  553. 19:29The front end can use that data to
  554. 19:31display the products on the screen.
  555. 19:34You don't need to memorize the technical
  556. 19:35format right now. We'll keep the deeper
  557. 19:37details for another course. But
  558. 19:39understand this. An API is a contract
  559. 19:43between systems.
  560. 19:44It defines how one piece of software can
  561. 19:46request something from another piece of
  562. 19:48software.
  563. 19:49And it's not limited to front end and
  564. 19:51back end.
  565. 19:52A payment system can communicate with a
  566. 19:54shopping application through an API.
  567. 19:57A weather application can request
  568. 19:58weather data from a weather service. A
  569. 20:00mobile app can communicate with the same
  570. 20:02back end used by a website.
  571. 20:05That's why APIs are such a big part of
  572. 20:07modern software.
  573. 20:09Now, every one of those API calls comes
  574. 20:12back with a little status code. And once
  575. 20:14you can read that code, you can tell
  576. 20:16where a problem is before anyone else on
  577. 20:18the team. Let's look at that next.
  578. 20:21Here's a skill that takes about 3
  579. 20:22minutes to learn and will make you look
  580. 20:24like you've been doing this for years.
  581. 20:26Every time the front end talks to the
  582. 20:28back end, it sends a request and gets a
  583. 20:30response. And every response carries a
  584. 20:33three-digit number called a status code.
  585. 20:36That number is the back end's one-word
  586. 20:38answer to the question, how did that go?
  587. 20:40You only need to know a handful.
  588. 20:42Anything starting with two means fine.
  589. 20:45200 is the classic. You asked for the
  590. 20:48products, here are the products.
  591. 20:50Anything starting with three means look
  592. 20:52somewhere else.
  593. 20:54A 301 or a 302 is a redirect. The page
  594. 20:57moved.
  595. 20:58Anything starting with four means you,
  596. 21:01the caller, got something wrong.
  597. 21:03400 means the request itself was
  598. 21:05malformed.
  599. 21:07401 means you're not logged in. 403
  600. 21:10means you're logged in but not allowed.
  601. 21:12And 404, the famous one, means the thing
  602. 21:15you asked for doesn't exist.
  603. 21:18Anything starting with five means the
  604. 21:20back end got something wrong.
  605. 21:22500 is a generic crash on the server.
  606. 21:25502 or 503 usually mean the server is
  607. 21:28down or overloaded.
  608. 21:30So look at this one. The front end sent
  609. 21:32get/api/products.
  610. 21:35The back end answered 200 and the body
  611. 21:38is a small piece of structured text
  612. 21:39called JSON.
  613. 21:41An ID, a name, a price. That's the whole
  614. 21:44conversation.
  615. 21:45The front end takes that JSON and turns
  616. 21:47it into a product card on the screen.
  617. 21:50Now here's why this matters for you.
  618. 21:52Remember the question from the first
  619. 21:53lecture? The website isn't working.
  620. 21:55Where's the problem?
  621. 21:57If the request never left the browser,
  622. 21:59it's the front end.
  623. 22:00If it came back with a four, the front
  624. 22:02end probably sent the wrong thing.
  625. 22:05If it came back with a five, the back
  626. 22:07end broke.
  627. 22:08If it came back 200 and the screen is
  628. 22:10still wrong, the front end is displaying
  629. 22:12the data incorrectly.
  630. 22:14Four scenarios, one number tells you
  631. 22:16which one you're in before you touch a
  632. 22:18single line of code.
  633. 22:20Now the back end needs somewhere to keep
  634. 22:22the data it's sending back. That's the
  635. 22:24database. Let's say you create account
  636. 22:26on a website. You enter your name,
  637. 22:29email, and password. You close the
  638. 22:31browser, come back tomorrow, and your
  639. 22:33account is still there.
  640. 22:35Where did that information go?
  641. 22:37It was stored somewhere. That's the job
  642. 22:40of a database.
  643. 22:41A database is a system used to store and
  644. 22:44manage data so applications can retrieve
  645. 22:46and work with it.
  646. 22:48In a typical application, the flow looks
  647. 22:50like this.
  648. 22:51The front end collects the user's input,
  649. 22:54the back end processes the request, and
  650. 22:56the database stores or retrieves the
  651. 22:58information.
  652. 22:59Let's take a simple example.
  653. 23:01You log into an application.
  654. 23:03The front end sends your login details
  655. 23:05to the back end.
  656. 23:07The back end checks the stored account
  657. 23:08information and verifies the
  658. 23:10credentials. If the login is successful,
  659. 23:12the back end sends a response and the
  660. 23:14front end displays your dashboard.
  661. 23:17The database is where the application
  662. 23:19keeps information such as users,
  663. 23:21products, orders, or other business
  664. 23:23data.
  665. 23:24Now, there are different types of
  666. 23:26databases. Relational databases, such as
  667. 23:29MySQL, PostgreSQL, and SQL Server, store
  668. 23:33structured data in tables.
  669. 23:35NoSQL databases, such as MongoDB, use
  670. 23:38different data models and are often used
  671. 23:40for applications with particular data
  672. 23:42and scaling requirements.
  673. 23:44You don't need to learn database design
  674. 23:46in this course, but you should
  675. 23:48understand the difference between the
  676. 23:49application and the data it uses. Your
  677. 23:52back end code is not necessarily the
  678. 23:54permanent storage.
  679. 23:56The database is a separate system
  680. 23:58responsible for managing data.
  681. 24:00And this distinction matters in real
  682. 24:02jobs. If a user says their order
  683. 24:04disappeared, the problem might be in the
  684. 24:06front end, the back end, or the
  685. 24:08database.
  686. 24:09If an application is slow, the database
  687. 24:11could also be part of the problem.
  688. 24:13That's why developers need to understand
  689. 24:15how data moves through an application.
  690. 24:18Now, one last question.
  691. 24:20Does a mobile app work completely
  692. 24:22differently from a website?
  693. 24:24Not necessarily. You use a website on
  694. 24:26your laptop.
  695. 24:27You open the same service on your phone
  696. 24:30and the experience looks a little
  697. 24:31different.
  698. 24:32The buttons may be arranged differently,
  699. 24:35the layout may be different, the app may
  700. 24:37use mobile specific features.
  701. 24:39But here's the important part. Both
  702. 24:42applications can communicate with the
  703. 24:43same backend.
  704. 24:46For example, imagine you're using a
  705. 24:47shopping application. [clears throat]
  706. 24:49You add an item to your cart on your
  707. 24:50laptop. Then you open the mobile app and
  708. 24:53the same item is still in your cart.
  709. 24:56How does that happen?
  710. 24:57Because both clients can use the same
  711. 24:59backend and access the same underlying
  712. 25:02account data.
  713. 25:04The website and the mobile app are
  714. 25:05different clients.
  715. 25:07They may have different front end
  716. 25:08technologies.
  717. 25:09A website might use React.
  718. 25:12A mobile application might use Swift,
  719. 25:14Kotlin, or a cross-platform framework
  720. 25:16like Flutter or .NET MAUI.
  721. 25:18But they can still communicate with the
  722. 25:20same backend through APIs.
  723. 25:23This is a useful concept to understand
  724. 25:25before entering IT.
  725. 25:27You might work on a front end team, a
  726. 25:29back end team, or a mobile team.
  727. 25:31Even if your technology is different,
  728. 25:33the application architecture can be
  729. 25:35connected.
  730. 25:36And that's the bigger picture.
  731. 25:38The front end displays the experience.
  732. 25:41The back end processes the requests. The
  733. 25:44API connects systems. The database
  734. 25:47stores the data.
  735. 25:49Once you understand these four pieces, a
  736. 25:51lot of software development starts
  737. 25:52making more sense.
  738. 25:54In the next section, we'll move into
  739. 25:56programming basics and look at how
  740. 25:58developers actually write the logic
  741. 25:59behind these applications. Let's recap
  742. 26:02module three.
  743. 26:03You followed one request from start to
  744. 26:05finish. DNS turned a name into an
  745. 26:08address. The browser asked a server for
  746. 26:11a page and a response came back.
  747. 26:14You saw how the work splits between the
  748. 26:15two sides of an application. An API is
  749. 26:18the agreed way for them to talk.
  750. 26:21Status codes gave you a quick way to
  751. 26:23find a problem. A four usually points at
  752. 26:25the caller. A five points at the back
  753. 26:28end and a 200 with a wrong screen often
  754. 26:31points at the front end.
  755. 26:32And since the data lives in a separate
  756. 26:34database, your cart can follow you from
  757. 26:36your laptop to your phone. Welcome to
  758. 26:39module four.
  759. 26:40Now let's look at the code that makes an
  760. 26:42application work.
  761. 26:44You don't need any coding experience for
  762. 26:45this.
  763. 26:46We'll go through what programming really
  764. 26:48is and the few ideas you'll find in
  765. 26:50nearly every language.
  766. 26:52You'll see how developers avoid writing
  767. 26:54the same logic twice and why errors are
  768. 26:56a normal part of the work.
  769. 26:58We finish with the code your project
  770. 27:00uses that somebody else wrote.
  771. 27:02By the end of this module, you'll know
  772. 27:04the ideas behind most code.
  773. 27:06You'll also know why a real project is
  774. 27:08full of code your team didn't write.
  775. 27:11Let's start with what programming
  776. 27:12actually means. Programming is basically
  777. 27:15giving a computer a set of instructions
  778. 27:17to follow.
  779. 27:19When you're writing code, you're not
  780. 27:20really talking to the computer in some
  781. 27:22magical way.
  782. 27:24You're breaking a problem down into
  783. 27:25steps that a machine can execute.
  784. 27:28For example, let's say you are building
  785. 27:30a shopping application and the user
  786. 27:32clicks buy now.
  787. 27:34Something has to happen behind that
  788. 27:36button.
  789. 27:37Check whether the product exists,
  790. 27:39check whether it's in stock,
  791. 27:41calculate the price, create the order,
  792. 27:44save the order, return a response.
  793. 27:47That's programming.
  794. 27:49The language might be Python, Java, C
  795. 27:52Sharp, JavaScript, or something else.
  796. 27:55The syntax changes, but the underlying
  797. 27:57idea stays the same. Take a problem,
  798. 28:00break it into logical steps, and tell
  799. 28:03the computer exactly what to do.
  800. 28:05And this is one of the biggest mindset
  801. 28:07shifts for beginners. Programming isn't
  802. 28:10primarily about memorizing syntax. It's
  803. 28:12about learning how to turn a problem
  804. 28:14into a sequence of instructions. Before
  805. 28:17you work on real applications, there are
  806. 28:19a few programming concepts you'll see
  807. 28:21everywhere.
  808. 28:22The first is a variable.
  809. 28:24A variable is simply a name pointing to
  810. 28:26some data.
  811. 28:28You might have a username, an order
  812. 28:30total, a product ID, or whether a user
  813. 28:33is logged in.
  814. 28:34Variables let you store information and
  815. 28:36use it later.
  816. 28:37You can also update their values as your
  817. 28:39program runs.
  818. 28:41For example, when a customer adds
  819. 28:43another item to their cart, you can
  820. 28:45update the variable holding the total
  821. 28:46number of items.
  822. 28:48Then you have conditions.
  823. 28:50This is where your program makes
  824. 28:52decisions.
  825. 28:53For example, if the user is logged in,
  826. 28:55show their dashboard. Otherwise, show
  827. 28:57the login page.
  828. 28:59You can also combine conditions to
  829. 29:01handle more complex situations.
  830. 29:03For example, you might check whether a
  831. 29:05user is logged in and whether they have
  832. 29:07permission to access a particular page.
  833. 29:10Conditions help your application respond
  834. 29:12differently depending on the data or
  835. 29:14situation it encounters.
  836. 29:16Then you have loops.
  837. 29:18A loop is useful when you need to repeat
  838. 29:20something.
  839. 29:21Let's say you get a hundred products
  840. 29:23from a database and need to process
  841. 29:25every one of them.
  842. 29:26You don't write the same code a hundred
  843. 29:28times. You write the logic once and
  844. 29:30repeat it.
  845. 29:31Loops can also stop when a particular
  846. 29:33condition is met, which is useful when
  847. 29:35you don't know exactly how many
  848. 29:37repetitions you'll need.
  849. 29:39For example, you could use a loop to
  850. 29:40calculate the total price of every
  851. 29:42product in a customer's shopping cart.
  852. 29:45These three ideas show up everywhere.
  853. 29:48Store data, make decisions, repeat work.
  854. 29:51Whether you're working in Python, Java,
  855. 29:54C Sharp, JavaScript, or another
  856. 29:56language, you'll keep coming back to
  857. 29:58these concepts. One of the first things
  858. 30:00that separates beginner code from more
  859. 30:02practical code is understanding
  860. 30:04functions.
  861. 30:06Let's say your application needs to
  862. 30:07calculate the total price of an order.
  863. 30:10You could write that logic directly
  864. 30:12inside your checkout code.
  865. 30:14But what happens when another part of
  866. 30:16the application needs the same
  867. 30:17calculation?
  868. 30:19You'd end up copying the code.
  869. 30:21That's where functions help.
  870. 30:23You put a specific piece of logic inside
  871. 30:25a reusable function and call it whenever
  872. 30:28you need it.
  873. 30:29For example, you might write a small
  874. 30:31function called calculate total, which
  875. 30:34takes in a price and a quantity and
  876. 30:36simply returns the price multiplied by
  877. 30:38the quantity.
  878. 30:40Now you don't care how many times you
  879. 30:41need that calculation. You can call the
  880. 30:43function whenever you need it.
  881. 30:46You can also update the calculation in
  882. 30:47one place without changing every part of
  883. 30:50your application.
  884. 30:52For example, if you later need to
  885. 30:54include a discount, you can update the
  886. 30:56function to handle that requirement.
  887. 30:58Every part of the application that calls
  888. 31:00this function can then use the updated
  889. 31:02logic.
  890. 31:04In real projects, functions get combined
  891. 31:06into larger components, services,
  892. 31:09classes, modules, and applications.
  893. 31:12So when developers talk about writing
  894. 31:14reusable code, this is what they're
  895. 31:16getting at.
  896. 31:18Functions also make code easier to test
  897. 31:20because you can check a specific piece
  898. 31:22of logic independently.
  899. 31:24They help break large problems into
  900. 31:26smaller pieces that are easier to
  901. 31:28understand and maintain.
  902. 31:30Don't write the same logic again and
  903. 31:32again when you can isolate it and reuse
  904. 31:35it. Here's something beginners usually
  905. 31:37discover very quickly.
  906. 31:39Your code will break. And that's
  907. 31:41completely normal. You might have a
  908. 31:43syntax error because you wrote something
  909. 31:45incorrectly.
  910. 31:47You might have a runtime error because
  911. 31:48something went wrong while the
  912. 31:49application was running.
  913. 31:51Or the code might run perfectly but
  914. 31:53still produce the wrong result. That's a
  915. 31:56logic error.
  916. 31:57And that last one is especially
  917. 31:59important.
  918. 32:00A program can be completely valid from
  919. 32:02the computer's perspective and still be
  920. 32:05wrong from the user's perspective.
  921. 32:07That's why developers spend a surprising
  922. 32:09amount of time debugging.
  923. 32:11We'll walk through how that actually
  924. 32:13looks, error message and all, in the
  925. 32:14next section.
  926. 32:16For now, the mindset is what matters.
  927. 32:19You fix the actual cause.
  928. 32:21You don't randomly change code until the
  929. 32:23error disappears.
  930. 32:25Sometimes the error message points
  931. 32:27directly to the problem.
  932. 32:29Other times you need to trace the
  933. 32:31execution and understand what the code
  934. 32:33is actually doing.
  935. 32:35That 's why reading error messages
  936. 32:36carefully is such an important skill.
  937. 32:39They often provide clues about where
  938. 32:41things went wrong and what to
  939. 32:42investigate next.
  940. 32:44You are not trying to write perfect code
  941. 32:46that never breaks.
  942. 32:48You're learning how to understand and
  943. 32:49fix problems when it does. One final
  944. 32:52concept beginners should understand is
  945. 32:54that developers rarely build everything
  946. 32:56from scratch.
  947. 32:58Let's say your application needs to send
  948. 33:00an email.
  949. 33:01You could spend weeks building an entire
  950. 33:03email system yourself,
  951. 33:05or you could use an existing library or
  952. 33:07service that already solves the problem.
  953. 33:10That's why developers use libraries and
  954. 33:12frameworks.
  955. 33:14A library gives you reusable
  956. 33:15functionality. A framework gives you a
  957. 33:18larger structure for building
  958. 33:19applications.
  959. 33:21And these projects often depend on many
  960. 33:23other packages. Those are called
  961. 33:25dependencies.
  962. 33:27For example, a library might handle
  963. 33:29email formatting, while another package
  964. 33:31handles communication with an email
  965. 33:33service.
  966. 33:34Using these existing tools saves time
  967. 33:36and lets you focus on the specific
  968. 33:38requirements of your application.
  969. 33:41Of course, you still need to understand
  970. 33:42what these dependencies do and whether
  971. 33:45they fit your project's requirements.
  972. 33:47This is why you'll eventually see
  973. 33:49certain files in almost every project.
  974. 33:52JavaScript projects have a file called
  975. 33:54package.json.
  976. 33:56Python projects have a file called
  977. 33:58requirements.txt.
  978. 34:00Java projects have a file called
  979. 34:02pom.xml.
  980. 34:04And .NET projects have a project file
  981. 34:06ending in .csproj.
  982. 34:09These files help define what your
  983. 34:10application depends on.
  984. 34:12They also help other developers install
  985. 34:14the required packages and get the
  986. 34:16project running in their own
  987. 34:17environments.
  988. 34:19So when you join a real project, you're
  989. 34:21usually not starting with an empty
  990. 34:23folder.
  991. 34:24You're joining an existing codebase with
  992. 34:26existing frameworks, libraries,
  993. 34:28dependencies, and conventions.
  994. 34:31And that's much closer to what real
  995. 34:32software development looks like. Let's
  996. 34:34recap module four.
  997. 34:36Programming means breaking a problem
  998. 34:38into steps a computer can follow.
  999. 34:41The syntax changes from one language to
  1000. 34:43another, but that idea stays the same.
  1001. 34:46Variables, conditions, and loops let a
  1002. 34:48program store data, make decisions, and
  1003. 34:51repeat work.
  1004. 34:52Functions let you write some logic once
  1005. 34:55and use it wherever you need it.
  1006. 34:57Errors come in three kinds, and the
  1007. 34:59logic error is the hard one because the
  1008. 35:01code runs and the result is still wrong.
  1009. 35:04And libraries and frameworks mean you
  1010. 35:06rarely build everything yourself.
  1011. 35:08In module five, we look at how a team
  1012. 35:10works on code together. Welcome to
  1013. 35:13module five. This is where the real job
  1014. 35:16begins. On a real team, you rarely
  1015. 35:18decide on your own what to build.
  1016. 35:21Work comes to you in a certain way.
  1017. 35:23It moves through a set of steps and
  1018. 35:25other people are involved at each one.
  1019. 35:27You'll join a codebase you didn't write
  1020. 35:30and you'll get a ticket that says what's
  1021. 35:31needed.
  1022. 35:32Someone will ask how long it's going to
  1023. 35:34take.
  1024. 35:35You'll make your change with Git and
  1025. 35:36you'll see the different environments
  1026. 35:38code passes through.
  1027. 35:40When you're done, you'll hand your work
  1028. 35:41to a teammate in a pull request. By the
  1029. 35:44end of this module, you'll be able to
  1030. 35:46take a ticket and follow it through your
  1031. 35:47team's steps.
  1032. 35:49Let's start with the code that's already
  1033. 35:50there. One of the biggest surprises for
  1034. 35:52new developers is that most of the time
  1035. 35:55you're not building something from an
  1036. 35:56empty folder.
  1037. 35:58You join a company, open your laptop,
  1038. 36:00clone a repository, and discover that
  1039. 36:03hundreds of files are already there.
  1040. 36:06There are APIs, database queries,
  1041. 36:08configuration files, tests, logging,
  1042. 36:11authentication, deployment scripts, and
  1043. 36:14code written by people who may have left
  1044. 36:16the company years ago.
  1045. 36:18And then your manager gives you a
  1046. 36:20ticket, something like add a new field
  1047. 36:22to the customer API.
  1048. 36:24That sounds simple,
  1049. 36:26but before changing anything, you need
  1050. 36:28to figure out where that API is
  1051. 36:30implemented,
  1052. 36:31where the data comes from, which
  1053. 36:33database table contains the field,
  1054. 36:35whether another service uses the same
  1055. 36:37model, whether tests already exist, and
  1056. 36:40whether adding the field could break
  1057. 36:42something else.
  1058. 36:43You might also need to understand how
  1059. 36:45the application is configured and how
  1060. 36:47changes move from development into
  1061. 36:49production.
  1062. 36:51Sometimes the hardest part isn't making
  1063. 36:53the change itself,
  1064. 36:54it's discovering all the places that
  1065. 36:56change might affect.
  1066. 36:58This is why being a developer is not
  1067. 37:00just about writing code.
  1068. 37:03A huge part of the job is understanding
  1069. 37:05code that already exists.
  1070. 37:07Over time, you'll learn to follow the
  1071. 37:09flow of data, identify important files,
  1072. 37:12and recognize how different parts of an
  1073. 37:14application connect.
  1074. 37:16Your first skill on a real project isn't
  1075. 37:18typing faster,
  1076. 37:20it's getting comfortable moving through
  1077. 37:21code you didn't write, a skill worth its
  1078. 37:24own closer look later in this course. In
  1079. 37:26many companies, your work starts with a
  1080. 37:28ticket.
  1081. 37:30You might hear terms like Jira, Azure
  1082. 37:32DevOps, Linear, or GitHub issues.
  1083. 37:35The tool changes, but the idea is
  1084. 37:37similar.
  1085. 37:38Someone creates a piece of work that
  1086. 37:40needs to be done.
  1087. 37:42For example, a ticket might say, add
  1088. 37:44email validation to customer
  1089. 37:46registration.
  1090. 37:47The description explains that users
  1091. 37:49should not be able to register with an
  1092. 37:51invalid email address,
  1093. 37:53and the acceptance criteria might say,
  1094. 37:55the email format needs to be validated,
  1095. 37:58an error message should show up when
  1096. 37:59it's wrong, unit tests need to be added,
  1097. 38:02and existing valid registrations must
  1098. 38:05continue working.
  1099. 38:06The important part is that a ticket
  1100. 38:08usually describes the problem and the
  1101. 38:10expected outcome, not every line of code
  1102. 38:13you need to write.
  1103. 38:14It's your job to understand the
  1104. 38:16requirement and figure out how to
  1105. 38:17implement it.
  1106. 38:19Sometimes the ticket might leave
  1107. 38:20important details unclear.
  1108. 38:23You may need to ask questions, discuss
  1109. 38:25edge cases, or clarify what should
  1110. 38:27happen when something goes wrong.
  1111. 38:29You'll also see different types of
  1112. 38:31tickets. A bug means something isn't
  1113. 38:33working correctly.
  1114. 38:35A task is a piece of implementation
  1115. 38:37work.
  1116. 38:38A story is a larger piece of
  1117. 38:39functionality from the user's
  1118. 38:41perspective, and an epic is a larger
  1119. 38:43body of work made up of multiple smaller
  1120. 38:46tickets.
  1121. 38:47Once you understand this, a ticket stops
  1122. 38:49looking like an instruction from your
  1123. 38:51manager and starts looking like the
  1124. 38:53starting point for an engineering
  1125. 38:54problem.
  1126. 38:56You also need to think about how your
  1127. 38:57change fits into the existing
  1128. 38:59application and whether it introduces
  1129. 39:01any risks.
  1130. 39:02And once you understand the problem,
  1131. 39:04someone's going to ask you the next
  1132. 39:05question.
  1133. 39:07How long do you think this will take?
  1134. 39:08Once a ticket exists, someone usually
  1135. 39:11has to answer a question that feels
  1136. 39:13harder than it should be.
  1137. 39:14How long will this take?
  1138. 39:17Many teams don't answer that in hours.
  1139. 39:19They use story points, a rough relative
  1140. 39:22measure of effort and complexity rather
  1141. 39:24than a literal time estimate.
  1142. 39:27A small, well-understood change might be
  1143. 39:29a one or a two. Something that touches
  1144. 39:31several parts of the system or has a lot
  1145. 39:33of unknowns might be a five or an eight.
  1146. 39:37The exact scale differs by team, and
  1147. 39:39that's fine. The number itself matters
  1148. 39:41less than the conversation that produces
  1149. 39:43it.
  1150. 39:44Here's the part beginners aren't warned
  1151. 39:46about. Your estimates will sometimes be
  1152. 39:49wrong, often in your first year, and
  1153. 39:51that's expected, not a sign you're bad
  1154. 39:53at the job.
  1155. 39:55A ticket that looked like a two-day
  1156. 39:56change can turn into a week once you
  1157. 39:58discover an edge case nobody mentioned
  1158. 40:01or a piece of the system that behaves
  1159. 40:02differently than documented.
  1160. 40:05What actually matters isn't estimating
  1161. 40:07perfectly. It's noticing early and
  1162. 40:09saying something.
  1163. 40:11If you're a day into a two-day ticket
  1164. 40:13and you can already tell it's going to
  1165. 40:14take four, that's the moment to flag it
  1166. 40:17and stand up on the ticket wherever your
  1167. 40:19team tracks this, not on the final day
  1168. 40:22when it's already late.
  1169. 40:24Something like, this is turning out
  1170. 40:26bigger than expected because of X.
  1171. 40:29I think it's closer to four days now.
  1172. 40:31That single sentence, said early, is the
  1173. 40:34difference between a manageable surprise
  1174. 40:36and a stressful one.
  1175. 40:37So don't treat an estimate as a promise
  1176. 40:39carved in stone.
  1177. 40:41Treat it as your best guess with the
  1178. 40:43information you had at the time and
  1179. 40:45treat updating it honestly as part of
  1180. 40:47the job, not a failure to admit.
  1181. 40:50Once your ticket is estimated and picked
  1182. 40:52up, the next thing you'll actually spend
  1183. 40:54most of your day using is Git. If you're
  1184. 40:56working in software development, Git is
  1185. 40:59going to become part of your everyday
  1186. 41:00workflow.
  1187. 41:02You pull the latest code, you create a
  1188. 41:04branch, you make your changes, you
  1189. 41:07commit them, you push the branch. Then
  1190. 41:10you create a pull request.
  1191. 41:12Someone reviews it, and once it's
  1192. 41:13approved, it gets merged.
  1193. 41:16The important thing to understand is
  1194. 41:18that Git isn't just a place where code
  1195. 41:20is stored.
  1196. 41:21It's how teams safely work on the same
  1197. 41:23codebase.
  1198. 41:24Two developers can work on different
  1199. 41:26features without constantly overwriting
  1200. 41:28each other's work.
  1201. 41:30Your branch gives you an isolated place
  1202. 41:32to make changes, and the pull request
  1203. 41:34gives the team a chance to review those
  1204. 41:36changes before they become part of the
  1205. 41:38main codebase.
  1206. 41:40For example, imagine you're adding a new
  1207. 41:42payment feature while another developer
  1208. 41:44is fixing a login issue.
  1209. 41:46You can both work on separate branches
  1210. 41:48and commit your changes independently.
  1211. 41:50Once your work is ready, Git helps bring
  1212. 41:52those changes together.
  1213. 41:54Sometimes you'll encounter merge
  1214. 41:56conflicts when different changes affect
  1215. 41:58the same part of a file.
  1216. 42:00You'll need to understand what changed
  1217. 42:02and decide how to combine the work
  1218. 42:04correctly.
  1219. 42:05Git also keeps a history of your changes
  1220. 42:08so you can understand what happened and
  1221. 42:09return to earlier versions when
  1222. 42:11necessary.
  1223. 42:12You'll eventually encounter terms like
  1224. 42:14commit, branch, merge, pull request,
  1225. 42:18rebase, conflict, checkout, and clone.
  1226. 42:22You don't need to master all of Git
  1227. 42:23before your first job, but you
  1228. 42:25absolutely need to understand why Git
  1229. 42:28exists and how it fits into the
  1230. 42:30development workflow. Here's another
  1231. 42:32concept that becomes very real when you
  1232. 42:34join a company.
  1233. 42:35Your code usually doesn't go directly
  1234. 42:38from your laptop to the real users.
  1235. 42:40There are different environments.
  1236. 42:43Development is where developers build
  1237. 42:45and test their changes.
  1238. 42:47Some teams also have an int environment,
  1239. 42:49short for integration, which is where
  1240. 42:51your changes are combined with everyone
  1241. 42:53else's changes for the first time, just
  1242. 42:55to make sure nothing conflicts.
  1243. 42:58Test or Q A is where the application is
  1244. 43:01validated before release.
  1245. 43:03Many companies also have a staging
  1246. 43:05environment, which is set up to look and
  1247. 43:07behave almost exactly like production so
  1248. 43:10the team can do one final check before
  1249. 43:12anything goes live.
  1250. 43:14And production is the real environment
  1251. 43:16used by actual customers.
  1252. 43:19Your code typically moves through
  1253. 43:20several of these stages in order from
  1254. 43:22your machine to dev, maybe to int, to
  1255. 43:26test, to staging, and finally to prod.
  1256. 43:30Not every company uses all of these
  1257. 43:31environments and some combine a few of
  1258. 43:33them, but the idea tends to be the same.
  1259. 43:36Catch problems earlier in a safer
  1260. 43:39environment before they ever reach a
  1261. 43:41real customer.
  1262. 43:43And this distinction matters.
  1263. 43:45You don't want to test a database
  1264. 43:47migration by experimenting directly on
  1265. 43:49the production database.
  1266. 43:51You don't want unfinished features
  1267. 43:52appearing in front of customers,
  1268. 43:55and you don't want a developer casually
  1269. 43:56changing production configuration
  1270. 43:58because they were trying to fix
  1271. 43:59something.
  1272. 44:01Later in the course, we'll talk about
  1273. 44:03how C I C D helps move changes between
  1274. 44:05these environments safely.
  1275. 44:07For now, remember one thing. Your laptop
  1276. 44:11is not production. You finish your
  1277. 44:13ticket, you open a pull request,
  1278. 44:16and now a teammate who wasn't in your
  1279. 44:18head while you were writing this has to
  1280. 44:20figure out what you changed and why,
  1281. 44:23usually in the middle of their own busy
  1282. 44:24day.
  1283. 44:26A weak pull request just says fixed the
  1284. 44:28bug and links the ticket.
  1285. 44:31A good one saves the reviewer real time.
  1286. 44:34It says what changed, why you approached
  1287. 44:36it that way, and how to actually test
  1288. 44:38it. A specific input, a specific screen,
  1289. 44:42a specific expected result.
  1290. 44:44Think of it like handing off a task to a
  1291. 44:46co-worker who's about to go on vacation.
  1292. 44:49You wouldn't just say I did the thing,
  1293. 44:51you'd say what you touched, what you
  1294. 44:53didn't touch, and what to double check.
  1295. 44:56This matters for your commit messages
  1296. 44:58too.
  1297. 44:59Fixed stuff tells a future developer
  1298. 45:01nothing.
  1299. 45:02Fix null pointer when discount is
  1300. 45:04applied to an empty cart tells them
  1301. 45:06exactly what problem existed and when it
  1302. 45:09happened.
  1303. 45:10The same habit applies inside your code.
  1304. 45:13A comment shouldn't restate what the
  1305. 45:15next line obviously does.
  1306. 45:17It should explain the part the code
  1307. 45:19can't show on its own, why this
  1308. 45:21particular edge case needed a special
  1309. 45:23check, or why you didn't use the simpler
  1310. 45:25approach.
  1311. 45:26Good documentation also helps when
  1312. 45:28someone needs to investigate a problem
  1313. 45:30later.
  1314. 45:31They can understand the original
  1315. 45:33decision without having to track down
  1316. 45:34the person who made it.
  1317. 45:36None of this is about writing more.
  1318. 45:39It's about writing exactly enough that
  1319. 45:41the next person, maybe you 6 months from
  1320. 45:43now, doesn't have to guess.
  1321. 45:46So once your pull request is actually
  1322. 45:48open, what happens next?
  1323. 45:50That's where code review comes in. Code
  1324. 45:52review is simple to describe. A teammate
  1325. 45:55reads your change before it joins the
  1326. 45:57main codebase. Sometimes they approve it
  1327. 45:59right away. Often they'll leave a few
  1328. 46:02comments. They might ask a question,
  1329. 46:04point out a case you missed, or suggest
  1330. 46:06a simpler way to do something.
  1331. 46:08You make the changes and push them to
  1332. 46:10the same branch, and the pull request
  1333. 46:12picks them up.
  1334. 46:14Once your teammate approves, your branch
  1335. 46:15gets merged.
  1336. 46:17Those comments can feel personal the
  1337. 46:19first few times.
  1338. 46:20They're about the code, and senior
  1339. 46:22developers get them too.
  1340. 46:24They also teach you how your team likes
  1341. 46:26things done.
  1342. 46:27So let's recap module 5 and how far your
  1343. 46:29ticket came.
  1344. 46:31You found your way around code you
  1345. 46:32didn't write.
  1346. 46:33You understood what was being asked,
  1347. 46:35gave an estimate, and worked on your own
  1348. 46:37branch.
  1349. 46:39Along the way, you saw the environment's
  1350. 46:41code passes through on its way to
  1351. 46:42customers.
  1352. 46:43Then you wrote a pull request that
  1353. 46:45someone could follow, and it got
  1354. 46:47reviewed and merged.
  1355. 46:49Up to this point, your change has only
  1356. 46:51moved inside the team.
  1357. 46:53In module 6, it goes the rest of the
  1358. 46:55way, out to the using the app. Welcome
  1359. 46:58to module six. Now let's see what
  1360. 47:00happens between your laptop and
  1361. 47:02production. This one is longer because a
  1362. 47:05lot happens at this stage.
  1363. 47:07see how code becomes something that can
  1364. 47:09run, a container is, how a pipeline
  1365. 47:12moves it all along.
  1366. 47:14also see where settings and passwords
  1367. 47:16belong since they stay out of the code.
  1368. 47:19comes up twice. first time, it's the
  1369. 47:21habits every company assumes you have.
  1370. 47:24The second time, it's how you handle
  1371. 47:26people's data and how you build for
  1372. 47:28people who use software differently.
  1373. 47:30The rest is about going live safely.
  1374. 47:33That covers deployments and going back
  1375. 47:34to an older version. It also covers
  1376. 47:37turning features on without a new
  1377. 47:38release and changing an API without
  1378. 47:41breaking the apps that use it.
  1379. 47:43By the end of this module, you'll know
  1380. 47:44what people mean by a failed build, a
  1381. 47:46red pipeline, or a rollback.
  1382. 47:49Let's start. You finished your ticket.
  1383. 47:51The code works on your machine, but that
  1384. 47:54doesn't mean the feature is ready for
  1385. 47:55customers.
  1386. 47:57Before your change reaches production,
  1387. 47:59several things usually need to happen.
  1388. 48:01Your code needs to be built, tests need
  1389. 48:04to run, the application may need to be
  1390. 48:06packaged, security or quality checks
  1391. 48:08might run. Then the application needs to
  1392. 48:11be deployed to an environment.
  1393. 48:13A simplified version of that journey
  1394. 48:15looks like this. You write the code, you
  1395. 48:18commit it, it gets built, it gets
  1396. 48:20tested, it gets packaged, it gets
  1397. 48:23deployed, and finally, it gets verified.
  1398. 48:27The exact process depends on the company
  1399. 48:29and technology stack.
  1400. 48:31A small application might have a very
  1401. 48:32simple pipeline. A large enterprise
  1402. 48:35application might have dozens of
  1403. 48:37automated checks before anything reaches
  1404. 48:39production.
  1405. 48:40For example, if a test fails after your
  1406. 48:42latest change, the pipeline can stop the
  1407. 48:45deployment before the problem reaches
  1408. 48:46customers.
  1409. 48:48Teams also use different environments,
  1410. 48:50such as development, testing, staging,
  1411. 48:53and production.
  1412. 48:54Each environment serves a different
  1413. 48:56purpose, helping teams validate changes
  1414. 48:58before exposing them to real users.
  1415. 49:01Sometimes, a deployment succeeds
  1416. 49:03technically, but the application still
  1417. 49:05behaves incorrectly.
  1418. 49:07That's why teams also monitor logs,
  1419. 49:09metrics, and application health after
  1420. 49:12releasing a change.
  1421. 49:13And if something goes wrong, teams need
  1422. 49:15a way to roll back the release or
  1423. 49:17quickly deploy a fix.
  1424. 49:19This is one reason teams automate these
  1425. 49:21steps instead of relying on someone to
  1426. 49:24remember every check manually.
  1427. 49:26You'll often hear these processes
  1428. 49:28described as continuous integration and
  1429. 49:30continuous delivery or CICD. The
  1430. 49:33important thing to understand is that
  1431. 49:35writing the code is only one part of
  1432. 49:37delivering software. You will hear
  1433. 49:39developers talk about building an
  1434. 49:41application. What does that actually
  1435. 49:43mean?
  1436. 49:44It depends on the language. Some
  1437. 49:46languages need source code to be
  1438. 49:48compiled into another form before it can
  1439. 49:50run. Others may be interpreted or
  1440. 49:53packaged differently.
  1441. 49:54But the general idea is the same. You
  1442. 49:57start with your source code and produce
  1443. 49:58something that can actually be executed
  1444. 50:01or deployed.
  1445. 50:02For example, a project might contain
  1446. 50:04your source code, its dependencies, some
  1447. 50:06configuration, and a set of tests.
  1448. 50:09All of that goes through a build
  1449. 50:11process, and out the other end comes an
  1450. 50:13application package. That package could
  1451. 50:15be a container image, a compiled
  1452. 50:17application, a deployment artifact, or
  1453. 50:20another format depending on the
  1454. 50:21technology.
  1455. 50:23And this is why developers don't simply
  1456. 50:25copy random source files onto a
  1457. 50:27production server. There is usually a
  1458. 50:29repeatable process that turns source
  1459. 50:31code into something deployable.
  1460. 50:33A build process can also catch problems
  1461. 50:35early, such as compilation errors,
  1462. 50:37missing dependencies, or incorrect
  1463. 50:39configuration.
  1464. 50:41In a team environment, the goal is to
  1465. 50:43make sure the same source code produces
  1466. 50:45a consistent, predictable result every
  1467. 50:48time the application is built.
  1468. 50:50Once the build is complete, the
  1469. 50:51resulting artifact can move through
  1470. 50:53testing and deployment without
  1471. 50:55developers having to manually assemble
  1472. 50:57the application each time.
  1473. 50:59And these days, more often than not,
  1474. 51:01that something is a container.
  1475. 51:04Let's talk about what that actually is.
  1476. 51:06You will hear the word container in your
  1477. 51:08first week, probably your first day.
  1478. 51:11So, let's make sure it doesn't scare
  1479. 51:12you.
  1480. 51:13Here's the problem containers solve. The
  1481. 51:16application works on your laptop.
  1482. 51:18Then it goes to the test server and
  1483. 51:20breaks.
  1484. 51:21Different operating system version,
  1485. 51:23different version of a library, a
  1486. 51:25missing configuration file,
  1487. 51:27and the sentence every developer has
  1488. 51:29said at least once, but it works on my
  1489. 51:32machine.
  1490. 51:33A container fixes that by packaging the
  1491. 51:36application together with everything it
  1492. 51:37needs to run.
  1493. 51:39The code, the runtime, the libraries,
  1494. 51:41the settings,
  1495. 51:43all of it in one sealed box. That box
  1496. 51:46runs the same way on your laptop, on the
  1497. 51:49test server, and in the cloud because it
  1498. 51:51carries its own environment with it.
  1499. 51:54A widely used tool for this is Docker.
  1500. 51:57And the recipe for a container is a
  1501. 51:58small text file called a Docker file.
  1502. 52:01You'll see it at the root of many
  1503. 52:02repositories.
  1504. 52:04It just says, start from this base, copy
  1505. 52:07my code in, install the dependencies,
  1506. 52:09and here's the command to run.
  1507. 52:12Two words you'll hear together.
  1508. 52:14An image is the packaged box sitting on
  1509. 52:16a shelf.
  1510. 52:17A container is that image actually
  1511. 52:19running.
  1512. 52:21Same relationship as a recipe and a
  1513. 52:23meal.
  1514. 52:24So, when the build pipeline from the
  1515. 52:25last lecture finishes, what often comes
  1516. 52:28out the other end is a container image.
  1517. 52:30That image gets pushed to a registry,
  1518. 52:33which is just a storage shelf for
  1519. 52:34images.
  1520. 52:35And when it's time to deploy, the server
  1521. 52:37pulls the image down and runs it.
  1522. 52:40You don't need to write Docker files on
  1523. 52:42day one.
  1524. 52:43But when someone says the image didn't
  1525. 52:45build or the container keeps restarting,
  1526. 52:48you now know exactly what they're
  1527. 52:49talking about.
  1528. 52:51Now let's look at the machinery that
  1529. 52:52builds and ships all of this
  1530. 52:54automatically. CI/CD. Now we get to one
  1531. 52:57of the most important concepts in modern
  1532. 52:59software development. CI/CD.
  1533. 53:03CI usually means continuous integration.
  1534. 53:07The idea is that developers integrate
  1535. 53:09their changes into the shared code base
  1536. 53:11regularly, while automated checks help
  1537. 53:13catch problems early.
  1538. 53:15CD can refer to continuous delivery or
  1539. 53:18continuous deployment depending on the
  1540. 53:20setup.
  1541. 53:21The basic idea is that software can move
  1542. 53:23through the delivery process in a
  1543. 53:25controlled and repeatable way.
  1544. 53:27For example, a developer pushes their
  1545. 53:29code and the CI/CD pipeline picks it up
  1546. 53:32automatically. It builds the code, runs
  1547. 53:35the tests, runs quality checks, and
  1548. 53:37deploys it.
  1549. 53:38These pipelines are usually triggered by
  1550. 53:40events such as pushing code, opening a
  1551. 53:43pull request, or merging changes into a
  1552. 53:45particular branch.
  1553. 53:47Instead of a developer manually logging
  1554. 53:49into a server every time and copying
  1555. 53:51files around, the pipeline can perform
  1556. 53:53these steps automatically.
  1557. 53:55This is one of the major differences
  1558. 53:57between a small personal project and a
  1559. 53:59mature engineering environment.
  1560. 54:02Continuous delivery means the
  1561. 54:03application is kept ready for release,
  1562. 54:06often with a manual approval before
  1563. 54:08production deployment.
  1564. 54:09Continuous deployment takes this further
  1565. 54:12by automatically releasing changes that
  1566. 54:14pass all required checks.
  1567. 54:16The more software you have, the more
  1568. 54:18valuable automation becomes.
  1569. 54:20And when one of those steps turns red,
  1570. 54:22that's not a disaster. That's the
  1571. 54:24pipeline doing its job. It caught the
  1572. 54:27problem before a customer did.
  1573. 54:29Teams can also configure notifications
  1574. 54:32so developers know which step failed and
  1575. 54:34can investigate the problem quickly.
  1576. 54:36You don't want your production process
  1577. 54:38to depend on someone remembering 15
  1578. 54:40manual steps.
  1579. 54:42You want the process itself to be
  1580. 54:43repeatable. Here's another thing
  1581. 54:45beginners often discover when they move
  1582. 54:47from small projects to real
  1583. 54:49applications.
  1584. 54:50Your code is usually the same across
  1585. 54:52environments, but the configuration is
  1586. 54:55not.
  1587. 54:56For example, your application might need
  1588. 54:58a database URL, an API endpoint, a
  1589. 55:01storage account, some application
  1590. 55:03settings, feature flags, and
  1591. 55:05credentials.
  1592. 55:06You don't want your production database
  1593. 55:08URL hardcoded inside your source code.
  1594. 55:11Instead, applications usually get this
  1595. 55:14information through configuration or
  1596. 55:16environment specific settings, often
  1597. 55:18stored as environment variables with
  1598. 55:20names like database URL, API URL, or
  1599. 55:24storage account.
  1600. 55:25The actual values can change between
  1601. 55:27development, testing, and production.
  1602. 55:30For example, your development
  1603. 55:32environment might connect to a local
  1604. 55:34database, while production connects to a
  1605. 55:36managed database hosted in the cloud.
  1606. 55:39The application code can stay the same
  1607. 55:41while the configuration determines which
  1608. 55:43database it uses.
  1609. 55:45This is also why secrets need special
  1610. 55:47handling.
  1611. 55:48Passwords, API keys, and credentials
  1612. 55:51should not simply be committed to Git
  1613. 55:52and left sitting inside the repository.
  1614. 55:55Even if you remove a secret in a later
  1615. 55:57commit, it may still exist in the
  1616. 55:59repository's history.
  1617. 56:01That's why you should rotate exposed
  1618. 56:02credentials immediately, rather than
  1619. 56:04assuming deleting the file has solved
  1620. 56:06the problem.
  1621. 56:08In real projects, you'll often work with
  1622. 56:10secret managers, environment variables,
  1623. 56:12or other secure configuration systems.
  1624. 56:15One important distinction is that
  1625. 56:17environment variables are a way to
  1626. 56:18provide configuration, not automatically
  1627. 56:21a secure place to store secrets.
  1628. 56:24Production applications often use
  1629. 56:26dedicated secret management systems to
  1630. 56:28control access and manage credentials
  1631. 56:30safely.
  1632. 56:31The key idea is simple. Code and
  1633. 56:34environment specific configuration
  1634. 56:36should be treated separately.
  1635. 56:38And since we just mentioned secrets,
  1636. 56:40let's spend a few minutes on the
  1637. 56:42security habits every developer is
  1638. 56:44expected to have.
  1639. 56:45Not the security team, you. Nobody
  1640. 56:48expects a junior developer to be a
  1641. 56:50security expert, but there are five
  1642. 56:52habits that every company assumes you
  1643. 56:54already have. If you don't, you find out
  1644. 56:58the hard way.
  1645. 56:59First, secrets never go into Git.
  1646. 57:02Passwords, API keys, tokens, connection
  1647. 57:06strings, once a secret is committed,
  1648. 57:08it's in the history forever, even if you
  1649. 57:11delete it in the next commit.
  1650. 57:13And on public repositories, automated
  1651. 57:15bots are commonly scanning for exactly
  1652. 57:17this kind of leaked key, often catching
  1653. 57:19them quickly.
  1654. 57:21This is why production projects
  1655. 57:22typically keep secrets in environment
  1656. 57:24variables or a secret manager, and why
  1657. 57:26there's a file called .gitignore that
  1658. 57:29tells Git which files to never touch.
  1659. 57:32If you accidentally commit a secret,
  1660. 57:34tell your team immediately and rotate or
  1661. 57:36revoke that credential.
  1662. 57:38Removing it from the latest version of
  1663. 57:39the code is not enough to make it safe.
  1664. 57:42Second, never paste production data or
  1665. 57:45secrets into an AI tool
  1666. 57:47or a public chat or a ticket. It's
  1667. 57:50incredibly tempting when you're
  1668. 57:52debugging. Just paste the whole log with
  1669. 57:54the customer's email in it into the
  1670. 57:56assistant.
  1671. 57:57Don't. Strip it first.
  1672. 57:59Leaks like this have caused real, costly
  1673. 58:01incidents at real companies.
  1674. 58:04Even when a tool is approved by your
  1675. 58:05company, understand its data handling
  1676. 58:08rules before sharing sensitive
  1677. 58:09information. Use sanitized examples
  1678. 58:12whenever possible.
  1679. 58:13Third, never trust input from the
  1680. 58:16outside.
  1681. 58:17Remember our registration form? A user
  1682. 58:19can type anything into that email field,
  1683. 58:22anything, including things designed to
  1684. 58:24break your database.
  1685. 58:26The backend validates every input as if
  1686. 58:28the user is actively trying to hurt you,
  1687. 58:31not because most are, because one will.
  1688. 58:34And validation alone isn't enough for
  1689. 58:36every threat.
  1690. 58:37For example, database queries should use
  1691. 58:39parameterized statements instead of
  1692. 58:41building SQL by joining user input
  1693. 58:44directly into a query.
  1694. 58:46Fourth, HTTPS, always. That's the
  1695. 58:49padlock in the browser. It means the
  1696. 58:51data between the user and the server is
  1697. 58:53encrypted. Every login form, every API,
  1698. 58:57every environment including test.
  1699. 59:00You should also avoid disabling
  1700. 59:01certificate validation just to make a
  1701. 59:03connection work.
  1702. 59:05That check helps verify that you're
  1703. 59:06communicating with the intended server.
  1704. 59:09Fifth, least privilege. You get access
  1705. 59:12to what you need for your job and
  1706. 59:14nothing more. So when you don't have
  1707. 59:16right access to the production database
  1708. 59:17on day one, that's not the company being
  1709. 59:20difficult. That's the company protecting
  1710. 59:22you. A junior developer with full
  1711. 59:24production access is one typo away from
  1712. 59:27a very bad day.
  1713. 59:29The same principle applies to
  1714. 59:30application permissions.
  1715. 59:32A service should only have the access it
  1716. 59:34needs and credentials should never be
  1717. 59:36shared casually between people or
  1718. 59:38applications.
  1719. 59:40None of this is complicated,
  1720. 59:42but you'll notice that experienced
  1721. 59:43developers do all five without thinking.
  1722. 59:46Start now and by your first job, it'll
  1723. 59:49be automatic for you too.
  1724. 59:51All right, the code is built, packaged,
  1725. 59:53configured, and secured.
  1726. 59:56Now it needs to actually reach the
  1727. 59:57environment.
  1728. 59:58Let's look at what happens during a
  1729. 1:00:00deployment. Let's say everything passed.
  1730. 1:00:03The application has been built, tests
  1731. 1:00:05passed, the deployment pipeline is ray.
  1732. 1:00:08Now the new version needs to reach the
  1733. 1:00:10environment.
  1734. 1:00:11That might mean deploying a container,
  1735. 1:00:13updating a cloud service, publishing an
  1736. 1:00:16application package, running
  1737. 1:00:17infrastructure changes, or updating a
  1738. 1:00:19server.
  1739. 1:00:20And deployment isn't always just upload
  1740. 1:00:23new code and hope for the best.
  1741. 1:00:25A mature deployment process might
  1742. 1:00:27include a health check right after
  1743. 1:00:28deploying, then some smoke tests, then
  1744. 1:00:31ongoing monitoring before it's
  1745. 1:00:33considered a real success.
  1746. 1:00:35Some teams also use gradual rollouts,
  1747. 1:00:38releasing the new version to a small
  1748. 1:00:40percentage of users before making it
  1749. 1:00:42available to everyone.
  1750. 1:00:44This helps limit the impact if something
  1751. 1:00:46goes wrong.
  1752. 1:00:47And sometimes the deployment fails.
  1753. 1:00:50Maybe the application starts but can't
  1754. 1:00:52connect to the database.
  1755. 1:00:54Maybe a configuration value is missing.
  1756. 1:00:56Maybe a new change causes an unexpected
  1757. 1:00:58error.
  1758. 1:00:59Sometimes the deployment itself succeeds
  1759. 1:01:02but users start experiencing slower
  1760. 1:01:04response times or errors that weren't
  1761. 1:01:06caught during testing.
  1762. 1:01:08That's why teams watch application
  1763. 1:01:09metrics and logs closely after a
  1764. 1:01:12release.
  1765. 1:01:13For critical applications, teams may
  1766. 1:01:15also use blue-green deployments where
  1767. 1:01:17two environments are maintained so
  1768. 1:01:19traffic can switch between the old and
  1769. 1:01:21new versions when needed.
  1770. 1:01:23Another approach is a canary deployment
  1771. 1:01:26where the new version is introduced
  1772. 1:01:27gradually while the team checks its
  1773. 1:01:29behavior before expanding the rollout.
  1774. 1:01:32That's why deployment and monitoring are
  1775. 1:01:33connected. You don't just ask, did the
  1776. 1:01:36deployment finish? You also ask, is the
  1777. 1:01:39application actually healthy after the
  1778. 1:01:41deployment?
  1779. 1:01:42Because ultimately, a successful
  1780. 1:01:44deployment isn't just about getting new
  1781. 1:01:46code into production. It's about making
  1782. 1:01:48sure the application continues working
  1783. 1:01:50reliably for the people using it. Now
  1784. 1:01:53let's talk about something every
  1785. 1:01:54developer eventually learns the hard
  1786. 1:01:56way.
  1787. 1:01:57A deployment can pass every automated
  1788. 1:01:59test and still cause a problem in
  1789. 1:02:01production.
  1790. 1:02:03Maybe a strange edge case wasn't
  1791. 1:02:04covered. Maybe the production data is
  1792. 1:02:06different from your test data.
  1793. 1:02:08Maybe an external service behaves
  1794. 1:02:10differently.
  1795. 1:02:12When that happens, one option is a
  1796. 1:02:14rollback. That means moving the
  1797. 1:02:16application back to a previous known
  1798. 1:02:18good version.
  1799. 1:02:20Say you released version 1.5 and it
  1800. 1:02:22caused a production issue. A rollback
  1801. 1:02:24simply puts version 1.4 back in place
  1802. 1:02:28while the team figures out what went
  1803. 1:02:29wrong.
  1804. 1:02:30For example, imagine a new release
  1805. 1:02:32causes the checkout page to fail for
  1806. 1:02:34some customers.
  1807. 1:02:36Instead of making everyone wait for a
  1808. 1:02:37fix, the team can roll back to the
  1809. 1:02:39previous version and restore the
  1810. 1:02:41checkout experience.
  1811. 1:02:43The goal isn't to pretend mistakes don't
  1812. 1:02:45happen. The goal is to make failures
  1813. 1:02:47recoverable.
  1814. 1:02:49Of course, rolling back application code
  1815. 1:02:51doesn't automatically reverse database
  1816. 1:02:53changes. If a release changes the
  1817. 1:02:55database structure or modifies existing
  1818. 1:02:58data, the team needs to consider whether
  1819. 1:03:00those changes are compatible with the
  1820. 1:03:02previous version.
  1821. 1:03:03That's a major principle in modern
  1822. 1:03:05engineering. You don't design systems
  1823. 1:03:07assuming nothing will ever go wrong. You
  1824. 1:03:10design the process so that when
  1825. 1:03:11something does go wrong, the team can
  1826. 1:03:14detect it, respond to it, and recover
  1827. 1:03:16safely.
  1828. 1:03:17This is also why teams plan their
  1829. 1:03:19recovery strategy before releasing risky
  1830. 1:03:22changes rather than figuring everything
  1831. 1:03:24out during an incident.
  1832. 1:03:26And recovering safely starts with
  1833. 1:03:27knowing exactly what data you're
  1834. 1:03:29responsible for in the first place. A
  1835. 1:03:31support engineer pastes a customer's
  1836. 1:03:33full account details, name, email, and
  1837. 1:03:36order history into a chat tool to ask
  1838. 1:03:39for help debugging.
  1839. 1:03:40Nothing malicious happened, but that
  1840. 1:03:42data just left a system built to protect
  1841. 1:03:45it and landed somewhere it was never
  1842. 1:03:47supposed to go.
  1843. 1:03:49This is what people mean by PII,
  1844. 1:03:51personally identifiable information.
  1845. 1:03:54It's anything that can identify a
  1846. 1:03:56specific person, a name, an email, a
  1847. 1:03:59phone number. Sometimes it's even a
  1848. 1:04:01combination of details that aren't
  1849. 1:04:03identifying on their own, but become
  1850. 1:04:05identifying together.
  1851. 1:04:07Handling it carelessly isn't just a
  1852. 1:04:09security slip. In many places, it's a
  1853. 1:04:12legal one, too, under rules like GDPR in
  1854. 1:04:15Europe.
  1855. 1:04:16Those rules require companies to know
  1856. 1:04:18where personal data lives, who can see
  1857. 1:04:20it, and how to delete it if someone
  1858. 1:04:22asks.
  1859. 1:04:23The habit that matters most day-to-day
  1860. 1:04:25is minimizing exposure.
  1861. 1:04:27When you're debugging, strip personal
  1862. 1:04:29details out of logs and examples before
  1863. 1:04:32you share them, the same way you'd strip
  1864. 1:04:34a password out of a screenshot.
  1865. 1:04:36When you're building a feature, ask
  1866. 1:04:37whether you actually need to store a
  1867. 1:04:39piece of personal data at all or whether
  1868. 1:04:42a reference to it elsewhere would do the
  1869. 1:04:43job.
  1870. 1:04:44Data you never collected can never leak.
  1871. 1:04:48Accessibility is a related habit that's
  1872. 1:04:50easy to treat as optional and isn't.
  1873. 1:04:53A meaningful share of users navigate
  1874. 1:04:55software with a screen reader or without
  1875. 1:04:57a mouse or with reduced vision.
  1876. 1:04:59Small things carry a lot of weight here.
  1877. 1:05:02Don't convey meaning through color
  1878. 1:05:04alone. Give images alternative text that
  1879. 1:05:07describes what they show.
  1880. 1:05:09Make sure interface elements can be
  1881. 1:05:10reached and activated using only a
  1882. 1:05:12keyboard.
  1883. 1:05:14None of this requires becoming an
  1884. 1:05:15accessibility specialist. It requires
  1885. 1:05:18checking before you ship a screen
  1886. 1:05:20whether someone using only a keyboard
  1887. 1:05:22could actually get through it.
  1888. 1:05:24Both of these habits share the same
  1889. 1:05:26shape.
  1890. 1:05:27They're invisible when you get them
  1891. 1:05:28right, and they only become visible,
  1892. 1:05:30often publicly and expensively, when you
  1893. 1:05:33get them wrong.
  1894. 1:05:34That's exactly why they're easy to skip
  1895. 1:05:36under a deadline and exactly why the
  1896. 1:05:38teams that build them in as habits
  1897. 1:05:40rather than afterthoughts tend to avoid
  1898. 1:05:42the worst version of that story. A team
  1899. 1:05:45finishes a new checkout flow and wants
  1900. 1:05:47to ship it carefully, not all at once to
  1901. 1:05:49every user.
  1902. 1:05:51So they wrap the new flow in a feature
  1903. 1:05:53flag and deploy it to production with
  1904. 1:05:55the flag switched off.
  1905. 1:05:57The code is live on every server. Nobody
  1906. 1:06:00sees it yet.
  1907. 1:06:01That split is the whole idea.
  1908. 1:06:03Deploying code means moving it to
  1909. 1:06:05production. Releasing a feature means
  1910. 1:06:07users can actually reach it.
  1911. 1:06:09Most of the time those two things happen
  1912. 1:06:11together. You deploy and users see the
  1913. 1:06:14change immediately.
  1914. 1:06:15A feature flag breaks that link on
  1915. 1:06:18purpose.
  1916. 1:06:19A feature flag is a setting, often just
  1917. 1:06:21true or false, that the code checks
  1918. 1:06:24before deciding which path to run.
  1919. 1:06:26Turn it off and users get the old
  1920. 1:06:28behavior. Turn it on and they get the
  1921. 1:06:30new one.
  1922. 1:06:31The team can turn it on for themselves
  1923. 1:06:33first, then a small percentage of real
  1924. 1:06:35users, then everyone, watching for
  1925. 1:06:38problems at each step.
  1926. 1:06:40This changes how risk gets managed. If
  1927. 1:06:43the new checkout flow breaks something,
  1928. 1:06:45the fix isn't a rollback and a redeploy.
  1929. 1:06:48It's flipping the flag back off, which
  1930. 1:06:50usually takes seconds. The bad code is
  1931. 1:06:52still sitting in production, but nobody
  1932. 1:06:54is running it anymore.
  1933. 1:06:56Flags show up in smaller, everyday
  1934. 1:06:58forms, too.
  1935. 1:07:00A flag that hides an unfinished feature
  1936. 1:07:01from everyone except the team building
  1937. 1:07:03it.
  1938. 1:07:04A flag that lets support turn a feature
  1939. 1:07:06off for one customer having trouble
  1940. 1:07:08without touching anyone else.
  1941. 1:07:10A flag used for an A/B test where two
  1942. 1:07:13groups of users run different code paths
  1943. 1:07:15so the team can compare results.
  1944. 1:07:18The catch is that flags aren't free.
  1945. 1:07:20Every flag is a branch in the code, an
  1946. 1:07:23if this, else that. And old flags that
  1947. 1:07:26nobody removes pile up into code that's
  1948. 1:07:28hard to follow.
  1949. 1:07:29A flag left in by accident, still
  1950. 1:07:32checked in some corner of the codebase
  1951. 1:07:34long after the decision was made, is a
  1952. 1:07:36common source of confusing bugs.
  1953. 1:07:38Teams that use flags well usually clean
  1954. 1:07:41them up once a decision is final, the
  1955. 1:07:43same way they'd clean up a temporary
  1956. 1:07:44debug log.
  1957. 1:07:46So when you hear that something is
  1958. 1:07:47deployed but not released yet, this is
  1959. 1:07:50usually why. The code already made it to
  1960. 1:07:53production. Someone just hasn't flipped
  1961. 1:07:55the switch. A mobile app calls an
  1962. 1:07:57endpoint that returns a customer's name
  1963. 1:07:59as a single field.
  1964. 1:08:01The backend team decides that's messy
  1965. 1:08:03and changes it to two fields, first name
  1966. 1:08:06and last name in the same response.
  1967. 1:08:08They deploy it.
  1968. 1:08:09Within minutes the app is crashing for
  1969. 1:08:12anyone who hasn't updated it because
  1970. 1:08:14it's still looking for the old field and
  1971. 1:08:16it isn't there anymore.
  1972. 1:08:18Nothing was wrong with the new shape.
  1973. 1:08:20The problem is that the old mobile app
  1974. 1:08:22was never updated to expect it, and apps
  1975. 1:08:24don't update themselves the moment a
  1976. 1:08:26server changes.
  1977. 1:08:28Someone is always running older code
  1978. 1:08:30against your newest API, a phone that
  1979. 1:08:32hasn't auto updated, a partner's system
  1980. 1:08:35that integrates with you, a script
  1981. 1:08:37someone wrote last year that still
  1982. 1:08:38works. That's what backward
  1983. 1:08:40compatibility means. A change is
  1984. 1:08:43backward compatible when the old callers
  1985. 1:08:45keep working exactly as before, even
  1986. 1:08:48though something changed underneath.
  1987. 1:08:50Some changes are naturally safe. Adding
  1988. 1:08:53a new optional field usually doesn't
  1989. 1:08:55break anyone because old code just
  1990. 1:08:57ignores fields it doesn't recognize.
  1991. 1:09:00Renaming a field, removing one, or
  1992. 1:09:02changing what a field means are the
  1993. 1:09:04changes that break old callers because
  1994. 1:09:06they expected something specific and now
  1995. 1:09:08it's gone or different.
  1996. 1:09:11When a breaking change is unavoidable,
  1997. 1:09:13teams usually version the API instead of
  1998. 1:09:15changing it in place. That might mean a
  1999. 1:09:18version number in the URL, like a path
  2000. 1:09:20that says v1 versus v2, or a version
  2001. 1:09:23noted in a request header.
  2002. 1:09:25Old callers keep hitting V1 and keep
  2003. 1:09:28working. New callers can move to V2 once
  2004. 1:09:31they're ready.
  2005. 1:09:32The old version doesn't disappear
  2006. 1:09:33immediately. It usually sticks around
  2007. 1:09:36for a deprecation window, often
  2008. 1:09:37announced well in advance, giving
  2009. 1:09:39everyone time to move before it's
  2010. 1:09:41finally turned off.
  2011. 1:09:43This is why a seemingly simple request,
  2012. 1:09:46just rename this field, is rarely simple
  2013. 1:09:49in a real system. It isn't about the
  2014. 1:09:51code being hard to write. It's about
  2015. 1:09:53every caller you can't see and don't
  2016. 1:09:55control still depending on the shape
  2017. 1:09:58you're about to change. Let's recap
  2018. 1:10:00module six. It was a long one, so here's
  2019. 1:10:03where your change has been.
  2020. 1:10:05It got turned into a package, often a
  2021. 1:10:07container image. A pipeline checked it
  2022. 1:10:09and moved it along, so nobody had to
  2023. 1:10:11copy files by hand.
  2024. 1:10:13The settings stayed outside the code, so
  2025. 1:10:16the same build could run in test and in
  2026. 1:10:18production. When it went live, the team
  2027. 1:10:20watched whether the app stayed healthy.
  2028. 1:10:22If it didn't, they had a way back. You
  2029. 1:10:25also saw how teams lower the risk of a
  2030. 1:10:27change. Feature flags are one way, and
  2031. 1:10:30keeping an API working for older callers
  2032. 1:10:32is another.
  2033. 1:10:33And you picked up the security, privacy,
  2034. 1:10:36and accessibility habits that stay with
  2035. 1:10:38you on every change you make. Through
  2036. 1:10:40all of this, we kept saying your code
  2037. 1:10:43runs on a server or in production. We
  2038. 1:10:46haven't said much about where those
  2039. 1:10:47servers are or who looks after them.
  2040. 1:10:50For a lot of companies, the answer is
  2041. 1:10:52the cloud. And that's module seven.
  2042. 1:10:55Welcome to module seven. You've heard
  2043. 1:10:57the word cloud a few times by now. Let's
  2044. 1:11:00see what it really means. We'll go
  2045. 1:11:02through the few building blocks most
  2046. 1:11:04cloud apps use and how much of the work
  2047. 1:11:06you can hand to the provider.
  2048. 1:11:08When an app grows, you'll hear words
  2049. 1:11:10like scaling and availability, so we'll
  2050. 1:11:13explain those too.
  2051. 1:11:14Then it gets practical. You'll see what
  2052. 1:11:17a developer really touches in the cloud
  2053. 1:11:19and how a forgotten server turns into a
  2054. 1:11:21bill.
  2055. 1:11:22The last part is about you.
  2056. 1:11:24We'll look at the different jobs around
  2057. 1:11:26all this, and you'll get a way to tell
  2058. 1:11:28one might suit you.
  2059. 1:11:29By the end of this module, you'll be
  2060. 1:11:31able to say what it means for an app to
  2061. 1:11:33run in the cloud. You'll also know which
  2062. 1:11:35parts of it you deal with yourself.
  2063. 1:11:37Let's get into it. The cloud sounds like
  2064. 1:11:39some completely different kind of
  2065. 1:11:41technology. It isn't. At a basic level,
  2066. 1:11:44the cloud is still computers, storage,
  2067. 1:11:47networks, and databases.
  2068. 1:11:49The difference is that instead of your
  2069. 1:11:51company buying physical servers, putting
  2070. 1:11:53them in a data center, and managing
  2071. 1:11:55everything yourself, you can rent those
  2072. 1:11:57resources from a cloud provider.
  2073. 1:11:59Companies like AWS, Azure, and Google
  2074. 1:12:02Cloud operate huge data centers filled
  2075. 1:12:05with infrastructure.
  2076. 1:12:06You request what you need through their
  2077. 1:12:08platform, maybe a virtual machine, some
  2078. 1:12:11object storage, a managed database, or a
  2079. 1:12:14serverless function that just runs your
  2080. 1:12:15code without you managing a server at
  2081. 1:12:17all.
  2082. 1:12:18You use the service, configure it, and
  2083. 1:12:21pay based on the service and usage
  2084. 1:12:22model.
  2085. 1:12:23For example, imagine you're building an
  2086. 1:12:25online shopping application. You might
  2087. 1:12:28host the application on a virtual
  2088. 1:12:29machine, store product images in cloud
  2089. 1:12:31storage, and use a managed database to
  2090. 1:12:34store customer and order information.
  2091. 1:12:36These services work together to support
  2092. 1:12:38the same application.
  2093. 1:12:40You can also scale resources as your
  2094. 1:12:42needs change. If more customers start
  2095. 1:12:44using your application, you can increase
  2096. 1:12:47capacity or configure certain services
  2097. 1:12:49to scale automatically depending on the
  2098. 1:12:51architecture.
  2099. 1:12:53Another important difference is that you
  2100. 1:12:54don't always have to manage the
  2101. 1:12:56underlying infrastructure yourself.
  2102. 1:12:58With managed services, the cloud
  2103. 1:13:00provider handles many operational tasks,
  2104. 1:13:03allowing your team to focus more on
  2105. 1:13:05building and maintaining the
  2106. 1:13:06application.
  2107. 1:13:07So when someone says our application
  2108. 1:13:10runs in the cloud, it doesn't mean the
  2109. 1:13:12application is floating somewhere. It
  2110. 1:13:14means the application is running on
  2111. 1:13:16infrastructure provided through a cloud
  2112. 1:13:18platform. You don't need to memorize
  2113. 1:13:20hundreds of cloud services. Start with
  2114. 1:13:22the basic building blocks.
  2115. 1:13:24Compute is where your application
  2116. 1:13:26actually runs. That could be a virtual
  2117. 1:13:29machine, a container platform, a
  2118. 1:13:31serverless function, or another compute
  2119. 1:13:33service.
  2120. 1:13:34Storage is where you keep files and
  2121. 1:13:36objects, things like images, videos,
  2122. 1:13:39backups, and documents.
  2123. 1:13:42Databases store your application's
  2124. 1:13:43actual data, customers, orders,
  2125. 1:13:46products, transactions, and so on.
  2126. 1:13:49And networking is what connects all
  2127. 1:13:51these pieces together, controlling how
  2128. 1:13:53traffic moves between users,
  2129. 1:13:55applications, databases, and other
  2130. 1:13:57services.
  2131. 1:13:58For example, imagine an online shopping
  2132. 1:14:01application.
  2133. 1:14:02Compute runs the application. The
  2134. 1:14:04database stores customer and order
  2135. 1:14:06details. Storage holds product images,
  2136. 1:14:09and networking allows customers to
  2137. 1:14:11access everything through their
  2138. 1:14:12browsers.
  2139. 1:14:14A very simple application might just
  2140. 1:14:16have users hitting an application, which
  2141. 1:14:18talks to a database and maybe some
  2142. 1:14:20object storage.
  2143. 1:14:21A larger application usually adds more
  2144. 1:14:23pieces in front of and around that.
  2145. 1:14:26A load balancer spreading traffic across
  2146. 1:14:28multiple copies of the application, a
  2147. 1:14:30cache sitting in front of the database
  2148. 1:14:32to speed things up, and storage handling
  2149. 1:14:35the larger files.
  2150. 1:14:36Each additional component usually solves
  2151. 1:14:38a specific problem.
  2152. 1:14:40A load balancer helps distribute
  2153. 1:14:42incoming traffic. A cache reduces
  2154. 1:14:44repeated requests to the database, and
  2155. 1:14:46additional application instances help
  2156. 1:14:48handle more users.
  2157. 1:14:50As the application grows, you might also
  2158. 1:14:52introduce monitoring to track its
  2159. 1:14:54health, identity services to control who
  2160. 1:14:57can access it, and backup systems to
  2161. 1:14:59help recover from failures.
  2162. 1:15:01You don't need to understand every
  2163. 1:15:03service yet.
  2164. 1:15:04What matters is that cloud applications
  2165. 1:15:06are usually built by combining these
  2166. 1:15:08same few building blocks, just at
  2167. 1:15:10different scales. Here's one of the
  2168. 1:15:12biggest advantages of the cloud.
  2169. 1:15:14You don't always have to manage the
  2170. 1:15:15underlying infrastructure yourself.
  2171. 1:15:18Let's say your application needs a
  2172. 1:15:19database. One option is to run that
  2173. 1:15:22database yourself on a virtual machine.
  2174. 1:15:25Now you're the one responsible for
  2175. 1:15:27updates, backups, monitoring, scaling,
  2176. 1:15:30and keeping the operating system
  2177. 1:15:31maintained.
  2178. 1:15:33Another option to use a managed database
  2179. 1:15:35service where the cloud provider handles
  2180. 1:15:38much of that underlying infrastructure
  2181. 1:15:39for you, so your team can focus more on
  2182. 1:15:42the database and the application itself.
  2183. 1:15:45Of course, managed doesn't mean the
  2184. 1:15:47provider handles absolutely everything.
  2185. 1:15:49Your team may still be responsible for
  2186. 1:15:51database access, data security, query
  2187. 1:15:54performance, and deciding how backups
  2188. 1:15:57and recovery should work.
  2189. 1:15:59That same idea shows up across cloud
  2190. 1:16:01services, and you'll often hear three
  2191. 1:16:03terms for it.
  2192. 1:16:04Infrastructure as a service, or IaaS,
  2193. 1:16:08means you manage more of the
  2194. 1:16:09infrastructure yourself.
  2195. 1:16:11Platform as a service, or PaaS, means
  2196. 1:16:15the provider manages more of the
  2197. 1:16:16underlying platform for you.
  2198. 1:16:19And software as a service, or SaaS,
  2199. 1:16:22means you simply use the finished
  2200. 1:16:23software. Your company might use
  2201. 1:16:25Microsoft 365, for example, without
  2202. 1:16:28managing a single server that runs it.
  2203. 1:16:31Think about it this way. With IaaS, you
  2204. 1:16:34get more control but take on more
  2205. 1:16:36operational responsibility.
  2206. 1:16:39With PaaS, you spend less time managing
  2207. 1:16:41the platform.
  2208. 1:16:43With SaaS, you use an application that's
  2209. 1:16:46already built and maintained by the
  2210. 1:16:48provider.
  2211. 1:16:49The right choice depends on what you're
  2212. 1:16:51building, how much control you need,
  2213. 1:16:53your team's expertise, and how much
  2214. 1:16:55operational work you're prepared to take
  2215. 1:16:57on.
  2216. 1:16:58The important lesson isn't memorizing
  2217. 1:17:00those three letters. It's understanding
  2218. 1:17:02how much infrastructure your team is
  2219. 1:17:04actually responsible for managing. Cloud
  2220. 1:17:07platforms become especially useful when
  2221. 1:17:09an application grows. Let's say your
  2222. 1:17:11application normally has 1,000 users.
  2223. 1:17:15Then a marketing campaign suddenly
  2224. 1:17:17brings in 100,000.
  2225. 1:17:19Your system needs to handle that jump in
  2226. 1:17:21traffic, and that's where scaling comes
  2227. 1:17:23in. Adding more copies of your
  2228. 1:17:25application, giving existing ones more
  2229. 1:17:27resources, or adding caching to absorb
  2230. 1:17:30the extra load.
  2231. 1:17:32There are two common approaches to
  2232. 1:17:33scaling.
  2233. 1:17:34Vertical scaling means giving an
  2234. 1:17:36existing server more resources, such as
  2235. 1:17:39CPU and memory.
  2236. 1:17:41Horizontal scaling means adding more
  2237. 1:17:43instances of the application so the
  2238. 1:17:45workload can be shared across them.
  2239. 1:17:47You'll also hear the word availability.
  2240. 1:17:50Businesses don't want their application
  2241. 1:17:52to go down just because one server
  2242. 1:17:54failed. So cloud architectures often
  2243. 1:17:56spread things across multiple instances,
  2244. 1:17:59zones, and regions with backups in
  2245. 1:18:01place, specifically to reduce the impact
  2246. 1:18:04when something does fail.
  2247. 1:18:05For example, if one application instance
  2248. 1:18:08becomes unhealthy, a load balancer can
  2249. 1:18:10direct traffic to other healthy
  2250. 1:18:12instances.
  2251. 1:18:13This helps keep the application
  2252. 1:18:14available while the team investigates
  2253. 1:18:16the failure.
  2254. 1:18:17However, simply running multiple
  2255. 1:18:19instances doesn't guarantee high
  2256. 1:18:21availability.
  2257. 1:18:23The architecture also needs to account
  2258. 1:18:24for dependencies, database failures,
  2259. 1:18:27network issues, and other potential
  2260. 1:18:29points of failure.
  2261. 1:18:31And then there's cost.
  2262. 1:18:33Cloud infrastructure isn't free.
  2263. 1:18:35Compute, storage, networking, and
  2264. 1:18:37databases all come with a price tag
  2265. 1:18:39attached.
  2266. 1:18:40So developers eventually start thinking
  2267. 1:18:42about something beyond does this code
  2268. 1:18:44work? They also start asking how much
  2269. 1:18:47does this application actually cost to
  2270. 1:18:49run?
  2271. 1:18:50That's a very real part of modern
  2272. 1:18:52software engineering. You might be
  2273. 1:18:54wondering, am I expected to become a
  2274. 1:18:56cloud administrator as a developer?
  2275. 1:18:58Not necessarily.
  2276. 1:19:00Your role depends on the company and the
  2277. 1:19:02team.
  2278. 1:19:03But even application developers commonly
  2279. 1:19:05interact with cloud systems day to day.
  2280. 1:19:08You'll open up application logs to see
  2281. 1:19:10what happened, check the status of the
  2282. 1:19:12deployment, look at environment
  2283. 1:19:13variables, glance at metrics, and
  2284. 1:19:16confirm whether a service is actually
  2285. 1:19:18healthy.
  2286. 1:19:19When something breaks, you might check
  2287. 1:19:20database connectivity, dig into why a
  2288. 1:19:23deployment failed, or investigate why an
  2289. 1:19:25API suddenly started returning errors.
  2290. 1:19:28For example, if an API suddenly becomes
  2291. 1:19:31slow, you might check its response
  2292. 1:19:33times, look for errors in the logs, and
  2293. 1:19:35see whether the database or another
  2294. 1:19:37dependent service is causing the delay.
  2295. 1:19:40You may also use cloud dashboards to
  2296. 1:19:42understand resource usage, identify
  2297. 1:19:44unhealthy services, and determine
  2298. 1:19:46whether an issue started after a recent
  2299. 1:19:48deployment.
  2300. 1:19:50These clues help you narrow down the
  2301. 1:19:51problem before making changes.
  2302. 1:19:54So you don't necessarily need to know
  2303. 1:19:56every cloud service that exists.
  2304. 1:19:58You need to understand how your
  2305. 1:19:59application fits into the cloud
  2306. 1:20:01environment around it, and that's
  2307. 1:20:03becoming a basic part of working in IT.
  2308. 1:20:06There's one more part of that
  2309. 1:20:07environment worth understanding early
  2310. 1:20:09because it has nothing to do with
  2311. 1:20:11whether your code works,
  2312. 1:20:13what it costs to keep running. Someone
  2313. 1:20:15spins up a cloud server to test
  2314. 1:20:17something on a Friday afternoon. They
  2315. 1:20:19forget about it over the weekend.
  2316. 1:20:21On Monday, a message shows up in a
  2317. 1:20:23shared channel asking whose instance has
  2318. 1:20:25been running since Friday.
  2319. 1:20:27This happens often enough in real
  2320. 1:20:29companies that most of them build small
  2321. 1:20:31habits around it.
  2322. 1:20:32Cloud resources are billed by usage, not
  2323. 1:20:35by a fixed yearly fee the way older
  2324. 1:20:37on-site hardware often was.
  2325. 1:20:39A server, a database, or a block of
  2326. 1:20:41storage keeps costing money for every
  2327. 1:20:44hour it exists, whether or not anyone is
  2328. 1:20:46actually using it.
  2329. 1:20:48Cloud infrastructure is appealing
  2330. 1:20:49because you can spin something up in
  2331. 1:20:51minutes.
  2332. 1:20:52That same convenience is exactly what
  2333. 1:20:54makes it easy to accidentally leave
  2334. 1:20:56something running.
  2335. 1:20:57Here's the simplest habit and one of the
  2336. 1:20:59first things many developers are told on
  2337. 1:21:01day one at a company that takes the
  2338. 1:21:03cloud seriously.
  2339. 1:21:05Stop or delete anything you spun up for
  2340. 1:21:07testing once you're done with it,
  2341. 1:21:09especially before a weekend.
  2342. 1:21:11It sounds almost too obvious to mention,
  2343. 1:21:13and it's also one of the most repeated
  2344. 1:21:15pieces of advice in real engineering
  2345. 1:21:17onboarding because the mistake is so
  2346. 1:21:20easy to make and so visible when it
  2347. 1:21:22happens.
  2348. 1:21:23Most cloud providers also offer tagging,
  2349. 1:21:26a way of labeling resources with who
  2350. 1:21:28created them and what project they
  2351. 1:21:29belong to.
  2352. 1:21:31Many also offer budgets or alerts that
  2353. 1:21:33notify someone when spending crosses a
  2354. 1:21:35threshold.
  2355. 1:21:36These exist specifically because which
  2356. 1:21:39team's resource is this and why is it
  2357. 1:21:41still running is a common enough
  2358. 1:21:43question that it needed tooling, not
  2359. 1:21:45just good intentions.
  2360. 1:21:47Cost isn't usually a developer's main
  2361. 1:21:49job, but it's part of the judgment that
  2362. 1:21:51separates someone who thinks only about
  2363. 1:21:53whether code works from someone who
  2364. 1:21:55thinks about what it costs to keep
  2365. 1:21:57working.
  2366. 1:21:58A feature that works perfectly and
  2367. 1:22:00quietly runs up an unnecessary bill
  2368. 1:22:02every month is still a problem, just one
  2369. 1:22:04that shows up on a different kind of
  2370. 1:22:06dashboard.
  2371. 1:22:07That same judgment, knowing which parts
  2372. 1:22:09of the job are actually yours, is worth
  2373. 1:22:12applying to your career path too, not
  2374. 1:22:14just your cloud bill. Should I become a
  2375. 1:22:16DevOps engineer is a question a lot of
  2376. 1:22:19developers ask without being totally
  2377. 1:22:21sure what the job actually involves
  2378. 1:22:23day-to-day versus what a job title just
  2379. 1:22:25sounds like it should involve.
  2380. 1:22:27These roles overlap more than their name
  2381. 1:22:29suggest and the boundaries shift from
  2382. 1:22:31company to company. So treat what
  2383. 1:22:34follows as a rough map, not a strict
  2384. 1:22:36definition.
  2385. 1:22:37Start with the one you already know.
  2386. 1:22:40A software developer mainly writes the
  2387. 1:22:42application itself, the features
  2388. 1:22:44customers actually interact with.
  2389. 1:22:46A DevOps engineer is working on a
  2390. 1:22:48different layer. They focus on the
  2391. 1:22:50systems that build, test, and deploy
  2392. 1:22:53that application.
  2393. 1:22:54That means the pipelines, the
  2394. 1:22:56infrastructure, and the automation that
  2395. 1:22:58gets code from a developer's machine
  2396. 1:23:00into production reliably.
  2397. 1:23:02Then there's site reliability
  2398. 1:23:04engineering, usually shortened to SRE.
  2399. 1:23:08It grew out of a similar need, but it
  2400. 1:23:10leans further toward keeping things that
  2401. 1:23:11already exist running well.
  2402. 1:23:14That means deciding how reliable a
  2403. 1:23:16service needs to be, watching for when
  2404. 1:23:18it isn't, and often writing code that
  2405. 1:23:20cuts down on manual, repetitive,
  2406. 1:23:22operational work.
  2407. 1:23:24Platform engineering is a newer, related
  2408. 1:23:26focus again, building the internal tools
  2409. 1:23:29and self-service systems that let other
  2410. 1:23:31developers deploy and operate their own
  2411. 1:23:33services without needing deep
  2412. 1:23:35infrastructure expertise themselves.
  2413. 1:23:37In a lot of companies, that's what lets
  2414. 1:23:39a growing engineering team avoid needing
  2415. 1:23:41a DevOps specialist embedded in single
  2416. 1:23:44team.
  2417. 1:23:45And DevSecOps takes that same DevOps
  2418. 1:23:47idea, the build and deploy pipeline, and
  2419. 1:23:50folds security checks directly into it.
  2420. 1:23:53It scans code and dependencies for known
  2421. 1:23:55vulnerabilities automatically as part of
  2422. 1:23:57every change instead of treating
  2423. 1:23:59security as a separate review bolted on
  2424. 1:24:01at the end.
  2425. 1:24:03None of these are strictly more advanced
  2426. 1:24:05than writing application code, despite
  2427. 1:24:07how the industry sometimes talks about
  2428. 1:24:09them.
  2429. 1:24:09They're different focuses on different
  2430. 1:24:11parts of the same system.
  2431. 1:24:13The feature itself, the pipeline that
  2432. 1:24:15ships it, the infrastructure it runs on,
  2433. 1:24:18the reliability of all of it, and the
  2434. 1:24:20security of all of it.
  2435. 1:24:22Plenty of developers move between these
  2436. 1:24:24focuses more than once across a career,
  2437. 1:24:27and plenty of companies blend several of
  2438. 1:24:29these responsibilities into a single
  2439. 1:24:31role, especially smaller ones.
  2440. 1:24:33If you're trying to decide what to lean
  2441. 1:24:35toward, a reasonable question to ask
  2442. 1:24:37yourself is which part of a production
  2443. 1:24:39incident you find most interesting. If
  2444. 1:24:41it's why did this specific feature
  2445. 1:24:43behave wrong, that's closer to
  2446. 1:24:45application development. If it's why did
  2447. 1:24:48our deployment pipeline let this
  2448. 1:24:49through, that's closer to DevOps. If
  2449. 1:24:52it's why didn't we catch this was
  2450. 1:24:54getting slower weeks before it broke,
  2451. 1:24:56that's closer to SRE.
  2452. 1:24:58There's no wrong answer here, and the
  2453. 1:25:00honest truth is you don't have to know
  2454. 1:25:02yet. Most people figure this out by
  2455. 1:25:04actually doing the work for a while, not
  2456. 1:25:07by picking a lane before their first job
  2457. 1:25:09even starts. Let's recap module seven.
  2458. 1:25:12The cloud is still computers, storage,
  2459. 1:25:15networks, and databases, and you rent
  2460. 1:25:17them instead of buying them. Most cloud
  2461. 1:25:20apps use the same few building blocks,
  2462. 1:25:22and how much you manage yourself depends
  2463. 1:25:24on the services you choose. You saw two
  2464. 1:25:27ways to scale and why extra copies alone
  2465. 1:25:29don't guarantee an app stays up. You
  2466. 1:25:32also saw what a developer really touches
  2467. 1:25:34in the cloud, like logs, deployments,
  2468. 1:25:36and metrics.
  2469. 1:25:38And anything you leave running keeps
  2470. 1:25:39costing money.
  2471. 1:25:41Then we looked at roles like DevOps,
  2472. 1:25:43SRE, and platform engineering. You don't
  2473. 1:25:46have to pick one yet. Whichever you lean
  2474. 1:25:48toward, one change is reaching all of
  2475. 1:25:50them. And module eight is about that
  2476. 1:25:53change. Welcome to module eight. You've
  2477. 1:25:56now seen the whole route from a ticket
  2478. 1:25:58to an app running in the cloud.
  2479. 1:26:00There's one question you've probably
  2480. 1:26:02been asking for a while.
  2481. 1:26:04AI tools can write code now, so does any
  2482. 1:26:07of this still matter?
  2483. 1:26:08We'll start with what these tools can do
  2484. 1:26:10today and where developers use them on
  2485. 1:26:12normal tickets.
  2486. 1:26:14You'll also see how they get things
  2487. 1:26:15wrong in ways that are hard to notice.
  2488. 1:26:18Then you'll read through one AI written
  2489. 1:26:20change with me and look for the problems
  2490. 1:26:22yourself.
  2491. 1:26:23The last part steps away from the code
  2492. 1:26:25editor. It looks at other roles on a
  2493. 1:26:27team and at how companies are changing
  2494. 1:26:29the way they plan their work.
  2495. 1:26:31By the end of this module, you'll be
  2496. 1:26:33able to check an AI written change
  2497. 1:26:35instead of just accepting it.
  2498. 1:26:37Let's start with today's tools. There
  2499. 1:26:39was a time when AI and coding just meant
  2500. 1:26:41autocomplete. It finished your line,
  2501. 1:26:44maybe suggested a small function.
  2502. 1:26:46That's not what it means anymore.
  2503. 1:26:48Today, developers work inside AI native
  2504. 1:26:51IDEs like Cursor, Claude Code, and
  2505. 1:26:54Copilot's agent mode.
  2506. 1:26:56These tools don't just suggest a line.
  2507. 1:26:58You can hand them a task and they'll
  2508. 1:27:00read across your codebase, edit multiple
  2509. 1:27:02files, run your tests, see what failed,
  2510. 1:27:05and try again, mostly on their own.
  2511. 1:27:08Think about what that means in practice.
  2512. 1:27:10A task that once required you to jump
  2513. 1:27:12between files, trace dependencies, make
  2514. 1:27:15changes, and run tests manually can now
  2515. 1:27:17be handled by an AI agent in one
  2516. 1:27:20workflow.
  2517. 1:27:21That's a real jump in capability.
  2518. 1:27:23But here's the part that hasn't changed.
  2519. 1:27:26These tools only know what's inside
  2520. 1:27:28their context. They don't actually know
  2521. 1:27:30why a workaround exists in your billing
  2522. 1:27:32code or what a stakeholder really meant
  2523. 1:27:35by a vague ticket or which obvious
  2524. 1:27:37refactor will quietly break a rule
  2525. 1:27:40nobody wrote down anywhere.
  2526. 1:27:42And even when the code looks clean and
  2527. 1:27:44the tests pass, there can still be a
  2528. 1:27:46problem.
  2529. 1:27:47The tests might not cover that business
  2530. 1:27:49rule or the agent might have
  2531. 1:27:50misunderstood what the feature was
  2532. 1:27:52supposed to do in the first place.
  2533. 1:27:54Let's say you have a five-year-old
  2534. 1:27:55application with thousands of files,
  2535. 1:27:58internal APIs, business rules, and
  2536. 1:28:00assumptions nobody documented.
  2537. 1:28:03You can hand the whole task to an agent
  2538. 1:28:05and get something that runs.
  2539. 1:28:06That doesn't mean it's correct. You
  2540. 1:28:08still need to understand the problem,
  2541. 1:28:10give the tool the right context, and
  2542. 1:28:12actually review what comes back before
  2543. 1:28:14it ships.
  2544. 1:28:16This is why understanding the codebase
  2545. 1:28:18still matters.
  2546. 1:28:19The better you understand the system,
  2547. 1:28:21the better you can guide the agent, spot
  2548. 1:28:23mistakes, and decide whether its
  2549. 1:28:25solution is actually safe to release.
  2550. 1:28:28So the useful mindset isn't the AI will
  2551. 1:28:31handle this for me now.
  2552. 1:28:32It's the AI can do a lot more of the
  2553. 1:28:35work, which means my job has shifted
  2554. 1:28:37from typing code to reviewing and
  2555. 1:28:39directing it, and I'm still the one
  2556. 1:28:41responsible for the result. Let's take a
  2557. 1:28:44normal development task.
  2558. 1:28:46You receive a ticket saying add
  2559. 1:28:47validation to the customer registration
  2560. 1:28:50API.
  2561. 1:28:51In an AI-native IDE, a developer might
  2562. 1:28:54just describe that task directly to the
  2563. 1:28:56agent.
  2564. 1:28:57It can go explore the existing code on
  2565. 1:28:58its own, find the registration endpoint,
  2566. 1:29:01draft the validation logic, write a few
  2567. 1:29:03tests, run them, and fix anything that
  2568. 1:29:06fails, often before the developer has
  2569. 1:29:08read a single line of the existing file.
  2570. 1:29:11But notice what's still true.
  2571. 1:29:13Someone still had to write that ticket
  2572. 1:29:15clearly.
  2573. 1:29:16Someone still decided what valid
  2574. 1:29:18actually means for this business,
  2575. 1:29:20whether an empty phone number should be
  2576. 1:29:21allowed, whether existing users are
  2577. 1:29:24grandfathered in.
  2578. 1:29:25The agent can execute a well-scoped task
  2579. 1:29:28fast.
  2580. 1:29:29It can't decide what the right scope is.
  2581. 1:29:32And this is where experience makes a
  2582. 1:29:33difference.
  2583. 1:29:35A developer who understands the business
  2584. 1:29:37can spot missing requirements, ask the
  2585. 1:29:39right questions, and give the agent
  2586. 1:29:41enough context to avoid making
  2587. 1:29:43assumptions that could cause problems
  2588. 1:29:44later.
  2589. 1:29:45And once the agent produces a change,
  2590. 1:29:47the developer still opens the diff,
  2591. 1:29:49reads through what actually changed
  2592. 1:29:51across those files, checks it against
  2593. 1:29:53the ticket, and sends it through code
  2594. 1:29:55review like anything else.
  2595. 1:29:57That review matters because the agent
  2596. 1:29:59might solve the immediate problem while
  2597. 1:30:01introducing a different one, as breaking
  2598. 1:30:03an existing API contract or changing how
  2599. 1:30:06another part of the application behaves.
  2600. 1:30:09So the workflow hasn't disappeared, it's
  2601. 1:30:11shifted.
  2602. 1:30:12Less time typing the implementation,
  2603. 1:30:14more time scoping the task clearly
  2604. 1:30:16upfront and reviewing the result
  2605. 1:30:18carefully afterward.
  2606. 1:30:20Experienced developers know exactly
  2607. 1:30:22where that balance sits, when to just
  2608. 1:30:25let the agent run, and when a task is
  2609. 1:30:27sensitive enough that they need to slow
  2610. 1:30:29down and drive it themselves. Here's the
  2611. 1:30:31part beginners really need to
  2612. 1:30:32understand, and it matters even more now
  2613. 1:30:35that AI can touch your whole codebase at
  2614. 1:30:37once.
  2615. 1:30:38An agent can change 10 files and every
  2616. 1:30:41single test can pass and the change can
  2617. 1:30:44still be wrong.
  2618. 1:30:45It might quietly break a business rule
  2619. 1:30:47that wasn't written down anywhere.
  2620. 1:30:49It might clean up a piece of logic that
  2621. 1:30:52looked redundant but was actually
  2622. 1:30:54handling a rare, important case.
  2623. 1:30:56It might introduce a security gap while
  2624. 1:30:58technically solving the ticket exactly
  2625. 1:31:00as written.
  2626. 1:31:01And this is the tricky part. A small AI
  2627. 1:31:04suggestion that's wrong is easy to spot.
  2628. 1:31:07A large, multi-file AI change that's
  2629. 1:31:10mostly right and subtly wrong is much
  2630. 1:31:13harder to catch because it looks
  2631. 1:31:15thorough. It ran. The tests passed. It
  2632. 1:31:18reads like something a careful engineer
  2633. 1:31:20would write.
  2634. 1:31:21So when you're reviewing AI-generated
  2635. 1:31:23code, don't stop at asking whether the
  2636. 1:31:26tests passed. Ask yourself what the code
  2637. 1:31:29actually changed, why those changes were
  2638. 1:31:31necessary, and whether anything else in
  2639. 1:31:33the application depends on the old
  2640. 1:31:35behavior.
  2641. 1:31:36That's exactly why review matters more
  2642. 1:31:39now, not less. You still read through
  2643. 1:31:41what changed, you still run it yourself,
  2644. 1:31:44you still check it against the actual
  2645. 1:31:46business requirement, and you still ask
  2646. 1:31:48what this change assumed that might not
  2647. 1:31:50be true.
  2648. 1:31:51Approving an AI-generated change you
  2649. 1:31:53don't
  2650. 1:31:54doesn't save you time. It just moves the
  2651. 1:31:57hard part to whenever it eventually
  2652. 1:31:58breaks, except now you're debugging code
  2653. 1:32:01you never actually understood in the
  2654. 1:32:03first place. If you take one sentence
  2655. 1:32:05out of this section, make it this one.
  2656. 1:32:08The better your fundamentals are, the
  2657. 1:32:10more useful an AI native IDE becomes.
  2658. 1:32:14Here's why.
  2659. 1:32:15An agent hands you a change across six
  2660. 1:32:17files using a pattern you've never seen.
  2661. 1:32:20If you don't understand programming,
  2662. 1:32:22APIs, databases, and Git, you'll accept
  2663. 1:32:25it and hope.
  2664. 1:32:26If you do understand them, you can read
  2665. 1:32:29that diff, spot the bad assumption, ask
  2666. 1:32:31the agent to fix just that part, and
  2667. 1:32:34judge whether the whole approach even
  2668. 1:32:35fits your application.
  2669. 1:32:37And the same principle applies when
  2670. 1:32:39something goes wrong.
  2671. 1:32:40If you understand how the pieces fit
  2672. 1:32:42together, you can trace the problem,
  2673. 1:32:44give the agent useful feedback, and
  2674. 1:32:46guide it toward a better solution
  2675. 1:32:48instead of blindly asking it to try
  2676. 1:32:50again.
  2677. 1:32:51Take Git as another example.
  2678. 1:32:53If you understand branches, commits, and
  2679. 1:32:56diffs, you can see exactly what the
  2680. 1:32:58agent changed, compare it with the
  2681. 1:32:59original implementation, and undo a
  2682. 1:33:02change if something goes wrong.
  2683. 1:33:04Without that knowledge, you're relying
  2684. 1:33:06on the tool without knowing how to
  2685. 1:33:07recover when things break.
  2686. 1:33:09The same goes for databases and APIs.
  2687. 1:33:12When an agent changes a database query
  2688. 1:33:14or modifies an API response, your
  2689. 1:33:17fundamentals help you recognize whether
  2690. 1:33:19the change could affect performance,
  2691. 1:33:21break another service, or cause problems
  2692. 1:33:23for existing users.
  2693. 1:33:25You don't need to memorize every
  2694. 1:33:27programming language or understand every
  2695. 1:33:29framework in advance, but you do need a
  2696. 1:33:32solid foundation because that's what
  2697. 1:33:34helps you separate a good solution from
  2698. 1:33:36one that only looks good.
  2699. 1:33:38Same tool, completely different outcome.
  2700. 1:33:41The difference is you.
  2701. 1:33:43So let's actually do it. In the next
  2702. 1:33:45lecture, we're going to look at an AI
  2703. 1:33:47generated change together and find
  2704. 1:33:49what's wrong with it. Let's make this
  2705. 1:33:51real. Same ticket as before. Add email
  2706. 1:33:54validation to customer registration. You
  2707. 1:33:57describe it to the agent in your IDE.
  2708. 1:33:59Two minutes later, it's done. Tests
  2709. 1:34:01pass. Here's the change. Now, most
  2710. 1:34:05beginners look at this and see two
  2711. 1:34:06things. Green means added, tests are
  2712. 1:34:09green, ship it. Let's slow down and read
  2713. 1:34:12it the way a reviewer reads it. Start at
  2714. 1:34:14the top. The agent added a function
  2715. 1:34:16called is valid email. Good. It's
  2716. 1:34:19reusable. That's what we'd want. Inside,
  2717. 1:34:22there's a pattern that checks the email
  2718. 1:34:23format. Letters and numbers, an at sign,
  2719. 1:34:26a domain, a dot, a couple of letters.
  2720. 1:34:29Looks reasonable. Look closer at the
  2721. 1:34:31characters it allows before the at sign.
  2722. 1:34:34Letters, numbers, dots, underscores,
  2723. 1:34:37hyphens. Now think about real email
  2724. 1:34:40addresses. Have you ever seen one with a
  2725. 1:34:42plus sign in it? Like name plus
  2726. 1:34:44newsletter at gmail.com? Lots of people
  2727. 1:34:47use those. They're completely valid, and
  2728. 1:34:50this pattern rejects them.
  2729. 1:34:52Every test passed because the agent also
  2730. 1:34:55wrote the tests, and it only tested
  2731. 1:34:57addresses it already believed were
  2732. 1:34:59valid. That's the trap. The tests agreed
  2733. 1:35:02with the code because the same
  2734. 1:35:03assumption wrote both. Keep going. The
  2735. 1:35:06new check runs every time someone hits
  2736. 1:35:08the registration endpoint. Now scroll to
  2737. 1:35:10the ticket. The acceptance criteria said
  2738. 1:35:13existing valid registrations must
  2739. 1:35:15continue working. Does anything here
  2740. 1:35:17touch existing users? Actually, look at
  2741. 1:35:20where the agent put the call. It's in
  2742. 1:35:22the shared save customer function, not
  2743. 1:35:25the register function. That function
  2744. 1:35:27also runs when an existing customer
  2745. 1:35:29updates their profile. So a long time
  2746. 1:35:31customer with a plus sign in their email
  2747. 1:35:33would now be blocked from changing their
  2748. 1:35:35address.
  2749. 1:35:36That's two problems. One is a wrong
  2750. 1:35:39assumption inside a pattern. The other
  2751. 1:35:41is a change in the wrong place. Neither
  2752. 1:35:44one shows up as a red test. Both would
  2753. 1:35:46show up as a support ticket next week.
  2754. 1:35:49So what does the review look like? Not
  2755. 1:35:51this is wrong. Something like this
  2756. 1:35:54pattern rejects plus addresses which are
  2757. 1:35:56valid. Also, the validation runs in save
  2758. 1:35:59customer, so it affects profile updates.
  2759. 1:36:02Can we move it to the registered path
  2760. 1:36:03and add a test for a plus address?
  2761. 1:36:05Then you hand that back to the agent and
  2762. 1:36:07it'll fix it in 30 seconds. That's the
  2763. 1:36:10whole skill. You're not competing with
  2764. 1:36:12the tool on typing. You're reading its
  2765. 1:36:14work against the ticket, against the
  2766. 1:36:16business, and against what real users
  2767. 1:36:18actually do. You'll get a diff like this
  2768. 1:36:21in assignment three for this section.
  2769. 1:36:23Try to find both problems yourself
  2770. 1:36:25before you look at the answer.
  2771. 1:36:27Now let's zoom out because this isn't
  2772. 1:36:29only happening to developers, and this
  2773. 1:36:32shift isn't only happening in code
  2774. 1:36:34editors.
  2775. 1:36:35The same kind of AI agent is showing up
  2776. 1:36:37across IT,
  2777. 1:36:38summarizing a messy incident timeline
  2778. 1:36:40for a support engineer, drafting and
  2779. 1:36:43explaining SQL for someone on the data
  2780. 1:36:45team, generating a first pass of test
  2781. 1:36:47scenarios for a tester, or pulling
  2782. 1:36:50together a project update for a manager
  2783. 1:36:52before a meeting.
  2784. 1:36:53For example, a data engineer might use
  2785. 1:36:56AI to draft a SQL query, but still needs
  2786. 1:36:59to check whether the joins are correct
  2787. 1:37:00and the results make sense.
  2788. 1:37:02A tester might generate dozens of test
  2789. 1:37:04cases in seconds, but still needs to
  2790. 1:37:07decide whether the important edge cases
  2791. 1:37:09are covered.
  2792. 1:37:10The work gets faster, but knowing what
  2793. 1:37:12good work looks like still matters.
  2794. 1:37:15So when you enter IT today, don't think
  2795. 1:37:18of AI as one tool bolted onto your
  2796. 1:37:20editor.
  2797. 1:37:21Think of it as a layer running
  2798. 1:37:23underneath almost every role on a team,
  2799. 1:37:25doing more of the first draft so people
  2800. 1:37:27can spend more time deciding, reviewing,
  2801. 1:37:30and judging whether that first draft is
  2802. 1:37:32actually right.
  2803. 1:37:34And this changes what it means to be
  2804. 1:37:35good at your job. It's no longer just
  2805. 1:37:38about how quickly you can produce
  2806. 1:37:39something yourself.
  2807. 1:37:41It's also about how well you can use
  2808. 1:37:43these tools, recognize their mistakes,
  2809. 1:37:45and take responsibility for the final
  2810. 1:37:47outcome.
  2811. 1:37:48The specific tools will keep changing.
  2812. 1:37:51The skill that doesn't go out of date is
  2813. 1:37:53knowing when to hand something to AI,
  2814. 1:37:55how to direct it well, and how to verify
  2815. 1:37:58what it hands back. AI-native IDEs
  2816. 1:38:01aren't just changing how individual
  2817. 1:38:02developers write code. They're starting
  2818. 1:38:04to change how entire companies plan and
  2819. 1:38:07build software.
  2820. 1:38:09Think about how software development has
  2821. 1:38:10evolved over time.
  2822. 1:38:12Years ago, teams used waterfall,
  2823. 1:38:14planning everything up front and
  2824. 1:38:16building it in one long sequence.
  2825. 1:38:18Then came Agile, breaking that into
  2826. 1:38:20short iterative cycles. Then CICD and
  2827. 1:38:24DevOps, automating testing and
  2828. 1:38:26deployment so releases could happen
  2829. 1:38:28constantly instead of once a year.
  2830. 1:38:30AI is becoming the next layer on top of
  2831. 1:38:33that evolution, not a replacement for
  2832. 1:38:35it.
  2833. 1:38:36Here's the interesting part. Now that an
  2834. 1:38:38agent can build and test a well-defined
  2835. 1:38:40task in minutes, the bottleneck has
  2836. 1:38:42moved. It's no longer how fast can we
  2837. 1:38:45write this code, it's how clearly can we
  2838. 1:38:48define what we actually want built.
  2839. 1:38:51Companies are realizing they need to
  2840. 1:38:52invest more, not less, into the planning
  2841. 1:38:55stage.
  2842. 1:38:56Real effort goes into defining the
  2843. 1:38:58problem, the requirements, and what is
  2844. 1:39:00explicitly out of scope before any agent
  2845. 1:39:03touches the code.
  2846. 1:39:04You might hear people call this shifting
  2847. 1:39:06left.
  2848. 1:39:07Strictly speaking, that phrase comes
  2849. 1:39:09from testing. It means running your
  2850. 1:39:11tests earlier in the process instead of
  2851. 1:39:13at the very end, but the spirit is the
  2852. 1:39:15same.
  2853. 1:39:16Catch the problem while it's still cheap
  2854. 1:39:18to fix.
  2855. 1:39:20Why does that matter so much now?
  2856. 1:39:22Because an AI agent follows instructions
  2857. 1:39:24literally, and it can move very fast in
  2858. 1:39:27the wrong direction.
  2859. 1:39:29Give it a vague, half-finished
  2860. 1:39:30requirement, and it will guess
  2861. 1:39:32confidently and often incorrectly.
  2862. 1:39:35Give it a clear, well-scoped problem,
  2863. 1:39:38including what's explicitly out of
  2864. 1:39:39scope, and it can move remarkably fast
  2865. 1:39:42in the right direction.
  2866. 1:39:44None of this replaces human judgment.
  2867. 1:39:46Deciding whether a problem is even worth
  2868. 1:39:48solving or whether a product is worth
  2869. 1:39:50building at all is still a human call.
  2870. 1:39:53AI can execute that decision faster once
  2871. 1:39:56it's made. It doesn't make the decision
  2872. 1:39:58for you.
  2873. 1:40:00You'll likely see this play out wherever
  2874. 1:40:01you end up working. Smaller, more
  2875. 1:40:04flexible teams, more time spent up front
  2876. 1:40:06turning a rough idea into a clear,
  2877. 1:40:08detailed plan, and AI native tools
  2878. 1:40:11handling more of the actual
  2879. 1:40:13implementation once that plan exists.
  2880. 1:40:16And the fundamentals you're learning in
  2881. 1:40:17this course, understanding requirements,
  2882. 1:40:20systems, and how the pieces fit together
  2883. 1:40:22are exactly what makes you valuable in
  2884. 1:40:24that kind of environment. Let's recap
  2885. 1:40:26module eight.
  2886. 1:40:28We started with a question, and the
  2887. 1:40:30answer is yes. Everything you've learned
  2888. 1:40:33still matters. An agent can read your
  2889. 1:40:35code, change many files, and run the
  2890. 1:40:38tests mostly on its own, but it only
  2891. 1:40:40knows what's in its context. So a change
  2892. 1:40:43can pass every test and still be wrong.
  2893. 1:40:46You saw that in our review. The email
  2894. 1:40:48check rejected valid addresses and ran
  2895. 1:40:51in the wrong function.
  2896. 1:40:52The agent wrote its own tests, so they
  2897. 1:40:54passed, and neither problem showed up.
  2898. 1:40:57Your basics are what let you catch that.
  2899. 1:41:00AI is changing other roles, too, and
  2900. 1:41:02companies are spending more time on
  2901. 1:41:04planning because a vague request can now
  2902. 1:41:06go wrong very fast.
  2903. 1:41:08In module nine, we leave the code for a
  2904. 1:41:11while and look at your working day.
  2905. 1:41:13Welcome to module nine.
  2906. 1:41:15Where do your hours go on a real team?
  2907. 1:41:17This is a big module, so here's what it
  2908. 1:41:20covers.
  2909. 1:41:21The topics are mixed together, so they
  2910. 1:41:23won't come in this order.
  2911. 1:41:24Some of it is about normal days. That
  2912. 1:41:27means your meetings and what it's like
  2913. 1:41:29to work across time zones. It also means
  2914. 1:41:31the many hours that go into keeping
  2915. 1:41:33older software running.
  2916. 1:41:35Some of it is about the bad days. That's
  2917. 1:41:38when production has a problem or when
  2918. 1:41:40you're the one on call.
  2919. 1:41:42You'll also see how a team watches its
  2920. 1:41:44systems so it can find trouble early.
  2921. 1:41:46The rest is about you as the new person
  2922. 1:41:49on the team. You'll learn how to ask for
  2923. 1:41:51help, what to do when you first join,
  2924. 1:41:53and how to write things people will
  2925. 1:41:55read.
  2926. 1:41:56A few topics come up twice, like team
  2927. 1:41:58review meetings and production problems.
  2928. 1:42:00So if something sounds familiar, you're
  2929. 1:42:02not lost. We're just going a little
  2930. 1:42:04deeper the second time.
  2931. 1:42:06By the end of this module, you'll know
  2932. 1:42:08what to expect from your days on the
  2933. 1:42:09team.
  2934. 1:42:10Let's start with a normal day. A
  2935. 1:42:12developer's day usually doesn't start
  2936. 1:42:15with opening an editor and coding for
  2937. 1:42:17eight straight hours.
  2938. 1:42:18A normal day could start with a stand-up
  2939. 1:42:20meeting where you talk about what you
  2940. 1:42:22worked on yesterday, what you're working
  2941. 1:42:24on today, and whether anything is
  2942. 1:42:26blocking you.
  2943. 1:42:27These meetings are usually short, but
  2944. 1:42:29they help the team understand where
  2945. 1:42:31things stand.
  2946. 1:42:32If you're stuck waiting for another team
  2947. 1:42:34or need help with a technical problem,
  2948. 1:42:37this is a chance to bring it up before
  2949. 1:42:38it delays your work further.
  2950. 1:42:40Then you might spend the next couple of
  2951. 1:42:42hours working on your ticket, reading
  2952. 1:42:44existing code, searching the repository,
  2953. 1:42:47checking a database query, running the
  2954. 1:42:49application, looking at logs, and
  2955. 1:42:52probably asking another developer a
  2956. 1:42:54question at some point.
  2957. 1:42:55And sometimes what looks like a small
  2958. 1:42:57task turns out to be much bigger than
  2959. 1:43:00expected.
  2960. 1:43:01You might discover that the code depends
  2961. 1:43:03on another service, that the existing
  2962. 1:43:05behavior isn't documented, or that you
  2963. 1:43:07need to understand how an older part of
  2964. 1:43:09the application works before you can
  2965. 1:43:11safely make a change.
  2966. 1:43:13Then you might have a meeting about a
  2967. 1:43:14new requirement.
  2968. 1:43:16Later, someone reviews your pull request
  2969. 1:43:18and asks you to change something. You
  2970. 1:43:20make the change, run the tests again,
  2971. 1:43:22and update the pull request.
  2972. 1:43:24This is also where communication becomes
  2973. 1:43:26important. You might need to explain why
  2974. 1:43:29you chose a particular approach, discuss
  2975. 1:43:31an alternative with a teammate, or
  2976. 1:43:33clarify a requirement with the person
  2977. 1:43:35who requested the change.
  2978. 1:43:37Writing code is only one part of getting
  2979. 1:43:40the right solution delivered.
  2980. 1:43:42And then you might spend the afternoon
  2981. 1:43:43investigating a completely different
  2982. 1:43:45problem because something broke in
  2983. 1:43:47another part of the system.
  2984. 1:43:49That's normal.
  2985. 1:43:50Some days have lots of coding. Some days
  2986. 1:43:53have almost none.
  2987. 1:43:54As you gain experience, you'll also get
  2988. 1:43:56better at managing these interruptions,
  2989. 1:43:59deciding what needs attention first, and
  2990. 1:44:01knowing when to ask for help instead of
  2991. 1:44:03spending hours stuck on the same
  2992. 1:44:05problem.
  2993. 1:44:06The job is really a combination of
  2994. 1:44:08coding, debugging, communication,
  2995. 1:44:11investigation, meetings, reviews, and
  2996. 1:44:14problem solving. You will probably hear
  2997. 1:44:16the word standup quite a lot.
  2998. 1:44:18A typical daily standup is a short team
  2999. 1:44:21meeting where everyone shares what
  3000. 1:44:22they're working on and whether they're
  3001. 1:44:24blocked.
  3002. 1:44:25It usually sounds something like,
  3003. 1:44:27yesterday I finished the customer API
  3004. 1:44:29changes. Today I'm working on the
  3005. 1:44:31validation ticket.
  3006. 1:44:33I'm blocked because I don't have access
  3007. 1:44:34to the test database.
  3008. 1:44:36That's useful because everyone gets
  3009. 1:44:38visibility into what the team is doing.
  3010. 1:44:41You'll also hear a handful of other
  3011. 1:44:42terms. A sprint is a fixed period during
  3012. 1:44:45which a team works on a set of planned
  3013. 1:44:47work. The backlog is the list of work
  3014. 1:44:50that may need to be done.
  3015. 1:44:51Planning is when the team decides what
  3016. 1:44:53work to take on next. And a
  3017. 1:44:55retrospective is when the team discusses
  3018. 1:44:57what went well, what didn't, and what
  3019. 1:45:00could improve.
  3020. 1:45:01A retro is worth understanding properly
  3021. 1:45:03because it's one of the few meetings
  3022. 1:45:05built entirely around improving how the
  3023. 1:45:07team works, not just what the team
  3024. 1:45:09ships. It usually follows a simple
  3025. 1:45:12pattern.
  3026. 1:45:13What went well, what didn't, and what
  3027. 1:45:16the team will actually try differently
  3028. 1:45:17next sprint. The value isn't in the
  3029. 1:45:20complaining part. It's in that last
  3030. 1:45:22step. Walking away with one or two
  3031. 1:45:24concrete changes rather than just a list
  3032. 1:45:27of frustrations that gets repeated every
  3033. 1:45:29retro with nothing changing.
  3034. 1:45:31As a junior, you don't need to run these
  3035. 1:45:33meetings. You just need to actually
  3036. 1:45:35contribute. A small process friction you
  3037. 1:45:38noticed is exactly the kind of thing
  3038. 1:45:40retros exist to surface.
  3039. 1:45:42Different companies follow Scrum,
  3040. 1:45:44Kanban, or something customized.
  3041. 1:45:46Don't get too caught up in memorizing
  3042. 1:45:48the terminology.
  3043. 1:45:49The important thing is understanding
  3044. 1:45:51that software development is a team
  3045. 1:45:53activity. Your code is only one part of
  3046. 1:45:56the process. And on some teams, that
  3047. 1:45:59daily standup doesn't even happen live
  3048. 1:46:01because the team isn't all working the
  3049. 1:46:03same hours to begin with. A growing
  3050. 1:46:05number of teams aren't all sitting in
  3051. 1:46:06the same office or even the same
  3052. 1:46:09country. You might have a teammate
  3053. 1:46:11finishing their day as your starts. That
  3054. 1:46:14changes how the team actually
  3055. 1:46:15communicates, and it's worth
  3056. 1:46:17understanding early.
  3057. 1:46:19The biggest shift is that async, meaning
  3058. 1:46:21not expecting an immediate reply, often
  3059. 1:46:24becomes the default instead of the
  3060. 1:46:25exception.
  3061. 1:46:27If you ask a one-line question like,
  3062. 1:46:29does this work? To someone 8 hours ahead
  3063. 1:46:31of you, you might not hear back until
  3064. 1:46:33tomorrow. And then you'll likely need
  3065. 1:46:35another full day for the follow-up
  3066. 1:46:37question you didn't think to ask up
  3067. 1:46:39front.
  3068. 1:46:40The fix is writing messages with enough
  3069. 1:46:42context the first time, what you're
  3070. 1:46:44trying to do, what you've already tried,
  3071. 1:46:46and exactly what you need from them. So
  3072. 1:46:49a single reply can actually unblock you
  3073. 1:46:51instead of starting a slow back and
  3074. 1:46:53forth.
  3075. 1:46:54For example, instead of saying, I'm
  3076. 1:46:56getting an error, can you help? Explain
  3077. 1:46:59which application you're working on,
  3078. 1:47:01what you were trying to do, the error
  3079. 1:47:03you received, and what you've already
  3080. 1:47:04checked.
  3081. 1:47:06If you can include a relevant log or
  3082. 1:47:07screenshot, even better. Your teammate
  3083. 1:47:10can investigate while you're offline
  3084. 1:47:12rather than spending another day just
  3085. 1:47:14trying to understand the problem.
  3086. 1:47:16Some distributed teams also run standup
  3087. 1:47:18asynchronously. Everyone posts their
  3088. 1:47:21yesterday, today, and blockers in a
  3089. 1:47:23channel instead of talking live
  3090. 1:47:25precisely because there's no single time
  3091. 1:47:27that works for everyone.
  3092. 1:47:29That's not a lesser version of a
  3093. 1:47:30standup. It's a reasonable adaptation
  3094. 1:47:33once a team is genuinely spread across
  3095. 1:47:35time zones.
  3096. 1:47:36This also means you need to get
  3097. 1:47:38comfortable making progress
  3098. 1:47:39independently. If you're blocked on one
  3099. 1:47:41task, you might document what you found,
  3100. 1:47:44move to another ticket, or investigate a
  3101. 1:47:46separate part of the problem while you
  3102. 1:47:48wait for a response.
  3103. 1:47:50That way, your entire day doesn't depend
  3104. 1:47:52on someone else being available.
  3105. 1:47:54And here's something worth internalizing
  3106. 1:47:56early.
  3107. 1:47:57A fast reply doesn't make you look more
  3108. 1:47:59dedicated, and a slower one, within
  3109. 1:48:01reason, doesn't make you look less
  3110. 1:48:03committed. What actually matters on a
  3111. 1:48:06distributed team is whether your
  3112. 1:48:07communication gives people what they
  3113. 1:48:09need without requiring you to be online
  3114. 1:48:12at the same moment they are.
  3115. 1:48:14Whichever hours your team works, a lot
  3116. 1:48:16of what actually fills those hours isn't
  3117. 1:48:18building new features at all. It's
  3118. 1:48:20maintenance. Here's something that
  3119. 1:48:22surprises many beginners.
  3120. 1:48:24Not every developer spends their time
  3121. 1:48:26building exciting new features. A lot of
  3122. 1:48:29software work is maintenance. You might
  3123. 1:48:31fix a bug that appeared after a release,
  3124. 1:48:34update an old dependency, improve a slow
  3125. 1:48:36database query, tweak a configuration
  3126. 1:48:39value, look into a customer complaint,
  3127. 1:48:41add some logging, clean out unused code,
  3128. 1:48:44upgrade a framework version, or modify a
  3129. 1:48:47feature that's existed for five years.
  3130. 1:48:50And sometimes the fix itself is
  3131. 1:48:52surprisingly small.
  3132. 1:48:54A single configuration change might
  3133. 1:48:55resolve the issue, but finding that
  3134. 1:48:58setting could take hours of
  3135. 1:48:59investigation.
  3136. 1:49:01That's because understanding why
  3137. 1:49:02something broke is often harder than
  3138. 1:49:04actually fixing it.
  3139. 1:49:06That might sound less exciting than
  3140. 1:49:08building something brand new, but it's a
  3141. 1:49:10huge part of how real software works.
  3142. 1:49:13Companies have applications that have
  3143. 1:49:14been running for years. Those
  3144. 1:49:16applications make money, customers
  3145. 1:49:19depend on them, and someone has to keep
  3146. 1:49:21them working.
  3147. 1:49:22Think about an online banking
  3148. 1:49:24application, for example. It might have
  3149. 1:49:26been built years ago, but customers
  3150. 1:49:28still use it every day to check
  3151. 1:49:30balances, transfer money, and pay bills.
  3152. 1:49:33The team can't simply stop everything
  3153. 1:49:35and rebuild the entire application
  3154. 1:49:37whenever a better technology comes
  3155. 1:49:38along.
  3156. 1:49:39They need to improve it carefully
  3157. 1:49:41without breaking the things people
  3158. 1:49:43already rely on.
  3159. 1:49:45A lot of this maintenance work exists
  3160. 1:49:47because of something you'll hear called
  3161. 1:49:48technical debt.
  3162. 1:49:50It's not necessarily bad code. It's
  3163. 1:49:52usually a shortcut that made sense at
  3164. 1:49:54the time. A quick fix shipped to hit a
  3165. 1:49:56deadline or a design decision that
  3166. 1:49:59worked fine until the application grew
  3167. 1:50:01past what it was originally built for.
  3168. 1:50:03Like financial debt, it's not inherently
  3169. 1:50:06a disaster, but it accumulates interest.
  3170. 1:50:09The longer it sits unaddressed, the
  3171. 1:50:11slower and riskier future changes
  3172. 1:50:13become.
  3173. 1:50:15Part of maintenance work is paying some
  3174. 1:50:16of that down deliberately instead of
  3175. 1:50:18only ever adding more of it.
  3176. 1:50:20For example, imagine a piece of code
  3177. 1:50:22that works perfectly well today, but is
  3178. 1:50:25difficult to understand and has no
  3179. 1:50:27tests.
  3180. 1:50:28Every time someone needs to change it,
  3181. 1:50:30they have to spend extra time figuring
  3182. 1:50:32out how it works and checking that
  3183. 1:50:33nothing else breaks.
  3184. 1:50:35Adding tests and simplifying that code
  3185. 1:50:37might not deliver a new feature, but it
  3186. 1:50:40can make every future change safer and
  3187. 1:50:42faster.
  3188. 1:50:44So when you get your first job, don't be
  3189. 1:50:46surprised if your first ticket is fix
  3190. 1:50:48this existing issue instead of build
  3191. 1:50:51this amazing new application. That's
  3192. 1:50:53normal software development. Now let's
  3193. 1:50:56talk about one of the most stressful
  3194. 1:50:57situations for a developer.
  3195. 1:51:00Something breaks in production.
  3196. 1:51:02Maybe customers can't log in, maybe an
  3197. 1:51:04API is suddenly returning errors, maybe
  3198. 1:51:07orders are getting stuck, or maybe a
  3199. 1:51:09recent deployment introduced a problem
  3200. 1:51:11nobody caught.
  3201. 1:51:13The first priority isn't writing new
  3202. 1:51:15code, it's understanding the impact.
  3203. 1:51:18What's actually broken? How many users
  3204. 1:51:21are affected? When it started? What
  3205. 1:51:23changed recently? And what the logs
  3206. 1:51:25show?
  3207. 1:51:26Depending on what they find, the team
  3208. 1:51:28might roll back the deployment, disable
  3209. 1:51:30a feature, fix a bad configuration
  3210. 1:51:32value, or ship a quick hotfix to stop
  3211. 1:51:35the bleeding.
  3212. 1:51:36After the problem is under control, the
  3213. 1:51:38team usually investigates why it
  3214. 1:51:40happened and what can prevent it from
  3215. 1:51:42happening again.
  3216. 1:51:44This step is often called a root cause
  3217. 1:51:46analysis or a post-incident review.
  3218. 1:51:49A useful one usually asks a chain of
  3219. 1:51:51questions rather than stopping at the
  3220. 1:51:53first answer.
  3221. 1:51:54The deployment caused it, sure. But why
  3222. 1:51:57did that change get through review and
  3223. 1:51:58testing without anyone catching it?
  3224. 1:52:00And what would need to be true for it to
  3225. 1:52:02get caught next time?
  3226. 1:52:04The output isn't just a written
  3227. 1:52:05explanation, it's a short list of
  3228. 1:52:08concrete follow-up actions. Better test
  3229. 1:52:10coverage here, an alert that should have
  3230. 1:52:12fired sooner there, that someone
  3231. 1:52:14actually owns and follows up on.
  3232. 1:52:17You'll hear terms like incident, hotfix,
  3233. 1:52:20rollback, root cause, and post-incident
  3234. 1:52:23review.
  3235. 1:52:24These aren't just technical words. They
  3236. 1:52:26describe how teams respond when real
  3237. 1:52:28systems fail.
  3238. 1:52:30And eventually, every developer learns
  3239. 1:52:32that production problems are just part
  3240. 1:52:34of working with software.
  3241. 1:52:36And sometimes that problem shows up
  3242. 1:52:38outside of normal working hours
  3243. 1:52:39entirely, which is where on call comes
  3244. 1:52:42in. At some point, you'll hear that a
  3245. 1:52:44teammate is on call this week. And if
  3246. 1:52:47you've never experienced it, the phrase
  3247. 1:52:49alone can sound intimidating.
  3248. 1:52:51It's worth understanding what it
  3249. 1:52:53actually involves before you ever get
  3250. 1:52:55anywhere near it yourself.
  3251. 1:52:57On call means that for a set period,
  3252. 1:52:59usually a week, someone on the team is
  3253. 1:53:02the person who gets alerted if something
  3254. 1:53:03breaks outside of normal working hours.
  3255. 1:53:06A server issue at 2:00 a.m., a spike of
  3256. 1:53:08errors on a weekend.
  3257. 1:53:10It exists because real systems don't
  3258. 1:53:12stop running just because the office is
  3259. 1:53:14closed, and someone needs to be
  3260. 1:53:16reachable if something genuinely urgent
  3261. 1:53:18happens.
  3262. 1:53:20For example, imagine an online shopping
  3263. 1:53:22application suddenly stops processing
  3264. 1:53:24payments late at night.
  3265. 1:53:26The on call engineer might receive an
  3266. 1:53:28alert, check the monitoring dashboard,
  3267. 1:53:30look at the error logs, and work out
  3268. 1:53:32whether the issue is affecting all
  3269. 1:53:34customers or just a small part of the
  3270. 1:53:36system.
  3271. 1:53:37The immediate priority is to understand
  3272. 1:53:39the impact and restore the service
  3273. 1:53:41safely, not to rush into a random fix.
  3274. 1:53:44For a junior developer, on call is
  3275. 1:53:47rarely something you're handed on day
  3276. 1:53:48one.
  3277. 1:53:49Most teams ease people into it
  3278. 1:53:51gradually, often shadowing a more
  3279. 1:53:53experienced teammate first, watching how
  3280. 1:53:55they respond to an alert before ever
  3281. 1:53:57being the primary responder yourself.
  3282. 1:54:00And being on call doesn't mean you're
  3283. 1:54:02expected to fix every problem alone at
  3284. 1:54:042:00 a.m. The actual job in that moment
  3285. 1:54:08is usually to acknowledge the alert,
  3286. 1:54:10assess how serious it is, and escalate
  3287. 1:54:12to someone with more context if it's
  3288. 1:54:14beyond what you can safely handle.
  3289. 1:54:16Knowing when to wake someone else up is
  3290. 1:54:18a completely legitimate on call skill,
  3291. 1:54:21not a failure.
  3292. 1:54:23You'll also find that teams prepare for
  3293. 1:54:24these situations before anything goes
  3294. 1:54:26wrong.
  3295. 1:54:27They document common issues, define who
  3296. 1:54:30should be contacted, and create runbooks
  3297. 1:54:32that explain the first checks to
  3298. 1:54:34perform.
  3299. 1:54:35Good monitoring and clear instructions
  3300. 1:54:37make incidents easier to handle,
  3301. 1:54:39especially when the person responding
  3302. 1:54:41didn't build the part of the system
  3303. 1:54:43that's failing.
  3304. 1:54:44Not every company has on-call and not
  3305. 1:54:46every role includes it. It depends
  3306. 1:54:48heavily on what you're building and how
  3307. 1:54:50critical it is that it stays running.
  3308. 1:54:53But if your team does have it, know that
  3309. 1:54:55it's a rotation. It's usually gradual,
  3310. 1:54:58and asking for help in the middle of an
  3311. 1:54:59alert is exactly what it's there for.
  3312. 1:55:02And that willingness to ask for help
  3313. 1:55:04isn't just an on-call skill. It's one of
  3314. 1:55:07the most important habits you can build
  3315. 1:55:09in your first few months, on-call or
  3316. 1:55:11not. Here's a skill that can save a
  3317. 1:55:13beginner weeks of frustration.
  3318. 1:55:15Knowing when to ask for help.
  3319. 1:55:18When you're new, it's easy to think I
  3320. 1:55:20should figure this out myself. So you
  3321. 1:55:22spend 3 hours trying random things.
  3322. 1:55:25That's usually worse than spending 10
  3323. 1:55:27minutes asking a good question.
  3324. 1:55:30But before you ask, there's a quick
  3325. 1:55:31order of operations that experienced
  3326. 1:55:33developers follow without thinking about
  3327. 1:55:35it.
  3328. 1:55:36First, read the actual error message,
  3329. 1:55:39all of it, not just the first line.
  3330. 1:55:41Second, check the project's own
  3331. 1:55:43documentation or readme because a lot of
  3332. 1:55:46bugs are setup steps you skipped. Third,
  3333. 1:55:50search the exact error text in quotes
  3334. 1:55:53because someone has almost certainly hit
  3335. 1:55:55it before.
  3336. 1:55:56Fourth, ask an AI assistant to explain
  3337. 1:55:59the error and treat the answer as a
  3338. 1:56:00lead, not a verdict.
  3339. 1:56:02And then, if you're still stuck after 15
  3340. 1:56:05or 20 minutes, ask a person.
  3341. 1:56:07One thing worth remembering is that the
  3342. 1:56:0915 or 20 minutes isn't a strict timer.
  3343. 1:56:12Some problems genuinely need longer
  3344. 1:56:14investigation while others are worth
  3345. 1:56:16escalating sooner, especially if they
  3346. 1:56:18affect production or block the rest of
  3347. 1:56:20the team.
  3348. 1:56:22The goal isn't to solve everything
  3349. 1:56:23alone. It's to make a
  3350. 1:56:25effort before getting someone else
  3351. 1:56:27involved. That sequence matters because
  3352. 1:56:30of what it gives you when you finally do
  3353. 1:56:31ask, a list of what you already tried.
  3354. 1:56:35The important part is how you ask.
  3355. 1:56:38Instead of just saying, it's not
  3356. 1:56:39working, can you help? Try something
  3357. 1:56:42like, I'm working on the customer API.
  3358. 1:56:45The request reaches the service, but the
  3359. 1:56:47database call is timing out. I checked
  3360. 1:56:49the logs and the timeout starts right
  3361. 1:56:51after the query runs.
  3362. 1:56:53I haven't changed the database
  3363. 1:56:54configuration. Do you know whether this
  3364. 1:56:56environment has had this issue before?
  3365. 1:56:59Notice that this question gives your
  3366. 1:57:00teammates somewhere to start. They can
  3367. 1:57:03look at the database connection, check
  3368. 1:57:04whether the environment has a known
  3369. 1:57:06issue, or suggest the next investigation
  3370. 1:57:08step.
  3371. 1:57:09You're not asking them to solve a
  3372. 1:57:11mystery with no clues. That's a much
  3373. 1:57:13better question. You've explained what
  3374. 1:57:15you're doing, what you expected, what
  3375. 1:57:18actually happened, and what you've
  3376. 1:57:19already checked. And when someone helps
  3377. 1:57:22you solve the problem, take a moment to
  3378. 1:57:24understand the fix. Write down what
  3379. 1:57:27caused the issue, why the solution
  3380. 1:57:28worked, and how you might recognize the
  3381. 1:57:31same problem next time. Otherwise, you
  3382. 1:57:33risk getting stuck on the exact same
  3383. 1:57:35thing a few weeks later. Experienced
  3384. 1:57:38developers generally don't expect
  3385. 1:57:39beginners to know everything. They do
  3386. 1:57:42expect you to investigate before asking.
  3387. 1:57:44Your first few weeks at a new company
  3388. 1:57:46can feel overwhelming. You'll hear a
  3389. 1:57:49hundred terms you've never seen, and
  3390. 1:57:51you'll understand maybe half of most
  3391. 1:57:53conversations. That's normal. So instead
  3392. 1:57:56of trying to understand everything,
  3393. 1:57:58here's what experienced developers
  3394. 1:58:00actually do in week one.
  3395. 1:58:02First, get the application running on
  3396. 1:58:04your machine, not perfectly, just
  3397. 1:58:06running.
  3398. 1:58:07Clone the repository, follow the README,
  3399. 1:58:10and when the setup steps are out of
  3400. 1:58:11date, and they usually are, write down
  3401. 1:58:14every step that didn't work. Fixing that
  3402. 1:58:16README is often a great first pull
  3403. 1:58:18request.
  3404. 1:58:19Second, find the five places where
  3405. 1:58:22everything happens, where the tickets
  3406. 1:58:24live, where the code lives, where the
  3407. 1:58:26pipeline runs, where the application is
  3408. 1:58:28deployed, and where the logs are.
  3409. 1:58:31If you know those five, you can follow
  3410. 1:58:33almost any conversation on the team.
  3411. 1:58:36Third, watch one change go all the way
  3412. 1:58:38through.
  3413. 1:58:39Pick any teammate's pull request and
  3414. 1:58:41follow it. The review comments, the
  3415. 1:58:43merge, the pipeline, the deployment.
  3416. 1:58:46You'll learn more about your team's real
  3417. 1:58:48workflow from one PR than from any
  3418. 1:58:50onboarding document.
  3419. 1:58:52Fourth, take a small ticket early. A
  3420. 1:58:55typo fix, a log message, a tiny bug.
  3421. 1:58:58The point isn't the ticket. The point is
  3422. 1:59:01going through the whole workflow once,
  3423. 1:59:03end to end, while the stakes are low.
  3424. 1:59:05And fifth, keep a personal glossary.
  3425. 1:59:08Every internal system name, every
  3426. 1:59:10acronym, every oh, that's the service
  3427. 1:59:13that handles payments moment. Write it
  3428. 1:59:15down.
  3429. 1:59:16In a month, that document is the map of
  3430. 1:59:19the system in your head.
  3431. 1:59:20And that's how confidence actually
  3432. 1:59:22develops. Not by knowing everything, by
  3433. 1:59:25gradually needing less context to
  3434. 1:59:27understand what's going on around you.
  3435. 1:59:29That confidence gets tested for real the
  3436. 1:59:31first time something breaks badly enough
  3437. 1:59:33that the whole team notices. Somewhere,
  3438. 1:59:36a customer is staring at an error page
  3439. 1:59:38right now, and your team just found out.
  3440. 1:59:42What happens in the next 10 minutes
  3441. 1:59:43matters more than what happens in the
  3442. 1:59:45next 10 hours.
  3443. 1:59:47Most teams grade how serious a problem
  3444. 1:59:49is using a severity level, often
  3445. 1:59:51shortened to SEV.
  3446. 1:59:53SEV one is the worst. A full outage or
  3447. 1:59:56data loss affecting many customers.
  3448. 1:59:59SEV three or SEV four is a minor issue
  3449. 2:00:02affecting a few people with an easy
  3450. 2:00:04workaround.
  3451. 2:00:05The severity decides how loudly to raise
  3452. 2:00:08the alarm. It decides whether to wake
  3453. 2:00:10people up overnight, and it decides
  3454. 2:00:12whether leadership needs to know
  3455. 2:00:14immediately.
  3456. 2:00:15Getting the severity roughly right
  3457. 2:00:17quickly matters more than getting it
  3458. 2:00:19exactly right.
  3459. 2:00:21A SEV one called in as a SEV three can
  3460. 2:00:24sit ignored while customers suffer.
  3461. 2:00:26The reverse just means someone double
  3462. 2:00:28checks and downgrades it.
  3463. 2:00:30During an active incident, the instinct
  3464. 2:00:32of a new developer is often to
  3465. 2:00:34immediately start trying fixes.
  3466. 2:00:36A more useful first move is almost
  3467. 2:00:38always to communicate.
  3468. 2:00:40Say what you know, say what you don't
  3469. 2:00:42know yet, say what you're checking next.
  3470. 2:00:45Often in a dedicated channel, everyone
  3471. 2:00:47affected can watch.
  3472. 2:00:48This isn't bureaucracy for its own sake.
  3473. 2:00:51An incident with several people quietly
  3474. 2:00:53trying different fixes in isolation is
  3475. 2:00:55slower and more dangerous than one
  3476. 2:00:57person stating clearly, I'm about to
  3477. 2:01:00restart this service before doing it.
  3478. 2:01:03Once the immediate fire is out, most
  3479. 2:01:05teams hold a postmortem, a written
  3480. 2:01:07account of what happened, why, and what
  3481. 2:01:10will change so it's less likely to
  3482. 2:01:11happen again.
  3483. 2:01:13The standard the better ones hold to is
  3484. 2:01:15blameless. The document describes the
  3485. 2:01:17sequence of events and the gaps in the
  3486. 2:01:19system that allowed it, not which person
  3487. 2:01:21to blame.
  3488. 2:01:23This isn't about being nice. A team
  3489. 2:01:25where admitting, I pushed the change
  3490. 2:01:27that caused this leads to blame, is a
  3491. 2:01:29team where people start hiding problems
  3492. 2:01:31instead of reporting them early, which
  3493. 2:01:33makes the next incident worse, not
  3494. 2:01:35better.
  3495. 2:01:36A good postmortem usually separates two
  3496. 2:01:38different questions. The first is what
  3497. 2:01:41happened in plain specific detail.
  3498. 2:01:44The sequence of events, timestamps, the
  3499. 2:01:47exact symptoms.
  3500. 2:01:49The second is what will change. Is there
  3501. 2:01:51a test that should have caught this? A
  3502. 2:01:53check missing from the deploy pipeline?
  3503. 2:01:55An alert that should have fired sooner
  3504. 2:01:57but didn't?
  3505. 2:01:58The second part is where the real value
  3506. 2:02:00is. A postmortem that just describes the
  3507. 2:02:03outage without naming a concrete
  3508. 2:02:05follow-up tends to repeat itself
  3509. 2:02:07eventually. If you're newer on the team,
  3510. 2:02:09you'll often be reading more postmortems
  3511. 2:02:11than writing them at first. Read them
  3512. 2:02:13anyway.
  3513. 2:02:15They're one of the fastest ways to learn
  3514. 2:02:16how a system actually behaves under
  3515. 2:02:18stress instead of how it's supposed to
  3516. 2:02:20behave on a good day.
  3517. 2:02:22A good postmortem is also, quietly, a
  3518. 2:02:25piece of writing.
  3519. 2:02:26And the habits that make it useful apply
  3520. 2:02:28to a lot of what you'll write day to
  3521. 2:02:30day. You finish a feature and three
  3522. 2:02:32weeks later, someone asks you the exact
  3523. 2:02:35question your own commit message could
  3524. 2:02:36have answered, if only you'd written one
  3525. 2:02:39worth reading.
  3526. 2:02:40Most documentation problems aren't about
  3527. 2:02:42writing too little. They're about
  3528. 2:02:44writing in a way nobody comes back to.
  3529. 2:02:47A giant README nobody updates after the
  3530. 2:02:49first month helps nobody.
  3531. 2:02:51A short, specific note placed where
  3532. 2:02:53someone will actually look for it helps
  3533. 2:02:55a lot.
  3534. 2:02:56Start with the README every project
  3535. 2:02:58seems to have and few people maintain.
  3536. 2:03:01At minimum, it should answer three
  3537. 2:03:03questions fast. What is this? How do I
  3538. 2:03:06run it? Where do I go if something's
  3539. 2:03:08broken?
  3540. 2:03:09If a new teammate still has to ask you
  3541. 2:03:11those three questions after reading it,
  3542. 2:03:13the README isn't doing its job yet, no
  3543. 2:03:15matter how long it is.
  3544. 2:03:17For a bigger decision, some teams keep a
  3545. 2:03:19short document often called an ADR, an
  3546. 2:03:22Architecture Decision Record.
  3547. 2:03:24It covers what problem you were solving,
  3548. 2:03:26what options you considered, and why you
  3549. 2:03:28picked the one you did.
  3550. 2:03:30The value isn't really for today. It's
  3551. 2:03:32for the person six months from now,
  3552. 2:03:34possibly you, wondering why on earth it
  3553. 2:03:37was done this way, who would otherwise
  3554. 2:03:39have to guess or ask around.
  3555. 2:03:41Async communication, a message in a
  3556. 2:03:43channel instead of a conversation in
  3557. 2:03:45person, has its own habit worth
  3558. 2:03:47building.
  3559. 2:03:48Say the conclusion first, then the
  3560. 2:03:50reasoning, not the other way around.
  3561. 2:03:53Going with option B, here's why, reads
  3562. 2:03:56in two seconds. A message that opens
  3563. 2:03:58with several paragraphs of context
  3564. 2:04:00before finally landing on the point
  3565. 2:04:02often gets skimmed, misread, or answered
  3566. 2:04:05incorrectly by someone who stopped
  3567. 2:04:06reading halfway through. If someone
  3568. 2:04:09needs to act on what you wrote, make the
  3569. 2:04:11action obvious without requiring them to
  3570. 2:04:13read the whole thing first. The same
  3571. 2:04:15applies to status updates, especially
  3572. 2:04:18during something ongoing.
  3573. 2:04:19Still looking into it, said once with
  3574. 2:04:22silence after, reads very differently
  3575. 2:04:24from the same words repeated every so
  3576. 2:04:26often along with what's been ruled out
  3577. 2:04:28so far. The second version costs you
  3578. 2:04:31almost nothing extra to write and tells
  3579. 2:04:33everyone watching that progress is
  3580. 2:04:35actually happening.
  3581. 2:04:37None of this requires good writing in
  3582. 2:04:38some formal sense. It requires one
  3583. 2:04:41question before you hit send or save.
  3584. 2:04:44If someone read only the first sentence
  3585. 2:04:46of this, would they still know what to
  3586. 2:04:48do next?
  3587. 2:04:49If the answer is no, that sentence needs
  3588. 2:04:52to move to the top. Standups are the
  3589. 2:04:54meeting most people picture when they
  3590. 2:04:55hear Scrum,
  3591. 2:04:57but a team running sprints usually has
  3592. 2:04:59two other recurring meetings that shape
  3593. 2:05:01the work just as much, and new
  3594. 2:05:03developers often walk into both without
  3595. 2:05:05knowing what to expect.
  3596. 2:05:07Sprint planning happens at the start of
  3597. 2:05:09each sprint, a fixed chunk of time,
  3598. 2:05:11often one or two weeks, that the team is
  3599. 2:05:14committing to.
  3600. 2:05:15The team looks at the backlog, the pile
  3601. 2:05:17of tickets waiting to be worked on, and
  3602. 2:05:19decides what fits into this sprint.
  3603. 2:05:22For each ticket, someone explains what
  3604. 2:05:24it involves, and the team estimates how
  3605. 2:05:26much effort it takes, often in story
  3606. 2:05:28points rather than hours.
  3607. 2:05:30This is where you'll hear a ticket
  3608. 2:05:32argued over for 10 minutes, not because
  3609. 2:05:34the task is hard, but because nobody's
  3610. 2:05:36sure yet what done actually means for
  3611. 2:05:39it.
  3612. 2:05:40Planning goes better when tickets are
  3613. 2:05:41specific.
  3614. 2:05:42Fix the login page invites that
  3615. 2:05:44confusion.
  3616. 2:05:46Fix the login page so it shows an error
  3617. 2:05:48message when the password is wrong,
  3618. 2:05:50doesn't.
  3619. 2:05:51A retro, short for retrospective,
  3620. 2:05:53happens at the end of the sprint after
  3621. 2:05:55the work is done.
  3622. 2:05:57It isn't about reviewing the product,
  3623. 2:05:59it's about reviewing how the team
  3624. 2:06:00worked.
  3625. 2:06:02A common format asks three questions.
  3626. 2:06:04What went well? What didn't?
  3627. 2:06:07What should we change going forward?
  3628. 2:06:09A flaky test that wasted a day, a ticket
  3629. 2:06:12that turned out way bigger than
  3630. 2:06:13estimated, a deployment that went
  3631. 2:06:15smoothly for once. All of that is retro
  3632. 2:06:17material.
  3633. 2:06:19The part that makes retros actually
  3634. 2:06:20useful is psychological safety, the
  3635. 2:06:23sense that you can say, I underestimated
  3636. 2:06:25this, or that process didn't work
  3637. 2:06:28without it being held against you.
  3638. 2:06:30A retro where nobody says anything
  3639. 2:06:32honest just produces the same problems
  3640. 2:06:34again next sprint.
  3641. 2:06:36So if you're new to a team and planning
  3642. 2:06:38feels like arguing over tickets and
  3643. 2:06:41retro feels like complaining with
  3644. 2:06:42structure, that's normal.
  3645. 2:06:45Both are the team's way of getting a
  3646. 2:06:46little better at predicting and working
  3647. 2:06:48together,
  3648. 2:06:49sprint at a time. A service has been
  3649. 2:06:51quietly failing for 20 minutes before
  3650. 2:06:54anyone notices, not because it crashed,
  3651. 2:06:57but because one in every 20 requests was
  3652. 2:06:59returning an error and nobody was
  3653. 2:07:01watching that number.
  3654. 2:07:03The service looked up. It just wasn't
  3655. 2:07:05fully working.
  3656. 2:07:07This is the gap that monitoring exists
  3657. 2:07:09to close.
  3658. 2:07:11Shipping code and watching it work are
  3659. 2:07:13two different skills, and a team that's
  3660. 2:07:15good at the first but blind to the
  3661. 2:07:17second finds out about problems from
  3662. 2:07:19angry users instead of from their own
  3663. 2:07:21tools.
  3664. 2:07:23At its simplest, monitoring means
  3665. 2:07:24collecting numbers about a running
  3666. 2:07:26system over time.
  3667. 2:07:28The most common ones are error rate, how
  3668. 2:07:30often requests fail, latency, how long
  3669. 2:07:33requests take to come back, and traffic,
  3670. 2:07:36how many requests are coming in at all.
  3671. 2:07:39A dashboard turns those numbers into a
  3672. 2:07:41graph you can glance at instead of a
  3673. 2:07:43wall of log lines you'd have to read one
  3674. 2:07:45by one.
  3675. 2:07:46An alert is a rule that watches one of
  3676. 2:07:48those graphs and notifies someone when
  3677. 2:07:50it crosses a line that matters, error
  3678. 2:07:53rate above a certain percentage or
  3679. 2:07:55latency above a certain number of
  3680. 2:07:56seconds.
  3681. 2:07:57Good alerts are specific enough to act
  3682. 2:07:59on.
  3683. 2:08:00A vague alert that fires constantly for
  3684. 2:08:02things nobody needs to act on trains
  3685. 2:08:05people to ignore it, which means the one
  3686. 2:08:07time it matters it gets ignored, too.
  3687. 2:08:10Monitoring is different from the
  3688. 2:08:11incident response you may have heard
  3689. 2:08:13about elsewhere.
  3690. 2:08:14Incident response is what happens after
  3691. 2:08:16something is clearly broken and everyone
  3692. 2:08:19knows it.
  3693. 2:08:20Monitoring is what catches the problem
  3694. 2:08:22quietly, often before users notice,
  3695. 2:08:24sometimes before it becomes an incident
  3696. 2:08:26at all.
  3697. 2:08:27You don't need to build any of this
  3698. 2:08:29yourself as a junior developer,
  3699. 2:08:31but you will be expected to glance at a
  3700. 2:08:33dashboard before and after you deploy
  3701. 2:08:35something and to know that a quiet
  3702. 2:08:37dashboard is a good sign, not a boring
  3703. 2:08:40one. Let's recap module nine. A normal
  3704. 2:08:43day is a mix of coding, reading,
  3705. 2:08:46meetings, and questions.
  3706. 2:08:48You learned what those meetings are for
  3707. 2:08:49and how teams in different time zones
  3708. 2:08:51keep work moving by writing clearly the
  3709. 2:08:54first time.
  3710. 2:08:55And you saw how much of the job is
  3711. 2:08:57looking after software that already
  3712. 2:08:59exists.
  3713. 2:09:00Then came the bad days. When production
  3714. 2:09:03breaks, you find out the impact first,
  3715. 2:09:05and you tell people what you're doing
  3716. 2:09:07before you try a fix.
  3717. 2:09:09For a new developer, on call usually
  3718. 2:09:11means checking the alert and bringing in
  3719. 2:09:13the right person if it's too big to
  3720. 2:09:15handle safely.
  3721. 2:09:16A blameless post mortem turns a failure
  3722. 2:09:19into real changes, and good monitoring
  3723. 2:09:21can catch trouble before customers do.
  3724. 2:09:24For your own start, you now have an
  3725. 2:09:26order to follow before asking for help.
  3726. 2:09:28You also have five things to do in your
  3727. 2:09:30first weeks, and you can write notes and
  3728. 2:09:33updates that put the point first.
  3729. 2:09:35That covers the work itself. Module 10
  3730. 2:09:38is about your place in all of this.
  3731. 2:09:40Welcome to module 10, the last
  3732. 2:09:42[clears throat] one.
  3733. 2:09:43It's about everything around the work.
  3734. 2:09:46That means the company you join, the
  3735. 2:09:48people you work with, and where all of
  3736. 2:09:50it can take you.
  3737. 2:09:52We'll start before you're even hired.
  3738. 2:09:54You'll see the kinds of companies out
  3739. 2:09:55there, the roles on a team, and what a
  3740. 2:09:58company really expects from a junior.
  3741. 2:10:01From there, we get to the harder side of
  3742. 2:10:03working with people.
  3743. 2:10:04Someone will reject your work. Someone
  3744. 2:10:06else will want it sooner than you can
  3745. 2:10:08safely ship it. And some days, you'll
  3746. 2:10:10get one more task when you're already
  3747. 2:10:12too busy.
  3748. 2:10:14You'll know what to say when that
  3749. 2:10:15happens.
  3750. 2:10:16After that, the focus moves to your own
  3751. 2:10:18growth. You'll see how to make sure your
  3752. 2:10:20work gets noticed and how to use your
  3753. 2:10:22time with your manager well. You'll
  3754. 2:10:25learn to talk with people who don't
  3755. 2:10:26write code, and you'll see where you fit
  3756. 2:10:28in the company and how to find someone
  3757. 2:10:30who can guide you.
  3758. 2:10:32By the end of this module, you'll know
  3759. 2:10:33how to handle the people side of the
  3760. 2:10:35job. You'll also know how to look after
  3761. 2:10:37your own growth.
  3762. 2:10:39Let's begin with the choice you'll run
  3763. 2:10:40into as as as you start applying. One
  3764. 2:10:43thing you'll hear a lot when you start
  3765. 2:10:44looking for IT jobs is product company
  3766. 2:10:47versus service company.
  3767. 2:10:50A product company builds and operates
  3768. 2:10:52its own software product, a banking
  3769. 2:10:54platform, an e-commerce app, a developer
  3770. 2:10:57tool, a SaaS product.
  3771. 2:10:59The team is usually focused on improving
  3772. 2:11:01and maintaining that one product over
  3773. 2:11:03time.
  3774. 2:11:04For example, imagine a company that
  3775. 2:11:06builds a project management tool used by
  3776. 2:11:09thousands of businesses.
  3777. 2:11:10Its developers might spend months
  3778. 2:11:12improving the same product, adding
  3779. 2:11:14features, fixing bugs, and responding to
  3780. 2:11:17customer feedback.
  3781. 2:11:18Over time, they get to understand the
  3782. 2:11:21product and its architecture in
  3783. 2:11:22considerable depth.
  3784. 2:11:24A service company works differently. It
  3785. 2:11:27provides technology services to clients.
  3786. 2:11:30So you might work on a banking project
  3787. 2:11:32for one client and a retail project for
  3788. 2:11:34another right after.
  3789. 2:11:36That can mean jumping between different
  3790. 2:11:37technologies, industries, and project
  3791. 2:11:40environments.
  3792. 2:11:41Imagine you're working for a service
  3793. 2:11:43company and your client is a bank. You
  3794. 2:11:45might help build an API, migrate data to
  3795. 2:11:48the cloud, or maintain an existing
  3796. 2:11:50application.
  3797. 2:11:51If the project ends and you're assigned
  3798. 2:11:53to a retail client, you could find
  3799. 2:11:55yourself working with a completely
  3800. 2:11:57different technology stack and business
  3801. 2:11:59domain.
  3802. 2:12:00That variety can be a valuable learning
  3803. 2:12:02experience, especially early in your
  3804. 2:12:04career.
  3805. 2:12:05But don't oversimplify this into product
  3806. 2:12:07is good, service is bad.
  3807. 2:12:09That's not how the real world works.
  3808. 2:12:12A great team in a service company can
  3809. 2:12:14give you more practical experience than
  3810. 2:12:16a poorly managed product team.
  3811. 2:12:18There's also some overlap between the
  3812. 2:12:20two.
  3813. 2:12:21Product companies hire consultants and
  3814. 2:12:22external teams, while service companies
  3815. 2:12:25sometimes build and maintain systems for
  3816. 2:12:27the same client for many years.
  3817. 2:12:29The actual work can matter more than the
  3818. 2:12:32category the company falls into.
  3819. 2:12:34What actually matters is what you'll be
  3820. 2:12:36working on day to day, what technology
  3821. 2:12:39you'll use, whether you'll touch real
  3822. 2:12:41production systems, whether you'll
  3823. 2:12:43actually get code reviews, whether there
  3824. 2:12:45are experienced people around you, and
  3825. 2:12:47whether you'll own work that matters.
  3826. 2:12:50Those questions tell you a lot more than
  3827. 2:12:52the label on the company.
  3828. 2:12:54And your first job doesn't lock you into
  3829. 2:12:55one path. You can start in one type of
  3830. 2:12:58company, build real experience, and move
  3831. 2:13:00later. Another thing beginners often
  3832. 2:13:03struggle with is understanding all the
  3833. 2:13:05different roles inside an IT team.
  3834. 2:13:07You'll hear titles like software
  3835. 2:13:09developer, front end developer, back end
  3836. 2:13:12developer, data engineer, data analyst,
  3837. 2:13:15DevOps engineer, cloud engineer, QA
  3838. 2:13:18engineer, security engineer, product
  3839. 2:13:20manager, and plenty more.
  3840. 2:13:23These roles overlap at some companies,
  3841. 2:13:25but they generally focus on different
  3842. 2:13:27parts of the system.
  3843. 2:13:29A front end developer focuses heavily on
  3844. 2:13:31what users actually interact with.
  3845. 2:13:33A back end developer works more with
  3846. 2:13:35APIs, business logic, databases, and
  3847. 2:13:38services.
  3848. 2:13:40A data engineer builds the systems that
  3849. 2:13:41collect, transform, move, and prepare
  3850. 2:13:44data.
  3851. 2:13:46A DevOps or platform engineer usually
  3852. 2:13:48focuses on infrastructure, deployment,
  3853. 2:13:51automation, and reliability.
  3854. 2:13:53And a QA engineer focuses on validating
  3855. 2:13:56software and catching problems before
  3856. 2:13:58users ever see them.
  3857. 2:14:00Let's take an online shopping
  3858. 2:14:02application as an example.
  3859. 2:14:04The front end developer builds the
  3860. 2:14:05product pages and shopping cart that
  3861. 2:14:07customers see.
  3862. 2:14:08The back end developer handles things
  3863. 2:14:10like orders, payments, and customer
  3864. 2:14:12accounts.
  3865. 2:14:13The data engineer makes sure sales and
  3866. 2:14:15customer data flows into systems where
  3867. 2:14:17it can be analyzed, while the QA
  3868. 2:14:20engineer tests whether the checkout
  3869. 2:14:21process works correctly, including
  3870. 2:14:23situations where a payment fails.
  3871. 2:14:26Meanwhile, the cloud or platform
  3872. 2:14:28engineer helps keep the application
  3873. 2:14:30running in the right environment,
  3874. 2:14:32manages deployment pipelines, and makes
  3875. 2:14:34sure the infrastructure can handle the
  3876. 2:14:36workload.
  3877. 2:14:37The security engineer looks for
  3878. 2:14:38vulnerabilities and helps protect
  3879. 2:14:40customer information.
  3880. 2:14:42Each role contributes to making the same
  3881. 2:14:44application work reliably and safely.
  3882. 2:14:48Then there are roles outside direct
  3883. 2:14:49development entirely. Product managers
  3884. 2:14:52who think about what should be built and
  3885. 2:14:54why, designers who shape the user
  3886. 2:14:56experience, and project or delivery
  3887. 2:14:58people who help coordinate the work.
  3888. 2:15:01For example, before a team builds a new
  3889. 2:15:03checkout feature, the product manager
  3890. 2:15:05might define the customer problem. The
  3891. 2:15:08designer works out how the experience
  3892. 2:15:10should look, and the developers figure
  3893. 2:15:12out how to implement it.
  3894. 2:15:13The QA engineer validates the finished
  3895. 2:15:15feature, while other team members help
  3896. 2:15:17make sure it can be deployed and
  3897. 2:15:19operated reliably.
  3898. 2:15:21These people are solving different parts
  3899. 2:15:23of the same problem.
  3900. 2:15:25The important thing is that real
  3901. 2:15:27software is rarely built by one person.
  3902. 2:15:30A production application is usually the
  3903. 2:15:32result of a lot of different roles
  3904. 2:15:34working together.
  3905. 2:15:35So when you join a company, don't only
  3906. 2:15:37learn who writes code, learn who does
  3907. 2:15:40what. That makes the entire system much
  3908. 2:15:43easier to understand. A common mistake
  3909. 2:15:45beginners make is thinking companies
  3910. 2:15:47expect a junior developer to know
  3911. 2:15:49everything. Usually, they don't.
  3912. 2:15:52Nobody expects you to know every
  3913. 2:15:54framework, every cloud service, or every
  3914. 2:15:57internal tool on your first day.
  3915. 2:15:59What companies actually need from a
  3916. 2:16:01junior is much more basic.
  3917. 2:16:03Can you understand a requirement, read
  3918. 2:16:05existing code, and solve a reasonably
  3919. 2:16:07scoped problem? Can you test your own
  3920. 2:16:10work? Speak up clearly when you're
  3921. 2:16:12blocked? Pick up something you've never
  3922. 2:16:13seen before and take feedback without
  3923. 2:16:16getting defensive about it?
  3924. 2:16:18Think about it from the team's
  3925. 2:16:19perspective.
  3926. 2:16:20A senior developer can teach you how
  3927. 2:16:22their application works or help you
  3928. 2:16:24understand a new technology, but they
  3929. 2:16:26need to be able to trust that you'll ask
  3930. 2:16:28when something is unclear, check your
  3931. 2:16:30work before handing it over, and tell
  3932. 2:16:32them honestly when something goes wrong.
  3933. 2:16:35Those things matter a lot more than they
  3934. 2:16:36sound.
  3935. 2:16:37You might not know how the company's
  3936. 2:16:39deployment system works. That's okay.
  3937. 2:16:41You can learn it.
  3938. 2:16:43But if you don't ask questions, don't
  3939. 2:16:45test your changes, don't communicate
  3940. 2:16:47problems, and can't take feedback, all
  3941. 2:16:49the technical knowledge in the won't fix
  3942. 2:16:51that.
  3943. 2:16:52And remember, nobody expects you to
  3944. 2:16:54learn everything overnight.
  3945. 2:16:56You might make mistakes, misunderstand a
  3946. 2:16:58requirement or need help with something
  3947. 2:17:01that seems obvious to everyone else.
  3948. 2:17:03What matters is whether you learn from
  3949. 2:17:05those experiences and gradually become
  3950. 2:17:07more confident working independently.
  3951. 2:17:10So when preparing for your first job,
  3952. 2:17:12don't focus only on collecting
  3953. 2:17:13technologies. Build the ability to learn
  3954. 2:17:16and work inside an existing system.
  3955. 2:17:19That's much closer to what your first
  3956. 2:17:20year will actually require.
  3957. 2:17:22And part of working inside a system is
  3958. 2:17:25working with people who don't always
  3959. 2:17:26agree with you.
  3960. 2:17:28Let's talk about that. Here's a moment
  3961. 2:17:29nobody warns you about.
  3962. 2:17:31You finish your ticket, you're proud of
  3963. 2:17:33it, and the Q&A engineer moves it
  3964. 2:17:35straight back to in progress with a
  3965. 2:17:37note, fails when the email has uppercase
  3966. 2:17:40letters.
  3967. 2:17:41Your first reaction is going to be a
  3968. 2:17:43little sting. That's human.
  3969. 2:17:45Here's the thing to understand.
  3970. 2:17:47Q&A rejecting your ticket is not Q&A
  3971. 2:17:50rejecting you. It's the system working
  3972. 2:17:53exactly as designed. That bug was going
  3973. 2:17:55to be found by somebody. Better a
  3974. 2:17:57teammate on Tuesday than a customer on
  3975. 2:18:00Saturday.
  3976. 2:18:01So what do you do?
  3977. 2:18:02You say, good catch. You reproduce it,
  3978. 2:18:05you fix it, and you add the uppercase
  3979. 2:18:07case to your tests so it never comes
  3980. 2:18:09back. That's it.
  3981. 2:18:11The developers who get respected fast
  3982. 2:18:13are not the ones who never get bugs.
  3983. 2:18:15They're the ones who handle them without
  3984. 2:18:17drama.
  3985. 2:18:18Now the other direction.
  3986. 2:18:20A product manager pings you. Can we just
  3987. 2:18:22ship the registration change today? The
  3988. 2:18:24marketing campaign starts tomorrow.
  3989. 2:18:26Your code review isn't done. The staging
  3990. 2:18:28tests haven't run. You're new. You want
  3991. 2:18:31to be helpful, and just ship it sounds
  3992. 2:18:34like being helpful.
  3993. 2:18:35It isn't.
  3994. 2:18:36Here's a better answer, and you can use
  3995. 2:18:38it word for word.
  3996. 2:18:40I can't skip the review and staging run
  3997. 2:18:42safely. What I can do is get it into
  3998. 2:18:44review right now and flag it as urgent.
  3999. 2:18:47If it passes, it can go out this
  4000. 2:18:49afternoon. If we skip those steps and it
  4001. 2:18:51breaks registration during the campaign,
  4002. 2:18:53that's a worse day for everyone.
  4003. 2:18:56Notice what that does. It doesn't say
  4004. 2:18:58no. It says what's possible, what the
  4005. 2:19:01risk is, and puts the decision where it
  4006. 2:19:03belongs,
  4007. 2:19:04which brings us to the most important
  4008. 2:19:06rule for a junior.
  4009. 2:19:08Decisions like that don't happen in a
  4010. 2:19:09private chat. They happen on the ticket
  4011. 2:19:12or in the team channel where your lead
  4012. 2:19:14can see them.
  4013. 2:19:15If the product manager still wants to
  4014. 2:19:17skip steps, that's a call for your lead
  4015. 2:19:19to make, not you.
  4016. 2:19:21Escalating isn't tattling. It's how the
  4017. 2:19:23team protects both the product and you.
  4018. 2:19:26And one more.
  4019. 2:19:28Sometimes a senior developer will push
  4020. 2:19:30back on your approach in code review,
  4021. 2:19:32and you'll be sure you're right.
  4022. 2:19:33Ask why, genuinely. Most of the time
  4023. 2:19:37there's a reason you haven't seen yet,
  4024. 2:19:39an old incident, a system you didn't
  4025. 2:19:40know about. Occasionally you'll actually
  4026. 2:19:43be right, and saying, here's what I was
  4027. 2:19:45thinking, does that change anything? Is
  4028. 2:19:47how you find out.
  4029. 2:19:49Disagreement is a normal part of
  4030. 2:19:50building software with other people.
  4031. 2:19:53Handle it calmly, keep it visible, and
  4032. 2:19:55it turns into trust faster than anything
  4033. 2:19:57else you can do. Here's something nobody
  4034. 2:20:00puts in a job posting. Even on a healthy
  4035. 2:20:02team, people have different incentives,
  4036. 2:20:05different priorities, and sometimes
  4037. 2:20:07different opinions about who should get
  4038. 2:20:08credit for what.
  4039. 2:20:10That's not necessarily a toxic
  4040. 2:20:12workplace. That's just what happens
  4041. 2:20:14whenever more than a few people work
  4042. 2:20:15together.
  4043. 2:20:17The question isn't how to avoid this
  4044. 2:20:18entirely, it's how to move through it
  4045. 2:20:21without damaging your own reputation in
  4046. 2:20:22the process.
  4047. 2:20:24The most reliable protection you have is
  4048. 2:20:26keeping decisions and disagreements
  4049. 2:20:28visible instead of private.
  4050. 2:20:30If a disagreement with a teammate
  4051. 2:20:32happens in a side conversation, it can
  4052. 2:20:34quietly turn into two different stories
  4053. 2:20:36later.
  4054. 2:20:37If it happens on the ticket, in the pull
  4055. 2:20:39request, or in the team channel,
  4056. 2:20:41everyone can see what was actually said
  4057. 2:20:43and agreed to.
  4058. 2:20:44This isn't about distrust. It's just a
  4059. 2:20:47habit that protects everyone, including
  4060. 2:20:49you.
  4061. 2:20:50For example, suppose you suggest one
  4062. 2:20:52approach to solving a problem, but
  4063. 2:20:54another developer recommends something
  4064. 2:20:56different.
  4065. 2:20:57Instead of turning it into a personal
  4066. 2:20:58argument, explain your reasoning, listen
  4067. 2:21:01to theirs, and document the final
  4068. 2:21:03decision.
  4069. 2:21:04If the team chooses their approach,
  4070. 2:21:06support that decision and move forward.
  4071. 2:21:08You don't have to win the argument to
  4072. 2:21:10contribute something valuable.
  4073. 2:21:12The second habit is simple, but easy to
  4074. 2:21:14forget under pressure.
  4075. 2:21:16Don't vent about a coworker to other
  4076. 2:21:18coworkers.
  4077. 2:21:20It feels satisfying in the moment, and
  4078. 2:21:22it almost always comes back around.
  4079. 2:21:25If someone's work or behavior is
  4080. 2:21:26genuinely a problem, that's a
  4081. 2:21:28conversation for your manager, calmly
  4082. 2:21:31and factually, not a conversation for
  4083. 2:21:33the group chat.
  4084. 2:21:34And when you raise a concern, focus on
  4085. 2:21:36specific behavior and its impact rather
  4086. 2:21:39than making assumptions about someone's
  4087. 2:21:41intentions.
  4088. 2:21:42Saying that a missed handover delayed
  4089. 2:21:44your work gives your manager something
  4090. 2:21:46concrete to address. Saying that someone
  4091. 2:21:48is lazy or doesn't care turns the
  4092. 2:21:51conversation into a judgment about their
  4093. 2:21:53character.
  4094. 2:21:54And the third habit is the one that
  4095. 2:21:56actually builds a good reputation over
  4096. 2:21:58time, not through impressing people, but
  4097. 2:22:00through being consistently easy to work
  4098. 2:22:02with,
  4099. 2:22:03following through on what you say you'll
  4100. 2:22:05do,
  4101. 2:22:06giving credit to people who helped you,
  4102. 2:22:09helping a teammate without immediately
  4103. 2:22:10expecting something back.
  4104. 2:22:12None of this is about being naive. It's
  4105. 2:22:15that a reputation for being
  4106. 2:22:16straightforward and reliable tends to
  4107. 2:22:18open more doors than any amount of
  4108. 2:22:20self-promotion.
  4109. 2:22:22That doesn't mean you should quietly
  4110. 2:22:23accept everything or take responsibility
  4111. 2:22:26for problems that aren't yours. You can
  4112. 2:22:28disagree respectfully, set boundaries,
  4113. 2:22:31and speak up when something is unfair.
  4114. 2:22:33Being professional means handling those
  4115. 2:22:35situations constructively, not
  4116. 2:22:37pretending they don't exist.
  4117. 2:22:39You don't need to win every disagreement
  4118. 2:22:41or be liked by everyone.
  4119. 2:22:43You need to be someone people trust to
  4120. 2:22:45act the same way whether or not they're
  4121. 2:22:47in the room.
  4122. 2:22:48Staying professional through moments
  4123. 2:22:49like this is one part of protecting your
  4124. 2:22:52reputation.
  4125. 2:22:53The other part is protecting your time,
  4126. 2:22:55which is its own skill entirely. At some
  4127. 2:22:58point, someone is going to hand you a
  4128. 2:23:00new task while you're already juggling
  4129. 2:23:02two others, and every instinct you have
  4130. 2:23:04will want to say yes anyway.
  4131. 2:23:06As a beginner, saying yes to everything
  4132. 2:23:09can feel like the safe choice. Often,
  4133. 2:23:12it's actually the choice that causes the
  4134. 2:23:13most damage later.
  4135. 2:23:15Here's why. If you quietly take on more
  4136. 2:23:18than you can realistically finish, one
  4137. 2:23:20of two things happens. Something slips
  4138. 2:23:22through with less attention than it
  4139. 2:23:24deserved, or you end up working long
  4140. 2:23:26hours just to keep up.
  4141. 2:23:28Neither one is sustainable, and neither
  4142. 2:23:31one is actually what a good manager
  4143. 2:23:32wants from you, even if it feels like
  4144. 2:23:34the helpful answer in the moment.
  4145. 2:23:37And there's another problem with
  4146. 2:23:38constantly saying yes. Your manager
  4147. 2:23:40might assume your workload is manageable
  4148. 2:23:42because you're never raising any
  4149. 2:23:44concerns.
  4150. 2:23:45By the time a deadline slips or the
  4151. 2:23:47quality of your work starts to suffer,
  4152. 2:23:49the problem has already become much
  4153. 2:23:51harder to fix.
  4154. 2:23:52The skill isn't refusing work. It's
  4155. 2:23:55making the trade-off visible instead of
  4156. 2:23:57invisible.
  4157. 2:23:58Something like, I'm currently finishing
  4158. 2:24:00the payment ticket and reviewing a
  4159. 2:24:02teammate's pull request. I can start
  4160. 2:24:04this new one today, but the payment
  4161. 2:24:06ticket would slip to tomorrow. Which
  4162. 2:24:08would you like me to prioritize?
  4163. 2:24:10That's not saying no. It's handing the
  4164. 2:24:12actual decision to the person who has
  4165. 2:24:14the full picture instead of silently
  4166. 2:24:16overcommitting and hoping it works out.
  4167. 2:24:19This is especially important when you're
  4168. 2:24:20new because you might not yet know how
  4169. 2:24:22long a task will take.
  4170. 2:24:24If you discover that something is more
  4171. 2:24:26complicated than expected, communicate
  4172. 2:24:28that early.
  4173. 2:24:30You don't need to have the perfect
  4174. 2:24:31solution or a new deadline ready. Just
  4175. 2:24:33explain what you found, what remains,
  4176. 2:24:36and where you need help.
  4177. 2:24:37The same idea applies to your time
  4178. 2:24:39outside of work hours.
  4179. 2:24:41Occasionally, something urgent genuinely
  4180. 2:24:43can't wait. But if every evening or
  4181. 2:24:46weekend starts to feel like an
  4182. 2:24:47emergency, that's not a personal failing
  4183. 2:24:50to push through quietly. It's a signal
  4184. 2:24:52worth raising with your manager because
  4185. 2:24:54it usually means something in the
  4186. 2:24:55workload or the process needs to change.
  4187. 2:24:59Of course, different teams have
  4188. 2:25:00different expectations, and some roles
  4189. 2:25:03do involve occasional after hours
  4190. 2:25:04support.
  4191. 2:25:05The important distinction is between an
  4192. 2:25:07agreed responsibility that you can plan
  4193. 2:25:09for and a constant pattern of unexpected
  4194. 2:25:12work that leaves you unable to switch
  4195. 2:25:14off.
  4196. 2:25:15Protecting your time isn't about doing
  4197. 2:25:17less. It's about making sure the person
  4198. 2:25:19deciding what gets prioritized actually
  4199. 2:25:22has accurate information to decide with.
  4200. 2:25:25And all of this, the workload, the push
  4201. 2:25:27back, the politics feeds into a bigger
  4202. 2:25:30question we're thinking about early.
  4203. 2:25:33Where do you actually want this career
  4204. 2:25:34to go? Your career probably won't go
  4205. 2:25:37exactly according to the plan you have
  4206. 2:25:39right now. You might start as a
  4207. 2:25:41developer and move into cloud. You might
  4208. 2:25:43start in testing and end up in
  4209. 2:25:45automation. You might begin with one
  4210. 2:25:47programming language and spend most of
  4211. 2:25:49your career using a completely different
  4212. 2:25:51one.
  4213. 2:25:52You might discover you actually enjoy
  4214. 2:25:53working with data more than building
  4215. 2:25:55applications or that you like
  4216. 2:25:57infrastructure more than writing
  4217. 2:25:58application code.
  4218. 2:26:00And sometimes the change happens because
  4219. 2:26:02of a project you never expected to work
  4220. 2:26:04on.
  4221. 2:26:05You might get assigned to a cloud
  4222. 2:26:06migration, start learning how the
  4223. 2:26:08infrastructure works, and discover
  4224. 2:26:09that's the part of the job you enjoy
  4225. 2:26:11most.
  4226. 2:26:12You don't have to figure out your entire
  4227. 2:26:14career before you start working. That's
  4228. 2:26:16normal.
  4229. 2:26:17Technology changes, companies change,
  4230. 2:26:20your own interests change, and your
  4231. 2:26:22career changes right along with them.
  4232. 2:26:24The useful thing to build early isn't an
  4233. 2:26:27attachment to one particular technology.
  4234. 2:26:29It's a strong foundation.
  4235. 2:26:31Programming, databases, networking, Git,
  4236. 2:26:35cloud concepts, debugging, system
  4237. 2:26:37thinking, and communication.
  4238. 2:26:40Once those fundamentals are solid,
  4239. 2:26:42picking up a new tool becomes far
  4240. 2:26:44easier.
  4241. 2:26:45Think about it this way. If you
  4242. 2:26:47understand databases, learning a new
  4243. 2:26:49database platform becomes much easier
  4244. 2:26:51because the underlying concepts are
  4245. 2:26:53familiar.
  4246. 2:26:54If you understand networking, a new
  4247. 2:26:56cloud provider's networking services
  4248. 2:26:58won't feel completely foreign.
  4249. 2:27:00You're learning a different
  4250. 2:27:00implementation of concepts you already
  4251. 2:27:02understand.
  4252. 2:27:04A framework can fall out of fashion, a
  4253. 2:27:06cloud service can get replaced, a
  4254. 2:27:08programming language can rise or fall in
  4255. 2:27:11popularity, but the ability to learn
  4256. 2:27:13quickly and solve problems stays useful
  4257. 2:27:16no matter what changes around it.
  4258. 2:27:18This is also why you shouldn't feel
  4259. 2:27:19pressured to learn every new technology
  4260. 2:27:22the moment it appears.
  4261. 2:27:23Pay attention to what's relevant to your
  4262. 2:27:25role, build depth in the areas you use,
  4263. 2:27:28and explore new tools when there's a
  4264. 2:27:30genuine reason to.
  4265. 2:27:31Understanding a few things well is often
  4266. 2:27:34more valuable than knowing a little
  4267. 2:27:36about everything.
  4268. 2:27:37And since we just talked about logging
  4269. 2:27:39your work, it's worth saying plainly,
  4270. 2:27:42genuine career growth usually isn't the
  4271. 2:27:44result of politics or self-promotion.
  4272. 2:27:47It's the compounding effect of
  4273. 2:27:48consistently delivering, taking
  4274. 2:27:50ownership of problems beyond just your
  4275. 2:27:52assigned ticket, and being someone
  4276. 2:27:54people can rely on. Visibility matters,
  4277. 2:27:57which is exactly why that habit of
  4278. 2:27:59logging your own work matters, but
  4279. 2:28:02visibility only helps you if there's
  4280. 2:28:04real substance underneath it.
  4281. 2:28:06Growth that isn't built on that
  4282. 2:28:07foundation tends to be short-lived.
  4283. 2:28:10Building that kind of foundation is one
  4284. 2:28:12thing, making sure anyone actually
  4285. 2:28:14notices it is another.
  4286. 2:28:16Here's something that surprises a lot of
  4287. 2:28:18first-year developers. Your manager does
  4288. 2:28:21not remember most of what you did 6
  4289. 2:28:23months ago.
  4290. 2:28:24Not because they don't care, but because
  4291. 2:28:26they're tracking an entire team, not
  4292. 2:28:28just you. When appraisal season comes
  4293. 2:28:30around, they're often reconstructing
  4294. 2:28:32your year from memory, a few Jira
  4295. 2:28:34tickets, and whatever you tell them.
  4296. 2:28:37If you don't tell them, that work
  4297. 2:28:39quietly disappears from the story.
  4298. 2:28:41The fix is a habit, not a personality
  4299. 2:28:44trait.
  4300. 2:28:45Once a week, write two or three lines
  4301. 2:28:47for yourself, what you shipped, what
  4302. 2:28:49problem it actually solved, and anything
  4303. 2:28:52notable, a teammate you helped unblock,
  4304. 2:28:54a bug you caught before it reached
  4305. 2:28:56customers, a process you improved.
  4306. 2:28:58It doesn't need to be polished, it just
  4307. 2:29:00needs to exist somewhere outside your
  4308. 2:29:02own memory.
  4309. 2:29:04For example, instead of writing worked
  4310. 2:29:06on the payment API, record that you
  4311. 2:29:09fixed a timeout issue that was causing
  4312. 2:29:11payment requests to fail intermittently.
  4313. 2:29:13The second version captures the actual
  4314. 2:29:15impact of your work, and six months
  4315. 2:29:18later, you'll remember much more clearly
  4316. 2:29:20what you contributed and why it
  4317. 2:29:21mattered.
  4318. 2:29:23This isn't self-promotion in the pushy
  4319. 2:29:25sense.
  4320. 2:29:26Your manager is very likely advocating
  4321. 2:29:28for you in rooms you're not in, deciding
  4322. 2:29:30on raises, promotions, or new
  4323. 2:29:32opportunities, often based on incomplete
  4324. 2:29:35information.
  4325. 2:29:36Giving them an accurate, specific record
  4326. 2:29:38of your impact isn't political
  4327. 2:29:39maneuvering. It's making sure the person
  4328. 2:29:42representing you actually has the facts.
  4329. 2:29:45When appraisal time comes, that running
  4330. 2:29:47log turns into your self-review almost
  4331. 2:29:49automatically. Specific, honest, and
  4332. 2:29:52grounded in things that actually
  4333. 2:29:54happened, instead of a vague attempt to
  4334. 2:29:56remember your whole year in one sitting.
  4335. 2:29:59It can also help you spot patterns in
  4336. 2:30:00your own development.
  4337. 2:30:02You might notice that you're taking on
  4338. 2:30:03more complex tasks, helping teammates
  4339. 2:30:06more often, or becoming the person
  4340. 2:30:08people approach for a particular area of
  4341. 2:30:09the system.
  4342. 2:30:11Those patterns can help you identify
  4343. 2:30:13what you're getting better at and where
  4344. 2:30:14you want to grow next.
  4345. 2:30:16Genuine growth in your career tends to
  4346. 2:30:18come from this same place. Consistent,
  4347. 2:30:21visible impact over time, not from
  4348. 2:30:24politics and not from constantly
  4349. 2:30:26promoting yourself in the moment.
  4350. 2:30:28The log is just what makes sure that
  4351. 2:30:30consistency doesn't get forgotten.
  4352. 2:30:32And that log doesn't have to wait for
  4353. 2:30:34appraisal season to be useful. There's a
  4354. 2:30:36much more regular place it belongs, your
  4355. 2:30:39one-on-ones. At some point, your manager
  4356. 2:30:42will start scheduling a recurring
  4357. 2:30:43one-on-ones, usually 15 to 30 minutes,
  4358. 2:30:46just the two of you.
  4359. 2:30:48A lot of juniors treat this as a status
  4360. 2:30:50update. Here's what I've been working
  4361. 2:30:51on, and leave most of the value on the
  4362. 2:30:54table.
  4363. 2:30:55A one-on-ones is one of the few pieces
  4364. 2:30:57of time at work that's actually meant to
  4365. 2:30:59be about you, not about the sprint.
  4366. 2:31:02Status updates already happen at
  4367. 2:31:04stand-up.
  4368. 2:31:05This is the time for things that don't
  4369. 2:31:06fit into a five-minute team meeting. A
  4370. 2:31:09blocker you've been sitting on quietly,
  4371. 2:31:11a piece of feedback you want but haven't
  4372. 2:31:13been given, a question about where your
  4373. 2:31:15career could go, or simply flagging that
  4374. 2:31:18a project's timeline feels off before it
  4375. 2:31:20becomes a bigger problem.
  4376. 2:31:22For example, maybe you've been
  4377. 2:31:24struggling with a particular part of the
  4378. 2:31:25codebase for two weeks, but you haven't
  4379. 2:31:28mentioned it because you don't want to
  4380. 2:31:29look inexperienced.
  4381. 2:31:31Your one-on-one is a good place to bring
  4382. 2:31:33that up. Explain what you've tried and
  4383. 2:31:35ask for guidance.
  4384. 2:31:36You don't have to arrive with every
  4385. 2:31:38problem already solved.
  4386. 2:31:40Sometimes knowing when to ask for help
  4387. 2:31:43is part of becoming a better developer.
  4388. 2:31:45This is also exactly where that work log
  4389. 2:31:47from earlier becomes useful in the
  4390. 2:31:50moment, not just at appraisal time.
  4391. 2:31:53Instead of a vague things are going
  4392. 2:31:54fine, you can walk in with something
  4393. 2:31:57concrete.
  4394. 2:31:58I shipped the discount feature. It's the
  4395. 2:32:00one the support team mentioned came up a
  4396. 2:32:01lot. I'd like to try picking up
  4397. 2:32:03something closer to the payment service
  4398. 2:32:05next. Is that realistic?
  4399. 2:32:07That's a very different conversation
  4400. 2:32:09than one built entirely on the spot.
  4401. 2:32:11And pay attention to the feedback you
  4402. 2:32:13receive.
  4403. 2:32:14If your manager suggests improving how
  4404. 2:32:16you communicate progress, for example,
  4405. 2:32:18don't treat it as a criticism to forget
  4406. 2:32:21once the meeting ends. Pick one
  4407. 2:32:23practical thing to work on before your
  4408. 2:32:25next one-on-one, then follow up on how
  4409. 2:32:27it went.
  4410. 2:32:28That's how a short conversation turns
  4411. 2:32:30into actual progress over time.
  4412. 2:32:33You don't need an agenda every single
  4413. 2:32:35week, but it 's worth walking in with at
  4414. 2:32:37least one real thing, a blocker, a
  4415. 2:32:40question, or something you want feedback
  4416. 2:32:42on, rather than treating the meeting as
  4417. 2:32:44something to get through.
  4418. 2:32:45Managers generally want to help, but
  4419. 2:32:48they can only act on what you actually
  4420. 2:32:50bring to them.
  4421. 2:32:51And all of this, the log, the
  4422. 2:32:53one-on-ones, the honest conversations
  4423. 2:32:56about workload points toward the same
  4424. 2:32:58bigger question.
  4425. 2:33:00What actually makes someone good at this
  4426. 2:33:02job? After working with developers for a
  4427. 2:33:04while, you notice something interesting.
  4428. 2:33:07The person who knows the most syntax
  4429. 2:33:10isn't necessarily the strongest
  4430. 2:33:11developer.
  4431. 2:33:13Someone might know 10 programming
  4432. 2:33:14languages and still struggle to
  4433. 2:33:16understand a simple production issue.
  4434. 2:33:18Meanwhile, another developer might know
  4435. 2:33:20just one language extremely well, but be
  4436. 2:33:23excellent at breaking down problems,
  4437. 2:33:25debugging systems, communicating with
  4438. 2:33:27the team, and making changes safely.
  4439. 2:33:30That's because software engineering is
  4440. 2:33:32bigger than writing code.
  4441. 2:33:34You need the technical skills, sure, but
  4442. 2:33:37you also need judgment. Knowing when to
  4443. 2:33:39ask for help, when to keep [snorts]
  4444. 2:33:41investigating, when not to make a risky
  4445. 2:33:43change, when a quick fix is genuinely
  4446. 2:33:46enough, and when a problem actually
  4447. 2:33:48needs a deeper solution.
  4448. 2:33:50You build that judgment by working
  4449. 2:33:52through real problems, not just by
  4450. 2:33:54watching tutorials or learning new
  4451. 2:33:55frameworks.
  4452. 2:33:57When something breaks, take the time to
  4453. 2:33:59understand why it broke, what caused it,
  4454. 2:34:02and how you could prevent the same issue
  4455. 2:34:03from happening again.
  4456. 2:34:05Over time, those experiences start
  4457. 2:34:07changing how you approach problems.
  4458. 2:34:10You need to communicate clearly,
  4459. 2:34:12and you need to understand that your
  4460. 2:34:14code affects other people, not just your
  4461. 2:34:16own to-do list.
  4462. 2:34:18There's a related trap worth naming
  4463. 2:34:19directly.
  4464. 2:34:21It's possible to complete ticket after
  4465. 2:34:22ticket for months and still barely
  4466. 2:34:25understand how the system actually fits
  4467. 2:34:27together.
  4468. 2:34:28Finishing tickets keeps you employed.
  4469. 2:34:30Understanding the system is what makes
  4470. 2:34:32you genuinely valuable.
  4471. 2:34:34That means occasionally reading code you
  4472. 2:34:36weren't assigned to touch, asking why
  4473. 2:34:39something was built a certain way
  4474. 2:34:40instead of just how to change it, and
  4475. 2:34:42noticing how your one piece connects to
  4476. 2:34:44the rest of the application.
  4477. 2:34:46The developers people actually go to for
  4478. 2:34:48help aren't necessarily the ones who've
  4479. 2:34:50closed the most tickets.
  4480. 2:34:52They're the ones who can answer, Wait,
  4481. 2:34:54how does this whole thing actually work?
  4482. 2:34:57And you don't have to understand the
  4483. 2:34:58entire system overnight. Start with the
  4484. 2:35:01part you're working on, then follow the
  4485. 2:35:03connections.
  4486. 2:35:04Where does the data come from?
  4487. 2:35:06What calls this service? What happens
  4488. 2:35:08after your code runs?
  4489. 2:35:10Each answer gives you a slightly bigger
  4490. 2:35:12picture, and eventually, problems that
  4491. 2:35:15once seemed confusing start making
  4492. 2:35:17sense.
  4493. 2:35:18So, as you progress in your career,
  4494. 2:35:20don't measure yourself only by how much
  4495. 2:35:22code you can write.
  4496. 2:35:24Measure yourself by the problems you can
  4497. 2:35:25understand and solve.
  4498. 2:35:28Understanding the system is only half of
  4499. 2:35:30it, though. You also have to be able to
  4500. 2:35:32explain what you understand to people
  4501. 2:35:34who don't share your technical
  4502. 2:35:35vocabulary, which is its own skill worth
  4503. 2:35:38building on purpose. A product manager
  4504. 2:35:40asks, Can we just add a filter to this
  4505. 2:35:43page by Friday? And a developer answers
  4506. 2:35:45with a sentence full of words like
  4507. 2:35:47schema migration and cache invalidation.
  4508. 2:35:50Both people walk away from that
  4509. 2:35:51conversation a little frustrated, and
  4510. 2:35:54neither one was wrong.
  4511. 2:35:56Different roles on a software team
  4512. 2:35:57aren't just doing different tasks.
  4513. 2:36:00They're usually optimizing for different
  4514. 2:36:01things, and talking past each other
  4515. 2:36:03usually comes from forgetting that.
  4516. 2:36:06A product manager is mainly thinking
  4517. 2:36:07about what the business and the customer
  4518. 2:36:09need and when.
  4519. 2:36:11A designer is thinking about how it
  4520. 2:36:12should look and feel and whether it's
  4521. 2:36:14actually usable.
  4522. 2:36:16QA is thinking about what could go wrong
  4523. 2:36:18and whether it 's been checked. None of
  4524. 2:36:21them are thinking primarily about your
  4525. 2:36:22database schema, and they shouldn't have
  4526. 2:36:24to.
  4527. 2:36:25The habit that closes that gap is
  4528. 2:36:27translating constraints into outcomes
  4529. 2:36:29instead of mechanisms.
  4530. 2:36:31Instead of saying, that requires a
  4531. 2:36:33schema migration, try something like
  4532. 2:36:35this.
  4533. 2:36:36That's possible, but it touches how we
  4534. 2:36:38store existing data, so it'll take a bit
  4535. 2:36:41longer and needs to go out carefully,
  4536. 2:36:43probably Tuesday instead of Friday.
  4537. 2:36:45That gives a non-technical teammate
  4538. 2:36:47something they can actually act on, a
  4539. 2:36:49timeline and a reason, not a term they
  4540. 2:36:52have to look up.
  4541. 2:36:53This works in both directions. When a
  4542. 2:36:55request seems vague, like make it faster
  4543. 2:36:58or make it feel more modern, it helps to
  4544. 2:37:01resist answering it purely technically
  4545. 2:37:03right away.
  4546. 2:37:04Ask what specific moment prompted the
  4547. 2:37:06request.
  4548. 2:37:07Make it faster often means one
  4549. 2:37:09particular screen felt slow to one
  4550. 2:37:11particular person on one particular day,
  4551. 2:37:14not that the whole system needs a
  4552. 2:37:16redesign.
  4553. 2:37:17Finding that specific moment usually
  4554. 2:37:19turns a vague ask into a concrete
  4555. 2:37:21solvable problem.
  4556. 2:37:23Q&A deserves that same respect in the
  4557. 2:37:25other direction. You already know not to
  4558. 2:37:27take a rejected ticket personally. The
  4559. 2:37:30missing half of that habit is what to do
  4560. 2:37:32next. Ask for the exact steps that
  4561. 2:37:34reproduce what they saw.
  4562. 2:37:36A bug report with a vague recollection
  4563. 2:37:38on your side and precise steps on theirs
  4564. 2:37:41isn't a disagreement to win. It's
  4565. 2:37:43missing information to go find.
  4566. 2:37:45None of this means hiding technical
  4567. 2:37:47reality or pretending constraints don't
  4568. 2:37:49exist.
  4569. 2:37:50It means remembering that the person
  4570. 2:37:52across from you is optimizing for
  4571. 2:37:53something just as real as your technical
  4572. 2:37:56concern. And the fastest way through a
  4573. 2:37:58disagreement is usually translating your
  4574. 2:38:00constraint into their terms, not
  4575. 2:38:02insisting they learn yours first. Get
  4576. 2:38:05comfortable with that kind of
  4577. 2:38:06translation and a lot of the friction
  4578. 2:38:08that makes a first job feel exhausting
  4579. 2:38:11quietly disappears. You ask your manager
  4580. 2:38:13for something small, a paid tool license
  4581. 2:38:16say, something that costs less than a
  4582. 2:38:18dinner out.
  4583. 2:38:19Two weeks later, you still don't have an
  4584. 2:38:21answer.
  4585. 2:38:22It's tempting to assume the company is
  4586. 2:38:24just slow or doesn't care.
  4587. 2:38:27Usually that's not it.
  4588. 2:38:29Your request is standing in a line you
  4589. 2:38:30can't see and it helps to know who else
  4590. 2:38:33is in that line.
  4591. 2:38:34Most engineering teams run two separate
  4592. 2:38:37ladders at once and the confusing part
  4593. 2:38:39is that both of them use the word senior
  4594. 2:38:41somewhere.
  4595. 2:38:43One ladder is for people who keep
  4596. 2:38:44writing code and solving technical
  4597. 2:38:46problems directly, often called the
  4598. 2:38:48individual contributor track or IC for
  4599. 2:38:51short.
  4600. 2:38:52It usually runs from junior to mid-level
  4601. 2:38:55to senior.
  4602. 2:38:56At some companies, it continues into
  4603. 2:38:58staff or principal engineer.
  4604. 2:39:00Those are people who are still hands-on,
  4605. 2:39:02but whose decisions now shape how
  4606. 2:39:04multiple teams build things, not just
  4607. 2:39:06their own code.
  4608. 2:39:07The other ladder is for people who
  4609. 2:39:09manage people. That one usually runs
  4610. 2:39:12from engineering manager to director to
  4611. 2:39:14VP of engineering and sometimes at the
  4612. 2:39:17very top a CTO, the most senior
  4613. 2:39:20engineering role in the company.
  4614. 2:39:22Here's the distinction that actually
  4615. 2:39:24matters day-to-day.
  4616. 2:39:25An engineering manager's job is to
  4617. 2:39:27support their team. That means running
  4618. 2:39:29one-on-ones, giving feedback, deciding
  4619. 2:39:32priorities, and clearing obstacles.
  4620. 2:39:34They're usually not writing much
  4621. 2:39:36production code themselves anymore.
  4622. 2:39:38A senior or staff engineer on the other
  4623. 2:39:41hand might outrank a lot of people in
  4624. 2:39:43technical judgment while having nobody
  4625. 2:39:45reporting to them at all.
  4626. 2:39:47Seniority and being someone's boss are
  4627. 2:39:49not the same thing, and mixing them up
  4628. 2:39:52is an easy mistake to make in your first
  4629. 2:39:54few months.
  4630. 2:39:55So where did your two-week request
  4631. 2:39:57actually go?
  4632. 2:39:59In a lot of companies, something like a
  4633. 2:40:00budget item, even a small one, follows
  4634. 2:40:03the management ladder, not the technical
  4635. 2:40:05one.
  4636. 2:40:06Your manager might be able to approve it
  4637. 2:40:08alone. If not, it goes up to their
  4638. 2:40:10manager, a director, who's balancing it
  4639. 2:40:12against requests from several teams, not
  4640. 2:40:15just yours.
  4641. 2:40:16If it's bigger, it might need a VP's
  4642. 2:40:18sign-off, someone thinking about the
  4643. 2:40:20budget for an entire part of the
  4644. 2:40:22company, not a single request.
  4645. 2:40:24Each step isn't necessarily someone
  4646. 2:40:26being difficult. It's someone who has to
  4647. 2:40:28weigh your one request against everyone
  4648. 2:40:31else's, and that takes longer than you'd
  4649. 2:40:33expect from the outside.
  4650. 2:40:35And where does the CEO fit into all
  4651. 2:40:37this?
  4652. 2:40:38At a small startup, you might actually
  4653. 2:40:40talk to them directly. At a larger
  4654. 2:40:42company, the CEO is usually several
  4655. 2:40:44layers removed from your day-to-day work
  4656. 2:40:46entirely, focused on the company as a
  4657. 2:40:48whole rather than any single team's
  4658. 2:40:50decisions. The product side of the house
  4659. 2:40:53runs a similar ladder in parallel.
  4660. 2:40:55Product managers, then a director of
  4661. 2:40:57product, then a VP, sometimes up to a
  4662. 2:41:00chief product officer.
  4663. 2:41:02The engineering and product ladders meet
  4664. 2:41:04near the top to decide what the company
  4665. 2:41:06builds and in what order. None of this
  4666. 2:41:09means you need to learn everyone's name
  4667. 2:41:10or title.
  4668. 2:41:12In practice, almost everything you do
  4669. 2:41:14will run through your direct manager and
  4670. 2:41:16maybe a tech lead or a senior engineer
  4671. 2:41:18you work closely with. The rest of the
  4672. 2:41:20chain mostly matters for reason.
  4673. 2:41:23It explains the timing. And it explains
  4674. 2:41:26the no you sometimes get for reasons
  4675. 2:41:28that have nothing to do with you. A slow
  4676. 2:41:31approval is rarely about you personally.
  4677. 2:41:34It's usually just a request waiting its
  4678. 2:41:36turn in a line with a lot of other
  4679. 2:41:38requests in it. So the next time
  4680. 2:41:40something you asked for takes longer
  4681. 2:41:41than it seems like it should, remember
  4682. 2:41:43this. It's probably not stuck because
  4683. 2:41:46it's a bad idea.
  4684. 2:41:48It's stuck because it's standing in a
  4685. 2:41:49line. And now you know roughly how long
  4686. 2:41:52that line is.
  4687. 2:41:53Understanding that chain helps you make
  4688. 2:41:55sense of decisions above you.
  4689. 2:41:57It's a separate question who you
  4690. 2:41:59[snorts] can actually turn to for
  4691. 2:42:00advice. You have a question that doesn't
  4692. 2:42:03belong in a one-to-one with your
  4693. 2:42:04manager. Something like, should I stay
  4694. 2:42:07on this team or should I try to move to
  4695. 2:42:09a different one?
  4696. 2:42:10Your manager is the wrong person to ask
  4697. 2:42:12that to, at least at first. They're the
  4698. 2:42:15person evaluating you. That changes what
  4699. 2:42:17you can safely say to them.
  4700. 2:42:19This is where a mentor comes in.
  4701. 2:42:22A mentor is different from a manager in
  4702. 2:42:24one important way. A mentor doesn't
  4703. 2:42:26decide your raise. They don't write your
  4704. 2:42:28performance review. They're not involved
  4705. 2:42:31in whether you get promoted.
  4706. 2:42:32That's exactly what makes them useful.
  4707. 2:42:35You can ask them things you wouldn't ask
  4708. 2:42:37your manager and they can give you an
  4709. 2:42:38honest answer without it affecting your
  4710. 2:42:40career.
  4711. 2:42:41Some companies assign you a mentor on
  4712. 2:42:43day one. Most don't. If nobody hands you
  4713. 2:42:46one, you're allowed to go find one
  4714. 2:42:48yourself.
  4715. 2:42:49Here's how people actually do it. Look
  4716. 2:42:51for someone whose day-to-day work looks
  4717. 2:42:53like where you'd like to be in a couple
  4718. 2:42:55of years. That person doesn't have to be
  4719. 2:42:57the most senior engineer in the
  4720. 2:42:59building. It just has to be someone a
  4721. 2:43:01few steps ahead of you doing something
  4722. 2:43:03you find genuinely interesting.
  4723. 2:43:05Now the part that feels awkward. You do
  4724. 2:43:08not walk up to them and ask, will you be
  4725. 2:43:10my mentor? That question puts a lot of
  4726. 2:43:13weight on one moment and most people
  4727. 2:43:15freeze up and say no, even if they'd
  4728. 2:43:17have said yes to something smaller.
  4729. 2:43:19Ask a small thing instead. Something
  4730. 2:43:22like, I've got a couple of questions
  4731. 2:43:24about how you code review. Could I grab
  4732. 2:43:2615 minutes sometime?
  4733. 2:43:28That's an easy yes. And if the
  4734. 2:43:30conversation goes well, you ask again
  4735. 2:43:32next month.
  4736. 2:43:33A few habits make this sustainable
  4737. 2:43:35instead of a burden on them.
  4738. 2:43:37Come with a specific question, not just
  4739. 2:43:40can we chat.
  4740. 2:43:41Keep it short and end on time even if
  4741. 2:43:43they offer to go longer.
  4742. 2:43:45And actually use what they tell you.
  4743. 2:43:48Nothing kills a mentor relationship
  4744. 2:43:50faster than asking the same question
  4745. 2:43:52twice because you didn't act on the
  4746. 2:43:53answer the first time.
  4747. 2:43:55You don't need a title for any of this.
  4748. 2:43:57You just need one person, a little
  4749. 2:43:59further down the road than you, willing
  4750. 2:44:01to answer a question every few weeks.
  4751. 2:44:04That's the whole relationship and it's
  4752. 2:44:06worth more than it sounds like at first.
  4753. 2:44:08Let's finish with the most important
  4754. 2:44:10thing I want you to take away from this
  4755. 2:44:11course.
  4756. 2:44:13Your first IT job can feel overwhelming.
  4757. 2:44:16There will be tools you've never used.
  4758. 2:44:18There will be meetings full of
  4759. 2:44:19terminology you don't recognize. Code
  4760. 2:44:22bases will look enormous at first and
  4761. 2:44:25tickets will sometimes make no sense
  4762. 2:44:27until you actually dig in.
  4763. 2:44:29There will be days you feel like
  4764. 2:44:30everyone else already knows what they're
  4765. 2:44:32doing and you don't.
  4766. 2:44:34That's normal.
  4767. 2:44:35Don't expect yourself to become an
  4768. 2:44:36expert in your first few weeks.
  4769. 2:44:39And remember, the people around you who
  4770. 2:44:41seem to know everything were beginners
  4771. 2:44:43once too.
  4772. 2:44:44They've had their own confusing days,
  4773. 2:44:46broken things they didn't mean to break,
  4774. 2:44:48and spent hours trying to understand
  4775. 2:44:50problems that seem obvious to them now.
  4776. 2:44:52You're seeing their experience today,
  4777. 2:44:55not all the steps it took to get there.
  4778. 2:44:57Your goal is simply to keep building
  4779. 2:44:59context. Then gradually take on more
  4780. 2:45:02responsibility. After a few months,
  4781. 2:45:05things that felt complicated will start
  4782. 2:45:07looking familiar. You'll recognize the
  4783. 2:45:09tools. You'll understand the
  4784. 2:45:11architecture. You'll know exactly where
  4785. 2:45:13to look when something breaks and
  4786. 2:45:14exactly who to ask when you're stuck.
  4787. 2:45:17Don't worry about learning everything at
  4788. 2:45:19once either. Focus on the task in front
  4789. 2:45:21of you. Understand what you 're doing
  4790. 2:45:23and why and learn something from each
  4791. 2:45:26experience. You don't need to know every
  4792. 2:45:28answer. You need to get a little better
  4793. 2:45:30at finding the answers.
  4794. 2:45:32And some day a new developer will ask
  4795. 2:45:34you a question you once had yourself.
  4796. 2:45:37That's when you'll realize how much
  4797. 2:45:39you've actually learned. If this course
  4798. 2:45:41has helped you understand a little more
  4799. 2:45:43about how IT works and feel more
  4800. 2:45:45confident about getting started, then
  4801. 2:45:47it's achieved what I hoped it would. It
  4802. 2:45:49took almost a month to research, write,
  4803. 2:45:51and edit this course. If you found it
  4804. 2:45:54useful, please leave a comment and tell
  4805. 2:45:56me which part you liked most. And if
  4806. 2:45:58you'd like to support the channel,
  4807. 2:45:59please subscribe. It really helps.
  4808. 2:46:02Thanks for watching and best of luck on
  4809. 2:46:04your journey into tech.

About this transcript

This page contains the full transcript of I Bet Nobody Explained Real Developer Life in IT Like This (3-Hour Course) by Cloud X Berry, generated from the public captions YouTube serves with the video. The transcript has 27,383 words across 4,809 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.