Resourcefulness

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.

Curiosity

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.

Community

Join communities of practice. If you are primarily doing web work, join the local javascript meetup group in your area.  Join Slack and Gitter communities that are specific to the technology you are working on. Don’t just join and post questions!  Stay active and get to know the people in that community. This will help you quickly get a feel for how to best post questions and get helpful responses. You will find opportunities to contribute based on your experience.

Ask Questions

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.

Read

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!

Join Our Software Developer Bootcamp. Classes start every month.