I'm not underrepresented anymore. Y'all are over-represented. Not going to use a negative to describe my existence. I'm Bryan, and I'm supposed to be here.
At a previous job, I told the CEO that I would like to be CTO of his company one day. He laughed at me and it hurt. Today, I’m a VP level engineer at a public company. That pain sticks with me to this day. Embrace those tough moments and use that energy to work harder.
As of next week, I will no longer be a Sr Staff Engineer at VMware. I had a good run, but now it's over. Instead, I'm going to be the Principal Engineer at VMware in our telco group. Shoutouts to everyone who ever said this Black kid from Baltimore would fail and not succeed.
It took me more than 10 jobs to figure out what I wanted to do with my career. Don’t let anyone tell you that you need to stick around when it doesn’t work for you.
This week, I started a new role at AWS in S3 as a senior principal engineer. Shoutouts to my high school guidance counselor who said I’d never amount to anything. You gave me the courage I needed to get this far.
You aren't a Go, or Rust, or Java, or Python, or JavaScript developer (unless you are writing those languages). In reality you are a developer who uses language X to solve Y problems. You can learn new languages and paradigms. Don't get stuck in the I am an X developer.
MLK didn’t die for our sins. He was murdered. He didn’t protest for a day off in January. He protested white supremacy. He didn’t create cute quotes. He illustrated a (still) unjust world through words. Today we remember a great man by continuing his legacy. Not by quoting him.
A degree in CS will not make you a good software dev. A good dev consistently makes code that people like to use. All this other noise of going to the best schools, boot camps, or knowing so and so is a bunch of lies too. You want to be good? Put in the work and know you audience
I’m freezing on a plane, wearing a hoodie with a logo of software I created, flying to one of the world’s largest open source conferences that I co-chair. The world is going through some weird times, but for this single moment, I’m winning.
I heard this from a co-worker: You are not "working from home", you are "at home during a crisis, trying to work". This is important to realize as even I'm struggling and have been working from home for years. 60% effort may be all you can muster.
You changed your main git branch name from master to main. Police are still killing people of color at elevated rates AND... now homebrew on my mac doesn't work. It's true that language matters, but I want to be able to safely jog in my neighborhood and upgrade homebrew too.
Your company has a poor documentation culture. Things are slow because people don’t know how things works. Managers start micromanaging because work is slow. Leadership issues mandates. No one likes mandates, but that isn’t the problem. It was poor communication the whole time.
I'm not a junior developer. Sometimes I use the mouse. Sometimes I don't. One thing I'd never do as a senior developer is judge someone for using the mouse.
Are you familiar with the “tech filibuster”? It’s when a dude (it’s always a dude) argues a point and only proves their point by out lasting everyone else in the conversation. Doesn’t matter if they are right or wrong because they will be the last one standing and get their way.
I don’t memorize how to flush dns, most of the git sub commands, all these letter industry acronyms, and a rack of other things because looking it up is easier. Memory doesn’t solve problems. Context does.
I feel like we need a money management bootcamp for folks coming into tech. You will make good money. What you do with it is the real test. What are RSUs/options/NQDC? How do you really prepare for the future (and the tax man)?
Why are you pointing fingers at people who seem to job hop a lot instead of questioning when tech management is bad or inadequate as well? These people are running away from something.
Hi. I'd like everyone to know that when you are over represented in a field (e.g. tech), calling people who are not over represented things like "intense" is not appreciated. I'm "intense" because your kind made it extremely hard to get where I am today and I ain't backing down.
My ultimate career goal has nothing to do with creating software. I’m trying to normalize the concept of being Black, succeeding at tech (or anything else I want to do), and being treated like a human at the same time.
What I do as a Principle Engineer:
1. Figure out what are currently doing
2. Figure out what we should actually be doing
3. Figure out how we can move from what we are currently doing to what we should actually be doing
4. Repeat
This looks like a huge mess. In reality, it's a high level picture of an ecosystem that works, creating lots of jobs, and possibly incubating the next evolutions in computing. I see yall's jokes, but the real joke is many of the jokers are getting paid off a box in this eye chart
There are people who go their whole career with raises promotions, and huge bonuses by sitting in meetings and repeating questions that were just asked of them with different inflection.
Your GPA only matters up to the point when you get your first job or are applying to grad school. Colleges are teaching kids to optimize for the wrong signal. This carries over into the workforce where people optimize for reviews rather than project/product impact.
The secret to being a senior engineer: Focus on causes rather than symptoms
The secret to being a staff engineer: Enable your group to focus on causes rather than symptoms
The secret to being a principal level engineer: Enable your org to focus on causes rather than symptoms
I’d like to see more “senior” engineers doing live coding or infra building exercises. You can read all about the basics in a book or online, but seeing a seasoned person tackle problems and handle exceptions in real time is the real gem.
So you are a high level software engineer. You get promoted all the way to the top. After a while, you stop coding. Then you go into full docs and meeting mode. After two years of this, are you still a high level software engineer? Or something else?
One thing that bothers me as a remote employee and a brown person is getting on a video call. I always feel extra washed out. I added some key lights to my setup and now my glow pops.
99 years ago, today, the Black Wall Street massacre in Tulsa Oklahoma occurred. 99 years later, we are still out in the streets marching. We want life, liberty, the ability to pursue happiness, and to not die by the hands of police too.
As a Black dude in tech, I'd like:
1. Reward me when I win/Teach me when I fail
2. My skin color gives me pride due to our struggle
3. I feel pain and joy just like you
4. I want to see you win too
5. Yes. This week has been hard, but we gonna be alright
6. #BlackLivesMatter
A neighbor’s son was playing with their gun and it accidentally went off. The bullet traveled through their wall, about 80 feet through the air, through my wall and I think it’s lodged above our bathroom door. Yet another event to add to the 2020-2021 saga. 🥺
I see you out there trying to remove master from tech lingo. Would you walk away from a job because your boss talked down to one of your female Black co-workers? Would you send an email to your CEO if you sat in an interview review with dog-whistle racist comments?
D&I efforts make me uneasy. I like the goals, but there’s something about being considered lesser that makes me uncomfortable. You aren’t saving folks. You are returning stolen privilege. It’s appreciated, but isn’t charity. You aren’t doing good, you are righting wrongs.
One of the things I learned through out my career is that it is relatively easy to say smart things in a meeting. It’s harder to make those smart things real. The hardest thing is making your smart ideas feel like everyone’s idea. Your idea isn’t great until it’s bigger than you.
Repeat after me:
A PowerPoint deck is not documentation
A PowerPoint deck is not documentation
A PowerPoint deck is not documentation
A PowerPoint deck is not documentation
I'm at the point in my career where I think more about helping others become better engineers than becoming a better one myself. I think about solving problems rather than symptoms. I think about solutions rather than specific tools. I guess I'm finally an adult.
Today, I'm introducing Octant, a tool to help developers understand what's going on in your Kubernetes cluster. Last year, @jbeda and I were brainstorming about things that make Kubernetes hard. One item that kept coming up is, "is my application up?"
github.com/vmware/octant
My rules for meetings:
* Aim for < 25 min
* Listen way more than you talk
* Stay on topic
* Keep/distribute notes
* Meeting size is inversely proportionate to specificity/importance
* Optimize for sharing rather than decision making
* Cancel useless meetings
It's common for so-called backend devs to look down on front end devs. I don't understand this. A browser is its own operating system. You have to support multiple OSs with an untyped LISP and be somewhat performant at the same time. Front end dev is most definitely real dev.
I've been having problems with my home lab recently. I debugged, pulled my hair out, reinstalled things multiple times, and put in more metrics and automation. The problem was DNS. 26 years doing computers for 💰, and I forgot the golden rule of computers:
"It's always DNS"
When I realized that in general most people are average with average abilities, I finally was able to cope with failure. This illusion of super smart people doing super smart things all the time is false. Most of us are only ok at a few things and abysmal failures in others.
I havent reversed a linked list, built map reduce from scratch, or used dynamic programming to solve TSP at my current job as of yet. When do I get to do all these things that were promised when we were in front of the whiteboard?
My twitter timeline is full of people who look like me sharing wisdom learned from a lifetime of oppression. It'll be hard, but ignore your first impulse to console. Instead, listen, learn, empathize, and figure out what you can do to help deconstruct this system of oppression.
Hi, my name is Bryan. I've been computering in Unix-like operating systems for over 25 years and I refuse to remember the syntax for conditionals or loops in bash. That's what man pages and Google is for.
People who say they don't care about titles already have one.
People who say they don't care about money are likely wealthy.
When people downplay something that is important to you. Likely they already have what you seek and are too selfish to empathize or be an ally
h/t @seldo
When ever I talk to young Black men getting into tech, the goal for tech is a side hustle while they think about their real passion: rapping or producing. I love this. Screw the nerd stuff. There is money here. Get it and go do what you really want.
I’m not pro-looting, but can see that point of view. When you have nothing, will never have nothing, the idea of having something for free is tempting. When you have nothing, what can you can lose? This is a symptom. Folks should never be in a situation where they have nothing.
Job titles are a crazy thing. They show accomplishment (I’m the first Black Principal Engineer at VMware ever). They are used as a blunt weapon (I’m Senior and you are not). But don’t say anything about how fairly a person is paid or how good/advanced they are at their job.
In high school, my counselor told me that I should prepare for a hard life because I wouldn’t amount to anything (ACT 36/SAT 1590). More recently, I interviewed for a job and was rejected because I couldn't code.
People are awful. Don't give up. Find friends who can build you up
I was walking one of my co-workers through some code I wrote and he said, “your code was clean and easy to understand”. I don't how you would respond, but that made my day. I can leave this keyboard today knowing I had that win.
My DMs and mentions are full of stories of bad experiences from whiteboard interviews or take home challenges. There's way too much smoke for there not to be a fire. As an industry, we suck at interviewing objectively. The first step to recovery is acceptance of that fact.
The important question is not, "what are you going to do now?", but instead, "what are you going to be doing in two months or two years from now?" I'm happy that people are protesting and paying attention to Black lives right now, but what happens when it leaves the news cycle?
Tech job reqs these day seem to always lean towards senior roles. Where are all the entry level roles? I’m not sure, but I have a guess. It takes good leadership to grow developers and many places simply don’t have the middle management chops to sustain.
Perhaps your seniority as a technologist should be determined by your ability to take abstract/missing/chaotic reqs and turn them in to ordered, actionable tasks for yourself or others. It’s not TOBIS (time of butt in seat), but rather a relative measure of ability to execute.
You know why we can’t separate politics from literally anything else? Because someone’s politics made everything that exists whether it be good or bad. Someone saying politics can’t be discussed is pulling an okey-doke. What they are saying is YOUR politics can’t be discussed.
We’re too competitive. We spend too much time chasing better, faster, smarter. That doesn’t lead to anything but burn out. Today, I’m focusing on influence, making others betters, and giving away my best ideas. Small thinking is I win/you lose. Big thinking is I win/you win.
As a principal engineer, sometimes my title intimidates people (at my job). I see it when people are sharing ideas or code. I’m thinking of ways to tackle this, but wanted to share that your title may carry weight. What are you doing to build inclusive and equitable environments?
Do people in tech really have 10 year plans? How? Back in 2011, the world was different and there was no way I could have predicted that I would be where I am today. Now, I have a ~2-5 year plan with quarterly reviews. I plan to fail a lot when doing something for the first time.
As a senior software dev, the goal isn’t to be right 100% of the time, but instead “being right, a lot”. When I’m wrong, I dust off my ego, and head down a better path. Intuition and foresight are two skills I work on constantly.
We tend to micro manage things we don’t understand. It makes us feel like we are in control even though we are not. Real control is creating a space to grow. It’s like a garden. You don’t make flowers grow, you give them water, sun, and good soil. It’s not chess, it’s farming.
Why do developers try to appear more intelligent or skilled by tearing other ideas down? Wouldn’t an intelligent or skilled developer take a less-than-good idea and build around it? Or even better, build a bridge to a better place?
Your job is what you do for a paycheck. It can be satisfying and rewarding, but it's a job. Learn how to separate "you" from "employee". My worst experiences have stemmed from someone not being able to separate their emotions from their job function.
The senior/staff/principal/distinguished part of a tech title doesn’t only imply ability, it also implies leadership. If you have lots of ability, but aren’t able to lead or set a good example, you aren’t earning the “senior/staff/principal/distinguished” part of your title.
Are you curious to why meritocracies don't work, but are too smart to listen to explanations for lay persons? Here is a Bayes Theorem example for you smart guy.
As a dev, being able to write is as important as being able to code. It’s not how smart you are. It’s how well you are able to describe your ideas to others.
Someone asked why I am so positive on Twitter.
I eat every day, can pay my bills, am relatively healthy, and have a good job. With all the positive, I don’t have time to focus on the negative. There are folks with real problems and I’m not going to take their space.
When did you know that computers could be a viable career? For me it was when I was able to get my sound card working by adding code to the Linux kernel in 1993. I figured I could do that for money and a career.
When it comes to your career, there is no winning. It isn’t zero sum. There is only a goal of continuous improvement. You can get bonus points if you help other continuously improve as well.
Burnout is an interesting thing. A person can work for months for 12 hours a day on a project they find interesting with no problem. But, if tasked with an impossible goal, or too many constraints, our brains will shut down and we will become burnout.
As software developers, we love knobs and switches, but do we ever wonder if there are too many knobs and switches for the end user? Infinite configurability leads to infinite confusion unless there is a happy path.
I'm not sure how feasible it is, but it sounds like a better idea to take your conference tee shirt/swag budget and use it to help enable more people to attend or donate it to organizations that are bringing tech to those who wouldn't normally receive it.
How are supposed to determine your career path at 18 (when many enter college) if you have no real knowledge of the world? I would love to see it normalized for people to start college at 30+ when they actually know what they want to learn about.
I've been working in tech for 25 years and I still have to constantly remind myself I belong where I am and am good at what I do. 99% of the time I believe it, but that 1% is a killer. Also, I reject the term "diversity hire".
I don't have all the answers. I don't know what you should read. I can't tell you where to donate money. All I can tell you is I'm tired of being afraid that the next police officer I ride by will decide that today is the day that they'll end my life.
Be wary of the advice you receive. It’s easy to say that the best way to level up your career is to work hard not job hop. This might work well if you are over-represented. But for others, moving around to break through the glass ceiling or avoid racism might be a better idea.