Looks like the styling got goofed up. Sorry about that, unless it's what you wanted. If this isn't what you were looking for, try force refreshing
your page. You can do that by pressing Shift + F5, or holding Shift and clicking on the "reload" icon. (It's the weird circle arrow thing "⟳" just above this page, usually next to where it says https://blog.unitedheroes.net...)
Ok, not that recently, but like all such things, it bubbled up enough that i finally decided to pay some attention to it. Mostly based on this thread touting the glory that would be Web 3.0
Web 3.0 is a bit… i’m going to say nebulously… defined. The shortest answer is some hand waving about using blockchain to ensure that content remains distributed and not centralized like it is with Web 2.0. (Yeah, i know. Granted, i had thought that Web 2.0 was where every site had an API and you could use data however you wanted, and THAT got replaced by Web 3.0, but apparently i was jumping the gun a bit.) To be honest, i still haven’t found a good tutorial about how one goes about setting up a truly distributed node that is Web 3.0 compliant, but i found a bunch of articles that point to subscription sites where you can easily get going building your unique “Hello World” site, for reasons? Even those are mostly focused on instantiating identity (although those might be semi-disposable, and since there’s payment, i’m not going to use ‘anonymous’ because, yeah, they’re not at that point.)
i have questions and concerns about this proposed system. i mean, aside from the not insignificant concerns about block chains in general, i’m just going to focus on that whole “content” part.
Let’s say you’ve created some bit of media. It could be a book, song, video, picture, or just a short, pithy message, but by God, it’s yours. You initialize a chain tied to yourself and the media and set it loose on the internet, and… well, then what? i’m going to presume that there’s some media amplification site. Some site where folks tend to already congregate and share quality content among themselves. A place where content may be suggested (or blocked) by some controlling entity based on either some set of rules or a set of, say automated processes that automatically highlight content of interest. Maybe you’ll use one or more of those. i’ll note that one of the BIG reasons that sites got away from having APIs is the general headaches they introduce for very little return value.
Ok, so now your precious media is gathering a bit of a following. Yay! So much so that you’re seeing your content duplicated, because the blockchain only protects the concept of ownership, not the content, and the media can be easily extracted using any number of methods, like screenshotting, or setting up an external recording device. Oopsy!
Right, so let’s now say that you’re a very large media company, one which has a VERY strong investment in media generation, management and control. Where Intellectual Property (IP) drives every decision. Obviously, you don’t want to just hand out your money source, so instead what you hand out are licenses that allow customers to consume your IP within the constraints they’ve paid for. For them Web 3.0 is awesome, because now there’s a hard declaration of who crafted the IP, who consumed it, and where it might go beyond that. Now you’ve got a super clear cut case if a content owner duplicates the data out of license, or shares it, or passes it along to unlicensed parties, or anything else you may not like, and you’ve got the legal trail to prove it.
Of course, users might try to bypass your protections in fun ways, so you implement fingerprinting systems to look for partial content and thankfully similar existing systems are flawless works of science that are never ever abused. Nor do studios ever bring charges against customers that are not grounded in hard evidence. i mean, the internet is a copy machine, and this adds a fun machine id code to everything.
So, yeah, that’s just one aspect of Web 3.0 that i started mulling over.
There’s a term i’ve heard recently that i like. Technologists tend to be blinded by Utopia. It fits in well with my theory of the Magnificent Hammer. (You’ve heard “When all you have is a hammer, everything looks like a nail”? Well, if you work in building, designing and selling hammers, suddenly hammers are the perfect tool for EVERYTHING. That’s a Magnificent Hammer.) Being blinded by Utopia means that folks become so enamored with their end goal and the wonders that it will bring that they completely miss the horrors that may accompany it.
Web 3.0 (as it’s defined here) is full of raging horrors and you really don’t have to look super hard to see them. i just picked one at random. i didn’t even get into the whole mess about how this destroys privacy, potentially limits access to just the rich, and all the other woes i can spot.
i work on long lived projects. These are projects that tend to run for years, and might even be considered to be tech debt magnets. That’s pretty natural, but it’s interesting considering that the rest of the company tends not to really think that way. They are instead focused on “the next version” of a product.
Since i’ve got services that need to last for years, i’ve got to manage levels of tech debt that happen. Some of it for internal reasons, a lot of it for external ones. This is because i need to balance working on those services with new services we’re rolling out because we’re generally understaffed and have lots of priorities.
To that end, i’ve started classifying concerns into “Asteroids and Papercuts”, and i’m wondering if others might find the framework useful.
An Asteroid is a big, potentially civilization ending event that will arrive at a known time. It’s something you need to pay attention to now, but the date is still (hopefully) a way off. This can include things like:
The language your service is built on is no longer actively supported or receiving security updates.
You need to move your data from one, cloud based, proprietary data store to another cloud based, proprietary store for reasons.
A key individual who has deep domain expertise is leaving the company.
(All of those things happened at least once with projects i worked on, so yay!)
When dealing with an incoming asteroid, your priorities are:
Knowing the date
Knowing the damage
Knowing the mitigations: Short term and long term
Putting together the work load estimate that is based on worst case scenarios
That last one is the trickiest, and kinda requires your most pessimistic attitude. Basically, try to factor in the other things that can and will go wrong. It’s important to avoid jargon, undefined TLA (Three Letter Acronyms), and presumed understanding when writing each of those up.
For instance you’d want to write up a summary that clearly specifies the problem, includes dates and provides a reasonably terrifying summary of why this is really important. So for something like a language going EOL:
The Foo Service has been providing valuable Foo for 80% of our customer base for over ten years. It was announced on <date> that the programming language it was built in (Logo 1.2) will have it’s end of life on <date>. This means that the Foo Service will no longer be able to receive security or library updates and will be increasingly a security concern, which could compromise private user data and company resources.
The following potential mitigations are possible:
<List of clearly and plainly specified potential courses of action>
This is something that will probably require at least a day or two of focused effort.
If you can’t get the time to do that from your management, be sure to get that in an email or document so that when the service fails, you have proof that you were told what you work on isn’t critical. (You don’t have to be snippy, just a quick email saying
On <prior date> i informed you that <pending disaster> will occur on <asteroid impact date>. i believe this will significantly impact our company and customers by <brief, but terrifying damage description>. i’ve asked for time to further understand and propose solutions to this problem, but as i understand, you’ve requested that i not do that. i want to make sure i clearly understand your reasons, so i would appreciate if you would include them in a reply here. Thanks!
If the manager insists on doing an in person meeting, take notes and feel free to send a follow-up email that includes the points of discussion and resolution, and ask that they confirm that this is correct.
Also start looking around for a different team/org/company because this is bullshit politics and your manager is setting you up to be the sacrificial offering when it all goes to hell.
Once you have a plan, treat it as a high priority task and get your various product people aware of it and working toward it. Make it a banner line on your weekly reports. Time is your asset and enemy because it will go faster than you expect, particularly if you have other priorities, and you will have other priorities.
Papercuts are smaller annoyances. Things like blocked library updates or significant bits of notable tech debt. The thing about papercuts is that while they’re small, if you get enough of them, they will kill you. (e.g. Death by 1,000 Papercuts)
While these tend to sit in the backlog forever, it’s important to track them because they can also fester and turn into significant events. Each papercut can be a unique thing, so it can be hard to come up with as clear strategy as for an asteroid, but you should have one in any case. Fill out the bug/issue/ticket with details for future you. Note the relationship a given papercut has internally in the project or across the org. Show not only that it’s important, but how a delay on fixing it impacts the bottom line. Basically, present it so that someone who has no understanding of the tech or why this is important can understand why this is important.
Of course, there are lots of other issues that you can address, and lots of ways to categorize things. Not everything is or should be an Asteroid or Papercut. There will be some things in your backlog that are there to die, neglected and alone, but there will always be things that are more critical that you need to pay attention to. Your team and mileage will vary, but hopefully you now have a framework to help present critical issues up the chain if you didn’t already.
i’m going to go ahead and guess that you responded with 3, C, Blue, and Cat (or some other simple word that begins with “C” that you probably remembered from a primary school reader).
You didn’t reply with 12, Abacus, Yellow, and Orangutan.
i’m also going to bet that you absolutely would not have answered Orangutan for any of those even if you worked out the other pattern i was using, because orangutan doesn’t fit any pattern. (i’ll note that one of the keystones of comedy is pattern breaking so it’s ok if you giggled at that one.)
So, why, when we are setting aside time to plan our work are we setting out to sabotage ourselves?
Think about it. Every 6 months, we’re asked to come up with a set of goals. The first set are company focused goals, where we plan what objectives we’re going to try and make and what challenges we’re setting up to deliver. We’re going to be judged and evaluated on those, and if we don’t meet those self designated marks, we will not be fiscally rewarded. That means that we have to assess our skills and capabilities, then craft a message that can be presented to Those That Write Checks in a way that can sound more challenging than it probably really is.
This is absolutely human nature. No one willingly sets themselves up for failure unless that failure is actually a success in disguise. (i actively tried to get myself fired from a company once because i realized that if i left, i wouldn’t get a generous severance package. Guess what the winning strategy was in that case?)
So, after all that careful, and borderline Machiavellian planning, we then turn and ask “How do you want to improve?”
Your brain will absolutely scream “OH NO! SAY SOMETHING THAT WON’T GET YOU FIRED!”
You’ll come up with yet another modest goal that will be achievable with great show that your boss will rubber stamp because they’ve got a dozen reports. If you do manage to pull off something impressive, it’s probably going to be by surprise, and you might add it to the goals list next time. Well, unless you got your name in the papers or headlined a conference or something, then you’re kinda screwed and you’ll just add that to your resume.
Instead, let’s break the Personal Goals from the Corporate ones. Like REALLY break them, not just put them in a different section on the same page. Give folks a clear and separate workspace to log how they want to improve (or what they want to improve) and how they’re going about doing that. It should be a log, not a report card, so folks can note the disappointments and setbacks that are crucial. It should be something they’re willing to share not only with management, but peers and even outside folk. This is how you get folks to expand and how you get them to recognize what they can do.
A LARGE number of people do not have a high opinion of themselves. That’s the main reason that Impostor Syndrome is prevalent. i will note that i am not a fan of myself, and haven’t been for pretty much my entire life. i am acutely aware of my shortcomings, failures, and areas of ignorance. We are all hard wired to remember the awful and dismiss the good.
It is really, really hard to see progress, particularly personal progress, because of the head full of a**holes that constantly remind me of the terrible. Heck, my personal goals have been crap and dismiss-able because of that as well. It was only after i made a concerted effort to address that problem that i got anywhere.
Now i just need to convince HR.
2021-04-01 16:14:43 :: What does “Career Growth” mean?
Apparently continuing to journal my personal career epiphany.
Every six months, we are asked what we’d like to do to grow our career. For some, this may not be an obvious answer, and i’m hoping that i can help explain to those like me.
Let me explain how i was wrong
i was raised not to speak well of myself. Bragging was frowned upon. Folks that sent Christmas Family Updates filled with accomplishments and awards were quietly mocked. Family members who managed to rise through the ranks without drawing attention to themselves were heralded as heroes.
When i began my first career, that was true in the workplace. “Keep your head down and do a good job and you’ll go far!” was the silent mantra. Bonuses were handed out in private. As one prior manager said “It’s like we do these things like drug deals”, and they were pretty accurate.
If you had said to me that i had to have an active hand in my career growth, it would be like saying i had to steer the continent. It would seem like an alien, impossible concept, particularly since that obligation belonged to my manager, right?
It turns out that your manager is also a person. Depending on the organization they may have too many reports, plus their own task set, and far more meetings and paperwork than you can possibly imagine. If you’re also a “pure engineer”, they may be doing things that feel like dabbling in arcane arts, with terms that sound like gibberish. The good thing is that it may also be mutual. They may have no idea what you do aside from whatever mutually agreed metrics you’ve presented. “Has JR done the four items he listed three or six months ago? Check. 4% cost of living it is, then. Oh, he also single handedly refactored the CriticalSystem? Huh, forgot he did that. Ok, let me see if i can budget out an additional 1%.”
Add in that many organizations tend to reshuffle fairly regularly, meaning that you, or your team, get a fresh, new scorecard with every change to the management chain. More than likely, they’re new person with little experience with your team. If i’m lucky they may be able to distinguish me from a rock, provided how empty the field was.
This is not a slam against managers. As i said, they’re people who are also overworked and generally doing more than their fair share. They do a job that i recognize that i cannot do. It’s a very specific set of skills and empathy that not a lot of people have, and when you get a good manager, you should enjoy the great opportunity you have and realize that nothing is permanent. Managers get promotions too.
Positioning Save Points
If you play platformer games, you probably know about save points. Well, if you’re as terrible at video games as i am, you’re thankful that save point keep you from starting over from the beginning when you die every five minutes.
It’s not a bad idea to think of ranking up as kind of a career “save point”, but instead of getting eaten by a grue while you were getting coffee, the “save point” kicks in during a reorg. Like i noted, bosses are people. People are neurologically hard-wired to take short cuts. When a person gets a new team, they get the brief overview of the members and do a quick assessment. They may see two people at level 2 and one at level 3, and in their minds they see them at about 50% of their respective levels.
Mind you, one of those people may have been working way beyond their level, but doing so quietly, so all that effort is lost to the winds. Or at least put in the same mythical Permanent Record that your elementary school teacher threatened you with.
By the way, this is why it’s absolutely CRITICAL to keep a personal, detailed log of your weekly accomplishments. This document should be something that you control (although you should share it with your boss), that logs the high and low points for yourself. It’s amazing what you’ll forget if you don’t and it’s absolutely vital when it comes to self-review times.
But why might you want to go beyond what you’re doing now? Well, it kind of depends. If you’re absolutely comfortable with what you do, that’s fine. But if you find yourself doing more than what’s in your job description, you might want to consider leveling up.
In fact, it’s a really good idea to do an honest self assessment.
What grade of houseplant could replace me?
Ok, that’s a bit facetious, i admit, but like i’ve said, i have a pretty low opinion of myself. Don’t be like me, in that respect.
Instead, try to abstract “you” from what you do. Could you be replaced by someone else for less money or experience? And be fair. Include all the additional stuff you do that’s not part of the strict job description. Let’s say that your job is to keep the widget server running. You do that, but you also provide the QA teams tools to test the widget server, fill in missing documentation on how to use the widget server, teach classes on effective use of the widget server, and answer customer emails about bugs and issues. Yeah, all those are around the widget server, but if you were eaten by a grue (sorry), could someone just promoted to your position do the same, or even think about that sort of thing?
Likewise, it can be VERY hard to recognize your level of influence. “i was just answering a bunch of questions.” can be easily dismissed, but can carry a huge amount of impact. Eventually, you’re seen as an expert, and you may well be. Your gaining, and more importantly sharing, experience which makes things easier and others more productive.Â
If it helps, take “you” out of it. Make up a person like “Pat” or “Chris” who happens to be a lot like you and talk about them as if you’re trying to get them promoted. Point out the things they do that go the extra kilometer.
Extending your reach
Remember how i said that people are neurologically hard wired to take short cuts? They really are. When you go up the ranks, folks tend to change how they interact with you. (i’ll even add that you will change how you interact with yourself.)
There’s an old adage called the Peter Principle which says that folks will advance up the ranks to the level of their incompetence. i tend to also think about what i like to call the Inverse Peter Principle, that says people are held back by their levels of competence. If you’re particularly good at your job, there may be little reason to move you out of it because, well, why would any sane person willingly break something that cheap and functional?
But, going up a rank broadens the number of folks that you can reach. That has a real impact. It gives your voice more leverage that you can hopefully use for good. Because of your higher rank, more folks will listen to you. You have a smaller, more focused peer set that you can connect to, and they also have wide audiences that you may not be connected to. Working with them you can cause real change and progress.
If you’re like me, you know that what matters in life is how often you reach down to help folks go up. It’s a lot easier to do that when you’re higher up yourself.
Plotting your goals
Goals are hard. i get it.
We use OKRs. Those can be tricky as hell because you specify them six months out, they need to be aligned with the company, group, division, and team objectives. Be actionable, accountable, with clear success markers, and you’re graded on them at the end. That grade gets reflected into your possible raise and bonus potential.
Clearly, the incentive here is to be fairly conservative about what goals you set for yourself, or at least, vague-ish enough about them that when future fudging the results, you still come out better than average.
That’s terrible for a number of reasons, but i won’t go into all of those right now. Instead, i’ll note that after that exercise, you’re then asked what personal goals you want to achieve.
There’s a funny trick you can pull on some folks, where you ask them “What does Y-E-S spell?” They’ll respond “yes”, because of course yes is the answer. Anyone who has greater than a 3rd grade education would absolutely say that Y-E-S spells “yes”.
Then you ask them what “e-Y-E-S” spells.
Some will tell you that it’s not a word, Others might say it’s “ee yes” or something.
Again, neurology is hard and shortcuts are easy.
After playing mental chess and filling out the OKRs, you get that one thrown at you, and you’re probably still going to play mental chess. “What answer can i give that will give me the best chance of not getting fired/laid off/paid more?” and you say you’re going to do something like learn a new programming language or study machine learning or something.
That’s also probably a terrible answer. i mean, it may not be, depending on what your personal end goals actually are, but if you’re just writing that without any sort of long term plan, then it’s not a good answer.
Instead, you should be asking yourself “what would i like to change?” or “how can i improve things around X”. If you’ve been working somewhere long enough, you probably know the sore spots and sticking points. You do have the ability to change them, you just need leverage. If you need more leverage perhaps you should consider levelling up?
Likewise, if there’s a graph or chart that shows all the things that someone the next grade up should do, and you’re already doing all of those things, why aren’t you getting the proper recognition?
A work in progress
i’ll note that all of this is pure speculation on my part. i’ve been at the same grade for about 20 years, through multiple companies (See: “Let me explain how i was wrong”). i’m currently working to try and address that, and i fully understand that it’s not going to happen overnight, nor am i going to be greeted by banners and balloons.
Still, my gross legacy of mistakes and near-sightedness should not be yours, and there are ways and approaches you can take to this to make it far less uncomfortable.
i mean, it’s never going to be super comfy, but at least it won’t be something you dread doing as much anymore.
2021-03-11 12:50:41 :: Obvious Career Guidance Isn’t Always
i am, and i need to make sure i’m very clear here, an idiot.
i’ve been working for my current employer for just over 10 years. i am still pretty much at the same position i started with. It’s not a huge deal in my life, since i make good money, working with good people on interesting things and am able to both tell people what i do, and sleep at night knowing i am not screwing them over. Heck, it’s an open source company, so it’s possible to audit everything we do, and frankly, that’s pretty unique.
Still, it’d be nice to get a kudo every so often or at least some sign of progress. Part of the problem comes because every so often we have a reorg, and i get a new manager, and i basically have to start all over again. Myself and someone i’ve worked with even created a “New Manager On-boarding Document” that lists various things to do (like, make sure your github credentials are in order, here’s some groups to join, here’s the slack channels and calendars we use, etc.). It’s mostly pre-emptive because then we minimize the disruption that occurs whenever there’s a new boss. New boss arrives, and mentally classifies me with my various peers, and starts to either question all the things i currently work on or “help optimize” things which usually results in me continuing to do them because stuff breaks otherwise.
i tend to work on some fairly long lived, highly critical, but not super showy projects. That means less “Hey, we launched Shiny New Thing in three months then forgot about it!” and more “here’s a system that people have relied on / will rely on for years, can you make it better?” Not super glitzy, but solid work. Sometimes, it’s even the less shiny, less new Thing that got thrown over the wall and now it’s my problem. So, after a regime change, we’ve got a new reporting structure, and either old boss goes on to new things, or i get re-assigned to new boss and things get reset across the board and i have to spend time mitigating the impacts of the change.
Because of that, i’ve actually gotten fairly OK at understanding larger corporate psychology. i’ve tried to consider how folks at each level tend to think and operate and why they may make the sorts of weird decisions they do. Re-orgs, for instance, often have less to do with fluffy corporate goals, and more with just plain workload. Your move to some tangentially related org is probably due to Current Boss being overloaded and New Boss having room. This is true up the chain, so things get all sorts of screwy at times. Bosses who have more than 6 or so direct reports have a HUGE amount of work just on dealing with having that many reports. Think of the review process alone. All bosses will find as many short cuts as possible, and frankly that’s encouraged. The “self assessment” isn’t for you, it’s for them. It’s a cheat sheet you hand them to determine why you should continue to be employed, and usually it’s cut and pasted into their review, with maybe a few additional “points to work on” to justify why they spent more of their raise budget on someone else.
This is something i’ve told peers for literally decades now. It’s why i keep a document outlining all the things i’ve done over the year, so that i have a reference when doing my “Self Review”. i forget all sorts of crap and there’s zero expectation that my boss would even remember a fraction of it.
Ah, right, the “idiot” part. i’m getting to that.
So, like i said, your boss is mostly your boss for organizational reasons, and while there’s a notation about “career growth” unless it’s something that’s fairly low bar (like signing off on a conference ticket or picking between two programming languages), they probably don’t have a lot to offer.
So why the hell was i expecting them to figure out i’m ready for a promotion?
Yeah, like i said, i am an idiot.
i was recently reminded of this fact by someone far smarter than i, when he noted that he had to put together his own doc talking about why he qualified for a change from IC3 to IC4. It was like being hit by the back hand of Captain Obvious. Of course, being introverted, talking about myself is a bit like riding porcupines bareback, so not something i willingly want to ever do, but it’s something i absolutely need to do for any form of career growth.
i sat, feeling both dumb and dumbstruck at that revelation. Mind you, i am also a HUGE advocate of stating things that seem obvious to you because there’s always someone to which it’s not. i am the lucky someone in this instance. So, yeah, make sure you do that if you don’t already. If nothing else, keep a longer list of the accomplishments you’ve done over your career at X so that when you’re ready to put together that document detailing your accomplishments, you have them at hand.