Layoffs in 2023

Layoffs in 2023

There’s been a lot of layoffs in high tech this year – just over 200,000 workers. Combine that with companies changing direction due to higher interest rates, canceling projects, and the 150,000 or so tech workers let go in 2022 and that’s a lot of people looking for new roles.

Jonathan Lyon writes up the 12 lessons he learned during his most recent layoff and landing a new position. Some I had heard before, others were new. Worth a read if you are facing an involuntary, or voluntary, job switch.

Japan’s interesting work culture

Japan’s interesting work culture

Interesting video on strange, unwritten work rules of Japanese companies.

Here’s the list:

  1. You must hand-write your resume
  2. You cannot take your suit off – even when it’s hot (but the boss can)
  3. You must attend after-work drinking parties if invited
  4. You should be at work 1 hour (to 30 minutes) before the start of work
  5. You must attend and participate in the cho rei morning greeting.
  6. You cannot fire someone because they can’t do the job. (see the window tribe)
  7. Unpaid overtime is common and you’re expected to do it (though becoming less common)
  8. You do not leave on time (also becoming less common).
Workshop Nation robot

Workshop Nation robot

I like his thinking: we already have enough computers – what we need is more personality. Where are the kind of robots we saw as kids? C3PO, R2D2, the robot from Lost in Space. So, he hacked an Alexa into an old TV with a set of eyes and gives his robot a little of the personality he was looking for.

Mondo Croquet and Mad Hatter Party

Mondo Croquet and Mad Hatter Party

I ran across these guys in the park when I moved here 20 years ago. It looked like a Mad Hatter dinner party, so I pulled over. There were all these strange folks dressed in wacky clothes and playing croquet with bowling balls and sledgehammers. I watched for a bit and enjoyed talking and learning about these folks playing something they called Mondo Croquet.

Mondo Croquet is regular croquet, but with bowling balls and sledgehammers. I noticed that they had a small pile of cracked open bowling balls, so it’s definitely a contact sport. It is also carried out with players wearing costumes and stylings of a late 1800’s English lawn or mad hatter style party.

It was started by Stephen Peters in 1997. Read more here in The Oregonian.

Anyway, they’ll be having their FREE annual 2023 Mondo Croquet World Championships and Mad Hatter Picnic this Sunday, July 30, 2023 from noon–4pm in the north park blocks.

Pull on your British Lawn Whites, your Ham Sammmich costume, your Spock ears or perhaps just your sunglasses and get ready to smack some balls.

What to bring?

  • something cold to drink
  • a chair to set a spell
  • a snack to share with the Mad Hatter Picnic

If you have one, a sledgehammer is handy, but we come equipped with enough hammers and bowling balls so no worries. In fact, you can just come and watch if you’d like.

We do suggest you can turbo-up your fun by dressing appropriately, or appropriately inappropriate. Need some suggestions? Check out past photos: https://mondocroquet.com/photos/

8 ‘hard’ truths of standing out at Work

8 ‘hard’ truths of standing out at Work

Psychology Today has some good articles at times – especially about work topics. I found this one about the ‘hard’ truths of standing out at work to be really, really good based on my 20+ years of working in Fortune companies.

So, who do they find are the most successful and influential people? Something they call ‘go-to people’. Go-to people are proficient at their work, but it turns out that’s not the most significant factor.

It turns out, being a technical expert or rockstar doesn’t always make you a go-to person. Sometimes the expert is an annoying know-it-all or spends too much of their time complaining about management or direction. Research also shows that go-to people are not steamroller types that ride roughshod over others to hit goals. Nor are they slick political types that can involve you in office politics/trouble.

The qualities of many of the most successful go-to people is simple: Serve othersStop focusing on what other people can do for you and focus instead on what you can do for other people. Make yourself super-valuable to others. The more value you add, the more truly invested others become in your success.

Does this wisdom sound familiar?

Here’s the researchers list of what makes you a go-to person:

  1. Positive attitude, hard work, personal responsibility, and being great at your job are just the basics. To truly stand out, you must align your work with that of your closest collaborators.

    Running off and doing your own thing almost never works out in a team environment. In my experience, it usually just creates divisive work environments. Teams exist so that the collaboration and teamwork helps you deliver far more than you could on your own. You should always contribute ideas and feedback to your team, but you must also ultimately agree to abdicate to team goals. Teams need to stay in sync or it will quickly devolve into infighting or poor delivery execution. This goes both ways – over-delivering can be just as bad to a team as a poor performers.
    Yes, there are times team members should go off on their own for proof-of-concept work, root cause an issue, and experiments that need to fail fast. Those skunk-works type projects are perfect for this kind of contained and bounded work. But once proven it must be brought back to the team for a group agreement. For production environments, being in sync is critical to delivering on time and with promised features.
  2. No matter how creative and tenacious you may be, you still must do things by the book. Inventing new methods and solutions may seem impressive, but too often results in wasted time and effort when the end result doesn’t meet the original need.

    Boy have I seen this. In programming, I’ve seen people use crazy C++ tricks, strange design patterns, and the latest compiler trick because they think it is slick or clever. The result is usually code only that person understands and is hard to maintain or debug. Time and again it is shown that simple, readable code is better in every metric.
    Others have decided to completely re-write build systems, project tracking tools, windowing systems, protocols, and you name it. Instead of relying on industry standard tools they come up with their own ‘clever’ systems. Systems that ultimately require someone to spend all their time maintaining, fixing, and debugging something that the market already has instead of focusing on the thing that is delivering unique value.
    In short, stop re-inventing the wheel or being extra ‘clever’. It costs you more time, makes you seem like less of a team player because you’re enforcing your own will instead of working with others, and usually requires a lot more effort doing what already exists when you be spending that time delivering unique value.
  3. You cannot do everything for everybody. Overpromising may please people up front, but if you fail to deliver, that’s all they will remember.

    This observation is absolutely true. Go-to people are the ones that can make it happen, so you need to have a track record of consistent delivery. Even Steve Jobs said, “Real artists ship“. Avoiding feature creep, being able to correctly say ‘no’ (see #4 below), and being disciplined/skilled enough to scope and deliver on time are skills all go-to people have.
  4. You must make choices about what you are not going to do so you can focus on getting the right things done. Making no choice is still a choice, and no choice is almost as bad as a bad choice.

    The ability to keep your work in scope to ship on time is a multi-faceted skill. You need to know the capabilities of your team, yourself, understand the difficulty of the technical problem, recognize risks and mitigate them, and a host of other people and technical skills – most of which are only gained by experience and sweat.
    Secondly, don’t let inertia make choices for you – this is usually the sign of a dying company/project/team. Even if you stay with what you’re doing, regularly re-evaluate the choice and decide again that’s the best choice.
  5. To make good choices regarding your time, you must do your due diligence, the sooner the better, every step of the way.

    I have found this comes in 2 major forms. The first way means you must be attentive to the project goals, timelines, and technical details. Go over things multiple times from multiple angles (marketing needs, sales angles, burn rate, features, schedule, etc) during architecture stages to ensure you’ve thought of everything.
    The second form relates to working with others. Trust but verify is a great policy. You should negotiate and state clearly what each person/group is supposed to give you, point out key performance/capabilities, then inspecting it to insure they are delivering what is promised.
  6. You can’t be great at everything, so you need to build a repertoire of things you are known for consistently doing very well.

    This is how I got my start. Become an expert in something – anything at first. Volunteer for the thing nobody wants to do and then do it really well. Then you’ll be known as the person that can do X better than anyone else. Then you get to “A person that can be trusted in small matters can be trusted in bigger ones.”
  7. You only get credit for the results you deliver. You get a lot more credit when you deliver on time and on spec.

    Ideas are cheap. The execution is what delivers actual value. Delivering (execution) while also doing it on time and on spec is actually delivering on 3 promises – at once. Don’t underestimate the different skills and pieces required to accomplish that..
  8. People are your number-one asset, but they are also very high maintenance, so managing relationships is mission-critical. Focus your relationship building on the work, and the work will go better. When the work goes better, the relationship will go better.

    This also works in two directions. First, relationships with your coworkers, subordinates, bosses is absolutely critical. They either become your biggest roadblocks or rocket fuel to your success – but it depends on how you treat them, develop, and maintain those relationships.
    Secondly, build the outward facing relationships. Never eat lunch alone. Go to conferences. Open houses, Meetups, presentations, and classes. Put yourself out there and meet as many people you can. Your networks are where new jobs, new ideas, new projects, and new teams come from.
Legal State of AI generated content and copyright

Legal State of AI generated content and copyright

The question of copyright, lawsuits, and AI is going to very quickly come to a head.

Creatives from artists to comedians are filing lawsuits, staging online ‘protests’, and suing various AI-based companies for copyright infringement. In 2022, ArtStation members staged a online campaign against AI generated artwork by posting ‘No AI art’ images in their portfolios.

China entered the fray by recently announced their interim measure to govern AI generated text, pictures, audio, video, and other content [Update: Wow – already redacted, check here or here]. It covers generating AI content in PRC, but may be unclear about what foreign companies can import into China.

But it doesn’t stop there. Now we can add game developers to the fray.

Recently Steam devs were seeing their games with AI generated content blocked from Steam. Valve responded that it was not able to “ship games for which the developer does not have all the necessary rights” or for “utilizing AI tech.”

In a statement to IGN, Valve spokesperson Kaci Aitchison Boyle clarified the position. While developers can use these AI technologies in their work with appropriate commercial licenses, they can not infringe on existing copyrights.

Aitchison Boyle emphasized that Valve is not attempting to discourage the use of AI but the confusion arose due to Valve’s ongoing efforts to incorporate AI technology into its existing review process while ensuring compliance with copyright laws.

Experienced Programmer’s Wisdom #12

Experienced Programmer’s Wisdom #12

#12 – Obey Gall’s Law: A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.

Gall’s Caveat: Working big systems come from working smaller systems – but not every small system can solve/scale to big systems.

Healthcare.gov (the health insurance exchange website linked to the Affordable Care Act) was a disaster by almost all metrics. A report by the Office of Inspector General offers ten key reasons for the disaster, everything from lack of clear leadership, an overly bureaucratic culture, failures of integration, communication, execution, and oversight. The report is thorough, but too vague. Instead, we should have paid attention to Gall’s Law.

In 1975 a pediatrician and systems design theorist John Gall wrote the book Systemantics: How Systems Really Work and How They Fail, in it, he wrote “A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.” There’s a tremendous amount of wisdom wrapped up in those lines. Wisdom that explains why lots of great big ambitious projects become huge failures. Healthcare.gov is one, various megaprojects in Dubai, Boston’s Big Dig, Portland’s I-5 bridge, and countless other projects that devolved into massive cost overruns and failure to deliver on major promises.

Instead, extreme programming and the requirement that startups have working prototypes have espoused this simple but functional operating method based on Gall’s observation. In my own work at Intel Labs and other new products, getting a working proof of concept 100% nailed before you move to production assures success is possible while failures happen while things are still cheap.

Which brings us to Jennifer Pahlka’s article where she covers a number of other observations. One of which is Mike Byrne. Byrne built the broadband map for the Federal Communications Commission (FCC) and estimated that most government tech projects could cost 10% of what they do and still provide 85% of the functionality. Apple works this way as well to a certain degree. They do not provide an experience for everyone. They focus the problem, solve it in a particular way, and ignore the critics. They don’t always try to cover all cases nor provide all the features people want – but the cases they do cover are expected, and usually are, rock solid. And that has led them to be the biggest success in tech.

So, instead of designing a system to handle every possible case like was done with Healthcare.gov, it’s ok to leave some cases on the table for manually addressing via phone centers. But the core should work flawlessly.

Gall’s Caveat of Small Systems

There is one caveat Gall observed. This is something I have encountered with younger and recent developers/designers. Some teams/designers rush to a working prototype which is flashy and makes a big splash with some aspects of the key functionality, but quietly and knowingly doesn’t address a number of critical requirements that the design absolutely cannot deal with. They usually hand wave that those will be solved by someone else/some other time – when the reality is that a complete re-write or re-design would be required to handle the requirement. In my experience, that usually happens after they plan on being long gone with the money and awards for the first part. This is probably why we’re see a large number of the Forbes 30 under 30 crowd ending up in jail for fraud.

Gall wrote this caveat: Working big systems come from working smaller systems – but not every small system can scale nor handle all cases it needs to handle. If you need to handle a number of key design requirements, you need to have a working (small) system to solve each of them. Then you combine them.

You must do the design and smaller proven system work for all the things you do need to handle even if you do not deliver those parts today. Do not use simplicity and just building a small core to handle 85% of the cases to avoid the work of ensuring you can handle the remaining 15% of cases. You should always have a design and a plan, even if you don’t need it today (or ever). Maybe that plan is that call centers will handle the remaining 15% – maybe forever. But when things are planned, they can be accounted for, have fixes planned, and not be a huge surprise.

Maze-solving mice

Maze-solving mice

Veritasium does a great overview of maze-solving robots. He goes over the different algorithms as well as optimizations that weren’t optimal, but were faster because the mechanics of the path made it faster for the physics of the robots. There were also unique optimizations that take advantage of diagonals, gyroscopes, suction to make 6G turns, and other ideas.

It’s a reminder that even when something seems solved, there is likely huge optimizations still waiting to be discovered.

But then again, you can go the other direction and try to build the most unskilled robot. Hebocon celebrates unskilled robot builders – even penalizing those who try too hard or using proper technology.