Why software development is not for everyone

Have you ever had gobs of fun hacking away on a computer? Noodled with a piece of code that you discovered in the afternoon, and here it is, 2:00 a.m.? That’s a sign you may be a computer geek. That’s all and good, but the question that may come before you is, do you want to make this your dream job? Your career? Watch out, though. Software development is not for everyone.

mr_potatohead-300x190I fear that some people may be getting into software development because computers are now hip and cool. And the money is good! I remember a time, several years ago, when I saw the corner turn in how computer geeks were no longer the goof bots found in Wargames, but instead, totally righteous dudes.

What was that tip off? A TV ad for liquor which showed “Jim from IT” partying just like everyone else. TV ads are a bellwether for trends, because that write them are constantly polling groups of people to see what will resonate. When IT people had entered the main fray of the party-going crowd and were seen a force to be reckoned with (err…a force to be advertised with), then game over.

The side effect of anything going mainstream is that others, who have no deep seated desire to submit and review pull requests on vacation (for the record, I’ve actually done both at Disney World. Top that!), will still flock to the field since its cool, and there’s money to be made. Am I saying that to get ahead, you must be a workaholic and eschew your family? Not at all. What I’m saying is that computer geeks that are in it for the challenge and not just cuz it’s cool can’t help themselves but do what i just described.

So far, I’ve talked about hacking on bits of code at odd hours in odd places. But here is the real test, the true gambit to see if deep down you really are a totally righteous hacker dude: do you go after the most boring, challenging, mind numbingly difficult problems until the code surrenders its secrets to you?

Do you go after the most boring, challenging, mind numbingly difficult problems until the code surrenders its secrets to you?  –sign of a righteous hacker

I have been working on something for several months that is coming to light in less than two weeks. (Stay tuned!) For MANY hours/days/weeks, every time I tweaked one line of code, I had to restart a microservice. That microservice would take, on average, two minutes to load up its data set from a remote system. Next, I went to another tab and clicked on a button to launch a process, and wait to see if my system detected it and processed it correctly. Got that? Edit one line of code, wait five minutes for the results, then debug the outcome. Rinse and repeat.

aaarrrggghhhAaaarrgggghhh!!!! <— that was my reaction on many days. And my followup was, “thou shalt not defeat me!” My street cred was at stake, and my own internal desire to beat this system into submission were there as well.

Suffice it to say, trudging through this task is not for the faint of heart. Software hobbyists need not apply.

I’ve always hated the expression “9-to-5 coder.” It’s meant to imply people that only work on the clock, and don’t work late hours, etc. In general, I do that as well. At times, I have to alert my family that I’ll be putting in extra hours (especially the month before SpringOne each year), but in general, I have found that working smarter, not harder, and thinking out solutions before slinging code can make things more efficient.

So I prefer to think of developers not based on the hours they work, but rather, are you a hobbyist or a diehard coder? Diehard coders will take the most ruthless problems and dig, dig, dig, dig, and dig until the answer is found. They are willing to take many hits, submit faulty patches, and screw things up big time, because the end game is important. Version control is our tool to save us from screwing things up, not timidity. Are you a hobbyist that fears making a big change? Or are you a diehard hacker ready to show your handy work to others?

I remember this topic coming up when a website popped up offering bounties for people to solve problems. This was rightly criticized as encouraging people to go after easy–to-tackle issues, or selecting issues that carried much public praise, like UI mods. But serious, professional hacks will take some of the most invisible things (like a 300ms slowdown) and go to extreme ends to unearth what’s wrong. Imagine trying to get ANYONE to pick up that issue for a bounty.

If such tasks sound outrageous or tedious, no problem. I understand. You are hobbyist. Nothing wrong there. But if you’re ready to dive into the slimiest mud bath of code, smile. You are rare.

Darklight critique by best selling author @JerryBJenkins

The thing you can never do without is getting solid, concrete feedback from a bestselling author. You can see my Darklight critique by Jerry Jenkins below.

I have the webinar keyed up to where he digs into my story and pulls no punches. The points he makes are amazing.

The blind leading the blind

If you meet up with a handful of wannabe authors, the odds of getting solid feedback aren’t stellar. Your chances begin to rise when you meet with published authors. Those that have been through the wringer of editors, publishers, and proof readers may have more usable stuff to chew on. Find an author with 21 best sellers, and you’re no longer hear “your story is wonderful, dear,” from your spouse or your mother.

Okay, enough glee on my own story. I really recommend you go back and watch the whole thing from the beginning. There is one other 1-pager that gets picked apart like mine. The points he makes are great.

  • Avoid on-the-nose writing (telling us about stuff we all know).
  • Focus on nouns and verbs to keep it snappy and tight.
  • Don’t explain everything to us. Give the reader credit, a.k.a. give the audience 2+2. Let them figure out 4.


Debug and Maintain your Spring Boot App

It’s out! My webinar, Debug and Maintain Your Spring Boot App, is now available to watch right here. Learn how to:

  • Figure out what Spring Boot has done, so you can tweak things as needed.
  • Discover property override settings, and not be done in by out-of-date docs.
  • Merge metrics and commands as needed for DevOps support.

I hope you enjoy this meme-tastic, code-filled webinar I hosted.

If you’re interested, the code for it can be found at https://github.com/gregturn/debug-your-spring-boot-app. The basis of this code is Chapter 3 of Learning Spring Boot. If you’re interested, you can sign up today for my technical newsletter and hear up-to-date news including alerts about Learning Spring Boot.

The Hunt for Red October – writing analysis

imageI previously blogged about going back and watching/reading The Hunt for Red October as a writer.As a follow up, I wanted to walk through it the story line and talk about it right here. Together, we’ll walk through each act and do a writing analysis at the end


This article will go into the movie and bits of the book in great detail. If you haven’t seen it yet, then stop right now. Sufficiently warned? Great. Let’s move on.

Down below, I have each section staked out. This is one way of framing the Three Act Story. Hopefully by analyzing The Hunt for Red October, you can start spotting this pattern in other places, and then be able to see how each writer applies their own styles and twists to come up with new, fun stories.

The Hook

Captain Ramius is standing atop a Russian submarine with his first officer. The ship is on the surface, and getting underway. The tension from the captain is clear, but we’re not sure what it’s about. They go below deck and give the order to dive. Captain Ramius is alerted that the political officer awaits him in his cabin to read their orders.

The captain and the political officer meet. It’s clear they don’t like each other. Each one produces a key to access their orders. The political officer has one key, and Ramius the other. Their orders are to rendezvous at a certain location and conduct drills with another vessel, supposedly a submarine.

And here comes the hook. Captain Ramius kills the political officer, burns up the orders, and pulls out a separate set of orders. He calls the doctor to report an accident. In front of the doctor and another crewman, Ramius takes the political officer’s missile key and keeps it for himself. It is pointed out that the orders (fake ones) indicate strict radio silence. The captain then speaks to the entire crew, indicating that they will sail to New York and conduct missile drills.

Everyone knows what a pair of missile keys is, and it appears that the captain has seized control of a Russian submarine armed with nuclear warheads. He is heading straight to the eastern coast of the United States. And the audience is hooked. The title itself whet our appetites, and now we know why there will be a hunt for this submarine.

Disaster 1 – The First Act

Things switch and we are introduced to the crew of the United States submarine Dallas. Their top notch sonar operator has detected the submarine and moved to investigate. It’s nicely laid out that the United States is the protagonist and Renegade Captain Ramius is the antagonist.

The first sign of conflict and tension is when the Russian submarine activates a never before seen (or never before heard) silent propulsion system. The sonar operator loses track of this new submarine and is perplexed. He tries to track it, but it is hopeless.

Pinch Point – Enemy makes a move

The Russian’s turn but the Americans don’t follow. Ramius has made a rousing speech about the past successes of Sputnik and Yuri Gagarin as the Russians entered space. They elude the Americans and we are left hanging, wondering how the “good guys” can beat a silent submarine.

Resolution 1

The sonar operator won’t stop. He listens over and over. He also is hooked onto a reel-to-reel tape, constantly listening. The COB (Chief of the Boat) mocks him, but it doesn’t work. The sonar officer then visits the captain and plays a tape recording at 10x normal speed. The cyclic sound is clearly a man-made sound. To top things off, he produces a chart with five readings, all marking a straight edge course for the entrance to a Russian-mapped ste of caverns.

In the book, the skills of the sonar officer are better laid out. On a submarine, you are trained to do one job and do it well. The sonar officer had no training in navigation, but this one manages to put together a big picture. On submarines, no one has perspective or view of stars or the sun, so navigation seems only possible if you were trained for it. The character in the book is immediately granted a promotion by the skipper. And the audience cheers.

The captain orders his first officer to put them at the end of the canyons. He instructs the sonar officer to stand by, and pick them back up, now that he knows what to listen for. Sounds like the hunt is over, right?

Disaster 2 – The Second Act

The story moves along, and we discover, that Captain Ramius is NOT a renegade planning to fire his missiles. Instead, he is planning to defect along with most of his officers, but not the enlisted crew nor the doctor.

After entering the canyons, the silent drive breaks down, and they switch to classic propellers. We have already seen that the bulk of the Soviet navy has been scrambled to find this submarine and sink it, and now we know why.

This disaster is quite fascinating, because the protagonist has shifted from the Americans to Captain Ramius and his officers that want to defect.

Midpoint – Enemy makes a move

Earlier, the Russian submarine was the enemy making a move. Now the enemy has become the rest of the Soviet navy. Due to the failure of the silent drive, they use propellers to keep moving. It attracts a Fox Bear aircraft to launch a torpedo.

We already have the tension of a Russian submarine slipping past American sonar. The tension gets bumped up when it turns out the captain wants to defect. Yet more tension is heaped on when a torpedo is bearing down in a boat that has no room to maneuver in this underwater canyon.

Resolution 2

The captain does NOT order the turn when the navigator signals it is time. Instead, he keeps looking at the clock, listening to the “pings” from the torpedo, and seemingly making computations in his head.

At the last second, he orders a hard turn, and manages to dodge the torpedo. By waiting long enough, the torpedo has no room to turn and detonates as it hits the wall of the canyon. We get a hint of the captain’s expertise. In the book, these types of details are more clearly voiced. The knowledge the captain and his officers use to evade attack are better laid out.

Finally, as they exit the canyon walls, the silent drive is repaired and they continue on their real mission, escaping to freedom.

Disaster 3 – The Third Act

I haven’t really mentioned much about Jack Ryan, a pivotal character in the movie. That’s because he is mostly playing catchup. He represents the Americans and is the one that figures out in advance that Ramius is defecting. His tension is first suggesting the idea, then having to convince every member of the government along the way.

He finally links up with the Russians after the enlisted crew are evacuated for what he guesses is a false nuclear reactor emergency. Just when we get a sense of tension relief, the sound of a torpedo passes by. The sonar officer, without any gear, identifies it as Russian. As they plan to fire back, a secret member of the crew shoots at Ramius, but instead hits the first officer while also blasting the weapons control station.

Final pinch point – enemy makes a move

One of the other Russian submarines, a fast attack boat, is bearing down. He fires another torpedo, and Ramius manages to steer into its path, and blow it up before it arms itself. Another demonstration of his experience.

The crewman who shot at him threatens to blow up a nuclear missile and destroy the ship. In the book, this character is revealed to be a KGB agent. As Jack and Ramius enter the launch area, the agent keeps firing a pistal, wounding Ramius.

At the same time, the other Russian submarine launches another torpedo instantly armed. The tension is super high as the Dallas slips in between the other two subs and draws the torpedo away. After the Dallas escapes with an emergency blow, the torpedo locks back onto the Red October.

Resolution 3

Here we get to see the skipper of the Dallas really shine. He was part of the contingent that joined Ryan on the Red October. Ramius put him in command as he went after the agent. Mancuso has ordered a bunch of maneuvers, but we can’t tell what is happening. Finally, the captain lets us, the audience, in when he says, “The thing about playing chicken is knowing when to flinch.”

The Red October is barreling down on the other sub and then breaks off. The torpedo that was following it, crashes into the other sub and destroys it. You get a real sense of awe when you realize that the captain performed this move without seeing everything, under enormous pressure, and on a boot he has never been on before.

To top it off, the explosion erupts up on the surface, and all the crewmen, unaware of the other sub, believe the Red October has been sunk.


The closing scene shows the Red October being hidden a hundred miles from any naval base with Jack welcoming Ramius to “the new world”. He is then seen on a plane flight, asleep. This tiny snippet resolves the fact that he hasn’t slept in days and has had to fly ever worsening conditions from London to Washington to the carrier to the Dallas and to the Red October.


In the books, the skill sets of each officer is better laid out. In a movie, you can’t just explain everything or it would slow down to a crawl. The captain’s ability to evade sonar and slip in behind another submarine is delivered smoothly.

I never quite bought the Russian officer’s ability to hide their defection from the crew until I read the book. There it becomes clear that most enlisted Russians are probably serving their first or second tour, and basically are there to push knobs and other things to make the sub go. They don’t understand navigation, how all the systems operate and other things. They totally trust their commanding officers. This difference is turned into more tension when the defecting Russian officers meet the enlisted sonar officer of the Dallas and see how intelligent he is.

Tom Clancy uses the medium of underwater submarines to tell an exciting story. It is quite fascinating, because it is a great way to hide and reveal various things.

His big twist is changing who the antagonist is halfway into the story. Tom Clancy also communicates navy and military elements with grace and charm, one of the biggest things that made his career so successful. I have heard of other writer’s using Tom Clancy’s writing as their source for military research.

So go forth and watch the movie and read the book. The Three Act formula is easy to see, and yet, it doesn’t rob the author of a good story. It certainly doesn’t produce anything dull. Instead, it provides a collection of tension and relief that keeps adding up all the way to the end, making it real page turner.

Happy writing!

Want to be a writer? Watch and read The Hunt for October

imageWant to be a writer? At last week’s writers conference, one speaker used movie clips to demonstrate various key structures found in books. I also heard another speaker mention how, in chatting with Lee Child, that the man did all his military research by reading Tom Clancy.

I just finished watching The Hunt for Red October for the nth time, only this time, I was watching it as a writer. I also plan to go and re-read the novel. That story carries all the perfect elements of a story. Want to write a gripping tale? Look at what happened there and you will understand things like pinch points and other constructs.

Disasters and Pinch points

There is a story structure that dates back to Aristotle. It has names including the Three Act Story. Some say this recipe is so successful because it really reflects us.

One way of describing this story is that it contains a series of disasters followed by pinch points. First, a disaster ensues and then a pinch point is when the enemy makes a move.  Then show a way forward

Somebody gets into trouble, then gets out of it again. People love that story. They never get tired of it.” –Kurt Vonnegut

Go and watch The Hunt for October. Can you spot the disasters?  What about the pinch points?  Another good sign is when you connect to the characters and start to cheer for them. Or hate it when they are hurt or killed. And every author shoots to move the story along in a way such that you don’t need the next disaster that’s about to strike.

Read debut novels of famous authors

You don’t really have to pick the book I just said. But go and find the debut novel for any author you recognize. Read the first chapter. Does it hook you? Want to read more? A debut novel is what that author had to submit, wade through the tough process of convincing agents, editors, and publishers to bet on. These authors had no coat tails to ride.

I don’t know about you, but the next novel on my list is The Andromeda Strain by Michael Crichton. I love that movie. I must read the book and digest it as a hopeful author.

Happy writing!

From Beat Sheet to Synopsis: How Writing Tools Pay Back with Interest /cc @DanielRMarvello

undergroundersAbout five years ago, I learned about structuring your novel. It started when I read Evolution of a Beat Sheet. I found the article quite interesting, and it lined up perfectly with my analyzing/organizing nature.

A Beat Sheet is basically an outline done on a spreadsheet. You can use any structure you want, but a common one that many will testify to is sometimes known as the Three Act Story. In essence, you lay out the most critical parts of your story. Then you start to fill in other scenes. Sooner or later, you have laid out a nice arrangement of your story. From here on, you can start writing your story. Writing a Beat Sheet isn’t easy. I think I spent a year at it. At one stage, I was stalled out because one tiny aspect of my world was unresolved, and it blocked me for some time.

After resolving that, I was suddenly writing at full force. Words flew out of my fingers. The detailed character profiles I had written combined with my structured story made it simple to crank out my novel. Being the software geek that I am, I added the extra ability to estimate total word counts at the end. I spotted half way in that my story was light, so I went back to the spreadsheet and crafted a subplot that happened to fill a big gap in the story. Blam!

Now here I sit, prepping for the Clarksville Writer’s Conference later this week. My plan is to schedule a slot to chat with an agent. I would like to show him my query letter and synopsis to get a read on how good or bad it is. Ever try to take an 80,000 word story and boil it down to 750-1000 words? Yikes! People say this is harder than writing the query.

But I had a secret trick in my backpocket. Each scene summary in the my beat sheet! I grabbed all the text from my beat sheet and pasted it into a document. I swept through it in ten minutes, picking paragraph chunks. Poof! 2800 words that depicts my story end-to-end. Now I just need to walk through it again, clean up the sloppy language, and throw out redundant or unnecessary stuff. This should get it into range for a proper synopsis.

To top it off, I’m hoping this entire process will help lend me towards writing the query itself. This is when I can whip out that one-sentence summary I wrote a long time ago based on the Snowflake method.

Happy writing!

Building a writer’s platform

As Sara gets underway with her writing career, I am happily doing anything and everything to help. In particular, I’m her de facto web administrator.

  • I set up http://saraturnquist.com using WordPress.
  • I configured her Mail Chimp account to help her build her email list. She’s already sent out a newsletter!
  • I have stood up a Google Analytics account and created a property that is now linked to her website and her Mail Chimp mailing list.

Now, every web page she crafts, whether a blog page or a Mail Chimp archived newsletter, is serving up metrics to my admin page and letting me track it all. This is where you bend social media to serve you and not the other way around.

Of course, I’m doing to same for my own site as I slowly work at publishing my own debut novel. But suffice it to say, building your online presence in this day and age is easier than ever before. (It also helps if you are a professional software dev who understands some of these things!)

Happy blogging and newsletter writing!

I hate “Track Changes” with a passion

The world of open source has commoditized many things. It’s the key reason my wife and I could move off of Windows and onto Macs without the world knowing or caring. Key apps we use are Chrome and LibreOffice. These tools are free and open. It takes no effort to crank a PDF of a document.

Then we run into the situation with editors. Much of the writing world has invested itself in MS Word’s tools like Track Changes. And so we get back an edited manuscript loaded with tracked changes. “Maintain the changes!” “Submit your chapullmebackinnges and I’ll merge them”

Hence, I have to keep a copy of MS Word for Mac on all my computers.

Today my wife got her manuscript chopped up by her line editor, the last of a series of edits. She couldn’t edit it on her MacBook Air. I could on my MacBook Pro as well as the Mac Pro tower. So I relinquished my throne so she could work on the tower computer. I suppose working on software from the sofa isn’t the worse thing. What burns me up is that between all three of these computers were three versions: 14.0, 14.1, and 14.4.

I have no clue what’s wrong!

We need something better than track changes. And we need the writing community to rise up and demand such freely available tools so the pox of MS Word can be lain in its grave. I have done my part by writing Learning Spring Boot in Asciidoctor and leaning on Packt to adopt it wholesale. But I fear that day may never come. And so I hang my head and weep.