SillyCon Valley

Will code for chuckles

By Carlos Ponce @ Encora/dojo.live

Ok. Let's get serious now. The principles that drive high-end software development and innovation are based on a certain amount of hopeful, relentless enthusiasm that is hard to make fun of sometimes. Many recent advancements in tech focus mostly on dry accumulative developments that are technically dense and the personalities driving them are often, on the surface, quite serious.

Cartoons, however, have a way of helping us find insightful humor in anything. They often express commentary that can be more than just funny. It can be mocking, reflective, or even brutally honest yet constructive in a single panel of narrative. But the common aspect of all this is the unavoidable chuckle that makes the tech biz world more enjoyable and friendlier to contemplate.

So stay with us as we will now publish a cartoon every week about the whims and quirks of the software engineering world. We seek to provide a humorous take on the many challenges and opportunities facing tech and software these days (and every other day too). Feel free to leave your comments, hate mail or rave reviews!

How’s my Hand?

May 11, 2022 8:42 am

Written by Jordan R Wilman / Cartoon Illustration by Carlos Ponce

Everyone is always looking to play that ‘perfect’ card. The option that gives you the most success, least chance of failure, and the option to improve your next turn in the future. What’s the problem with that thought process? It’s a well thought out philosophy – not a methodology. 

When we look at the technology sector, which sort of skilled employees and professionals have this problem? Yes, you guessed it! The unicorns of the technology sector – developers! The ones that are always looking to perfect that exact formula; thus, allowing their skill and experience to shine through on a project that everyone will remember them for! Wrong.

Software developers are always looking to be agile and perfect on every task, project, and initiative that gets forwarded their way. The problem with this mindset is that you will never be perfect, no matter how much of a unicorn you are. Like many concepts in life that are philosophies, when you add in the concept of the “real world”, this philosophy does not work in the way that it’s intended. Generally speaking, philosophies never transfer over; especially, when we talk about the work done by developers.  

Instead of a dreamt of philosophy of absolute agile perfection, what can we replace that with? Well, the efficient and useful concept of problem solving in order to complete a task. Understanding that “perfection” will never be attained, no matter how far you push yourself. Finally, recognizing that you are going to make mistakes along the way and that is okay.

No one ever asked you to be perfect, they just wanted you to do your job to the best of your abilities.

WE’LL DEAL YOU THE WINNING DEV CARD HAND!

Stop The Presses!

April 13, 2022 7:23 am

We have a problem…

We must completely change the direction of the project that we are going in – stop the presses! The last thing anyone working on a project wants to hear is that we are stopping what we are doing and reworking the project in a new direction. Ugh, what a waste of time, right?!

Whatever the project is that you are working on, I can guarantee you that there is a major aspect to keep in mind – budget. Usually, there are two aspects to consider when it comes to budget: 1. What the project should cost, and 2. The actual cost of the project. Ah, yes, the practical side of the business that many of us tend to forget when we have our blinders on and are working away like mad, only to find out that changes are coming…

Do you know that more than 50% of software costs go to project rework and repairs, and not the original project cost itself? Yes, that’s baffling information to digest when reading it out loud (or inside) to yourself. A large portion of the rework comes after the initial launch of the project when corrections and implementations come up during the testing period. How can we fix these extra project costs?

Fortunately for you, there are a few ways to remove reworking time and extra costs. Integrate your test design into the requirement/overall process of the project, apply model-based technology to functional testing and specification timelines, and invest in test-driven development processes (i.e. incremental development). These methods will not only save on the costs and resources involved but your own sanity if you are lucky!

(Copy: Jordan Rinaldi / illustration: Carlos Ponce)

WANT TO AVOID REWORK IN SOFTWARE DEV? HERE’S HOW!

Unicorns are NOT Mythical Creatures… or Are They?

April 6, 2022 9:24 pm

No need to grow a horn on your forehead.

These days, there’s increasing pressure for developers and coders to be able to define themselves as “full-stack”, most of the time referred to as unicorns (growing a horn in your forehead is the hardest part, though). This means essentially that they need to have a “unique set of skills”, though the skills are a little less cool than in Liam Neeson’s Taken.

Think instead in terms of HTML, CSS, JS, PHP, MySQL, Apache, Linux… A full-stack developer is practically a one-man/one-woman army when it comes to creating web apps. Can’t do all those things? Then you may have trouble getting an interview with a top employer.

Facebook, for instance, will only (allegedly) hire developers they classify as “full stack” and many others are following suit. Unfortunately, the list of skills involved in developing web apps only continues to grow.

Today there’s some debate as to whether it’s even possible to be a full stack developer. Even those who “believe” in the full-stack developer will debate the best definition for what that means. And recruiters at tech companies usually have a hard time interviewing them, since, you know, some pixie dust is required to do the trick. If you were asked what the term actually encompasses and how you might achieve that lofty, mythical status, what would you respond?

LET US HELP YOU BUILD YOUR TEAM OF UNICORNS!

I (don’t really want to) quit!

March 17, 2022 1:41 pm

Ahhh, the infamous Great Resignation!

Why are so many people quitting their jobs, some even with no new job lined up? Companies from all kinds of verticals – although this is a big thing at tech companies – are offering higher compensation, better benefits, flexible schedules, work from home opportunities and yet workers continue to leave. The dilemma lies in the lack of understanding by the employers of what their employees really want. And no, we’re not necessarily talking about bean bags, ping pong tables and truckloads of free beer, but other things like family time, self-management, autonomy, no commuting, no stringent dress codes and useless meetings, not to mention a holistic sense of purpose and belonging. We see monthly, quarterly, and annual surveys conducted by employers to monitor engagement, but none of these surveys capture what truly matters to the employees. Most surveys are “leading the witness” to ask questions that will always point to compensation, benefits, flex schedules and other short-term boosts for employees. But who dares to ask the employees, “are you happy at work? How do you feel at work every day? What’s really important for you?”

Happiness may be the most fundamental reason why employees leave. Happiness at work and in life has two key components, purpose and contentment. Do employees feel like their job has a purpose worth fulfilling, and are they content? You can’t measure happiness with periodic pulse surveys. You need them to self-reflect and record their happiness either positive or negative every single day.

We are beginning to see trends as people keep tabs on their mood daily. Imagine how these trends will evolve when we look at the happiness scores and mood trends for entire organizations! That is where the rubber will meet the road in our understanding of work culture and mental health. And as long as folks can work in their undies and slippers while bottle feeding toddlers… we’re good.

LET US HELP YOU BUILD A HAPPY DEV TEAM!

The (Unlikely) Future of the Internet?

March 10, 2022 8:07 pm

StarLink could shake things up a bit…

Ok, so, what’s the fuzz about with StarLink? Let’s see. We know that the internet is not some specific set of physical networks. It’s carried by wires, optical fibers, microwave links, satellites and in one famous case, carrier pigeons. It is a set of software protocols that are very specifically designed to actually hide whatever it’s actually running on.

So aside from performance and reliability issues – the Internet will not change at all as systems like StarLink, Project Kuiper, Athena and others start to become commonplace. There is no doubt that the Internet will continue to evolve – but independently of the networks it’s carried upon.

Satellite systems like Starlink, OneWeb and Amazon’s proposal are good at connecting rural and remote areas where the economics aren’t there for terrestrial fiber. But if you live in a suburban or urban area, chances are you’re going to opt for fiber connectivity. Fiber is a data firehose, meaning your speeds are going to be typically quite a bit superior to satellite, which often is more a data garden house — it can either provide a few customers with high speed, or a lot of customers with much slower speeds.

Some adventurous minds even go further by viewing StarLink from a different angle – they are convinced that it will be a source of rivers of cash to develop affordable space travel, and could become public someday. Who knows for sure? I’d bet my morning coffee that no one really knows for sure, except for the guy from South Africa who sleeps at his factory.

Regardless of whether these scenarios are likely or unlikely, are you and your software development getting ready for the opportunity-oozing scenarios that are no doubt to come in the near future with these marvelous technologies? Are you up to the challenge?

WE ARE, SO BUCKLE UP AND JOIN US HERE!

Sales and Engineering: Closing the Gap

March 7, 2022 1:21 pm

In software sales and marketing, you are only as good as the team behind you.

You must get to know what they do, how they do it, and why to better understand them, to be on the same wavelength. After all, you are supposed to have the scoop on what you are actually trying to sell. As a rule of thumb, you should have a working knowledge of what goes on in a developer’s environment. And it starts with asking questions.

Ask the Right Questions

Ask the right questions, and keep asking them until you understand the answers. Only then you will be able to see the method behind the madness. Hopefully, you’ll learn about the products they’re working on!

Find Common Ground

This could be common passions, interests, motivators, and even hobbies. You will surely find something in common with most folks at the company. As much as your own health concerns allow, eat lunch together whenever possible , talk over a beer, coffee, or whatever, or just take a few minutes to chat.

It’s the What, Not the How

Creating a software product is hard. Not because of the code, but because of the gap between what the client usually wants – and what is really possible. Therefore….

Ask LOTS of Questions

Ask about the big picture, fine details, challenges, and deliverables. How should developers approach a new problem? How do they break it into smaller pieces? How do they identify which of those they should worry most about? When should you check back in? How can you help?

When it comes to straddling the gap between sales, marketing and developers, you, the sales wiz, should be able to adapt. Even if it feels awkward at first, keep trying!

WE’VE ALREADY CLOSED THE GAP, ASK US HOW WE DID IT!

The Life-Changing Cup of Coffee

February 25, 2022 1:28 pm

How a cup of coffee changed my professional life (and then some)

When I started at the company back in 2010, I was pretty sure that I knew everything there was to know about my line of work – recruiting, sales and marketing – and about my own self.  I should have known better.

A couple days after I started working at the company, I was about to meet with Roberto Martinez, the CEO, a young man in his thirties, to discuss some job-related stuff. As he sat there, I headed towards the meeting room, cup of coffee in hand. Roberto looked towards me, and I asked, “may I come in?” I expected something like, “… yes, of course”. Contrary to my prediction, Roberto responded, to my surprise, in the least conventional way possible, “… I don’t know, can you?”

Wow. It was up to me to decide whether I could or could not come into the meeting room with a cup of coffee in hand!  

Roberto’s response was far from conventional, it was reminiscent of a gentle “whipping,” the way a Zen master does with his pupils. A cup of coffee in my hand helped me discover what empowerment truly was.

Do you empower your team to decide what they can, should or want to do?

WE CAN HELP YOU EMPOWER YOUR DEV TEAM!

Bad Encryption, or Incoherent Writing?

February 11, 2022 2:34 pm

Implementing encryption correctly

Many organizations simply must use encryption because of data protection regulations, but sometimes, developers don’t have the necessary skills to implement it properly. It’s sort of an endemic issue that a lot of people don’t think about. Many developers believe they know how to implement crypto, but they haven’t had any specific training in cryptography and go around waving a false sense of security. Therefore, even though they end up with applications where encryption is present, attackers might still able to get their filthy hands at sensitive data.

Programming languages like Java and .NET do a reasonably good job to protect developers from making errors a bit more than older languages like C. However, many folks argue that since modern languages are easier to program in and protect programmers more from making mistakes, a good number of them may be lulled into a false sense of security and not show proper care when coding, increasing the risk of introducing other types of problems like design and logic errors. Not implementing crypto properly would fall into this category.

Don’t risk ending up with a false sense of security. You can have encryption built into everything, but it might be broken and your sensitive data will still be vulnerable to spies and would-be thieves. Choose your team wisely, one that will have the necessary skills and training to make sure that your security is iron-clad tight, and not just crank out incoherent code that might need a ton of patching and rework.

CLICK HERE WE CAN HELP WITH KEEPING YOU DATA SAFE!

Lone wolf developer?

February 4, 2022 8:51 am

Even wolves hunt in packs by necessity

For the self-professed lone wolves roaming in the wilderness of the software development world out there, I’d like to share a few insights on working with a distributed team while working from home, so that ‘working remotely’ does not turn into ‘remotely working’.

Are you sort of stuck between the lone wolf’s realm and the need to be and feel part of something larger than yourself? Don’t be afraid to say ‘yes’, be assured that many of us have felt this way at least once during the last couple of years. So how can you become a building block of a collective effort without feeling as if you were losing what makes you, you? Answering this riddle is still a work in progress for many, but it can be done.

Firstly, start think more about what it means to be part of a team, and how you could contribute to building one or making your current one, absolutely rock solid. And if you are lucky enough to be part of a company that fosters team building initiatives, in order for team building to truly and homogeneously be effective, there should be a combination of amplified awareness in the minds of the participants as well as the deep desire to get to the bottom of what’s really going on. Each individual may need a bit more than a boost of cheerfulness.

When people behave the “wrong” way, whatever that means, we can’t just tell them to stop. We can’t just teach “good” demeanor. When people misbehave or get off the tracks, it’s important to first find out why. This will guide us to get past the symptoms so that real, enduring, all-inclusive answers can be found. This may sound simple, but in practice, it’s not easy. It takes everybody to commit to honestly look at the issues that come up. It requires us to get to the core problem.

During this process, it is critical to stay on issues. It’s not productive to put people on the spotlight. We need to keep a positive tone throughout it all. Then we will be able to start working on a real solution. One that entices even the lone wolf to rejoin their pack.

CLICK HERE IF YOU WANT TO JOIN OUR PACK!

The allure of the ‘next big thing’ in tech

January 31, 2022 9:41 pm

Your appointment with the Grim Reaper

I don’t mean to sound like a so-called self-help guru or anything, but if there’s one thing that I’ve learned in 30 years is that if you are going to work hard for success (whatever that means to you), do it in a way that does not take your health away. As a tech entrepreneur, it is very tempting nowadays to try to go after the “next big thing” while leaving your quality sleep and healthy habits in the trash bin. Successful people work hard for their success, but often the periods are broken up into months or years that don’t go by at the speed of lightning and that can place a very high price tag on your mental and emotional health, which affects the quality of your life sooner or later. Work hard, work smart, solve problems and create value, yes, by all means. Just don’t do it at the cost of your well-being. 

I myself prefer to use the adjetive ‘smart’ when I refer to work, but when someone who knows us well tells us not to work so hard, we need to listen. There are many other possible reasons you’re being told you’re working too hard. And if a person with no interest in sabotaging you tells you you’re working too hard, listen and consider making adjustments. They might be doing you a favor. And you might also be postponing your appointment with the Grim Reaper. 

How does all this line up with software development? Well, a healthy, happy, balanced team will marvelously and painlessly give birth to your brainchild, and siding with them will no doubt add years to your life. So go and ideate, launch, exit, make a ton of money, have a couple of beers and do a lot of good. We’d love to partake in it!

LET US HELP YOU ADD YEARS TO YOUR LIFE!

The importance of clear specs

January 28, 2022 10:52 am

What are clear specs, anyway?

Front end and web designers usually take business requirements and turn them into spec-storyboards that everyone uses to define the project. So from the point of view of how business requirements should be presented, most experts might agree that mile-long text should be avoided at all costs. Under normal circumstances, devs hate to read 30-page documents with 10 pt fonts, or PowerPoint slides with 20 bullets per slide.

This limits the options, though. However, a great way to communicate is verbally. Talk about the business problem with the PMs and really understand their point of view. Jolt down your own notes. Why is something important? Where is it going? What is the story that they want to tell the customer? Not user stories in the agile method, but rather customer-facing stories that inspire their imagination and aspirations. Paint a picture, weave a story, get everyone interested.

After those verbal sessions, start to create the storyboards and information architecture and other parts of the UX. The PMs collaborate and make sure that no business requirements are being left out. Notes, callouts and other annotation is used to make sure nothing is missed.

Devs could spend a ton of time writing long text that people skim through, but whats the point? It saves time to dive in and collaborate on the actual design. It’s easier to digest and present. Story telling is one of the best methods to communicate business requirements.

CONTACT US, WE WON’T LET YOU DOWN!

Software development: would YOU hire YOU?

January 24, 2022 9:08 pm

Would you hire you?

I am always trying to understand what might trigger software product companies, or those that are pivoting into the digital realm from a traditional, brick-and-mortar type of setting, to consider working with software engineering teams beyond their office walls. I’m still befuddled by the realization that there is not a single, universal specific reason for this. However, the one that I think should stand out amongst many others, is this one:

It is not just a numbers game.

Beyond the financial benefits, there are many other reasons for working with a remote team. Leading technologies and practices, accelerating time-to-market, and adding the expertise that high-quality development teams bring to the table. And then there’s the quality of the results.

But beware when a software outsourcing company boasts mostly about “the lowest rates in the industry.” That might be true and their main competitive advantage. But how will they perform? Will they deliver the results you need? Will their work hold up in production? How much rework will your local team have to do?

You may have to pay a lot more than originally expected just to clean up the mess. Think of it this way: would you hire (and pay) you? If the answer is yes, replicating this experience as closely as possible is what truly works… beyond the numbers game.

LET US HELP YOU AVOID A CODING MESS!

Pure technical gore: don’t read this

January 19, 2022 8:25 pm

When it comes to software outsourcing, not everything is milk and honey.

It’s only fair to highlight some grim facts, too.

I asked a friend of mine, who happens to be a Sr software engineer in London, to elaborate on the most bizarre outsourcing story he’s gone through. My friend (we’ll call him Pete) was hired by a Fortune 100 company in San Francisco. His job was to develop an API system using Sinatra to integrate with software such as SAP and Oracle eBiz. By the time he started, he was the most Sr Ruby dev in the team. His first task was to review the Ruby work of an offshore team in Singapore. The team has been working on the code for three months.

As soon as he looked at the code, Pete told his manager that it wouldn’t work. There was no way on earth that such code could run. It even had basic syntax errors, a non-existent architecture, and bad practices. His manager did not believe him. Pete rapidly built a server and deployed the code, which quickly crashed and burned, as he predicted. He was accused of using wrong versions of Linux, Ruby and even Sinatra. He organized a video conference with the offshore team in Singapore. His plan was to SSH into their server to see if it worked there.

In the conference, it turned out that the Singapore team did not even have a dev server to deploy code. And here was the kicker: the offshore developers used MS Windows machines to write Ruby code, and they did not even have a Ruby interpreter on their computers. They used a text editor, wrote some terrible, pretend-to-be Ruby code, and submitted weekly reports. They managed to get paid for three months without delivering anything usable.

Pete didn’t blame the Singapore team whatsoever.

In the end, the fault lied with his employer in San Francisco. They were not even checking in the code to make sure it worked. It was either an excess of trust or just plain stupidity.

Stories like this do happen. Software product companies fall into this trap more often than not. Probably the biggest mistake Pete’s company made was to treat the offshore as “them.” They would have never fallen into this hole if they had integrated everybody as one team.

Quality is a function of personal relationships within the team, your company, and even your customers.

ARE YOU TRAPPED? WE CAN HELP YOU GET OUT!

You calling me a “diversity hire”?

January 10, 2022 8:35 pm

You calling me a “friggin’ diversity hire”?

I was having a beer-framed conversation with a friend who happens to be the CTO – I will call him Mike – of a well known real estate software company. Mike is in his late forties, and he was telling me about the time he hired a Junior programmer. “He was a bright kid , came from a big well known school “ Mike said. This was his first development job, and my friend was really looking forward to telling him all about the company’s systems and work flow. The newcomer was completely green, and having known Mike for almost twenty years, I know for a fact that he has a soft spot in his heart for new software engineers. 

The new guy seemed to have a good sense of humor…at first . After a while his humor became quite a bit more snarky, a lot more passive-aggressive.  Mike assumed he was just getting used to working with people from different backgrounds and still adjusting to “ the real world” or whatever . One morning this Junior was particularly abrasive, hurling darts at everyone around him . He definitely enjoyed saying things for shock factor . Mike told me how the Junior made some comments about something innocuous and he retorted “Oh, Mike, you dang diversity hire!!” with a chuckle and then says “ sorry I don’t feel like pulling punches today “. Being a long-fused guy, Mike took some time to digest how demeaning, disrespectful, and frustrating a remark this truly was .

The situation was eventually resolved. The kicker being that months later Mike helped train two software engineering interns from another country who were extremely respectful , good natured, and several years younger than the offensive Junior programmer. Mike had assumed the green programmer was just an immature kid which was the reason for his comments . “I have met “kids” much younger , more tactful, and much more respectful than he was over our brief time working together”, Mike stated. “I eventually came to the conclusion that the issue was never his age or inexperience”, he concluded.

Long story short: the Junior was let go not too long after Mike reported his comments. Mike is now convinced that sometimes the best lessons come from the biggest mistakes, and that when creating an optimal work atmosphere, age is never a factor – neither too young nor too old. Attitude, empathy,  a sense of collaboration and respect beat even the purest of hard skills every single time.

CAN WE HELP YOU HIRE FOR TALENT?

Getting old – and wising up – at the workplace

January 5, 2022 8:18 pm

You will get old…. if you are lucky, that is!

This year, I will be completing my fifty-sixth spin around the Sun, out of which I’ve spent twelve with this great organization and an even more incredible motley crew. The stories I could tell! The things I’ve learned! The fun I’ve had (and the beers I’ve drank)!

Perhaps you, or someone (or everyone) in your software development team in your early 20s or 30s and full of energy. That’s wonderful. But with the passing of time, be assured we all face the same thing: aging. This is something we forget when we talk about diversity in the workplace, the mix of people of all ages to create wiser teams. As you age, you can, however, perceive the passing of time with greater quality and accept the fact that if you do things right, you’ll get to age. And it will be fun!

I believe aging with wisdom at the workplace should include,

  • Thinking diversity and competence
  • Accumulated knowledge and experience
  • Emotional intelligence
  • An ability to get into the best frame of mind
  • Clear focus on an outcome for the collective benefit
  • Strength of character
  • Persistence, objectivity and compassion

What truly matters, though, is the synergy of all of these aspects.

Regardless of whether you are a ninja software developer, a top-notch marketer, or even a killer recruiter – you will all age. If you’re lucky, that is. Just keep that in mind when talking to your elders – or to your toddlers.

Is your workplace age-friendly? Our is!

COME GET OLDER AND WISER WITH US!

 

Follow Us!

Stay up to date on the latest interviews with luminaries who are creating the future.

Follow Us on Facebook Follow Us on YouTube Follow Us on LinkedIn Follow Us on Twitter Follow Us on Instagram
Share via