Social Software Engineering (Blogs I find Useful)

I read a blog entry the other day, originally posted in February, on being a social coder – ie. don’t be a ghost in the developer community.

http://java.dzone.com/articles/ghost-who-codes-how-anonymity

The author made some interesting points (which I will not summarize here – read the article for yourself.)

I have recently (better late than never) come refine these convictions in my own life.  I need to leave a paper trBail of where I’ve been in this career – evidence of where I’ve been, and my thoughts on those subjects.  This this blog itself is one of the results.

The author did make one point about asking or answering questions on LinkedIn or StackOverflow to which I would like to respond.

  • Unless you are all over the place asking/answering a variety of questions in a variety of areas – a highly visible member of StackOverflow/LinkedIn – this would not necessarily suffice as a decent “visible” trail of your capabilities or knowledge.
  • Asking questions and getting feedback is worth the effort
    • There are times I cannot mentally overcome the hurdle – typing a coherent question is less efficient than continuing to bang on my problem.
    • potential responses is a much larger payoff – and time savings – or not (sometimes no one responds, which sucks – but that’s life)
  • Answering questions is more as a way to refine your abilities/knowledge in your own domain.
    It is actively honing your craft, as you receive and provide feedback.

 

Blogs I find Useful

So with that, a friend recently asked what are some blogs that I frequent and here is a list that I find very useful.
If there are some YOU find beneficial, please leave them in the comments.
I would love to check them out.  Reading useful information can only be beneficial.

 

 

 

In the Beginning …

So I am reading some articles from Dr. Dobbs Journal tonight (April 3rd) and decided 140 characters on Twitter @fshtank  just wasn’t enough to share the URLs of three cool articles.  Three Geek posts – all flowing to Facebook – would make certain peoples’ eyes glaze over like donut frosting.

We all know that Facebook is general smattering about nothing (most of the time) that casual users are learning to ignore.  At least that’s becoming my experience the busier I am staying.

My Twitter @fshtank account – while fun to post – is quite schizophrenic in nature, ranging from a quick daily observation, retweeting someone else’s deep thought, or sharing my heart’s thoughts concerning God or technology.  It also includes frequent pictures of my 2 year old playing at the park for the Grandparents to see.

This is more directed. More purposeful. It is Geek Speak.

How often will I post? Time will tell. Time has been rather limited given I have a 2 year old, a 17 year old, a 29 year old wife (you’re welcome Princess!), a 45-60 hour a week job, 2 hours of commute daily and just enough time on the weekends to mow the lawn, hopefully catch a Saturday Frisbee game with a crew from church and singing with the kids at church on Sundays.  NFL Football Sundays.  I’m lost to the TV (Go Niners!)

Given I am a professional in the Technology realm, I have thoughts within that domain and would like to share from time to time. So: WordPress, here I am.  May the Geek “speak.”

Great Programmers, Bad Programmers, and Atrophy

Dilbert aug 3 2007.strip

http://dilbert.com/strips/comic/2007-08-03/

How this post got started

Reading a Dr. Dobbs journal tonight:

What Makes Bad Programmers Different?

By Andrew Binstock, June 12, 2012

I dropped into the article to see how I measured up against his points.  I culled the following bullet points:

The bad programmer in action is best described by Daniel K. Lyons, who put forth the following list of traits as a comment on my previous editorial. The traits are:

  • Their code is large, messy, and bug laden.

  • They have very superficial knowledge of their problem domain and their tools.

  • Their code has a lot of copy/paste and they have very little interest in techniques that reduce it.

  • The fail to account for edge cases, while inefficiently dealing with the general case.

  • They never have time to comment their code or break it into smaller pieces.

  • Empirical evidence plays no role in their decisions.

Whew! Those are all traits I tend to not like in developers – especially myself. But then there is this prequel message:

What Makes Great Programmers Different?

By Andrew Binstock, June 05, 2012

He defines two groups here:

  • The Good guys – people who are adept and care about the quality of work in their jobs.

They block themselves from greatness by not having the curiosity or know-how at their command to be more than they are. That is, they refine their skills principally by continued application, not by learning new technologies — unless required to do so by job demands. Such programmers are at risk of slipping into the lower grouping by letting their skills atrophy. 

  • The Great Guys

the traits that most stand out are three in number: an excellent memory, a conspicuously wide knowledge of programming techniques and the judgment to know when to apply which, and a deep ability to relate details to the larger picture.

I’ve Seen Great Developers

It has been my experience “Great” developers have this crazy natural ability to dig into, dissect, and discern their technology, their tools, and their business domain all at once.  To this day these people make me marvel at their God-given talent.  Things which cause me to stay up late at night to stay caught up, they manage to accomplish before the end of lunch break, and only stay up late working on stories (a little Agile lingo there) because of Passion.

Being just a “Good” programmer

I fall into the “Good” category.  But, having experienced the skills atrophy at a job that turned for the worse, going on a job hunt I soon learned technology passed me by.  I was going on job interviews for a salary a California home-owner required just to pay the bills – and I was behind the 8 ball in skill sets. No go.  I did a yeoman’s job catching up with technology beyond Hibernate and XSLT, even getting close to taking the SCJP (Sun Certified Java Programmer) after a period of study.  My skills and knowledge were “match” enough for another employer to bring me on board – in Arizona of all places!

I am playing with more technology than I would’ve dreamed about in the other job, with more technology and frameworks coming my way (through work projects) month by month. It’s been great!

Atrophy! Danger! Danger!

BUT! I do not take this for granted.  I am now:

  • staying up on Twitter posts by Google, D-Zone, PC World (okay okay, not so technical, just more fun than anything) and some random Java-Dev-dudes.
  • spending time weekly with a co-worker brushing up on SCJP skills – to take the exam
  • enrolling in Mongo DB certification courses – which has now been put into practice at work.
  • devouring technical books at the voracious pace of 1 every 4 months (Hey! I have a family who wants attention from her daddy/hubby!)
  • Reading Dr. Dobb’s Journal online (when the article subject matter doesn’t give me a headache)
  • Losing sleep to complete by Agile stories in a Sprint
    • Splitting is a No-No in my book
    • Yes, I have Split, and I hate it!

This is far less than a shining resume, but it serves to point out the importance of staying current in your vocation – no matter what it is.  Sometimes we have to push ourselves even when we don’t feel like it.  And yes, this is a hard thing to do. Acknowledged.  I have an original saying:

“I grow the most when the bear is chasing me”

Feel free to use it. I haven’t copy-righted it. Yet.

The point is, deadlines, challenging projects, racing co-workers and demanding bosses, all force me to grow.  I grow lazy & fat when those sharp bear fangs and claws are no-where to be seen.  It’s much easier to sit and read G-Mail or Twitter or all day than coding something cool, or learning something new.

Conclusion

As a “Good Programmer” If we accept the challenge – and the sleepless nights it demands occasionally, looking back on our months and years, we will be amazed how much we’ve grown. Unless we are one of the natural “greats” who code all of Open Office over the weekend – in python – in their Spare time.

If we don’t, we usually find ourselves unemployed or in a REALLY BORING JOB, and atrophied, unable to stand on our own two feet.  And probably not giving a crap to begin with.

I am comfortable that I am at least a “Good Programmer” who cares enough to keep my tool belt up-to-date enough that I can meet today’s demands, while ready for tomorrow’s demands.