Placeholder Image

字幕列表 影片播放

  • Oh, excuse me.

  • Sorry.

  • Do you have the time?

  • I must have forgotten my watch today.

  • Wrong again.

  • It is.

  • Call every time with your host attack lead on the tech Lee show And I'm an ex Google Tech lead.

  • It is coffee time Now What we're going to be talking about today is how you can code faster.

  • I know this love you guys out there, you may know how to coat, but you're just coding at this exceedingly slow pace and you're just hardly able to get anything done out there as an ex Google tackle it.

  • I wanted to provide you some of my top tips on how you can increase your developer velocity and ship more code quicker because the fact this is one thing to be able to cope.

  • Many people may know how to do that, but entirely different thing to be able to swim through a coat and turn through it like butter.

  • I participated in the ACM programming competition.

  • Even there, my teammates was like me to be the one who would be sitting at the computer coding and they make such a strategies and algorithms.

  • And through my many jobs, I've always been praised as a fast coder by my teammates and managers, so I wanted to give you some of my top tips on how you increase your velocity.

  • One thing you can do, by the way, is check out my free interview tips program daily interview pro dot com, in which every day I send you a free whiteboard in question that a top tier tech company has, as can also provide you the solution for that with complete time space complexity, check it out daily interview pro dot com Now one of my top tips for you here is to learn to avoid making mistakes when you type and as you're coding things up, because one mistake is going to be extremely costly.

  • The best way to imagine this is if you make one mistake, it may cause you 10 to 20 minutes, maybe even an hour later on.

  • As you try to figure out where this bug was that you introduced into your program.

  • It can cause all sorts of issues you can accidentally mess up your day that based in the most minimal case, maybe you have a few typos here and there, and then the code starts looking really strange.

  • You miss build some characters, some of variable names, or it may just not compile.

  • And then that's going to just cause you're extra compilation cycles as you have to keep re compiling the code.

  • Personally for me, I'm able to type at 145 words per minute with 100% accuracy.

  • I don't make mistake, and I rather type slowly, flawlessly, then type very quickly and make mistakes all over the place as I'm coaching.

  • If I get to a portion, that's particularly tricky.

  • I will slow down and just make sure that the genotype is really correct.

  • Another way there.

  • I see some junior engineers.

  • They're just start blazing through it, and they write something that kind that works 80%.

  • But then there's all sorts of holes and gaps all over the place, and all of those are opportunities for bugs.

  • And the key thing here is to avoid any type of buck.

  • If you don't make bugs, then you're going to be much faster later on.

  • Each bug is just extremely costly, and that's the way to think about it.

  • The other thing I'll do is I'll have a to do list of other loose ends that I need to wrap up.

  • And I tried to be very conscious and detail oriented about loose ends that I may need to tie up strange air pages, maybe some user input that I forgot the validate that I wanna make sure I do sanitize that later on potential bugs and edge cases.

  • I just write all of those down and make sure that I resolve all of them as I go now.

  • The second tip I have for you here is the leverage consistency, either consistency in the U I design or consistency in your system.

  • But what you want to do here is to make sure that you're not creating multiple different variations off something that you can actually reuse.

  • Learn to either reuse you.

  • I design patterns such that you can create a general view or something like that and just have that be reused for many different components and usage scenarios.

  • Or you can learn to reuse your coat in certain ways.

  • If you take a look at the YouTube app, for instance, you may know this.

  • There's only really two different views, and those two views It's a small view and a large view.

  • They're being reused for many different types of surfaces and components, right?

  • So that's how you can save on recreating hundreds or thousands of views based on, say, the view surfaced, the content with help of context that's going to be in similarly, you can also use consistency in this is, um, and code to save yourself and just reuse things.

  • For example, if you were needing to store data, there may be many different data stores that you could be using.

  • Right you can store into a database you can start.

  • It's a text file you can store into local memory into some cash.

  • But if you were to, for example, forgo some of these potential optimization that may save you just a few milliseconds here and there.

  • Let's say, for example, you just write everything into a common database store that may actually vastly simplify your coat and allow you to ship things much quicker.

  • And then later on, if you were to find that you need to go up to my something and put layers of cashing in front of it, then, yeah, you can go ahead and do that.

  • But as a first pass, you know, keeping things simple and delaying the optimization.

  • I tried to just reuse as much of that code.

  • That's possible, and it would make things much quicker for you.

  • I know that in the field of tech, it's very easy to get lured in by the newest crazy technologies.

  • Maybe your programming in objective seat and then Swift comes out and you want to start doing things and swift, and then you wanna start using reactive coco mixing some rack native.

  • You know all of that stuff is just going to add so many different ways to do things.

  • And each of these have maintenance burdens and cause to bring in these new technologies and that inconsistency that Ukraine is going to create.

  • Turn as you tried to navigate your files as you tried to get things done.

  • There's just going to be so many different ways to do something, and each time you approach a problem, you have to do it on entirely different new way.

  • That's just going to slow you down now.

  • Another tip I have for you is to take some time and learn your editor I would advocate actually put the in, say, half a day to an entire day, just really learning to use your editor, figure out the keyboard shortcuts had to do fast regular expression.

  • Base surgeon replaced how to do multi cursor selection had to jump around and navigate through the file quickly.

  • How to quick open files?

  • All of that stuff is going to speed up your development by, say, 20% 30% or more.

  • And along with this, spend some time learning to increase your typing speed.

  • Maybe just set up your environment and your keyboard.

  • Better fix your posture of such that you can actually type quickly and personally for me.

  • And I've mentioned this before I would never use like a clunky del keyboard.

  • Those keyboards are just so mushy and even like a standard Apple MacBook Pro keyboard.

  • Those MacBook keyboards are complete garbage as well.

  • I would recommend finding a keyboard that you like typing on and let me know what your favorite keyboards are out there for me.

  • I tend to use the standard apple keyboards, and they have a smaller travel distance.

  • Now, another tip I have for you here is to learn to choose the right tool for the right job.

  • And in order to really make this effective for you, I would highly recommend picking up some sort of scripting language if you don't know one already.

  • So scripting language is tend to really speed up your work flow.

  • If everything you're doing is say in c++ or Java, those are just very slow languages you got.

  • Compile it.

  • You need all this type checking, and you just don't need all that power and structure all the time.

  • So if you were to use, like, say, python PHP Java script, you can really increase your workflow.

  • And you can use that to right quick scripts to do quick re factors.

  • I know a lot of the game cos they'll use scripting language is like Louis to set up the level design.

  • So it depends on the project that you're trying to create here.

  • But if you're out to build like a *** in and there's a pretty simple ***, and then if you're to try to build out and say Java, that may just require a lot more infrastructure said that before you can even get a simple app running and you know everything that you do just may require a lot more boilerplate code.

  • Now, one thing that I want to pause for a moment here and recognizes that testing can slow you down as you write tests.

  • It can actually sometimes double the amount of code that you need to write.

  • You write one implementation for and then you have to write tests.

  • And sometimes the test can actually be longer than the actual implementation.

  • The way I like to think about testing is that they're kind of like training wheels.

  • So imagine you're learning to ride the bicycle.

  • Well, you're going to want those training wheels because they help prevent you from doing anything truly dangerous.

  • They keep you on track, but if you take a look at the pros, the pros use training wheels for them.

  • The training wheels actually reduced their air speed, and it slows them down to make them less aerodynamic, less sleek.

  • Now, as I mentioned before, if you're really good like me, you don't make any mistakes When you coat.

  • There are no bugs.

  • You just catch them all and you're able to type out like 148 150 words per minute with 100% accuracy.

  • Zero bugs is a lot like that free solo climber who was able to climb El Capitan without making a single mistake, and he doesn't need those safety harnesses or ropes that actually just slows him down and reduces his speed as he climbs.

  • If you really want to type fast and coach fast, you'll learn to be able to code within no tests and no bucks as well.

  • Tests aren't needed there redundant now.

  • The same goes for comments as well.

  • Comets can also reduce your air speech, so to speak.

  • You're coding speed when you really want to a structure your code and make itself documenting the elegance and composition of your coat should be documentation alone enough.

  • It should be simple and beautiful by itself.

  • And if you've done this crackly, you won't need comments where you're going.

  • And that one final tip for you here is to set up a good environment for yourself.

  • You know our friend Joma.

  • He's not using fast Internet, his own like a dial up modem.

  • Yemen.

  • It was not my finest hour, but I got wrecked by Amazon, which is why he codes so slowly all the time, so I would recommend that you get yourself good the Internet so that you can log into the computer quickly.

  • You conserved in that faster.

  • You can look up documentation.

  • You get yourself some nice equipment, a good chair, good keyboard monitor.

  • Just make it more comfortable for yourself.

  • And remember to also join me at daily interview pro dot com.

  • We'll solve interview white boarding questions together.

  • It's going to be tons of fun.

  • Just sign up over there.

  • I'll send you a free interview question every day.

  • That's been asked by real tech company.

  • And if you're serious about landing your dream job in Tech, I also recommend you check out Tech Interview pro dot com where fellow youtuber, Joma and I, ex Google and ex Facebook engineers, we coach you on how you can pass the technical interviews.

  • So that would do for me.

  • Let me know what you're top tips are on.

  • How to code faster if you like.

Oh, excuse me.

字幕與單字

單字即點即查 點擊單字可以查詢單字解釋

B1 中級

我的代碼怎麼這麼快。 (How I code so fast.)

  • 2 1
    林宜悉 發佈於 2021 年 01 月 14 日
影片單字