Being resourceful is one of the core values that a software engineer needs to be effective at solving hard problems. The following are 8 keys to being resourceful in development.
Have the curiosity to click. You should dig deep inside of GitHub, look through issues. Click on contributors and see what they are building, do they have any forks of the repository? Do they work on similar projects? You will find that contributors often work on a task for a project, but every once in a while you may find that they do a lot of similar projects that may get you closer to your goal.
Similar not Exact
Look for similar rather than exact solutions. Evaluating the examples and code that may not be exactly what you need can lead you down the path to discover a solution. You should even be willing to look at code in a less familiar language that you can reason about and determine if you can re-code it in your language or framework. Often it can give you an exact algorithm that will be useful, and the specific implementation could be the easiest part.
Ask questions on Stack overflow. Don’t just be a consumer of information. You should be willing to formulate a question and wait for a response. GitHub issues are also a fantastic place to pose a question or bug. You should follow the guidelines for how to request help and thank contributors that attempt to help.
Look at the docs and read the code. Even beginners should quickly get comfortable reviewing docs and looking up sections of code to understand not just how, but why things work the way they do. When it is not easy, it could be the the docs are poorly written or you are just not in condition to grasp it all. But, you must keep at it. The maintainers of code often leave a great trail of information for others to fully utilize their code base. Often it turns out that the code itself can be very well documented, and some teams prefer to keep well commented code, instead of creating and maintaining separate documentation websites. Don’t be afraid to peek at the code, you may be handsomely rewarded.
Explore all the things
Take the time to explore other libraries and frameworks. When you are stuck and looking for resources it may not seem the perfect time to explore unrelated codebases, but it is exactly what may be needed. You have nothing to lose if you are already making no progress. If you have a few libraries that you are familiar with, try a new one! It will allow you to see patterns emerge that will help you reason about file/folder structure, using dependency injection, and patterns like the singleton. Find similar libraries to reinforce strengths and opposite libraries that contrast the way you are used to doing things so that you can find those nuggets that you may not usually consider.
Say no to videos
Don’t go for the video. Video is the easiest content to consume, but it also usually leads to the least knowledge gains. Try finding books and blog posts as a primary source instead. Focus on resources that may require more time on the keyboard for you, searching and digging for answers. Make sure you take notes, make a cheat sheet, and confirm the info can stick by using it.
Test your code
Finally, be willing to write and test a lot of code. If you can write good tests, you can better reason about what the code is doing. If you can work through and debug your own use case for code, you will gain a deeper understanding. Be willing to refactor and rewrite your code even if it feels like you are being less productive. Using new testing frameworks and libraries will help you test better, and learn better patterns. One of the best ways to understand what code is actually doing is to test.
Are you ready to learn how to code in as little as 12 weeks? Schedule an in-person tour now!