Skill Level Appropriate for all
(modern techno music) - The first thing, and this is something that I was taught when I was really young and the guy who said it to me put it in a different way, but the way that I'll say it here is that you wanna get your ego out of the equation. The goal is to write good code, to make sure that it's doing everything that it needs to do, and sometimes suggestions will come out at you from all different angles and you have to get yourself into a mode where you realize that, "Hey, John just told me something.
"I can take it as a criticism or I can take it as a tip." If it's a tip, it's a good thing. Hey, he just told me something. Did I think about, I don't know, no point of check right here? Hmm, there's a possibility a no click came through here. Maybe put a check in there and make sure my code doesn't blow up, thank you John. And if you can get your ego out of the thing and be open and honest with the people on your team, you're gonna be such a much better developer, much quicker than you ever thought because the way that you get to be the best is you've got to play the best, which means you also have to take tips from the best and see what they have to say.
- So as a Team Lead, I keep my skills current by always staying close to the code. I'm always involved in daily code review of my team's work to make sure that they're adhering to standards and best practices. I also find that when I start a new project, I have to take a look at the technologies and make sure that, are these the best technologies for the problem we're trying to solve and if not, I'll go out and evaluate other products or other technologies and see if they might be a better fit. And the way that I feel comfortable doing that is always building a prototype or a proof of concept so that way I can be hands on, I can validate that it works before we decide to move ahead with it.
- When you're honest with the clients who are in front of you, so honest about how long it's gonna take you to actually deliver a product, honest on whether or not you actually possess the skill set to do it, honest on all of those fronts, then that's gonna develop this trust relationship with the client that'll help set you up for success. - So for collaborating on projects, one thing you need to keep in mind is that you will get all kinds of perspectives, you will meet all kinds of people, you'll meet people who just want to get things done in the simplest way, you'll meet people who want to do research about the topic entirely and then get to a solution.
Also you need to be very assertive about what you think might be right at times and also be open to other ideas at the same time. So it's more about listening to others and also not losing your train of thought. So collaboration is all about being ready to step up at times and step down at times, being open to ideas, bringing in everyone's perspective in the big picture. - Open source is one of the most phenomenal things that has happened to the tech industry and it's so cool that you could literally choose what project you want to be part of.
Let's go and have a chat with him. And that's cool because now you're getting to talk to people who have created a world class framework. I think open source is an amazing way to network with the right folks out there. Start contributing. And one of the things I do suggest is do not just do it to have it on the resume. There's a lot of people I interview and they say, I'm an open source contributor and when I go look at it, all they've done is two bugs, fixed here and there. That isn't really, that's trying to half the system, right? That will fall through after some time.
You want yourself to be a credible source so what I would suggest is make that impact, make that actual contribution and then the results are amazing.