DEV Community

CodingBlocks

Episode 39 – How to be an Intermediate Programmer

In Episode 38, we dug into the first section of the essay by Robert Read on what it takes to be a programmer.  In that episode there was a lot of great information on what to expect and what should be expected of you as a developer.  In this episode, we go into the second section of that essay which gives Mr. Read’s thoughts on what it means to be an intermediate programmer.  As we do, we share our thoughts on each of the various topics for intermediate programmers.

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: 

#yop-poll-container-14_yp57bd123a1584f { width: 400px; background:#fff; padding:10px; color:#555; overflow:hidden; font-size:12px; } #yop-poll-container-14_yp57bd123a1584f input[type='text'] { margin:0px 0px 5px 0px; padding:2%; width:96%; text-indent:2%; font-size:12px; } .yop-poll-name-14_yp57bd123a1584f { font-size:14px; font-weight:bold; } #yop-poll-questions-container-14_yp57bd123a1584f { font-size:14px; margin:5px 0px; } .yop-poll-question-container-14_yp57bd123a1584f { padding: 2px; } .yop-poll-question-14_yp57bd123a1584f { font-style: italic; text-align: center; margin-bottom: 21px; margin-top: -10px; width: 100%; } .yop-poll-answers-14_yp57bd123a1584f { } .yop-poll-answers-14_yp57bd123a1584f ul { list-style: none outside none; margin: 0; padding: 0; } .yop-poll-li-answer-14_yp57bd123a1584f { font-style:normal; margin:0px 0px 10px 0px; padding:0px; font-size:12px; margin-bottom:20px; margin-bottom:20px; } .yop-poll-li-answer-14_yp57bd123a1584f input { margin:0px; float:none; } .yop-poll-li-answer-14_yp57bd123a1584f label { margin:0px; font-style:normal; font-weight:normal; font-size:12px; float:none; } .yop-poll-results-14_yp57bd123a1584f { font-size: 12px; font-style: italic; font-weight: normal; margin-left: 15px; } .yop-poll-customs-14_yp57bd123a1584f { } .yop-poll-customs-14_yp57bd123a1584f ul { list-style: none outside none; margin: 0; padding: 0; } .yop-poll-li-custom-14_yp57bd123a1584f { padding:0px; margin:0px; font-size:14px; } /* Start CAPTCHA div style*/ #yop-poll-captcha-input-div-14_yp57bd123a1584f { margin-top:5px; } #yop-poll-captcha-helpers-div-14_yp57bd123a1584f { width:30px; float:left; margin-left:5px; height:0px; } #yop-poll-captcha-helpers-div-14_yp57bd123a1584f img { margin-bottom:2px; } #yop-poll-captcha-image-div-14_yp57bd123a1584f { margin-bottom:5px; } #yop_poll_captcha_image_14_yp57bd123a1584f { float:left; } /* End CAPTCHA div style*/ .yop-poll-clear-14_yp57bd123a1584f { clear:both; } #yop-poll-vote-14_yp57bd123a1584f { } /* Start Result bar*/ .yop-poll-results-bar-14_yp57bd123a1584f { background:#f5f5f5; height:10px; } .yop-poll-results-bar-14_yp57bd123a1584f div { background:#555; height:10px; } /* End Result bar*/ /* Start Vote Button*/ #yop-poll-vote-14_yp57bd123a1584f div#yop-poll-vote-14_yp57bd123a1584f button { float:left; } #yop-poll-vote-14_yp57bd123a1584f div#yop-poll-results-14_yp57bd123a1584f { float: right; margin-bottom: 20px; margin-top: -20px; width: auto; } #yop-poll-vote-14_yp57bd123a1584f div#yop-poll-results-14_yp57bd123a1584f a { color:#555; text-decoration:underline; font-size:12px; } #yop-poll-vote-14_yp57bd123a1584f div#yop-poll-back-14_yp57bd123a1584f a { color:#555; text-decoration:underline; font-size:12px; }#yop-poll-vote-14_yp57bd123a1584f div#yop-poll-archive-14_yp57bd123a1584f a { color:#555; text-decoration:underline; font-size:12px; } #yop-poll-vote-14_yp57bd123a1584f div { float:left; width:100%; } /* End Vote Button*/ /* Start Messages*/ #yop-poll-container-error-14_yp57bd123a1584f { font-size:12px; font-style:italic; color:red; text-transform:lowercase; margin-bottom:20px; text-align:center; } #yop-poll-container-success-14_yp57bd123a1584f { font-size:12px; font-style:italic; color:green; margin-bottom:20px; text-align:center; } /* End Messages*/ .yop-poll-clear-14_yp57bd123a1584f { clear: both; }#yop-poll-container-14_yp57bd123a1584f img { max-width: 400px; } .yop-poll-forms-display{}
Who's the best?
  • Galadriel
  • Leia
  • Neither

Princess rap battle: GALADRIEL vs LEIA
NOTE: Some explicit language – NSFW

x

https://www.youtube.com/watch?v=RL52R7m8b7w

How to be an Intermediate Programmer

Personal Skills

Team Skills

Judgement

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

Microsoft Sculpt Ergonomic Keyboard

Microsoft Sculpt Ergonomic Keyboard

http://www.typingtest.com/result.html?acc=100&nwpm=90&gwpm=90&ncpm=452&gcpm=452&dur=60&time=60&chksum=45213&unit=wpm&kh=998&td=null&err=0&hits=452

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 --assume-unchanged /path/to/file

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.

Episode source