Episode 185 – Write to Help Others and Crystallize What You Learn with Jimmy Bogard
Phil’s guest on today’s podcast is Jimmy Bogard. He has a BSEE in Computer Engineering. But, he became a software developer and engineer. Jimmy worked for Icabob Design, VI Technology and Dell Inc in those roles. In 2008, he joined Headspring and, today, he is their Chief Architect.
Jimmy is an expert in distributed systems, REST, domain-driven design, messaging and CQRS. He is also the author of the ASP.NET MVC in Action books, as well as a prolific OSS developer and public speaker.
(00.46) – So, Jimmy, could you tell us a little bit more around your background and your current role as chief architect at Headspring? Jimmy starts by explaining that he graduated with a computer engineering degree and kind of fell into an IT career, when he left university. In time, he landed a job at Headspring.
(1.47) – Can you please share a unique career tip with the I.T. career audience? When he studied to become a computer engineer he was told that to succeed in that field you need to be continuously learning. He was told that he would need to reinvent himself every 5 or 10 years.
It was a good habit to get into. When he moved into software he was already able to move from one technology to another fairly quickly.
Jimmy says it is also important to stay in the know. That way you will be learning and growing in the right ways.
In other words you have to become a T-shaped developer. That is to say you have a broad knowledge of a lot of subjects and technologies. But, have also taken the time to dive deep on at least one of them.
(3.07) – What approach do you take when learning new technologies? Jimmy explains that the client’s needs drive the skills he learns. He focuses on learning those technologies that will help them to achieve their goals.
You have to be careful not to dive in too deep. If you do that you spend too much time learning and not enough time working on the projects. To stop that from happening Jimmy periodically pauses and asks himself does this really matter? If the answer is no, he stops learning that tech or skill and focuses on something that is more relevant to what he is working on, at that moment.
(4.11) – Can you tell us about your worst career moment? And what you learned from that experience. Years ago, Jimmy was working on a loyalty rewards project for a major retailer. He came up with what he thought was an important, but easy change to implement. For some reason, it went live not long before Black Friday, the busiest time of the year for the retailer.
Unfortunately, a mistake slipped through. Jimmy had miss configured the dependency injection container in a way that registered some components twice.
The net result was that everyone was awarded double reward points. Worse, nobody noticed the error for about 10 days.
When the client asked him to check he did. But, he only ran the test locally. Not in the full environment. So, everything looked fine.
In reality there was an issue. People were receiving a 10% off coupon via email. Followed shortly by an identical coupon giving them another 10% off, which they were not actually entitled to. The customers thought it was their lucky day, so did not complain. So, there were no emails from them saying there was an issue. Just a spike in the figures that was disguised by the fact this was all happening at the retailer’s busiest time.
Eventually, Jimmy could see the issue and was able to fix it. But, he felt awful. The mistake was an expensive one. Understandably, the retailer did not want to take the coupons off of their customers. They were only able to revoke the duplicates that were attached to unopened emails.
Naturally, changes were made to make sure something like that could not happen again. One of which is to track the key metrics and forecast what they should look like once any changes went live. Now, if they change up or down further than anticipated the system immediately flags it as a potential issue. This triggers extra tests to track down and solve any issues.
(10.49) – What was your best career moment? Jimmy says that it is the things that he deliberately set out to achieve that he is proudest of. For example, building a system for a local county government in Texas, whose budget had just been slashed.
For them, he took a 100% paper-based case file system and digitized it. They had tried off the shelf software, but none of it quite worked for them. When Jimmy presented his tailor-made solution to the team, he got a standing ovation. They like it that much. Better still, Jimmy was able to physically see what a difference his new system made.
(13.52) – Can you tell us what excites you about the future of the IT industry and careers? The fact that the work he and other IT professionals do makes it possible for companies to do things they could not before is exciting. Jimmy knows the work he and other IT professionals makes a huge difference to people.
(15.10) are there any particular tech advancements you are attracted to? Jimmy’s interest lies in technologies that help people to get their jobs done faster.
(16.20) – What drew you to a career in IT? When he graduated, there were not enough computer engineering jobs to go around in Texas. He realised he had to do something else and decided to get involved in software. After all, everyone needs software and it is constantly evolving.
(16.57) – What is the best career advice you have ever received? About 12 or 13 years ago, his mentor suggested to Jimmy that he start a public blog. He did, and that was what sped up his progress in the IT industry.
It is something Jimmy recommends others do too. He finds that writing things down chrysalises his thoughts about things.
(19.02) – Conversely, what is the worst career advice you’ve ever received? When he and his fellow graduates spoke to their professor about the fact they could not find jobs, his professor suggested they all go to graduate school. Advice Jimmy did not follow. He did not want to spend even more time and money studying, especially because there was no guarantee it would improve his job prospects.
(19.48) – If you were to begin your IT career again, right now, what would you do? Jimmy says he would focus on finding good mentors from the start. Early in his career, he made the mistake of trying to emulate what the most popular and vocal developers were doing. But, his hero worship only took him so far. His mentors helped him far more.
(20.47) – What are you currently focusing on in your career? Jimmy is working on his communication skills. He wants to be able to effectively communicate with, and influence, people who are high up in the structure of organizations. The more they understand, the better their IT-related decisions will be. He believes that this top-down approach will lead to fewer people working on projects that were flawed from the start and never see the light of day.
(22.23) – What is the number one non-technical skill that has helped you the most in your IT career? When we build something the customer does not like we all have a tendency to blame them. In reality, most of the time, both parties play a role in these types of failure.
Usually, it comes down to bad communication. Over the years, Jimmy has honed his communication skills, which has helped him to get better results for his customers and build a successful career. So, he sees that as his number one non-technical skill.
(23.45) – What do you do to keep your own IT career energized? Jimmy has found keeping on the move helps to energize his career. Working on projects that keep him learning is essential. That is part of the reason consulting is such a good fit for him. He finds that role to be particularly energizing.
(26.46) – Phil asks Jimmy to share a final piece of career advice with the audience. When Jimmy first started out he had a really bad case of imposter syndrome. He felt he could not match up to his heroes. The guys he followed and whose books he read.
Around 2003, he attended a Java conference and was able to meet some of them. He went up to one of them and said something like I am happy to meet you, congratulated him on his work and told him that he was one of his heroes. The guy said thank you. But, he also said “we’re all just developers.” Basically, people trying to figure out what we’re doing and learn how to do things better. In short, all developers are novices, beginners who need to work together to figure things out. In the world of IT, you will rarely find one true expert. Things move too fast for that to happen. Nobody is an imposter, we are all still learning and everyone has something to contribute.
(2.07) JIMMY – “Career-wise you have to reinvent yourself every five or 10 years.”
(2.28) JIMMY – “Make sure that you’re always growing and expanding.”
(13.52) JIMMY – “It is exciting to know that the things we build enable our customers to do things they couldn’t before.”
(17.48) JIMMY – “Writing helps me to crystallize thoughts about things.”
(27.58) JIMMY – “Embrace your imposter syndrome. It’s OK not to know exactly what you’re doing, because no one else does either.”