shaunrashid.com

Random thoughts of a digital web weaver

Breaking Down the Problems You’re Solving

As of late, I have found that one of the most common pieces of advice that I give to the developers on my team has been to take a step back and break down the tasks they’re working on into smaller chunks.

It’s not a novel concept. It’s part of the problem solving process. In many cases, the developers that ask me for help have already broken down the problem to a certain degree but just haven’t gone far enough.

When I go about the process of tackling a problem, I’ll go through “break down” process many times. The first time, I’ll break down the overall problem into big buckets of tasks. I might go through a few iterations of this to see if there are different ways to tackle the problem. Once I’ve got my basic buckets, I’ll treat each one as a problem to solve and then break down each one independently. By going through this cycle, I get a good sense of the tasks that need to be done.

If I am working on a task that I start to feel overwhelmed with, I’ll treat it as a problem and run through the break down process again. I find that it helps me refocus and provides me with a clear path to completion.

Most of the time, the developers already know the answers for themselves, they just need to take a moment to look at the problem again and break it down some more so that they can see the specific steps they need to take to move forward.

Change by Example

One of the questions that has been on my mind lately has been how do you change the culture at a company or team? It can be a daunting task, especially in company that has been around for some time and is set in its ways.

I find that people are willing to talk about culture change but when it comes down to doing something about it, the action items get lost in the shuffle, deliverables and client commitments get priority, and the discussion fades away.

It can be discouraging when you feel like the ideas get lost on deaf ears and all the talk just leads to false starts. However, after a discussion with some colleagues, I am starting to think that culture change isn’t a plan; it’s a set of habits that form over time.

Start with something as simple. For instance, if you don’t feel like your company properly recognizes individual contributions, take a moment to thank a person publicly for some work that they’ve done. Another day, take a moment to thank a different person. Form the habit with yourself first.

The hope is that it will catch on with others and they will start doing it as well, forming the habit for themselves. As more and more people form the habit, it becomes part of the culture.

It’s going to be slow and will require a lot of patience but by developing the process of creating those habits, you create a path to changing the culture of your company/team.

Another “Women in Tech” Thought…

I’ve always been a supporter of women in the tech industry. I have been lucky to work with quite a few during my career. They have ranged from managers to developers with similar experience to those I have mentored. Through it all, I knew that as women in the industry, they had overcome larger hurdles to get to where they were than I had to.

Up until now, I think I simply acknowledged the fact that the gender issue existed and agreed that it needed to change. I can look back, put the pieces together, and see various occurrences where women I know have been discounted, pushed aside, or looked over. I look back with disappointment with myself that I didn’t recognize the pattern.

It’s bothered me a lot lately. Whether it’s guilt for not seeing things sooner, or the fact that I work with a group of incredible women who I want to see succeed, or because I continue to hear stories of women I respect being degraded even today, it makes me angry.

Lately, I’ve felt very over-protective of the women I work with in the tech industry (either directly or through social media). I’m not sure if I have the right to feel that way because despite the fact that I support them, I don’t know if I’ve actually done anything to help them. I don’t quite know what I should do. When should I intervene? When should I step back and provide space? Maybe the answers are right in front of me and I’m just blind to them?

I’ve never been opposed to asking for help and this is definitely one area where I could use it.

Thank You to the Women in Tech

The tech industry is well known for it’s gender gap. It’s an issue that continues and to which I have no solution for. I don’t even think I am qualified to provide a solution because I can’t relate to the problem. Even though I can articulate some of the issues, I will never be in a position to suffer the hostility and disadvantages as the women in the industry do on a daily basis.

I recently remarked on LinkedIn that I have been extremely fortunate throughout my career to have had the opportunity to work with many strong female developers. They broaden my perspective and help me grow stronger as a developer. They have and continue to teach, guide, motivate, and inspire me every day.

To all of the female developers that I work with daily or interact with over social media, as well as those that I don’t know, I want to say thank you. I appreciate everything you have done for myself and the industry and will continue to support you in any way that I can.

Content Block Layout with Dynamic Content Using CSS Grid

With the impending introduction of CSS Grid in mainstream versions of major browsers, I have been playing around with it and trying to learn how I can incorporate into current production scenarios.

One scenario is a content block grid where we have multiple blocks of content that each consist of a title, some sort of image or media, copy, and some hyperlinks. In addition to making the grid of blocks responsive (which is the easy part), the scenario calls for each of the elements within the content blocks to line up with the corresponding elements within it’s sibling content blocks on the same row.

For example, if there are 4 content blocks in a row, the copy of each of the blocks should start at the same point on the x axis of the row. While this is relatively easy when you have total control of the content and can craft it so that each element has a consistent (or at least predictable) amount of content, the challenge arises when you don’t have control of the content.

I have been playing around with the following Codepen to see if I can get things to work. I’ve been able to line up the media at the top of the content blocks and the links to the bottom, but the title and copy sections in the middle look “jagged” because the image heights are different. Instead, what I’m looking for is a layout where the titles and copy sections of each block line up with each other so that there is a more uniform look to the grid.

I’m not sure if that’s possible but I’d invite you to checkout my Codepen (currently viewable in Firefox Nightly and Chrome Canary)  to hit me up on Twitter or drop me an email with any feedback or advice you might have.

 

UPDATE:

I’ve opened up an issue with this on Rachel Andrew’s CSS Grid AMA. Check it out and post any ideas you might have. Also check out the other issues on the AMA. It’s a great resource.

2016 US Election: Expression

Like many people, I was extremely surprised at the outcome of the 2016 US election. Many emotions and thoughts have run through my head over the past 24 hours. I have made an effort to be calm about the outcome and have tried to calm others and let them know that it’s going to be okay.

The more I think about it, in just the same way that many (including myself) assumed that Donald Trump would not be the Republican nominee and in the same way we assumed that the American public would not elect him as the next president, I’m making an assumption that everything will be okay.

The truth is, I have no idea what the next four years will bring. I don’t know what situation people are in or how a Trump presidency will affect them. I feel like by telling people it’s going to be okay, I might be coming across as dismissive and it’s certainly not my intent.

It’s a difficult time for many people. People are upset, shocked, confused, and scared. The concerns and fears they have are completely valid and should they should express them freely.

An Event Apart Through My Career

I recently returned from San Francisco where I attended my seventh An Event Apart (AEA) web conference. It was another wonderful experience with an excellent lineup of speakers and topics related to the web design industry. As an attendee of more than five events, I was recognized as “An Attendee Apart” and that got me reminiscing a bit about my previous AEA events that I have gone to.

My first AEA was in Chicago in 2008. It was my first conference of any kind and I can remember being star struck by the speakers, many of whom I learned about through Twitter. I’m pretty sure I had some sort of fan-boy complex, particularly for event founders Jeffrey Zeldman and Eric Meyer. I arrived in Chicago thinking that it would help me with my job (which it did) but I came away from AEA feeling connected with the web design community. I started to look beyond my job and out at the industry as a whole.

I skipped 2009 so that I could attend the 2010 Seattle event. This was a game changer for me. Not only did it introduce me to the city of Seattle (where I would eventually relocate to) but it was the first year that AEA included the “A Day Apart” workshop. Two days of speakers talking about various web design topics and then having the third day to dive deep into a particular area resonated with me as a great way to learn. 2010 was also the first year that I used Twitter as my conference notebook, which led to meeting many attendees and a realization that what I was doing was useful for others. Not only did I feel like a part of the web design community, I felt like I was helping it.

Over the years, I continue to attend AEA whenever I can. What I get out of each conference has evolved from practical code and techniques to inspiring the way I think about web design to thinking about how I can help others in the industry. I’m no longer just looking for ways to implement things, I’m looking for ways to solve problems. I’m no longer just looking for answers, I’m looking for ways to help find the answers. I’m no longer just sitting on the sidelines, I’m getting involved.

An Event Apart is great for learning tips and techniques but I believe the true values lie in the feeling of community, the opportunities to learn from the experiences of others, and feeling empowered to contribute to helping make the web better for everyone.

If you’re interested in finding out more about An Event Apart, visit their website or find them on Twitter.

The Lost Art of HTML

According to MDN, HTML “is the most basic building block of a webpage”. It’s the foundation of the web. The first webpage was built on less than 75 lines of HTML. Yet for such a fundamental part of the web, I find that many front-end developers don’t have a good handle on it.

Editors, templates, and frameworks produce HTML that enable a developer to get content on the page but the resulting code often lacks the features and nuances of the language such as semantics to convey meaning and enhance SEO or attributes and meta data to improve accessibility.

As Jeffrey Zeldman eluded to in his talk at An Event Apart, many of us work in a world where we are spoiled by the technology and access we have. We quickly jump to take advantage of advanced CSS and Javascript to create rich experiences but we don’t take the time to craft that layer of HTML on which we build everything else on.

Building a good foundation using HTML is like building a good foundation for a house. Without it, you run the risk of having to deal with issues that are difficult and expensive to fix later on. For example, poor HTML may lead to SEO or accessibility issues that require you to re-write your HTML. If you’ve built your CSS and/or Javascript on top of that poor foundation, you then have to also rework that code as well.

Even as someone who spends a lot of time thinking of how to write HTML, I can understand the lack of appeal to work on it. It’s not as sexy or cool as CSS or Javascript. But I do believe that we it’s important that we take the time to learn and focus on writing good HTML, not only to save ourselves from headaches later on but also to help build a better web.

If you’d like to learn more about HTML, I find that the MDN docs are a great starting point. You can also hit me up on Twitter as I love talking about this sort of thing.