Skill Level Beginner
- So if I was starting out now, the one thing that I would do differently is take a look at the wide range of learning options that are available and figure out where I fit in and where I would do best in those different platforms. Some people like certain types of structures, and they do very well with perhaps like an environment where you have specific goals, specific assignments, and you work towards those things. Other people can put in 10 to 12 weeks into a program that is super fast, and other people might just want to go learn it themselves. They may have the time to do that. - So I think one of the things to remember is there's a lot of disinformation out there. So when you want to learn new skills, go to the right source. - There's an old saying, what gets measured gets managed. Couple different variations of that, but that's the general gist. I think the number one piece of advice is to set goals, set weekly goals, monthly goals. It's never a straight line to success. Nobody ever talks about that. But it looks like a squiggle. Having that safety net of version control has allowed me to experiment well beyond what might be considered the safe zone, but I never would have gotten there had I not established the goals. - I find something that I want to do, some little project, and something that's going to be useful to me or someone else, so that I have the goal in mind. And then I learned the things. I do online searches. Sometimes I'll read a book. Sometimes I'll see if there's any online training available, and then just build a project. - So if you think of knowledge as having breadth and depth, breadth must come first. - And online courses helped me because you have a lot of times you can interact with the tutor. And I also read a lot of books while learning. So again, that brings you a lot of expert perspective. You always try to learn from the best that you can get. - And then find a mentor that you can work with, and also find a team that can get together. You realize that if you have five developers who haven't really coded, it's easier than one developer doing it on his own. It really doesn't matter what the levels are. All you have to do is make a team and start doing it. - With the rapid expansion of the field of technology, you have the luxury now of specializing way more than you were able to do in 2001, let's say. But because I know what I know and I know it very well and I know it in detail, I can work with other people who know other parts of the field. - But then what's the next thing? - When you're actually working, you now have to think about more of the soft skill side of things, so how to actually work with team members, how to ask questions when there's something that you don't understand instead of struggling by yourself, how to effectively communicate when there's issues. And so there's a lot of soft skills things that you need to learn beyond the actual coding itself that may or may not be taught in the classroom. - So you got to start learning as many things as you can and as deep as you can, because the targets are going to change. It may be C this week and C++ this week and Objective-C and then Java or Swift or Python or whatever. It's going to keep changing, and then we don't know what else is going to come after that. - It's really about understanding what you're capable of and continuing to grow.