CodingBlocks
How to be an Intermediate Programmer
Link to Episode 39's Full Show Notes
http://www.codingblocks.net/episode39
T-Shirt Giveaway - The winner is...
Manrique Logan - please contact us to send us your ship-to information!
This Episode's Survey
Suggested by: https://twitter.com/CatcheNameHere/status/700507429390274560
Princess rap battle: GALADRIEL vs LEIA
https://www.youtube.com/watch?v=RL52R7m8b7w
How to be an Intermediate Programmer
Personal Skills
- How to Stay Motivated
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/01-How%20to%20Stay%20Motivated.md - How to be Widely Trusted
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/02-How%20to%20be%20Widely%20Trusted.md - How to Tradeoff Time vs Space
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/03-How%20to%20Tradeoff%20Time%20vs%20Space.md - How to Stress Test
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/04-How%20to%20Stress%20Test.md - How to Balance Brevity vs Abstraction
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/05-How%20to%20Balance%20Brevity%20and%20Abstraction.mdShout out to our friend Will - https://twitter.com/iamwillmadison
- How to Learn New Skills
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/06-How%20to%20Learn%20New%20Skills.md - Learn to Type
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/07-Learn%20to%20Type.md - How to Do Integration Testing
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/08-How%20to%20Do%20Integration%20Testing.md - Communication Languages
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/09-Communication%20Languages.md - Heavy Tools
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/10-Heavy%20Tools.md - How to Analyze Data
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Personal-Skills/11-How%20to%20analyze%20data.md
Team Skills
- How to Manage Development Time
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Team-Skills/01-How%20to%20Manage%20Development%20Time.md - How to Manage Third Party Software Risks
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Team-Skills/02-How%20to%20Manage%20Third-Party%20Software%20Risks.md - How to Manage Consultants
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Team-Skills/03-How%20to%20Manage%20Consultants.md - How to Communicate the Right Amount
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Team-Skills/04-How%20to%20Communicate%20the%20Right%20Amount.md - How to Disagree Honestly and Get Away with it
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Team-Skills/05-How%20to%20Disagree%20Honestly%20and%20Get%20Away%20with%20It.md
Judgement
- How to Tradeoff Quality Against Development Time
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/01-How%20to%20Tradeoff%20Quality%20Against%20Development%20Time.md - How to Manage Software System Dependence
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/02-How%20to%20Manage%20Software%20System%20Dependence.md - How to Decide if Software is too Immature
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/03-How%20to%20Decide%20if%20Software%20is%20Too%20Immature.md - How to Make a Buy vs Build Decision
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/04-How%20to%20Make%20a%20Buy%20vs%20Build%20Decision.md - How to Grow Professionally
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/05-How%20to%20Grow%20Professionally.md - How to Evaluate Interviewees
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/06-How%20to%20Evaluate%20Interviewees.md - How to Know when to apply Fancy Computer Science
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/07-How%20to%20Know%20When%20to%20Apply%20Fancy%20Computer%20Science.md - How to Talk to Engineers
https://github.com/RobertLRead/HowToBeAProgrammer/blob/master/2-Intermediate/Judgment/08-How%20to%20Talk%20to%20Non-Engineers.md
Resources We Like
How to be a Programmer: A Short, Comprehensive, and Personal Summary by Robert L Read
Make a Pull Request to get your thoughts in here:
https://github.com/RobertLRead/HowToBeAProgrammer
Or buy your copy here from Amazon:
http://amzn.to/1WzbIxs
Succinctness is Power - Paul Graham
http://www.paulgraham.com/power.html
You Don't Know JS
https://github.com/getify/You-Dont-Know-JS/blob/master/README.md
Want to know how fast you type?
http://www.typingtest.com/
Allen's Typing Speed on the Microsoft Sculpt Ergonomic
specflow - Binding business requirements to .NET code
http://www.specflow.org/
Tips for this Episode
Allen Underwood: Execution plan for a running query in Microsoft SQL Server
Preface: You can click a button in Microsoft SQL Server Management Studio (SSMS) to see the execution plan of a query to identify any performance problems. The biggest issue with this is that if there's a query that NEVER returns, or takes an insanely long time to return, then you're stuck waiting for the query to finish. This tip shows you how to find the ACTUAL (not estimated) query plan of the query that is actively running:
How To:
EXEC sp_who2 'active' -- Find the SPID of the query you're running DECLARE @spid INT = 123 -- From above SELECT EQP.query_plan, * FROM sys.dm_exec_requests AS ER CROSS APPLY sys.dm_exec_query_plan(ER.plan_handle) AS EQP WHERE ER.session_id = @spid
Once that bottom query runs, you'll be provided a link in the results grid that you can click to open up the graphical execution plan.
Michael Outlaw: Have Git ignore changes you make to a specific file like you didn't make the changes, but still have it be part of the tracked files in Git.
Preface: Let's say you have a connection string configuration file that you change to point to your local database. That config file needs to be tracked in Git, but you don't want your changes to accidentally get committed and pushed up to the remote repo, then this command is for you.
How To:
git update-index /path/to/file --assume-unchanged
Joe Zack: Life Tip - Pay attention to the warnings in your IDE. It's easy to get used to seeing several warnings and ignoring them because they're not errors. Eventually a new one that actually matters will show up and by ignoring it, you could be creating heartache for yourself. If you can, resolve the warnings that are currently showing up so that if a new one surfaces, it'll jump out at you like a sore thumb.