A Zebulon, NC based web designer / developer with typical nerd / geek roots
As someone that has built software for a long time it’s intrinsically understood by me that order matters. How you take in and verify data or the succession of steps you show a user to facilitate an action or transaction getting it correct matters. Which is why despite the market we currently reside in, where … Continue reading Order Is Important →
As someone that has built software for a long time it’s intrinsically understood by me that order matters. How you take in and verify data or the succession of steps you show a user to facilitate an action or transaction getting it correct matters. Which is why despite the market we currently reside in, where hirers have far more power than seekers, it still surprises me when one doesn’t consider the order of steps in the process. Especially for a job hiring coders. This morning I applied for a job. It had some minor red flags that stood out on the description, but overall it seemed legitimate including being – supposedly – from a domain that would require a fair amount of investment to obtain. However after applying the next steps were: Required to watch a 5 minute video describing the process, in order to trigger the next step. Required to take two assessments – one a generic comprehension test and one apparently a technical test. All before even talking to a human being and being able to ask questions to even see if this job is right for me and worth investing time from my one wild and precious life to do all that work. Just to “earn” the right to talk to an actual human. This was further compounded by a sales pitch that consisted of the introductory email outlining all this telling me it’s because I’d “earned” the right to move forward by being “assessed in the top 10% of applicants”. All within less than 3 minutes of applying. Which seems impressive, if not impossible. I guess my point is that while the power dynamic shifts with the market this is a two dimensional conversation – you’re selling me why I should lease my time to you and I’m selling you why you should lease my time over someone else’s. So doing it in this order with a pitch and approach that seems right out of “this is just something to prey on desperate job seekers to give free labor to train our LLM” leaves a bad taste in my mouth. I have, at least currently, the privilege of not wondering how I’m going to pay rent / mortgage or buy food next week. So I reported it as fake, which it seems to be, marked the emails as spam and moved on – other than writing this. My point is mainly that there is an inherent social contract at play here. So if you have the same privilege and encounter this, please show courage and do similar. So that, hopefully, there’s less of this to take advantage of those that don’t have that same privilege. We need to look out for and support each other as best we can. Kindness matters.
I’ve been thinking a lot about resilience lately, mainly for obvious reasons. At my last company we were told it was an important trait. I tend to agree with the overall sentiment but I also think that it takes forms you may not expect. I see it in reminding yourself that a layoff is not … Continue reading Resilience takes many forms →
I’ve been thinking a lot about resilience lately, mainly for obvious reasons. At my last company we were told it was an important trait. I tend to agree with the overall sentiment but I also think that it takes forms you may not expect. I see it in reminding yourself that a layoff is not a failure on your part, but on upper leadership – even as you struggle to land your next opportunity. In not listening to the impostor syndrome living in your head, but believing past colleagues when they say, or write recommendations, that you were valuable – both in your work and as a person. In believing in yourself and risking hope, despite a wave of rejection that pushes you towards despair. In helping others – with encouragement or kindness or recommendations to remind them how awesome they are – even when you grapple with how to help yourself. We have minimal control over the challenges we will face in Life, despite our best efforts. The only real control we have is how we respond to those challenges. There is a really great Instagram I was introduced to. Basically it constantly reminds you that a bad day does not equal a bad life, that life is hard and sometimes you need to rest and recharge, and you are not broken even if you feel like it sometimes. It reminds me that resilience and success are imperfect and not a straight line. And that often our own worst critic is ourselves. As I get older I feel like I’m less sure of what I know, paradoxically. One thing that has served me well for a while though is to put the energy into the world that you wish you received. Not in the sense that it will be circular and necessarily make its way back to you – it often doesn’t. Simply because society is an interconnected organism and if we truly want the experiment to succeed we’re always going to need more kindness, empathy, grace, and humor. Finally I think resilience is about community, as it builds your support network. That could include family – immediate or extended, a church or faith organization, friends, pets, neighbors, or however you find belonging. I’ve felt most resilient when I felt I belonged somewhere. When I don’t is when I struggle the most with believing in myself. Be kind, show grace, and have empathy – for yourselves and others. Try to find humor, even in your darkest moments. Find a few moments of joy and small things to be grateful for every day. Love those that you care about fiercely and remind them of that love regularly. I think if we do this as best we can each day, we are showing resilience.
Good leaders praise publicly and discipline privately. A few jobs ago I was on an email with my team, my direct manager, and a design vendor we were using. We were exchanging ideas and critiques. My manager asked me to basically make a bunch of design changes – something I could do, but not nearly … Continue reading Good Leadership →
Good leaders praise publicly and discipline privately. A few jobs ago I was on an email with my team, my direct manager, and a design vendor we were using. We were exchanging ideas and critiques. My manager asked me to basically make a bunch of design changes – something I could do, but not nearly as efficiently or quickly as the vendor, especially since it was in a design tool I had just started learning. Noting this was a non-ideal solution, I recommended we allow the vendor to instead as it would save a lot of time. The next morning my manager got on a call with me and expressed displeasure that I would bring that up in front of the vendor. I’m not sure if they felt it sacrificed leveraging power or what the reason was. I listened, took accountability, apologized, and said I’d take care of it the way he originally asked. Then I went back to work. A few minutes later we went into standup. After our usual initial rapport my manager took the floor and proceeded to very aggressively admonish me in front of our entire team for the same thing we had just talked about privately. It was demeaning for me and uncomfortable for the rest of the team, as they reached out privately to me after to express and console me. I immediately started to reach out to my network and left the company within a few weeks. No matter how experienced you are, you are going to make mistakes. It’s important to take accountability and learn as an individual. But as a leader it’s even more important how you address those mistakes. I have left more lucrative jobs due to poor leadership and stayed at less lucrative ones because of good leadership. As a developer you are also likely giving code review. As a senior developer often to junior colleagues. This also applies here. Make it a conversation, not a directive. You don’t have to make their code perfect (as subjective as that even is) but simply try and steer them towards incremental improvement and growth – understanding that code review is seen by the entire team as well. Things like: “Why did you choose this approach? Did you try [this other approach] and ran into an unexpected tradeoff?” or “That’s an interesting solution. In the past we’ve done X, what is different in this case?” Sometimes you learn from a colleague who in their passion found some new tool or approach you hadn’t seen yet – so you level up and they build confidence. Sometimes you “rubber duck” it when they have to explain it a little further, and they see something they missed and fix it earlier in the process without having an issue in QA and more eyes seeing it. Be the kind of leader you’d want – kind, empathetic, and patient. The world, and especially the corporate world, could always use a little more kindness.
It’s never been in my nature to speak highly of myself. I’ve always been more comfortable with the “underpromise, overdeliver” philosophy. But I keep getting feedback from colleagues I respect and that I know to be sharp that I need to be more confident. Or at least project it. So, briefly, I will put on … Continue reading Why you should hire me →
It’s never been in my nature to speak highly of myself. I’ve always been more comfortable with the “underpromise, overdeliver” philosophy. But I keep getting feedback from colleagues I respect and that I know to be sharp that I need to be more confident. Or at least project it. So, briefly, I will put on my sales hat for myself and state why I think you should hire me as a UX / frontend developer. Or more specifically to build scalable, reusable design system / front end components with a focus on responsive design, WCAG accessibility, and CSS. Components that focus on being simple, easy to understand, and have low CSS specificity ideally. I’m good at detecting “smells” and asking probing questions to encourage discussion and further thought Code smells, design smells, specifications smells – something that seems off or begs the questions “why are we doing this specifically” or “what problem are we really trying to solve”? As a colleague recently, kindly, pointed out I tend to use years of experience solving problems to ask probing questions. “How does this adapt when it’s on a smaller screen”, “what happens when we get an error on this part of the form”, “what fields are actually required and necessary here and what can we make optional to streamline progress”, “if this is so important, why is it behind additional steps”, “why are we using this pattern and not this other pattern”? People tend to be afraid of friction and too much friction – or friction just for friction’s sake – isn’t healthy or good. But the right amount of friction, especially at the beginning can save a lot of time down the road. It can make sure we’re building solutions to real problems, not just a bunch of features. I can think of over a dozen – maybe several dozen – times where asking a few questions made people pause, rethink, and refine, saving the team a lot of time and churn. Experience isn’t everything, but it helps. I’ve worked on various size teams over my career I’ve built freelance brochure sites with designers I’ve partnered with for small businesses. Worked on startups wearing multiple hats on development teams single digit in size. I’ve been a senior developer on a design system team for a Fortune 100 company building a library used by dozens or perhaps hundreds of developers across the organization. Sites I’ve worked on have seen anywhere from a few dozen to millions of visitors a month. All this has required me to think about problems and solutions in different ways, to understand audiences and risk tolerance, and to build to different types of needs. Each has their own tradeoffs, challenges, and rewards. So regardless of the size of your team, whether you’re an industry powerhouse or a small startup trying to disrupt in an interesting way or something in between I think I have something to offer. I have very varied experience and an unexpected skill set Working in all those types of places I’ve had to wear many hats as I said. I’ve deep dived, learned and advised on Search Engine Optimization (SEO). On accessibility, adaptive devices, and meeting WCAG guidelines. On UX and usability, understanding how users are using the site, working with usability teams and data, and designers doing competitive analysis to spec out and build new features. I’ve educated colleagues on how to use systems I’ve contributed to, as well as taught them on all of the above – UX, SEO, accessibility, etc – in refinement / grooming. A long time ago I designed flats and features in tools like Sketch and Photoshop. I greatly enjoy and have done a lot of writing in a variety of formats – technical, blog / article, and just for fun. And of course, coding and code review for peers which has been the main focus of my career. All this allows me to approach problems from various angles with various needs in mind. Often sites or teams have conflicting stakeholders / interests they have to try to meet. Also most solutions involve tradeoffs – I’m fond of saying “everything is a tradeoff” honestly. All this varied experience has allowed me to be, I think, a valuable colleague. Strong technical skill set As I said previously it’s unexpected, but also I’ve been at this for a bit so I’ve touched a lot of languages, libraries and systems. From jQuery to React to vanilla JavaScript and a few in between. I’m extremely interested and educated on CSS, SASS and HTML with a lot of experience specifically in using Bootstrap. I have a fair amount of accessibility experience including building WCAG 2.1 AA compliant components for the last several years. I’ve also worked with Ruby on Rails and PHP to a fair degree. Finally, although I haven’t developed much on it in the last decade, when I did freelance I had extensive experience building with WordPress including developing custom themes and features with well over a dozen sites – including my own – built on the platform. All that has given me enough experience and breadth of skills to quickly learn new frameworks or languages that I might not have used before – or in a while – as many overlap with something I’m already experienced with but may just use different syntax. Ambitious but empathetic I still have the drive to learn and grow my skill set in order to solve interesting problems and make people’s lives easier. But I also truly find great joy in building people up. Teaching them about things I know in order to level them up. Mentoring them on challenges and offering advice from my own experience. Always focusing on kindness. I care deeply about recognizing people and promoting their wins so that their success is noted, often during retrospectives or stand ups. I think it’s important to use the great privilege I have to advocate for people and their ideas or to ask questions they may be uncomfortable to ask in order to get answers they need. I think inclusivity, empathy and kindness make teams stronger and more connected. We are leasing our time to a company in exchange for productivity, experience and skills. But we are also people and life is a great gift, so the time we have is precious and since we spend a fair amount of it at work it should be as pleasant as we can make it. Growing up I really enjoyed Mr. Rogers and as I’ve grown older I’ve really grown to appreciate what a good person and role model he was. He has many quotes I’m fond of but one of my favorites is: “There are three ways to ultimate success: The first way is to be kind. The second way is to be kind. The third way is to be kind.” Kindness matters. I come highly recommended As I said I really enjoy recognizing people and writing so one of my favorite things, especially when I’m having a hard day, is writing them a recommendation on LinkedIn. Spelling out what I think is special and unique about them, reminding them why they are or were a good colleague, and generally just putting a little joy out in the world. It’s something another set of role models for me – the Green brothers Hank and John – taught me. Don’t be afraid to show love, especially platonic love, to those you care about. This is one of the ways I do and am comfortable with. Along the way I have also collected my share of recommendations. As of this writing I have 16 from former colleagues that share many similarities in what they point out about me. Passionate, skilled, dedicated, inclusive, caring. I think more than my own words those of people that have had to spend a lot of time with me matter, as humbling as they sometimes are. I have very reasonable needs I don’t need a fancy title or a huge salary. Fair benefits, market value pay for what’s required of me, decent work / life balance, trust, and the opportunity to help others and to solve interesting problems. I think honestly that’s what most of us want. I also tend to be steadfast. I’m looking for a place to spend my next 5 or 10 years if possible, not to flip it into my next job. In conclusion What I’m really asking is for a chance. I get it, hiring is expensive and no one wants to risk a bad one. Interviews and recruiting are imperfect – especially with ATS / AI involved which seems to be deeply imperfect and have a lot of gaps. The market is challenging right now especially for remote positions where there’s often a flood of real and AI generated responses. So I’ve tried to lay out in basic, human terms what you’d be getting from me. If it sounds good, let’s have a conversation and start there. I’m a bit socially awkward and sometimes that comes across there, so if you’re still having doubts but feel there may be promise – give me a 90 day contract. It wouldn’t be the first, or likely the last, time I’ve had to prove myself. I know I can provide value for the things I do well. I know I can help people and solve problems. I know I can be a good, kind and valuable colleague. I won’t tick off every box – no one does, again “everything is a tradeoff”. But based on what my past colleagues have told me I think I’ll be worth it. All I’m asking for is a chance. Thanks.
I was speaking to a former colleague recently and in talking about my struggle to find opportunities as a coder he asked me if I’d ever thought about becoming a people manager and that he’d always thought I might be good at it. It’s something others have told me as well in recent years but … Continue reading What I’d tell my younger developer self →
I was speaking to a former colleague recently and in talking about my struggle to find opportunities as a coder he asked me if I’d ever thought about becoming a people manager and that he’d always thought I might be good at it. It’s something others have told me as well in recent years but not something I believe suits my strengths or skill sets. But it did get me thinking about if I ever did become a manager, specifically a manager of engineers / programmers / developers, what I’d want to have been told and taught to me at the various stages of my career. Entry level / junior developer Don’t be afraid to ask questions because you feel like it might make you look unskilled or like you don’t know something. There’s a lot you’re not expected to know right now and a lot of mistakes you’re unfortunately going to have to experience to learn from rather than being handed that wisdom. And that’s okay. Your role is to figure out what problems excite you or that you’re particularly adept at tackling. To learn and explore and share the new technologies, frameworks, ideas, and tools you find with more experienced developers who might have a bit more Life responsibilities that don’t always allow the freedom to do that. Also frankly they might be a little more cynical and jaded and therefore not as open minded as you are. That’s not to say that everything you find is going to be valuable or used. But if you find even one tool or plugin or whatever that saves your colleagues a lot of time and effort not only will you be helping your team but people will notice and that will help your career. You should also be seeking out mentors. They don’t have to be much more experienced than you. Just someone with similar vibes who you can build rapport with. If you are a white male presenting developer I’d strongly suggest you seek out someone that isn’t the same so that you have exposure to a viewpoint you might otherwise not be granted access to. It will make you a better developer but more importantly a better person. There are also countless examples where homogenous development teams have blind spots. See early iPhone face ID. Mid level developer You should be even less afraid to ask questions and many of them should be around gaps you need to fill to get that next level up, which not everyone achieves. You should also be wary of the trap many fall into at this point of overconfidence and its dangerous transition sometimes into being dismissive of others less experienced or non-coders. You don’t know what you don’t know yet and being humble about that will make you a better colleague and help you succeed. Regardless of level there is always someone smarter than you or with a better understanding of certain problems. You should still be learning and exploring new things, although it’s understandable that it may not be to the amount of earlier in your career. You should be focusing on growing niche skills that excite you and trying to mentor and build up less experienced developers. Growing your code review skills here is both mandatory and immensely beneficial as understanding both what to critique and how to do so based on the individual will be an invaluable skill that also translates to other paths if you decide to branch out of being a developer. It also makes you look more critically at your own code, which will make you a better developer. You should start the transition from “how do we solve this problem” to “should we be solving this problem” / “what is the real problem we’re trying to solve”. This is often the key unlock for moving from mid level to senior, in my opinion. It’s not easy and you’ll never fully grow out of it, but being able to take a step back and think about things from a higher level is good for your career and personal growth. Finally, and this is more subjective and possibly just my opinion, you should make sure you’re starting to have something – hopefully several things – that give you joy and purpose beyond coding. A partner, kids, hobbies, pets, faith, volunteering, community, etc. Career and financial stability are important but they are not the only important thing. Of all the important things career may, arguably, be the least important beyond achieving some financial stability. Also these things help your mental health which makes you a better human and, therefore, a better developer. Senior Developer This is where things can really get interesting and frustrating. You’re going to be asked to do a lot more non coding things, mainly meetings. So. Many. Meetings. A good skill here is getting good at saying no and having the courage to do so. To unnecessary meetings or features. But tactfully, not blowing it off outright but thinking about what the real goals may be and suggesting solutions towards those. Could that meeting be once a week instead of three times a week? Could it be something asynchronous like some shared documentation, a slack thread, email, wiki page, whatever? By now you should have mastered, or be close to mastering, the idea of solving the right problems, not just the ones presented to you. Of identifying the real pain points and fixing those, which sometimes – but don’t always – match up with what you’re asked to build. You should be mentoring and reviewing code more than you’re writing it. Your job is not to write code. Your job is to level up the next generation to their maximum potential. I know, it sucks, you’re at the point in your career where you’re the most adept at quickly solving problems more optimally than you ever have before. But you solving one problem is not as valuable to your team as teaching several others to solve multiple problems better. Be humble, be kind, be patient, and be curious. Ask your younger colleagues, especially ones near the beginning of their careers what excites them out there. Then dive into it, possibly pairing with them to do so. Pick it apart. Let them show you what they think is cool about it. Show them some of its limitations that they might not have grasped. Don’t destroy their enthusiasm, this is again about teaching – teaching them to think critically about new frameworks, libraries, tools, etc. Shower your colleagues with praise, sprinkle them with criticism. In retros, meetings, code reviews, or pairing. If they contribute something cool or find something useful make sure managers know it. Help them in their career. Be the champion you wished you’d had when you were in their shoes. Tech Lead I dabbled at being a tech lead, but I was never really one. So if I’m being honest I’m not entirely sure what it really requires since I could only observe it from the outside. But for the ones I worked with that I liked it was mostly what a Senior Developer would do with the added responsibilities of thinking more broadly around architecture and tooling – with the idea being to make your developer colleagues’ lives more productive but, more importantly, easier. Also just sort of acting like a buffer from bad ideas. Sometimes a stakeholder or management will get a “big idea” that you know is going to be a boondoggle. Either from experience seeing something similar tried in the past or just understanding that not all people in charge are there because they’re good leaders. Unfortunately, some are just the loudest in the room or the most adept in corporate politics. You can’t always save the team from these but sometimes you can take on doing a spike to show feasibility – which sometimes leads towards them realizing that it’s not really worth it or not really what they want with a much smaller investment of time and frustration. Sometimes you can draw on past experience where you did something similar, it didn’t work, but you eventually settled on a better solution and using that anecdote to make them pause and, hopefully, rethink. One thing I will say is if you have someone like that on your team, and I’ve had a few, make sure you let them know how much you appreciate them. Because it’s gotta be exhausting and draining sometimes and knowing that it’s actually helped others makes it easier to suffer.
I worry a lot lately about my career. Will I get another opportunity to be a developer and, more importantly, will it be a good one with fair pay and benefits? Or will I spend however long I have left living off my savings and random underemployed jobs? I have a lot of challenges in … Continue reading I Worry →
I worry a lot lately about my career. Will I get another opportunity to be a developer and, more importantly, will it be a good one with fair pay and benefits? Or will I spend however long I have left living off my savings and random underemployed jobs? I have a lot of challenges in standing out from other people going for the jobs I apply to. I’m at an age where people, especially in tech, often don’t want to give you a chance anymore. I’ve always been a bit specialized so while I have JavaScript skills in various libraries and frameworks I’m not very confident in my skills. I have to always double check my syntax or look up what exactly it is to turn the algorithm I know into something that it will run. That lack of confidence shows in phone screenings and interviews unfortunately. Finally I’m very socially awkward which throws people off until they get to know me better. So I worry. That even though I know I have valuable skills, I won’t get a good opportunity. I’d like to say it’s impostor syndrome but the longer I go between jobs the more I worry that maybe the data is validating my doubts. I try to draw from the evidence of my career for confidence. The dozens of heartfelt, kind, and generous recommendations colleagues have given me over the years on LinkedIn. The fact that I’ve worked for a half dozen companies from startups with less than a dozen people to Fortune 100 giants. That code I’ve written has powered sites from freelance brochure sites getting hundreds of visitors a month to ones getting millions. I look at the length and breadth of my career. From working on sites that used tables for layout and had hacks for IE6 to the birth and growth of responsive web design and device agnostic sites to flex and grid and JavaScript frameworks. And everything in between. I know my heart and that I’m still passionate about solving interesting problems and helping users get done what they need in as simple and intuitive ways as possible. That I enjoy making sites that are accessible and responsive. That I’m driven to work with other smart, talented, passionate people who I can mentor and learn from. That I believe I’m a good colleague willing to build people up, be kind and empathetic, and always understanding that while we love what we do it’s a job and that life is more than just work. But still I worry. That I won’t be seen in an ocean full of so many candidates, including a lot of fake AI ones. That my networking and social skills will be lacking to get me that crucial second look. That with everything going against me I’ll have to be perfect at every step and even one mistake will doom me. I often see how confident some of my peers and colleagues are and wonder if they ever feel the same. If they never ask “why me?” but always think “why not me?” I wish I could be like that. A long time ago in what feels like another life I sold Cutco and my managers there always pushed the concept of “acting as if”. Acting as if you’d sold a million dollars of it, that the sale was a given it was just a question of what they’d decide to get, that the person you were calling with just a name of a friend as a way in would give you their time and not hang up on you. But I never really could then either. I feel like I’ve spent my whole life grinding but never really breaking through to that, perhaps mythical plane, where you’re successful, respected, and looked up to. I’ve always felt like I had to prove myself every week or every day and that eventually someone would figure out I’m a big fraud and it would all come crashing down. Lately it feels like that’s happened. I try to have hope. I fully realize how lucky and blessed I’ve been to have had the career I’ve had and have always been very careful to secure myself as best as I could in case it did end unexpectedly. But it’s disappointing to feel like you have so much more to offer and so many goals that seem just within reach, yet you just can’t seem to get traction. It reminds me of a quote from a movie I like, “You try to fight back, but the harder you fight, the deeper you sink. Until you can’t move… you can’t breathe… because you’re in over your head. Like quicksand.” I feel overwhelmed and discouraged and hopeless. So I worry. And I pray to the universe. And I try to stay ambitious and driven about learning, reading, and staying up to date on what’s going on. Even when it feels utterly pointless. When you spend a half hour making an account in Workday to apply to a single job that is exactly what you’ve been doing for the last decade… and less than five minutes later you get an auto rejection that basically says you’re unqualified. Even when you know that it’s not true, but it’s hard to keep the faith in that belief. I don’t know what’s next or what I’m going to do, and that possibly worries me the most. I try to focus on what I can control. I try to remind myself that I’m not defined by my job or my career. That I’ve sold knives and cleaned cages and stocked shelves. And while I might want more than that there is always that if I have to. That pride doesn’t get you very far and often causes more problems than it solves. So I worry and I write and I dream and I hope. Tomorrow the Universe may listen and care. But for today all I can do is live the best I can in this precious gift called life.
Nothing I have to say on this topic is new and, therefore, probably not that interesting. But I have thought, read and listened a lot about it and so it’s been dominating a portion of my brain for a while now. I’ve always struggled with the traditional office environment. Harsh lights that gave me headaches. … Continue reading Rethinking Work →
Nothing I have to say on this topic is new and, therefore, probably not that interesting. But I have thought, read and listened a lot about it and so it’s been dominating a portion of my brain for a while now. I’ve always struggled with the traditional office environment. Harsh lights that gave me headaches. A hum of noise around distracting me so much I often had to have headphones in listening to music, usually louder than my cubicle mates would appreciate in my younger years. People stopping by my or neighboring desks to ask questions that could have been sent in DMs and looked at during natural pauses in flow. I’ve thought a lot about the concept of flow, that sort of zen like state often spoken of in reverence that developers get into. While it is a thing and often directly correlates to developer productivity level there’s also the cynical part of me that looks at it from the outside. How so often developers are given an air of mystique – going into flow, solving great problems, whiteboards full of cryptic notes and diagrams. Again all of it does have a core of truth in it but I often think how much we play into it for our own benefit. Or how it’s not that different from anyone else just having deep focus on a problem. But I digress. Going back to productivity and the core of what I set out to talk about I think companies and leadership have it wrong right now. As I write this we’re deep into the “return to office” (RTO) movement in that most large companies are pushing to limit if not do away with remote and even hybrid work to a great degree. One of the things I often came back to in meetings when we seemed to be spiraling without arriving at a solution was the simple question of “what are we actually trying to solve?” With RTO it seems to be two things – control and productivity. Control in the workplace has always been a battlefield where the front line moves back and forth between employees and companies. When there’s more need than workers we get more mobility, benefits, and pay. When there’s not, we have to make compromises and sacrifices to support ourselves or our families. But productivity I think is the more interesting one. It directly relates to something that employers focus on – return on investment (ROI). If I’m more productive for the same salary, they get more. So often their goal is to make us more productive which they feel RTO does. But the data I’ve seen implies different and we saw this in the unwilling experiment we were all enrolled into during the pandemic. When the pandemic started I had already been working remotely for about six months and working hybrid before that for years. Having all of my colleagues join me remotely was even better for me. I’ve often struggled with when to interject in conversations which means I really struggle during meetings over a certain size. But with all of us in Zoom (or Teams or whatever) your ability to read body language and the room was limited, so we all sort of naturally fell into the tools built in like the hand raising feature. So if I had something to say I could use that and it felt much more natural and comfortable for me. After people started to initially go back into the office I struggled again. Partly because of that – people wouldn’t look for the hand notification as naturally anymore instead focusing on the people in the room – but also because as with most companies I worked on distributed teams. Even if we were all in the office there were multiple offices – NYC, Boston, India, etc. So now you not only had side conversations going on in a room but multiple ones and they couldn’t see each other. During the pandemic we also utilized DMs, emails and other asynchronous forms of communication because you couldn’t lean over a cubicle wall or walk to someone’s desk. And because we were all in the same boat we grew comfortable with focusing on tasks and then checking them during natural breaks in focus (or flow). Once people started going back into the office that changed back as well with more desire for immediate responses. One of the things I noticed most is that during the pandemic the teams I was on were very high performance. Our productivity was much higher before some of us returned to the office. Communication and rapport were also better before RTO. I had an interesting dichotomy as I worked on two teams. One that was distributed and hybrid and one that was almost fully remote. The fully remote team continued on being very productive and cohesive – even though many of us were (like myself) not 100% assigned to the team. The hybrid team tended to coalesce around office locations. I noticed this most with two of the more junior developers on the team. During the pandemic when everyone was remote both got guidance and mentorship about equally. After we went back to the office because of the distribution of the team, one was in our main office with both tech leads and another senior developer while the other was on their own even when in the office. I don’t think you need many chances to guess who tended to get more mentorship after RTO. And that sort of gets to my point. Remote work always felt more democratic and productive to me. We’re all on the same level so we all have the same voice and attention, not just who is in front of tech leads, management, etc. So mentorship and promotions at least feel more fair. Bonds are made not by proximity but by rapport and respect. Finally you’re able to have more control over your focus so you can do more deep work. If you were observing me in the office versus remote it may look like I was more productive in the office, but there’s an illusion there. I wouldn’t argue that if you compared time directly in front of the computer I was probably doing that more in the office. And it was because of being in the office, but not because people were watching me. It was because I couldn’t control interruptions, would get pulled out of flow, and then have to get back into it. The same problems I could solve in 1-2 hours at home where I could just be heads down would take me 3x (or longer) in the office. Unless I sequestered myself in one of our “phone booths” or jammed my headphones in and ignored everyone who didn’t directly tap me on the shoulder or sit on my desk – but at that point what is the value of going into the office anyways? I get the arguments against it. Managers are able to see us more in the office. But they weren’t during the pandemic and most of the data I’ve seen says that was some of the most productive times for companies. Maybe that’s skewed a bit because we literally couldn’t leave our houses, but even as things started to open up the data I’ve seen seemed to hold. It seemed to do wonders for retention too because, surprisingly, when you treat people like adults and look at their results and not whether they’re sitting at a desk in some office somewhere for a requisite number of hours they feel more valued and trusted. Which makes them want to stay and, ironically, work to keep that trust. They value the natural joy of actually building and accomplishing things, of having purpose. I also get that for junior developers it’s harder to be mentored virtually than in person. It helps to sit next to someone rather than sharing a screen on Zoom. But now there’s a huge push towards AI and pair programming (or vibe coding or whatever the next buzzword will be) which is basically exactly the same thing as virtual mentoring. So again I go back to – what are we really trying to solve? As humans, with our one wild and precious life, what do we really want from our work which will take up so much of our lives during some of the best years? Why can’t we have a little more trust, empathy, and kindness for and in each other? Or are we all just doomed to being “resources” that capitalism can extract as much productivity from before they have no more use for us and toss us aside? I know the type of company I would build if I had the wealth, ambition, and skills to. But maybe that’s just me.
At the beginning of March I will have been unemployed for 6 months. Which I believe ties the longest stretch I’ve been out of work in my professional career and is one of the few long gaps where I haven’t had a job since I was a teenager. I have been of two minds lately. … Continue reading “My one wild and precious life” →
At the beginning of March I will have been unemployed for 6 months. Which I believe ties the longest stretch I’ve been out of work in my professional career and is one of the few long gaps where I haven’t had a job since I was a teenager. I have been of two minds lately. Part of me has been critical of myself. I should have been using this time to improve and keep my skills fresh. To learn new frameworks, contribute to open source projects, take on new freelance gigs, or finally crank out that CSS Zen Garden example I’ve always thought about. To set myself apart from all the other developers out there in the same situation. I keep thinking about how when I do finally get an interview – yes, after months and dozens upon dozens of applications I’ve barely got phone screenings, never mind an interview despite having been doing this for a long time – I’m going to be rusty, look unprepared, and fail miserably. That I’m going to lose out on some opportunity. That I’m going to fail and lose everything I’ve been working for in my career. My other mind is thinking of how burnt out I was towards the end of my last job. How difficult it was through and even several years after Covid. How being remote and often forgotten as people went back to a hybrid schedule left me feeling isolated, especially after having moved 700 miles away from most of my family near the end of 2019. How hard it was to find joy and satisfaction in my work some days. So instead I’ve been spending my time reading, playing with my cats (including my new adopted family member Elsie), playing video games, watching movies and tv shows that have sat too long in my watchlists, going to museums, walking, thinking, and writing. Which has caused me to think a lot about that poem The Summer Day by Mary Oliver. About how this decade of my Life has been one about great challenges and resiliency. Of loss and starting to feel old. And how even when I get a job again it will likely be at least 20-25 years before I’m granted an opportunity like this to just… live. I want to feel more guilty. I do think about how it will likely cost me in lost future income and wealth generation. But I also think about what is the point of all that if I never get to live to enjoy it. How I’ve lost friends and family that were younger than I am today. How at this point in his Life my Dad only had 15 years left. About my recent car accident and how many close calls I had on my motorcycle before I stopped riding a few years ago and how I don’t know how many more tomorrows I may get. So I try to show myself grace. I try to draw peace and hope from a post I recently saw that talked about how maybe you don’t need a wizard or rock star or 10x developer, but just someone boring and experienced. Someone that feels a lot more like me. Someone who will probably never wow you but has delivered and done their best to be a good, empathetic and kind coworker. I don’t really regret the jobs I didn’t get or the money I didn’t make, not at this point in my life and career. But I do regret the life opportunities I missed. Part of moving away was a sense of “carpe diem” after a friend of mine died five years ago, right about the same age I am now. I had big Life plans that, sadly, didn’t quite work out and in hindsight may not have been worth the trade off. But the spirit of that – to live, to find joy, to savor this precious gift we call Life – I think I may have forgotten it until being granted this opportunity to slow down and think about what I really want. So no, I haven’t become a better developer during my unplanned sabbatical that this has become. But I think that’s okay. I think I will be okay. “Tell me, what else should I have done? Doesn’t everything die at last, and too soon? Tell me, what is it you plan to do with your one wild and precious life?”
Maybe a lazy developer is exactly what you want
I was on LinkedIn this morning looking for jobs and a post was recommended in my feed that’s been living rent free in my head all day, to my own detriment. Basically to paraphrase it was something like: Had 3 developers on calls for interviews today. Had canned / AI generated answers to questions. Don’t … Continue reading Maybe a lazy developer is exactly what you want →
I was on LinkedIn this morning looking for jobs and a post was recommended in my feed that’s been living rent free in my head all day, to my own detriment. Basically to paraphrase it was something like: Had 3 developers on calls for interviews today. Had canned / AI generated answers to questions. Don’t developers know they need to prepare for these and be willing to go the extra mile, especially as a mid level / senior developer? On the one hand, I sort of get it. Recruiting is expensive and hiring the wrong candidate costs a lot of time and money. So I understand the goal. My gripe is with the solution – what I hear is something I’ve always heard “devs must be willing to jump through hoops to prove themselves to me.” But, why? What makes your company so special? Hiring is a two way street. As a candidate I’m interviewing you just as much as you’re interviewing me. Which means the more friction you create, the more candidates you lose out on. My premise is – a lot of those ones you’re driving away might be really good candidates. Some of the best developers I know are “lazy developers”. The ones that see a repetitive problem and write a script that automates it saving hundreds of hours. Or sees us doing basically the same bit of code multiple times in different places and moves it all to a function / component with parameters so they don’t have to change it multiple times the next time the requirements change, it all changes in one place (also they write a test around it to know if any future code breaks the assumptions). The ones that look for simple, reusable solutions that make everyone’s lives better, including stakeholders / customers, rather than trying to show off how much code they wrote or how many PRs they opened that week. What I’m really asking for is a bit of grace for both sides. Because yes it sucks trying to recruit good, talented developers. But it also sucks from the other end. Sending out hundreds of applications to hear back from a tiny percentage many of which then grill you on technical questions that if you encounter on the job any good developer is going to look up anyways to remind themselves of the common solutions or make you build a sample application that isn’t something the developer can showcase on their github nor the company use in any meaningful way. All in an effort to prove yourself as a developer. I sort of get this for entry level positions – you want them to show a basic understanding of the necessary skills. But even there a lot of it is going to be teaching and mentoring on the job, so I would argue to keep it to a bare minimum. But for a developer with say 8-12+ years experience, which seemed to be what this person was looking for, I find it unlikely that they’re going to have fooled companies for that long. I’ve met a few developers in my career that have “failed up” repeatedly. But it’s a rounding error. I’ve met way more really sharp developers that are just burnt out from the grind – both in a job and looking for jobs – that they’re mostly checked out. The lost productivity and creativity from all that is far greater than the few that got jobs they shouldn’t. And it’s amazing when you throw a problem in front of them that sparks their interest and then they just light up unexpectedly. For me, based on my experience, it’s things like that original post that sort of feel like flags to me. That it’s likely a company that will worry more about RTO mandates than how many problems are solved. Or that people are “in their seats” (virtually or physically) for a certain number of hours, rather than other far more useful metrics. And my claim is not “you’re missing out on me, your company is doomed”. My point is – if I’m picking that up, all the people I know that are far, far more talented than me are as well. They’re the ones you should worry about missing out on. They’re the ones that will make everyone around them better. My suggestion therefore is just to have a little faith in a body of work someone has and spend that time interviewing not forcing a candidate to prove their technical skills with LeetCode questions but whether they’re interested in the problems you’re facing and are a good personality match for the team you’ve already built. I already talked a bit about this in a previous post. Ironically in that process you’ll likely get them to open up and be a lot more excited about sharing how they’d approach solving real problems you’re working on – which is exactly what you want in the first place. Oh and keep the whole process as short as possible, because we all have but one precious life and time is our most valuable resource that none of us knows the remaining balance of. Or maybe it’s just me and I’m seeking a way to justify my laziness or low tolerance for BS. I honestly don’t know.
It could just be my impostor syndrome but I’d never claim to be a good developer. I’ve always felt like I was more of a hacker, and not in the cool movie sense. But I’ve gotten enough feedback that I think I feel comfortable claiming to be a good colleague. At the very least it’s … Continue reading Being a good colleague →
It could just be my impostor syndrome but I’d never claim to be a good developer. I’ve always felt like I was more of a hacker, and not in the cool movie sense. But I’ve gotten enough feedback that I think I feel comfortable claiming to be a good colleague. At the very least it’s something I put a lot of effort into being. I do find it challenging because until someone gets to know me and builds a little rapport, I feel I can be off putting. I’m often blunt, have difficulty with eye contact, speak in monotone, and I’m very introverted. So what do I think makes a good colleague? Be kind. Mr. Rogers is a big hero and inspiration of mine and probably said it best: “There are three ways to ultimate success: The first way is to be kind. The second way is to be kind. The third way is to be kind.” Everyone is going through something, often something you don’t know about. Try to be empathetic. Give people grace when they have challenges. Be the person you’d want to encounter when you’re struggling the most. Build people up. Compliments are free, sincere ones are invaluable. We all are a bit unsure of ourselves. Try to be observant about what you like most about your colleagues, then tell them about it – preferably in front of others. Remind them that they’re awesome. Build confidence in others, even if you struggle to have it in yourself. Offer solutions, not just problems. Often as a developer I’m presented with a solution to build. Sometimes it’s one I feel is non-ideal. But we have to be mindful that everything is a tradeoff. There is an adage I enjoy that basically says: “good, fast, or cheap – pick two”. So when presented with a solution that you feel is non-ideal or you’re not sure will solve the problem, try to offer an alternative and why you’re suggesting it. Not just “we shouldn’t do that” but “we should consider doing this instead and here’s why”. Sometimes you just have to dig deeper too: “what is the problem we’re really trying to solve here?” Strong opinions, held loosely. This was one I struggled with for too long in my career. We should have and offer opinions, and be able to justify why. But we should also recognize that we work with a lot of smart people that also solved a lot of problems to get to where they are on our team. So we need to be open to new ideas, information, and be willing to compromise. There’s always someone smarter or better than you, even if (especially as a developer) it’s hard to admit that sometimes. Some of my favorite colleagues over the years were low ego – they would tell what they thought, they would back it up with data or examples, but if you went another way as long as they had a voice at the table they didn’t take it personally. Those are some of the best developers to work with. Accountability. Admit when you’re wrong or don’t know something, especially when you’re a senior colleague / developer. People earlier in their careers think it’s bad to say “I don’t know, but I’ll find out / research it” when presented with a problem. They often feel it will hurt their career. So if you’re a senior developer and you can admit you don’t know something or that you made a mistake it gives them permission to do the same. Which allows them to grow and become better colleagues. Plus having a team where it’s ok to do this prevents people from hiding things only to find out about them at a worse time – like when something goes to production. Also, ancillary to this, as a developer QA is one of your best friends. They are literally helping you look better. Be respectful of and thankful for what they do. Be additive. For this I can only mostly speak to developers and code review. Offer good, useful constructive criticism. It doesn’t have to be perfect, just a little better is often good enough. Leave things better than you found them – if you’re working in a section of code and it’s non-ideal, don’t just fix the thing you were there for, clean up that function / component. But also don’t rewrite the whole application. Finally you’re often going to have to make non-ideal solutions for some reason – document why that compromise was made. Others coming after will appreciate it, including future you who will have forgotten why you did this and be very critical – until you git blame and realize it was you. If you have privilege, use it responsibly. Magnify others, talking them and their contributions up especially in front of stakeholders or skip level leadership. Listen to them. If they mention in private conversations questions they have but might be uncomfortable to ask, ask them yourself without mentioning their name so they get answers without risk. Offer advice, especially what you might have done differently at that stage in your career. Admit past mistakes. We’re imperfect and the sum of our mistakes. That’s a feature, not a bug. Mentor. Pass on knowledge, tricks, tips, why you do things or use tools you do. Make it easier for the next generation. Advocate for them – more responsibility, better title, promotions. Write them recommendations and help them build their network. You had help along the way, pay it forward. Not everything has to be transactional, sometimes it’s just about putting good out in the world and hoping that it improves for all of us collectively. I know, nothing new or mind blowing. All just a flavor of Wheaton’s Law or the Green brother’s “don’t forget to be awesome” or really all the things Mr. Rogers taught me growing up. Still, I think it’s worth repeating and being mindful of.
So I’ve recently been using LinkedIn to apply to jobs a lot. On the job posts, it has this very useful feature that lists the skills that are important to them then how they match up to yours. So you’ll see something along the lines of “this is a good match for you, you match … Continue reading LinkedIn Skills Match →
So I’ve recently been using LinkedIn to apply to jobs a lot. On the job posts, it has this very useful feature that lists the skills that are important to them then how they match up to yours. So you’ll see something along the lines of “this is a good match for you, you match 8 out of 10 skills”. The problem is that I’ve noticed a lot of the ones that I’m highly matched for are not positions I’d consider myself very qualified for. Now I know your first thought might be, could that be your impostor syndrome talking? While it’s possible, I don’t think it is as some of the skills it was saying I was proficient in were not ones I would consider myself proficient in to any degree. In fact several were ones I had zero proficiency in. So obviously there was something going on somewhere and it got me curious. If for no other reason than the fact that I like to live by “underpromise, overdeliver” rather than the inverse. My first assumption was – obviously I had been recommended for skills by others that I don’t have or aren’t confident in my ability and hadn’t noticed. So I looked and the handful that had stood out to me recently weren’t there. Digging into the feature at the bottom of job posts, I found LinkedIn offers an article into how it determines the skills you have and how well you match. There I found my answer. It uses two sets of skills. First the ones listed under your skills section. The second is what they call “implicit skills” which they define as: Implicit skills: Skills that are extracted from text within any section of your profile, such as the summary, position description, title, and headline. Implicit skills are extra skills that are not directly editable. Any skills on the matched list that were not added by you are considered “implicit skills.” I’m not certain if it’s bad descriptions by me or inferences from job titles I’ve had – which the way companies make up and assign job titles is a whole topic on its own that I have some opinions on. But either way, this feels like a code smell. I understand the value of automated screening systems. But if it’s making bad inferences, it’s hurting both sides. Candidates seeing jobs that aren’t a good match, and possibly not seeing ones that are because they’re further down the list as a result. Companies potentially getting candidates that don’t really match what they’re looking for, and missing out on ones that do because they’re further down the list. It’s possible it’s still a me problem. Maybe I just need to rewrite my resume again, making it more succinct and focused. Maybe I need to omit some of my job titles that may have poorly described my talents, but I had no control over. But to me it still feels like a code smell or possibly even a bug. If nothing else, I feel it’s a problem others might have been feeling but were unclear why. So if this isn’t just me having a “senior moment” and you’ve encountered this issue as well, hopefully this sheds some light on why and possible ways for you to alleviate it.
Let me start this by saying I’m not writing this for me. One of the blessings of my career at this point was being able to advise and mentor colleagues as they progressed through their own career. Using my experience and privilege to be vulnerable – to share the doubts I still had and mistakes … Continue reading Impostor Syndrome →
Let me start this by saying I’m not writing this for me. One of the blessings of my career at this point was being able to advise and mentor colleagues as they progressed through their own career. Using my experience and privilege to be vulnerable – to share the doubts I still had and mistakes I made so they had space to feel more comfortable about similar feelings they may have been experiencing. It was something I wished I’d had early in my own career. Recently my position was eliminated. So for only the second time in my career I find myself unemployed. As I’ve slowly begun the process of refining my resume, searching and applying for jobs, and the inevitable string of rejections it’s been – understandably – very humbling. It also has validated those thoughts long in the back of my brain that many developers feel. Developer friends and I had joked about how your career is often an oscillation between moments of bliss where you feel you can conquer any problem and moments of despair where you sit head in hands wondering why anyone trusts you to build anything at all. Any job search is humbling and demotivating. It’s a lot like dating where it’s 99% rejection (or perhaps I’m just inadvertently revealing how bad I was at dating). Yet you have to have a short memory. Almost like a quarterback who throws a pick six then has to go out in the next series only thinking ahead, never back if they want to succeed. As someone who is admittedly much more of a specialist I find it especially difficult. Years ago I lamented that it didn’t feel like anyone needed someone with my skills, even though I found myself hired over and over again for exactly those same skills. Reading job descriptions today I find those same feelings rising up. My JavaScript skills have definitely progressed a great deal since when I originally wrote that. But still when I see UX Developer positions asking you to be an expert in React (or Vue or Angular or etc) I feel those doubts rising again. Yes, I’ve built React components and written a lot of React, jQuery, CoffeeScript, and even just plain old vanilla JavaScript. But I would never consider myself an expert and have never felt really confident in my skills there. I’ve always felt like a hacker – piecing solutions together by looking at examples or Stack Overflow posts and adjusting it to what I need. Much more a MacGyver than a NASA engineer. Sometimes, late at night like when I write this, I wonder if those feelings of impostor syndrome are getting validated. That I really was a fraud all those years despite all the contributions I’ve made to numerous companies / repos and the recommendations I get on LinkedIn. Why would anyone hire me when there are so many more talented developers out there? While it’s true I’ll never be one of those “10x programmers” I still think I can provide value to a team. I believe I have strong communication and empathy skills, the data combating my doubts. I know how to write accessible, responsive, semantic, and modular components which are necessary and valuable – even if I might struggle to manage state or pull from an API. I’ve been told I’m good at discerning what the real problem we seem to be trying to solve, rather than just building the solution asked for – which can often save frustration and valuable time. Or as a friend recently told me when I talked about my doubts “You can do a lot of meaningful work.” – which is kind and gracious of them to say, even if the more cynical part of my mind wryly thinks it’s something you might tell Grandpa so he’ll behave and stop annoying people. I don’t think this will be an easy search. Going through my network there’s a lot of very talented people who are either also laid off or in threat of it. But I’m hoping both that someone gives me a chance and that I validate that show of faith. So I can still have my impostor syndrome, but with health insurance and a paycheck. Again, all that to say if I can feel this insecure and doubtful about my future with all the data accumulated telling me I’m wrong – if you’re at a very different point in your career and feel the same, those feelings are valid. Not that they’re right, just that it’s ok to feel them. But we still have to just keep swimming.
It’s probably sad to say that a cat is your best friend. But, for better or worse, Loafy was my best friend. He’d been through a few different family members before I agreed to take him when I bought my first home late in 2009. I didn’t realize the blessing I was about to receive. … Continue reading Remembering Loafy →
<img fetchpriority="high" decoding="async" width="768" height="1024" src="https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafy-edited-e1725020410880-768x1024.jpg" alt="Loafy" class="wp-image-473" srcset="https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafy-edited-e1725020410880-768x1024.jpg 768w, https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafy-edited-e1725020410880-225x300.jpg 225w, https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafy-edited-e1725020410880-1152x1536.jpg 1152w, https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafy-edited-e1725020410880-1535x2048.jpg 1535w, https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafy-edited-e1725020410880.jpg 1872w" sizes="(max-width: 768px) 100vw, 768px" /> Loafy, June 2021 It’s probably sad to say that a cat is your best friend. But, for better or worse, Loafy was my best friend. He’d been through a few different family members before I agreed to take him when I bought my first home late in 2009. I didn’t realize the blessing I was about to receive. I’ve had a few cats that have had a lot of personality and Loafy was definitely one of them. When he was younger he used to tear up and down the length of my house chirping, for lack of a better word. He would come running from anywhere when he heard me open a can of food or a bag of treats. And like Mugsy he just seemed to know my mood, especially when I was down and would always try to cheer me up. Because he’d gone through several homes I wasn’t always exactly sure when his birthday was. I was pretty sure it was in 2004 but was told June and March at different times. Regardless, last year he celebrated his 19th birthday. During the pandemic I had almost lost him. He started losing a ton of weight and being extremely tired. I found out he had hyperthyroidism and knowing that he hated pills or anything of the sort, and being blessed with resources, I decided to get him radiation treatment. I was terrified. The only other time he’d been in surgery of any sort he’d had a really bad reaction to the anesthesia. Plus being so frail I was convinced I was about to lose him. Thankfully he pulled through, although I do think I annoyed the vets with how often I called to check on him. Unfortunately through the sickness and everything else he’d lost his hearing but other than that he was in pretty good shape for a teenage cat. Plus he now had a new quirk where he didn’t realize how loud he was and would scream. It used to drive me nuts. I’d give anything for it now. Just before Christmas he started to be very tired and lose weight again. I knew something was up. I took him to the vet multiple times and they’d treated him for cold like symptoms. His kidneys had started to go a few years ago but had stabilized at stage 2 as I adjusted his diet. But just after I got back from visiting my family for Christmas he’d started to get real bad. They had done bloodwork only a few months before but I got him retested and that’s when they told me it’d progressed to stage 4 and he probably had a few weeks left at best. I was devastated. I had prayed and begged God or the Universe or anyone that would listen for him to go peacefully in his sleep when his time came. But now I knew I’d have to once again make that difficult call all pet caretakers dread. His last weekend was the most difficult. I knew I wanted to use my vet but they were only open half days on Saturday and closed on Sunday. On Friday he was doing really bad but he rallied on Saturday and stayed stable until Monday morning. But Monday I could tell it was time. He could barely hold himself up. He had lost all interest in food or treats. It was just time, as much as I didn’t want it to be. Life is cruel in making us choose to have our family put down, even if it may be a kindness in saving them from suffering. It was January 22, 2024 and I had lost my best friend. Now it’s been just over 7 months and while I’m still so thankful that I got him in my Life and for so long, I do miss him so much. The one consolation is back when Loafy was around 9 I decided he needed a buddy. So I had gotten a kitten named Grizzly. He’s about to celebrate his 11th birthday on Halloween and we both miss our best friend. Neither of us is as close to each other as we were to Loafy, but at least we still have each other. <img decoding="async" width="1024" height="696" src="https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafygrizzly-scaled-e1725021941347-1024x696.jpg" alt="Loafy and Grizzly" class="wp-image-475" srcset="https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafygrizzly-scaled-e1725021941347-1024x696.jpg 1024w, https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafygrizzly-scaled-e1725021941347-300x204.jpg 300w, https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafygrizzly-scaled-e1725021941347-768x522.jpg 768w, https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafygrizzly-scaled-e1725021941347-1536x1044.jpg 1536w, https://www.bogeywebdesign.com/wp-content/uploads/2024/08/loafygrizzly-scaled-e1725021941347.jpg 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /> Loafy and Grizzly, January 2021
I’ve recently been told that as someone who has passed 40, I should not talk about my age because that may hurt future chances of employment. I disagree with this for two reasons. One, ageism is one of the many “isms” people face in employment. It’s also one that seems to get less sympathy which … Continue reading The problems I’m excited to solve →
I’ve recently been told that as someone who has passed 40, I should not talk about my age because that may hurt future chances of employment. I disagree with this for two reasons. One, ageism is one of the many “isms” people face in employment. It’s also one that seems to get less sympathy which is fair – with age usually comes resources, power, etc that cause this to be far, far less of a challenge than sexism or racism. And I am not trying to dispute or change that assumption. But I am someone with a lot of privilege, so I think I have an obligation to use that to talk about it since I can assume more risk. Two, I think aging is a benefit. I am far more kind, empathetic, thoughtful than I was in my 20s and even 30s. I’ve suffered loss and experienced deep grief. I’ve not had my own children but I’ve helped in the raising of my niece and nephew as well as trying to be a good role model and source of advice for my younger cousins, of which I have many. I’ve gained a lot of perspective and patience that I didn’t have early in my career. I think that’s led me to be a better person and colleague, hopefully. All that to say as I’m about to turn 45 in a few months and I reflect back on a programming career that, depending on whether you count personally or professionally is somewhere between 18-25 years, I’ve been thinking about what problems still excite me to solve. What kinds of opportunities or challenges still are processing in the deep recesses of my mind even as I’ve gotten better about shutting off once I step away from my keyboard. Because, like most programmers, even if I’m not actively thinking about some technical problems my mind is often running them on a thread somewhere. At my current job at MassMutual I’ve worked on several teams, often concurrently. I worked on the relaunch team for the anniversary when I started, helping to build a new brand and site. On a “robo advisor” team, offering financial advice to our customers. On the authentication team handling login and signup. On the calculators team offering a suite of tools to determine how much of different types of protection our customers might need. Finally on a team that builds a tool that allows advisors to service their book of business and customers, handling common transactions, and providing policy details. Also a few other teams here or there to help and, again, I was often working on two or more of these teams concurrently. With the exception of all but the first these are what I’d refer to as application teams – ones building a specific application for a purpose. But for the last several years, since before even the pandemic I believe I’ve honestly lost track, I’ve also worked on our design library team. Building what one of my colleagues described as “Blueprint Design System is MassMutual’s design system that includes reusable styles and components that are consistent, accessible, and responsive”. Aside, this got further confusing as there already was a blueprint CSS framework which only I was aware of and hadn’t been updated in around a decade when I brought it up, again showing my age. Also MassMutual later acquired a company with Blueprint in the name adding internal confusion at times. My point is that this last team has been one of the great joys of my career for multiple reasons. First, on most previous teams I’d worked with I’d been the sole “UX Developer” type. Which is to say I was the one that did most, if not all, of the HTML and CSS / SASS development usually with only cursory review by the rest of my team. This was the first time I could actually both give and receive constructive criticism from other developers that had an interest and skill set very similar to mine. As a result my skills in both writing and evaluating code grew immensely. And I learned a great deal about what I should comment on and the tone it should carry, through a lot of mistakes. Second, the team was a mix of developers and designers working together to provide patterns in Figma, HTML / CSS, and React depending on the user’s need. Which is to say if someone was a designer they could use Figma components to build designs for the applications they worked with. If someone was a developer and used React they could use our React components and if they used some other JavaScript library they could use our CSS file and HTML patterns to build their own components. But to my first note here being able to collaborate with people in design was very rewarding as it caused me to rethink problems and challenged many assumptions I had, causing me to grow to be less rigid as it was less of design “throwing something over the wall” and more of a collective effort. We both grew more invested in each other’s success by this partnership. Plus I was fortunate to work on a team just loaded with lovely and talented people, which is always a bonus. Third, approaching problems from a library versus an application perspective causes you to think differently about solutions. It goes back to that description from my colleague – reusable and consistent. How do you make something that is useful to teams – managing that slider between specific and generic? How do you offer some variants while also constraining them so it’s not just a soup of helper classes and multiple components that all solve similar problems only slightly differently so that it’s confusing what teams should use and the product cohesion suffers? Because, again, the goal is to provide a library in which multiple teams are using so that the site looks more like it’s built by one team instead of dozens each building small sections of it. We built this on top of the bootstrap library, something which several jobs and multiple freelance gigs I’ve worked with have used so I had a ton of familiarity with. I’d also grown to understand its problems – by trying to be everything to everyone it suffers. Internally we took several measures to limit this like not including almost all of the utilities and helpers but also being mindful of the examples we used – trying to limit the variants we talked about in our internal documentation even if someone familiar with the underlying framework could understand more options might be available, although potentially not branded. This also gave us some unique challenges with branding and cohesion. Often we would want something to look a certain way, say like an H2, but we would not know where in the code it may appear semantically. In the bootstrap model you’d use some helper classes. But where we had so many consumers we wanted to make it simple if something changed – like if a card header suddenly went from looking like an H2 to an H3 – so they’d have minimal code changes beyond ticking up the version, if we could help it. One of my colleagues started playing with SASS placeholders and it’s something we ended up using extensively. This would allow us to build a bunch of typographic styles and instead of having them assign a class we’d use a placeholder so we could do something like .card .title { @extend %h2; }, moving the helper classes from the HTML to the SASS basically. Which means if later on it should be %h3 or %h4 we’d simply change the SASS, tick up the version, and they’d update – no further code changes. Maybe this is a simple thing and everyone is doing it. I know in the bootstrap SASS they do something similar, though often through mixins instead. But it just was something I found exciting and powerful, enabling me to solve problems in a much cleaner way. And that was many of the things I found on this team – when I had to think about how to build a library to help other people, what concessions and trade offs did I have to make in order to make their lives as easy as possible? That was interesting and kindled my passion for my craft and work. I think the library has brought a lot of value. Many of the teams at MassMutual use it, meaning they don’t have to write their own CSS, patterns, or components – saving them untold amounts of time. The company benefits as it’s more consistent in design and branding, as well as being responsive and accessible since that’s built into the library components. And those of us working on it enjoy working with each other to solve problems as well as the reward of hearing feedback from other developers who benefitted. So to answer my original question – these are the types of problems I’m excited to solve. Using my skills and experience to provide library components that save my colleagues time and effort while also providing the company I work for with multiple types of value. Finding unique and interesting ways to solve those problems and manage the tradeoffs that are inherent in anything we do. Using my skills and talents to help people in whatever way I can, even if it might not change the world. I hope I can continue to be blessed with opportunities to solve problems like this for however long the rest of my career is.
A few years ago I took part in a working group for a large company I was working for. In a highly competitive market, especially at the time, identifying senior developers – specifically talented ones – was a big problem. Even more so for a company that while profitable and stable wasn’t exactly the first … Continue reading Hiring a Senior Developer →
A few years ago I took part in a working group for a large company I was working for. In a highly competitive market, especially at the time, identifying senior developers – specifically talented ones – was a big problem. Even more so for a company that while profitable and stable wasn’t exactly the first one developers thought of. There are many common ways to evaluate a developer. Often coding exercises are employed but those are more often for people just starting out so you can evaluate that they have the basic skills for the position. Puzzles, like the ones Google has used, can help to discern how someone thinks about and approaches a problem – “how many X can you fit in Y” for example. My argument at the time was that if you’re trying to find a senior developer, maybe this wasn’t the right path. While it is possible to have say 8+ years of experience and still not be a very good developer, I didn’t think a coding exercise was going to help us here. Especially if you’re looking for a strong, skilled developer. There was a real risk that if we asked too much of them or bored them, they’d walk away because they had so many options. So how do you balance that trade off – not pushing away desirable candidates but finding out enough to feel confident in your hiring decision? So we started with the question: what are we really looking for when we say a senior developer? For example imagine you have 3 levels – beginning, intermediate, and advanced then how do you define when someone crosses over from one to the next? While years of experience is important, it’s not the best metric. I’ve met developers with 2 years of experience that I trust much more than some with 20 years of experience. So we started to tease out what we really meant and came up with several metrics. Experience. While it’s not the most important, it is important. Mainly in that over time you see different ways to solve problems, more importantly the wrong ways to solve them. You learn from mistakes, not successes. Often one thing that makes me trust a developer more is when they are presented with a problem their first instinct is not “how do I solve this?” but “should I solve this / what is the real problem we’re trying to solve?”. Identifying complexity. This is important in grooming to make sure you have tickets that are of reasonable size. But also in understanding that everything is a trade off – so are we making the best one available? It’s also spotting those things that seem simple at first glance, until you start to pick them apart. Something that builds trust with me is when someone asks probing questions that cause others to think beyond the surface and go something like “oh, that’s interesting, yeah what about X? Or what do you expect when Y happens?” Communication. Think Reddit’s “explain it like I’m 5”. Can they break down complex, technical problems and solutions into something digestible to non-technical folks? Can they ask the right questions to make sure we both understand and actually address the problem? Can they tease out expectations? Can they mentor and level up other developers through pairing and code review – guiding them to solutions and not solving it for them? Technical review. Can they help non-technical people list out technical requirements for tickets? Can they understand dependencies on other libraries or teams? Can they spike on a new library, plugin, etc to understand the solutions and drawbacks it offers? Humility. Can they take accountability when they make a mistake or bug? Can they show grace to others when they do the same? Can they keep their ego in check – like using a library that does most of what we want instead of just immediately writing a new one themselves? Can they solve only the problem at hand, not future problems we may never get to and which will only add complexity to the code base? With all that in mind one of my favorite suggestions was that instead of presenting a candidate with a coding exercise we give them code to review instead. This would allow us to see what they focus on and ignore. Whether they identify problems we expect, or ones we didn’t think about. Give us an idea of the tone and how constructive the feedback they might provide is. It’s more like an essay question instead of a multiple choice. As I said before, can they guide instead of tell? An article I read that stuck with me talked about something along the lines of “it’s not about making every review be an A+, it’s about improvement. Making a B into a B+, making a C into a B. Etc.” That really struck me as someone who can be a bit of a perfectionist and have unreasonable expectations of myself – it’s important to not push that on others, only to help, to teach, to foster learning, and most of all to be kind. We’ll always find ways to improve on the code past us wrote as one of my favorite webcomics lays out expertly. “Perfect is the enemy of good” after all. Finally, on hiring in general I saw something interesting on Hubspot that they do some version of near the bottom of most of the developer positions I saw there. “We know the confidence gap and imposter syndrome can get in the way of meeting spectacular candidates, so please don’t hesitate to apply — we’d love to hear from you.” with links to articles about what they mean by “confidence gap” and “impostor syndrome”. But I thought that was a really interesting way not to drive away quality candidates and be inclusive.
The World needs more empathy and less hostility. More love and less hate. More caring and less neglect. More hope, more heart, more good. We have miles to go before we sleep.
Be not afraid to… …live your life on your own morals. …let others live their life on theirs, so long as they do not harm others. …be alone. …share your heart. …show compassion and empathy. …speak your mind. …let others speak theirs and, more importantly, to listen when they do. …make decisions that scare you … Continue reading Be not afraid →
Be not afraid to… …live your life on your own morals. …let others live their life on theirs, so long as they do not harm others. …be alone. …share your heart. …show compassion and empathy. …speak your mind. …let others speak theirs and, more importantly, to listen when they do. …make decisions that scare you and force you to grow. …forgive yourself, most especially when you don’t think you can or should. …show your love to those you care about, openly and earnestly. …pick someone up when they are down. …let someone else pick you up. …help when you can, how you can, with no expectation beyond the recipient paying it forward – if they so choose to. …be yourself and, as a result, keep only those around that accept you. …live, love, embrace and share joy, laugh, and burn fiercely in your passion, because we never know when the ride will end but it will always be before we are ready.
I haven’t posted in a long time. I’m going to try posting interesting essays / thoughts I find in my “On This Day” on Facebook. We’ll see how well they do and/or how long I bother. With no further ado, on guilt: Guilt is a powerful emotion. It’s a form of self evaluation in which … Continue reading On Guilt →
I haven’t posted in a long time. I’m going to try posting interesting essays / thoughts I find in my “On This Day” on Facebook. We’ll see how well they do and/or how long I bother. With no further ado, on guilt: Guilt is a powerful emotion. It’s a form of self evaluation in which we introspectively criticize ourselves for past actions. Guilt is interesting in that it’s self applied. While others can influence our movement towards in inherently we must assign it to ourselves for it to have meaning. So what is the meaning of Guilt? It’s a learning tool. When we feel Guilty about something mainly it’s because we feel that a past action was not handled in a way which we are proud of. We feel that we could have done something more or different and changed the course that we’re on now. It’s Potential – we feel Guilt because we surmise that by changing that action we’d be on a better course than we are now or a better person for doing more – even if it didn’t change the eventual outcome. The main problem with Guilt is that although it is a learning mechanism it is also potentially crippling. It’s hard to release Guilt, hard to move past it. That same Guilt which we should learn from can cloud future Decisions and cascade into further Guilt. So how do we handle Guilt? We don’t shy from it – we learn from it. We don’t let drive us – we let it guide us. We forgive ourselves – even if we don’t want to. Even if it’s seemingly impossible. Because in the end though we can learn and though we can made different Decisions in the future we can’t change the Past – it’s inherently immutable. The longer we hold Guilt the more powerful and damaging it becomes. As disheartening as it is we must remember that we are not perfect – for if we were, what a boring would it would be. Our mistakes, follies, misjudgments and failings make this World someplace that’s worth residing it. It’s the payment we must make, Guilt, sometimes for being imperfect. In the end Forgiving ourselves might be our greatest act of Charity.
Sometimes I have to stop and just wonder at the world we live in now. It’s pretty cool living in the future. Right now we have handheld devices that allow us to contact anyone anywhere in the world, give us directions, play games, take photos, share memories, and much more – all in a single … Continue reading I love living in the future →
Sometimes I have to stop and just wonder at the world we live in now. It’s pretty cool living in the future. Right now we have handheld devices that allow us to contact anyone anywhere in the world, give us directions, play games, take photos, share memories, and much more – all in a single device. We can communicate instantaneously with people we would otherwise never be able to via avenues like Twitter, Facebook, and others. For example, Whitney Hess is someone of note in my industry. I’ve seen her an An Event Apart and started following her on Twitter. Several times something she has said interested me and I responded. Several times she has responded back and even once, retweeted me. I say this not to “toot my own horn” but to use an example that happened to me to prove a point – this is not something that could have happened 30, 20, or maybe even 10 years ago. Not only did we not have these avenues of communication but we didn’t have the mentality of public communication like Twitter or social networking. I am a relative nobody – a simple, average, web designer / UI developer, i.e. nothing of note. But through the power of the Internet and these tools built on it I’m able to communicate with people like Whitney, able to see funny / silly videos Wil Wheaton posts, and able to be exposed to the wonders of Felicia Day – who’s content wouldn’t have had a viable medium even 10 years ago. The growth and acceptance of the Internet has allowed someone of average means to reach out to audiences that would, typically, be closed to them. Content creators can post videos on YouTube that go viral and are seen by millions of viewers. Artists can put their comics on the web bypassing traditional print media and make a living doing the thing they love. A web designer of modest talent can build a couple of modest themes, put them out on the web, and have them downloaded over 9000 times with hundreds of sites using them still years later. One can Skype with a person 3000 miles away that you’ve known for years but never met physically and be able to see them in totality – their voice, inflection, body mannerisms, etc. Or play a video game with a friend in another state on Xbox Live. We are able to juggle vastly larger social groups with minimal effort because of the technology and tools we have today. It truly is amazing. >Perhaps it’s because of my age that I notice this. Having grown up in the infancy of the web, having used AOL with the iconic dial up tone and chat rooms, remembering before Google was not only a site but a word, and having seen it all change – surging forth at near the speed of light in just a blink of time really puts it in perspective for me more than my younger cousins / friends / acquaintances for whom a cell phone has always been a necessity, rather than a luxury. A few years ago I got my first real smartphone – one with Android – and to this day it still amazes me that it has more power and functionality than the first laptop I owned. I’m also blessed in that my generation – more so than my parents – rode this initial wave and so we accepted it rather than feared or misunderstood it’s power and opportunity. The truly amazing thing is this is just the beginning. While dangers lurk – threats against our privacy (many, ironically stemming from our willingness to over share), net neutrality, and “walled gardens” like Facebook (as AOL was once upon a time), etc – technology is going to progress forward. In just over 10 years when my niece and nephew are at the age I was when I first started on the web how much further will we be? How will this openness of communication and tolerance of other cultures, ideas and life choices due to increased exposure fundamentally change our society and world? It’s both incredibly promising and terrifying at the same time. Ironically, that’s exactly how it felt as a teenager, first dialing in to the “World Wide Web” promising unlimited information, potential and, possibly, danger. So, tl;dr living in the future is amazing. More so when we stop and actually realize how blessed we are, the opportunities it grants us, and how it is truly only the beginning.
I have not blogged in a long time. Mostly this is due to a combination of procrastination and a sense that anything I did wish to say about the industry – HTML5, CSS3, vendor prefixes, progressive enhancement, responsive design, etc – was being said better by someone with far more reason to listen to then … Continue reading Life happens →
I have not blogged in a long time. Mostly this is due to a combination of procrastination and a sense that anything I did wish to say about the industry – HTML5, CSS3, vendor prefixes, progressive enhancement, responsive design, etc – was being said better by someone with far more reason to listen to then myself. I’ve come to two realizations. One is that even if I reiterate some points that others make – specifically by attributing them – that it’s beneficial as it shows and builds my understanding of the issue as well as – by attribution and, therefore, SEO – strengthens the views expressed by the “giants” of my industry. Second is that sometimes it’s ok to “remove the mask” and show the human side. Reading the blogs of my peers and mentors has shown that they have a willingness to showcase not just industry knowledge. Through this I’ve gained an appreciation for both the person and their skill as well as a better understanding of them as a whole. This second realization is what I wish to touch on today as the last year saw two life defining moments for me. The first was one many here in the US felt. For almost 5 years I was the sole and principal UI developer for Helium. My code still exists everywhere on their site. Last July I lost my position with Helium. For many, especially myself, we are defined by our jobs. First because in having a career it validates us to have a job. It shows that a company trusts our skill enough to validate us by paying us to do something we love. Something we do on our own – often without compensation. Second because it gives us purpose. Having a job is a responsibility – a reason to get up every morning, get in our car, and drive to an office. We have responsibilities to our fellow developers and to our users – something that all (good) developers feel and are motivated by. Fortunately, in my case, this was actually a good thing. At the end of my time with Helium I was spending a good portion of my week working from home and sleeping very little. This was because I was spending most of my hours as the primary caretaker for my dad who was under hospice care. On August 3, 2011 we lost Dad. Dad had suffered a stroke and heart attack back in 2004 and almost died then. He was never the same after the stroke but he was living and happy – and that was good enough. For the year or so before he passed Dad had been acting erratically. We didn’t realize how serious it was until he ended up going into the hospital in May and they told us. We had a scare in June and then in the beginning of July, after much cajoling – as Dad was always stubborn – we convinced him to move in with me so I could take care of him. Losing Dad was difficult. However, in the eulogy I talked about something my Faith has taught me – seeing the blessing even in the bad. Losing someone I was close to changed my perspective on life. Different things are important to me now. I don’t worry so much about things that aren’t worth worrying about. While I falter sometimes – as we all do – for the most part I know to focus on what is really important and not to let the small things in life get me down. I’ve learned to count my blessings. For that part of it, I’m thankful.
Why I’ve Recently Lost Interest In Reddit
I have been a lurker on Reddit for something like 4 years now. I’ve been a user on Reddit for over 2 years now. I’m not the best user they have – I’ve only had 1 (maybe 2) front page stories, most of links get little or no votes, I don’t comment often, I don’t … Continue reading Why I’ve Recently Lost Interest In Reddit →
I have been a lurker on Reddit for something like 4 years now. I’ve been a user on Reddit for over 2 years now. I’m not the best user they have – I’ve only had 1 (maybe 2) front page stories, most of links get little or no votes, I don’t comment often, I don’t up/down vote often enough, etc. But I try and honor the Reddiquette as best as I can and add value to the site and community. Lately though, I’ve lost interest in being a user of Reddit and gone back to more of a lurker. Why? A recent event that happened to me. While perusing my feeds I came across this. Having been using Reddit as long as I can, I was excited – I knew this was front page material, hands down. I posted the link (stripped and from my reader) into the Reddit search bar to make sure it wasn’t already submitted – nothing. Just to be safe I copied the image URL and tried that – still nothing. Awesome – not only did I have guaranteed front page material (which proved to be right) but I had original material. So I posted it. “But wait”, you say, “that has 0 points, how could that have made it to the front page?” That one didn’t. This one did. Now this is not a story about originality – that’s obviously a different link. And it’s not about reposting content – Reddiquette clearly states “That said, sometimes bad timing, a bad title, or just plain bad luck can cause an interesting story to fail to get noticed. Feel free to post something again if you feel that the earlier posting didn’t get the attention it deserved and you think you can do better.” If the original user had posted the link I used (even though he posted only a day later) I could have written it off as “bad title / wrong reddit” on my part – no harm, no foul. So, what is my problem? This line of Reddiquette “Look for the original source of content, and submit that. Often, a blog will reference another blog, which references another, and on down with everyone adding ads along the way. Dig through those references and submit a link to the creator, who actually deserves the traffic.” Now, my example is perhaps bad – with an image it’s more difficult to track down the original source and perhaps failblog pulled it from somewhere else (though on the page, they attribute it to an upload from a user). The one that made it to the front page obviously took the image from failblog and just cropped out the “FAIL” part though. They knowingly violated this point of Reddiquette. Going even beyond Reddiquette this leaves a poor taste in my mouth. I generate themes for the WordPress framework and give them away freely. While I don’t mind that people use my work on their site or adapt it to produce their own work I would mind if someone downright claimed it as theirs. Original content creation is much the same – people work hard to write/produce something original and interesting. When we do something like post a screenshot to imgur we’re robbing them of traffic, credit, and potentially income. It’s just wrong. It’s worse when it’s done intentionally. What if someone just took a screen shot of one of The Oatmeal‘s comics, uploaded it to imgur and submitted that? It would get down voted instantly. My final point is that it’s not even just this case – this one just happened to hit me because it affected me personally. If you look at this you’ll see at least several cases where people took a screen shot of a Reddit comment thread and uploaded that – directly stealing traffic (and ad revenue) from the very site they’re using. Is karma really worth that much? I’ve seen many similar occurrences where something is posted to imgur that is a screen shot of the original source instead of just posting the source itself. I don’t know. I’m not claiming it’s a majority of users – it’s not – but this minority has just left a bad taste in myself much the same as when Digg was controlled by a handful of users. I stopped using and visiting Digg as a result. Maybe it’s time I do that with Reddit as well. It’s a shame because other than this it’s a really, really good site. I actually thought about posting this to Reddit for a moment and decided against it. Irony would be if someone else did and got a ton of karma. I’d actually find that funny in fact. And they wouldn’t be violating Reddiquette doing so.
As you can probably tell by my new site design I have another new WordPress theme. It’s called Bwd 3 and is a basically two things: A minimalist theme with a robust options page that includes allowing you to participate in CSS Naked Day, have an intro message on the home page, have a custom … Continue reading New Theme: Bwd 3 →
As you can probably tell by my new site design I have another new WordPress theme. It’s called Bwd 3 and is a basically two things: A minimalist theme with a robust options page that includes allowing you to participate in CSS Naked Day, have an intro message on the home page, have a custom home page, and/or have a social networking area in the right sidebar. It additionally includes a footer that will check your first published post date and build a copyright off it ([first post date year]-[current year]). Finally, it includes 4 sidebar widget areas – blog (tags, posts, categories, etc), custom home page, page, and 404. A theme template which comes prepackaged with all of #1 and good (I hope) commenting in the theme as well as a CSS template with comments (mainly via selectors – my challenge to myself was to use the least amount of classes/IDs as possible). There’s more information as well as a download link on the theme page in my portfolio. Enjoy.
If you’re following 1000 people you’re really following noone
So I’ve been using Twitter a lot more lately and, like most people, I’ve found it interesting but useful and useless at the same time. How is that? Let me explain. So Twitter is interesting for many reasons. Microblogging is a lot easier than blogging – as is evident by my hundreds of tweets and … Continue reading If you’re following 1000 people you’re really following noone →
So I’ve been using Twitter a lot more lately and, like most people, I’ve found it interesting but useful and useless at the same time. How is that? Let me explain. So Twitter is interesting for many reasons. Microblogging is a lot easier than blogging – as is evident by my hundreds of tweets and zero blog posts the past 6 months or so. It allows you to follow interesting people and interact with them – I’ve actually responded to and gotten responded back by both WP Limits and The Ferrett. It allows you to keep up with and see “behind the curtain” on interesting people – web comics I enjoy like Shortpacked and Questionable Content, awesome geeks like Felicia Day and Shamus Young, or even just keep up with friends or friend’s projects. It even allows you to give feedback to companies and get replied back to. So it’s useful for the above reasons – how can it also be useless? Well, like blogging for every one meaningful @reply or comment you get there are dozen or hundreds of voices lost in the wind. For the common man is there really any use? Also, there is the follower dilemma. One of the interesting things I’ve noticed is for people follow people incessantly. Now, following some people is part of the usefulness of the service. But there has to be a tipping point. At the time of this writing, and after doing a cleanup of the people I follow, I’m following 74 people. I see hundreds of tweets a day – if not thousands. The fact that people are limited to 140 characters helps but even at that I tend to skim a lot. What is the benefit for someone to follow 200 people? 500? 1000? It’s not like Facebook where you can friend someone and then hide them – so that you can interact with them if need be but they’re not part of your “stream.” If you’re following someone on Twitter they’re always in your stream. I suppose lists help but even they only serve to raise the tipping point by an order of magnitude. Is someone following 10,000 people really following anyone at all? They’re likely not reading most – if any – of the tweets in their stream. So why bother? I guess the real issue I have is the “popularity contest” aspect – “if you follow me I’ll automatically follow you” mentality that some people have. Yes, you end up collecting followers like Pokemon and have a large audience to blast out your content to – but is anyone really listening? In the cases of celebrities, sure, I can see the point to having thousands of followers – and even following them back as it makes them feel proud and connected to say “celebrity X follows me on Twitter!” But I’m curious if anyone else ponders the fragility of the facade for the common man. I guess my point is that unless you’re someone who would naturally have a larger audience – celebrity, web comic, organization – you’re only fooling yourself. I’m going to experiment more with lists. I haven’t really yet. Maybe they’ll change my outlook on the “following many people” aspect at least.
Just a quick post. I finally got around to submitting two of my themes in the official Theme directory. They were accepted after some minor corrections. You can find them here. I just happened to check the stats today and between the two I have over 1200 downloads. While not impressive considering some of the … Continue reading WordPress themes in the Theme directory →
Just a quick post. I finally got around to submitting two of my themes in the official Theme directory. They were accepted after some minor corrections. You can find them here. I just happened to check the stats today and between the two I have over 1200 downloads. While not impressive considering some of the other themes on the site, I’m pretty happy with that. It will be interested to see if it starts to be actually used on sites and gives me some linkbacks. Next: I have to make homepages for the themes. I’d also like to do some updates to them and craft a third. Hopefully all before the end of the year.
Dealing With A Large, Opinionated And Active User Community
At my current position we are lucky to have a vibrant, active, large, opinionated, and outspoken community. Perhaps it has to do with having a writing site but most users are logical and literate in their arguments which allows us many insights into the usability of our site, potential flaws / bugs, outstanding issues with … Continue reading Dealing With A Large, Opinionated And Active User Community →
At my current position we are lucky to have a vibrant, active, large, opinionated, and outspoken community. Perhaps it has to do with having a writing site but most users are logical and literate in their arguments which allows us many insights into the usability of our site, potential flaws / bugs, outstanding issues with new (or even seasoned) features, and, generally, into how a user sees our site. One of the difficulties with being a programmer or anyone that works “behind the scenes” – developing, testing, or specifying features – is that no matter how hard you try or how good you are at your job you have an entrenched opinion about the site that you work on because you have made it. It’s impossible to fully look at it with user’s eyes so no matter how much you think about a particular feature you’re always going to miss something that a user will see. It’s just natural that you assume certain things are logical when in fact the flow, usability, or design of a page might be extremely confusing or present a high hurdle to all, or even a subset of, your users that can render the page from difficult to use to unusable. This is where an active community is a boon. By engaging those users – we use a message board (built on the open source SMF software) and a blog (using WordPress) – you are able to gather information, tips, questions, and insight into the finished product in the wild. Many times it allows us to find where copy or page flow is lacking and provide instruction to users. We have certain community leaders (which we call stewards) that many times will use the information provided by us throughout the boards to instruct other users – propagating the knowledge for us. Other times it allows questions to arise that we may not have thought of and allow us to schedule new features or feature updates to correct deficiencies. Finally, we may have an instance that we did not foresee or couldn’t create in our test environment and only through exposure to users do we see bugs in the site – basically turning our community into testers. This is an extremely powerful tool that is not always used on large, non-technical sites – where users who are naturally knowledgeable in the technology will speak up of their own accord. So how do you empower your users and speak out to them in order to have access to this tool? Provide tools for them to reach out and communicate with you. Besides the normal help e-mail area we have public facing tools that allow users to engage us and the community for answers. Some of the tools we use are: A wiki for our help section – allowing quick searching of a large, complex living document to quickly provide answers to new users. A blog for community instruction and brand building – also searchable we discuss features in new releases, reasoning behind features, and other items which are not targeted at new users necessarily but require some sort of “stickiness.” Sometimes a blog post is moved to the wiki to become part of the living help document. A community board for user-user and user-employee engagement – besides help sections where users can question logic or features we also have simply community areas where users can just engage each other, build relationships, and have fun. This means they are not providing direct value (content) to the site, however, we’ve seen for the most part that it promotes user happiness and, indirectly, that increases productivity on the site. Have employees engage users directly. We have employees from every division practically communicate with users even though we have a department specifically created to do so. Development members like myself, vice presidents, and even our CEO have communicated with users via our boards and blog. This builds rapport and trust with users. It can be frustrating at times and takes away productivity from assigned tasks but the benefits far outweigh that as our users love and respect that they can ask us questions and gain insight that they can’t from other sites – even if they realize sometimes we can’t answer them fully because of proprietary information protection. Be as transparent as possible. Let users “behind the scenes” – they love it. Let them know why a certain feature works a certain way. Have fun with users. Make them a part of the team. This is especially important in a “Web 2.0” or “user generated content” site as they really are part of the team. Be honest with them when you can’t share proprietary information and why you can’t. They’ll respect it. Empower motivated, hard working, driven, intelligent, and / or respected users to take control of parts of the site. One of the programs instituted where I work is our steward program. Basically it gives users some amount of power of sections of the site. It might be as small as a leaf channel, larger like a base channel, or in some users cases they have control over our community boards. Does this open the door for abuse? Of course. But communities are self-policing and we’ve had few, if any, abuse issues. For the most part stewards have gone above and beyond what we’ve asked them to do because they are invested in the success of the site just like we are. If we fail, they fail. If we succeed, they succeed. It’s a powerful motivator. Really listen to their ideas. I’ve participated in a lot of good debate on our boards about current and future features – what users like, what they want, what they feel they need to succeed. This is ammunition in your pocket. When meetings are held about features the ability to say “users on the boards requested this” or “some users on the blog mentioned that this feature could really use this little extra thing” is extremely powerful. They won’t always get what they want but many times what they want is “low hanging fruit” that can be a big win. There’s nothing like a feature that takes 2 days to build and is lauded about by the community. Most of these should be common sense however most sites ignore their users – thinking them too ignorant or that they are not proficient enough to know what they really want. Sometimes it’s true – users don’t always have the “big picture” vision to take your site to the next level. However, they do have the knowledge of the nuts and bolts of your site in order to polish what you currently have. Many times, it’s much easier and a better return on investment to improve your existing infrastructure instead of simply plowing forward with new features. While everyone likes the “shiny new toy” if your base is not solid you won’t succeed. Anyways, that’s my thoughts, opinions and insight after having been a part of an amazing and active community for over 2 years now.