This is a grouping of ideas, advice, and collections gathered over the years.

"It takes a village"

Thanks for the amalgamation from peers and mentors that have helped (and to family, friends, colleagues, and the CG@Penn community). The hope is that these can assist others who are looking to join or are just starting in the software and/or computer graphics industry.

If you have further ideas or questions about any of this information, want to meet for coffee or a virtual chat, feel free to get in touch.

~ Items below are in no particular order ~

Some videos that discuss useful coding habits...

> Kate Gregory “Simplicity: Not Just For Beginners”
tldr; Clean code whenever possible and strategies for writing that way.

> Mike Acton "Data-Oriented Design and C++"
tldr; DOD and memory management create performant code - if you don't understand the data you don't understand the problem - the purpose of a program is transforming one form of data to another - solving problems you don't have creates more problems than you actually do have.

> Louis Brandy “Curiously Recurring C++ Bugs at Facebook”
tldr; Common coding bugs people hit that shouldn't be hit in the first place, and how to resolve them.

> Chandler Carruth “There Are No Zero-cost Abstractions”
tldr; Why use an abstraction, what effect that will have on timing / use, how to cope with that effect.

Additionally, here's some general media that help when thinking about mindset and tackling challenges.

~ These are definitely cliché, so do with them what you wish... read them, watch them, ignore them, debate them, whatever floats your boat... ~

> Mood Follows Action
tldr; Showing up is the hardest step, discipline (hard) gets you through to habit (easy) and progress.

> How to be so good they can't ignore you
tldr; Focus on deliberate and purposeful practice / project / content creation while ignoring outside expectations.

> Genius takes time and extraordinary effort
tldr; Experience is not linearly based on time, it's based on interest and diligence in interacting with the subject matter.

> Marty Lobdell - Study Less Study Smart
tldr; How to "hack" your attention span for longer blocks of concentration time.

> Designing Your Life | Bill Burnett | TEDxStanford
tldr; It's okay to change, no plan for your life will survive first contact with reality - have a bias to action, try stuff - if the issue is not actionable, it's just a circumstance, accept it and move on - prototype different ideas and choose well from them for next steps.

> How to Get Your Brain to Focus | Chris Bailey | TEDxManchester
tldr; Deliberate time for boredom leads to more mind wandering, more ideas, and thus more future plans and projects.

> The dangerous downsides of perfectionism
tldr; It's good to strive for excellence in what you do, but having a hyper-critical internal voice alongside that is harmful; it's the 'getting back up after a mistake' aspect that's most important.

> The antilibrary
tldr; Having many projects, tabs, or thoughts left open can be a good thing as it shows interest / curiosity - as long as you're not focused on everything at once.

> The Skill of Humor | Andrew Tarvin | TEDxTAMU
tldr; We're not a personality assessment - we're defined by our actions. Humor is a way to share your point of view and connect with other people ('yes and' mindset) - as humans we need to manage not just time but also energy.

> The 2 mental shifts highly successful people make
tldr; You are responsible for your future, it doesn't just happen, it's built; even when you're doing well, staying open to new / learning experiences instead of just focusing on what you've already done is important.

> Why copying successful people can backfire
tldr; Everyone is different, try things out but only continue doing them if they work for you; copying what they're doing can be partially beneficial, but copying without understanding why and whether or not it works for you will backfire.

> Be so prolific they can't ignore you
tldr; Dont be afraid of not being good at something - the only way to get good is to start - dont setout only allowing yourself to make great work, complete the projects and someday they'll turn out great.

> What kind of self destructive perfectionist are you
tldr; When starting a task, predetermine how much effort you want to put into it - is it an A, B, or C level task - you only have so much time to spare per day - put the effort where the effort counts.

> Your long-term success depends on a solid daily routine
tldr; A steady routine makes it easier to track progress, maintain discipline, and do more vital work during your most productive hours - which may not be at conventional times.