Book Reviews

Soft Skills: The Software Developer’s Life Manual

Soft Skills CoverSoft Skills are extremely important for developers. Ever since Brian Prince created a Soft Skills series and gave similar talks at conferences, I’ve been made aware of the term “Soft Skills” and why they are important for developers. Too many technologists focus only on coding skills and not on the other things that you need to know in order to advance your career in companies that are staffed by (believe it or not) human beings.

I even cover a few soft skills that you need in order to be considered a “professional” in my last podcast, because I think they are that important. So, when I heard John Sonmez talk on the Entreprogrammers podcast about this book, I knew I had to check it out.

The book is called Soft Skills: The software developer’s life manual, and it is a great addition to every technical person’s library. Even those who are non-technical could get a lot out of the book, but it does have a target audience of technical individuals.

Soft Skills is written so that it can be read either in one sitting or as a guide to be consulted in times of need. Even if you feel like you “know” a topic, I would still recommend reading the section, because John has such an interesting perspective on each area.

The sections cover Career, Marketing Yourself, Learning, Productivity, Financial, Fitness, and Spirit. No, I didn’t change topics; John does cover money and well-being (mental, physical, and spiritual) in this book. Developers and technical people often live very sedentary lifestyles and build up their minds at the expense of their bodies. John sees no such dichotomy.

I first became familiar with the author from his Simple Programmer blog, his Pluralsight courses, and then from his podcasts and guest podcast appearances. I am a customer of his “How to Market Yourself as a Software Developer” course and this book continues the quality material that he is known for producing. For those who are also customers of that course, there is a little bit of overlap between the course and this book, but nothing that should keep you from buying and reading this book.

Lastly, this book is a great investment. With so many technical books threatening to be out of date before they are finished printing, John Sonmez has authored an instant classic that will be valuable for years to come. Just like Clean Code, The Pragmatic Programmer, and Code Complete, this book is one that you can read and reread in order to continually improve as a person in the workforce.

I highly recommend this book.

Podcasts

Podcast Episode 30 – Being a Professional Programmer

ProfessionalismFor my last episode of 2014, episode 30 has me giving my opinions on what makes someone a programmer. More so, what classifies someone as a “professional” programmer. Is it merely “programming for pay”, or is there something else to it? People on Quora and other places on the Internet have no shortages of opinions, so – of course – I have to weigh in with my own!


Links Mentioned in this Show:
The Question that started me thinking
You Can Charge More, by Andy Adams
Codewords Quarterly

You can also subscribe to the podcast at any of these places:
iTunes Link RSS Feed

Thanks to all the people who listen, and a special thanks to those who have rated me. I really appreciate it.

The episodes have been archived. Click Here to see the archive page.

Business of Software

Podcast Episode 29 – Management, Leadership, and the True Role of a Follower

LeaderIn Episode 29, I take some time to think about the roles of a leader and a manager and how those intersect and how they differ. I not only share from personal experiences of when I’ve had to lead and manage, but I also share some wisdom from my father on the subject. (He’s a lot smarter about it than I am). I also talk about the importance of followers and how following isn’t a dirty word.


Links Mentioned in this Show:
The Pete On Software Podcast on Mentoring
Dash

You can also subscribe to the podcast at any of these places:
iTunes Link RSS Feed

Thanks to all the people who listen, and a special thanks to those who have rated me. I really appreciate it.

The episodes have been archived. Click Here to see the archive page.

Hood.ie

Hoodie, Part 1 – An Intro to Hoodie

HoodieSome time ago, I was browsing Reddit or Hacker News and I came across a link to something called Hoodie. Of course, that’s an appropriate sounding programmer framework name, but what is it? In their own words, “Hoodie enables you to express yourself through technology by making web app development very fast, easy and accessible. It’s a complete backend for your apps: develop your frontend code, plug it into our API and your app is ready”.

Well, doesn’t that sound convenient? But, who is it for? Quoting their site again, they say, “Currently, Hoodie is mainly for frontend developers who want to build their own applications based on it, and for Node.js developers who want to help us extend Hoodie’s core by building plugins. Hoodie’s future goal is to be accessible for designers and people with few coding skills because we think this matters”.

Okay, well right away, some of you might lose interest because you aren’t designers and you would probably be offended if you were described as having “few coding skills”. However, I do agree with the Hood.ie team and it does seem that web development is still somewhat of a matter of privilege. I wrote a post back in May, 2013 called How Deep is the Rabbit Hole. In the post, I took issue with another blogger who was complaining about all of the things that developers had to know in order to be viable developers.

I still hold to my stance. I believe professional developers can get by knowing a few things, but as they are in the game for awhile, they will learn more and more about their craft. There is no shame in that. At the same time, if someone wants to build a simple functional application, should they have to learn the entire full stack of development – soup to nuts? We aren’t talking about “Enterprise Class™” code here. I’m talking about someone who wants to build a simple application who only knows the basics of Web UI from a design perspective. That’s who Hoodie serves and who my audience is for this series.

At the same time, if you are more of a full stack developer, it doesn’t hurt you to learn more about other tools either. While you may see Hoodie to Web Apps what Access is to Databases, that doesn’t mean that the tool doesn’t have an audience and it doesn’t mean that it hurts to have it in your tool belt to offer as potential solutions to clients or to friends.

So, how do you get started with Hoodie? First, you need to have the following prerequisites installed:

  • Git
  • CouchDB
  • Node.js & NPM

You can find out how to best install those for Windows, Mac, or Linux over here.

Once you have those items installed, you can just install Hoodie from the command line by typing the following:

npm install -g hoodie-cli

That’s all there is to it. You can verify that you have installed it correctly by just calling hoodie from the command line and verifying that you see output like I have here:

A successful Hoodie installation

From there, you can begin to use Hoodie by calling hoodie and passing in an application name to create. For my purposes, I’m going to create a new application called pos_example by executing the following command

hoodie new pos_example

Hoodie App Created

Doing as it suggests, once I cd into the directory and call hoodie start, I get this output.

Peters-iMac:~ pshearer$ cd pos_example/
Peters-iMac:pos_example pshearer$ hoodie start

.d$b.  .d$b.  .d$$$$$$b.    .d$$$$$$b.  .d$$$$$$b.  .d$b..d$$$$$$$$b.
$$$$$..$$$$$.$$$$$$$$$$$b .$$$$$$$$$$$b $$$$$$$$$$b $$$$$$$$$$$$$$$P'
$$$$$$$$$$$$d$$$$$$$$$$$$bd$$$$$$$$$$$$b$$$$$$$$$$$b$$$$$$$$$$$$$$$b.
$$$$$$$$$$$$Q$$$$$$$$$$$$PQ$$$$$$$$$$$$P$$$$$$$$$$$P$$$$$$$$$$$$$$$P'
$$$$$´`$$$$$'$$$$$$$$$$$$''$$$$$$$$$$$$'$$$$$$$$$$P $$$$$$$$$$$$$$$b.
'Q$P'  'Q$P'  'Q$$$$$$P'    'Q$$$$$$P'  'Q$$$$$$$P  'Q$P''Q$$$$$$$$P'

Version: 0.6.3 (node v0.10.33, npm 2.1.10, platform: darwin)

Initializing...
CouchDB started: http://127.0.0.1:6003
Waiting for CouchDB [---*--] SUCCESS 
prompt: Please set an admin password :  
WWW:    http://127.0.0.1:6001
Admin:  http://127.0.0.1:6002
Starting Plugin: 'hoodie-plugin-appconfig'
Starting Plugin: 'hoodie-plugin-email'
Starting Plugin: 'hoodie-plugin-users'
All plugins started.

[hoodie] Hoodie app is running!

You’ll notice that I had to specify an admin password and also, automatically, my browser launched to http://127.0.0.1:6001, where I was greeted with this:

Hoodie Test Page

That’s it. As an introduction, we’ve gotten started with some generic scaffolding, but next time, we’ll look at how we can leverage Hoodie to make something a little more useful.

Podcasts

Podcast Episode 28 – Are We All Narcissists? Am I?

NarcissusHere in Episode 28, I was inspired by Episode 380 of the Podcast Answerman podcast to consider whether or not tech podcasters, bloggers, writers, and speakers were actually narcissists. And, of course, there is no better place to start with those questions than in your own back yard. So, I do some evaluations on myself and share some thoughts about those results and how I believe they compare to the community at large.


Links Mentioned in this Show:
Cliff’s Narcissism Podcast
Narcissistic Personality Disorder Symptoms
The Quiz I took
APIs.io
Explain Visually

You can also subscribe to the podcast at any of these places:
iTunes Link RSS Feed

Thanks to all the people who listen, and a special thanks to those who have rated me. I really appreciate it.

The episodes have been archived. Click Here to see the archive page.