353 karma · joined January 14, 2015
Hacks, workarounds, bad docs, and lately, Google pops up to tell us OSD is kinda sorta a thing you can use, but clearly it's at a basically alpha level of maturity. This latest announcement might seem like a reprieve, but it's even worse than before for us, because now it's clear that OSD is a temporary measure, and now we have promises to fix the actual issues in the future.
As a manager I have no idea how to proceed. Do we solider ahead with OSD like we planned? Wait for them to fix the core issues? We have so little trust in Google fixing things, and a great deal of confidence in them making things worse at this point. If we commit to OSD we might be looking at doing the same level of work again, when they fix the core issues and deprecate it. If we wait for core fixes, we might not get the work done before a nebulous future deadline that could drop on us at any moment.
Google has caused us to burn an absolutely incredible amount of time and money with this. Believe me, we're are footing the bill, and have been for some time now.
I can drill down to a specific part for a specific car in seconds, and see pics of the product, part numbers, specs. It’s lovely.
You would not believe how much smoother everything at work is when you learn to recognize early the signs that you're holding on to a bad opinion, or that you're headed towards a fuckup, and just saying it out loud.
The praising / agreeing thing is a bit more complex. I've noticed more recently that people tend to be quick to disagree but remain silent even when they agree with someones opinion.
Specifically calling out when you agree with an idea has some marvellous effects. The silent ones who also agree join in, people who disagree join the fray, and a rough consensus can be reached quickly.
I've done this with Subnautica, Starbound, Rimworld, and The Long Dark. I don't regret going on a journey with the developers at all.
The design world at large gave them shit for excessive Skeuomorphism but it really did train a huge group of people young and old how to use a touch screen.
Bad values is a slightly difference conversation. If the dev has a bad attitude, refuses to improve, lazy, etc then you can only coach that so far before it's time for termination. It sounds harsh but a good managers job isn't just filling seats. You need to make sure the people on your team force multiply each other, and that your best devs are happy enough to mentor the up and comers. Low values people spoil all of that and need to go, even if they're high performers.
I had an identity crisis early on doing management. I liked to tell people what to do, because I had a big map in my head of where things should go. Because of this developers sort of organically gravitated to me for guidance even before I had the official job. However, I also liked to write a lot of code.
Once I was promoted to management I quickly realized just how much "not coding" that job requires. I struggled with not coding as much. I struggled with wanting to micro manage my staff. I struggled with wanting to write their code for them. I had juniors on my team and I wanted to snatch the keyboard from them and write their code for them.
The defining moment for me was one day, while watching one of my developers deploy something magnificent, that I realized I don't necessarily like to "build things", I like to "see things built". I like to see people succeed. I like to see a scribble on a napkin become a tangible piece of software. Code was a means to an end for me.
I won't lie and say I don't miss coding full time. I still get right in there when I can, but I step aside when I know my management duties are going to let the team down. One thing I don't feel is guilty about not coding as much anymore.
Nvidia doesn't have much of a real world application outside of GPUs in enclosures to keep the drivers alive. The reason to keep drivers ready is the potential for a very large contract from Apple.
It allows you to corral all these IoT devices through a massive library of open source component plugins. From there you can send control out to Amazon, Google, or Apple, or just keep control local through the web UI.
If I were to tell my team right now we were moving away from Github I'm pretty sure there'd be riots and fire. We rely on the hooks to tell us when things are being merged and we rely on PRs to do code review. Even the wikis are maintained and contain relevant information. No one does that. Corporate wikis are a black hole of shit, and somehow our Github wiki isn't.
The MS sales team is most likely currently engaged in some Defcon 2 sales planning in a war room bunker deep underground. Deals are going to happen, upsells will be sought. Account managers are being dropped from helicopters. Quotas are coalescing off the shoulder of Orion. Contracts are glittering at the Facebook compound gates. All of these deals will be won in time, making it rain.
Google is being short sighted here. These are the operating systems our kids are growing up with, and tablets are amazing for kids. My kid started on a busted old iPad 3 I had laying around, and now he's punching trees in Minecraft on an iPad Air.
Creating an engineering problem due to ambitious design, then soaking in the industry scorn and praise, then solving that problem with something new and great is Apples wheelhouse. Competitors who don't see this pattern are doomed.
Years ago, after a string of programming jobs at, what I didn't know at the time, "boring enterprise" programming jobs, I felt like the top dog alpha supreme of developers. I sought out more pay and bigger challenges, and landed a job at a promising startup with 25 people.
This turned out to be my introduction to hard mode. I was dumped into a team with probably the eight smartest coders in the region, working on problems with huge scale, and immediately felt the fear. I cranked out code as fast as I could, as best I could, and still felt inadequate.
Then, months in, I discovered something that made everything better. My background wasn't in engineering. I went to college for Graphic Design, coding was a hobby from a young age, and a career I fell into. No one else was as interested in the UI/UX of our platform, they were deferring to me because I was constantly pushing code to improve it. This was my "superpower". That and, as it turns out, "boring enterprise" experience with Oracle, J2EE, and scaling also really comes in handy sometimes.
Years later I'm enjoying being a manager but the Imposter Syndrome is creeping back in. The difference this time is that I'm not scared of it, I see it as a challenge. I haven't found what my superpower is in this role. It causes anxiety yes, but also a drive to find a balance and purpose. If it turns out I don't have any special powers in management then maybe it's not the job for me, I'll step back and enjoy what I did previously. If I discover I'm good at it then I'll continue upward.
Everyone can rise to a position where they're incompetent. Imposter Syndrome is your brain being extra cautious. Sometimes it's off the mark, and sometimes it's exactly right. The key is that when you agree with it that you understand that's not a bad thing. Being an extra super great developer is just as useful as being a ground pounding monster of a VP of Development.
If you go this route you'll score a contract or two, and you'll think you're growing. You'll hire on a brilliant employee and then fire them a few months later when the money dries up. Your heart will break. Your workload will increase.
You'll start leaning on contractors because FTEs need consistent revenue, and your shit investors insist on offshore labour because they don't know any better. Contractors suck and their code sucks unless supervised, so you'll decide to do it yourself. Your investors will get unhappy and your partner will find another naive low tier investor to buy them out and start the cycle over. Your share in the company will drop each time you do this.
Your counterpart will spend 1/3rd of their time appeasing the investors and the other 2/3rds attempting to be a top shelf B2B sales exec / account manager which they are not. They will get absolutely abused in the sales cycle and concede to shit they shouldn't. You will continue to burn the candle at both ends like a good technical leader in a crisis and then burn out, believing the entire time that technical superiority alone will win the day.
I'm painting a really bleak picture here, but only because I got out after three years of this when I finally realized the nature of the endless cycle of a cockroach startup. The company I worked for is still going, against all odds. Fuck maybe they go forever. I know people who still work there, and from all accounts it's an endless groundhog day of zero growth and pain.
Don't be that startup, if the business model is in peril this early on don't extend the pain, just pull the ripcord and, above all else, try to learn from the experience.
The more consumers support privacy as a selling feature, the more Apple will guard it. I'll gladly pay a premium to a company that has a vested interest in keeping my shit safe, and a straightforward business model of keeping me happy enough to sell me more shiny things.
Zoom is less shit than the others but still fairly awful. Slack, imo, solved instant messaging in businesses completely, but conferencing is still a wild west of garbage solutions.
That's not to say it's impossible. Microsoft has been doing a lot of mobile development lately, and if you were trying to build a case for losing the Google Play store Office, Skype, and other business apps are a good place to start.
The pessimistic part of me thinks that BYOD is so prevalent these day that a pure "business phone" locked into the Microsoft ecosystem just wouldn't work. Maybe five years ago it would have appealed to enterprises wanting to roll out a fleet of employee devices but now a phone needs to be as appealing to the consumer as the business.
I do a 20 minute nap every day after work and it makes me new again. Just a great transition from working me to home me.