Great article on mastering-programming

I often see the article  or blog post “how to be a better developer” and sometimes there might be a hidden gem contained in the text but often it seems that most of the guidance is vague or abstract and hard to really put into practice.

Then, I found this:

https://www.facebook.com/notes/kent-beck/mastering-programming/1184427814923414

A friend at work sent it to me – It’s an excellent short summary of some habits, practices and behaviour that make a difference in enterprise software engineering. What resonated for me is that there a quite a few elements that Beck mentions that I can’t remember seeing in articles on the subject including:

  • Call your shot. Before you run code, predict out loud exactly what will happen.
    • Dom’s  Comment: “Nothing like doing a quick walkthrough of what you’ve just built”
  • Remove extraneous detail. When reporting a bug, find the shortest repro steps. When isolating a bug, find the shortest test case. When using a new API, start from the most basic example. “All that stuff can’t possibly matter,” is an expensive assumption when it’s wrong.
    • Dom’s  Comment: “If the API has a Ping method just get that going first”
  • Aesthetics. Beauty is a powerful gradient to climb. It is also a liberating gradient to flout (e.g. inlining a bunch of functions into one giant mess).
    • Dom’s  Comment: “Have a look at well formatted SQL code and compare it to the madness of all being on one line”

Great Great Article for any developer

 

 

Skills for new Software Engineering grads

Great article on the type of skills new Software Engineering graduates should work on before they start their first job:

https://blog.newrelic.com/2014/06/03/10-secrets-learned-software-engineering-degree-probably-didnt/

Visual Studio Dev Essentials -Free Hosting, SQL Server Dev Edition…

So this looks like a great new free Microsoft Offering:

https://www.visualstudio.com/en-us/products/visual-studio-dev-essentials-vs.aspx

lots of Cloud Services:

  • Azure credit ($25/month for 12 months)*
  • Visual Studio Team Services account with five users*
  • App Service free tier
  • HockeyApp free tier
  • Application Insights free tier

Source: Microsoft

lots of free  Training:

  • Pluralsight (3-month subscription)— for limited time only 6 month**
  • Selected Xamarin University courses on-demand*
  • WintellectNOW (3-month subscription)*
  • Microsoft Virtual Academy
  • HackHands Live Programming Help ($25 credit)*
  • Priority Forum Support*

Source: Microsoft

and lots more…

The thin white duke departs…

I, I will be king
And you, you will be queen
Though nothing will drive them away
We can beat them, just for one day
We can be Heroes, just for one day

David Bowie

Even Eric Lippert (C# guru) was touched by the loss of the great man:

Space oddity

Memories of 1984 come back to me – hearing Bowie for the first time and coding some crazy text adventures on my C-64 – sheltering in my glorious little room with just me, my computer and David Bowie. The wild world was outside.

If you haven’t listened Bowie it’s never too late.

Good bye sir, thanks for everything.

More advice for University Students (newbie coders)

 

Another older but great article focussing on advice for young developers:

http://blog.codinghorror.com/learning-on-the-battlefield/

Here’s the key advice for students about to embark on a career in Software Engineering:

  • If you’re a student, seek out internships like your life depends on it. Some of the best programmers I’ve ever met have been college interns. Intern somewhere that you can absorb and learn as much as possible. You won’t make much money, but the experience will be priceless.  
  • Participate in local user groups. User groups are an unbeatable resource for people just starting out in their careers; they’re an excellent source of advice and mentorship.
  • Contribute to an open-source project. There are thousands, so pick whatever strikes your fancy. But pick one and really dig in, become an active contributor. Absolutely nothing is more practical than working collaboratively with software developers all over the globe, from all walks of life.
  • Publish articles. The cleverest code in the world won’t help you if you can’t clearly communicate how that code works, or what it’s for. Try your hand at writing.CodeProject is an excellent sandbox to practice in. Publish an article and the large, active CodeProject community will let you know how you’re doing with ratings and comments.  
  • Start a blog. Pick a writing schedule and stick with it; I recommend once a week at minimum. Select a general theme for your blog and write on topics related (at least tangentially) to that theme. And don’t be an echo chamber.

Source: blog.codinghorror.com (2007)

Advice for self taught programmers

This is a nice article focussing on self taught programmers.

http://blog.pluralsight.com/self-taught-developer-job-tips?utm_source=marketo&utm_medium=email&utm_campaign=Newsletter_15_1202

What I really like the most is the focus on Craft a Portfolio – really like the advice the authors focusses on – this is not just useful for self taught programmers but all programmers should consider this.