Everyone has their pandemic hobbies. Some people bake bread, others play Animal Crossing, I started a podcast. I’m looking for ways to connect with people online and have more conversations about the “non-technical side of software development.” I enjoy coding, but I’m tired of most of the discussions about it. “how to do X in
This is the list of everything I've ever written. If you want a curated list of my most popular articles, you can find them here. Get updates when new articles are published by subscribing to the newsletter.
Tech TempoThinking In TempoScrum: Tempo CodifiedMove Fast, Break Things, Slow DownFacebook started with a saying: “Move fast and break things.” Later on, they updated it to say: “Move Fast with stable infrastructure.” Why did Zuck change his tune? First, we need to understand why he had the initial statement. The phrase is common in startups,
I can’t think of a more clear example of rhythms in software than Scrum. Scrum is an attempt to codify tempo and wield it as a project management tool. Scrum sets the rhythm with recurring ceremonies: planning meetings, daily scrums, sprint reviews, and sprint retrospectives.
A mental model of tempo can help in your sensemaking when joining new teams and starting new projects. Though out this blogchain, I’ll be exploring the concepts of tempo and how they are realized in software development.
All software choices fall somewhere on the build-buy spectrum, & all companies fall somewhere on the ‘tech company’ spectrum. A piece of technology’s ubiquity, price, and proximity to a company’s core competency all play a factor in where it fits on this spectrum. In this article, you’ll learn about what factors go into a build
There are two types of developers in this world, those who care about the product they produce and those that care about doing their craft well. You can tell them apart by how much they ask “why?” Traits of a Product Engineer I was first introduced to the idea of the product developer here: The
There are many “holy wars” in tech, and you’d be best served to stop participating in them. These discussions are bikeshedding: Spending an outsized amount of time and energy on trivial details. And when talking in public, they don’t paint you in a good light. In sport, they can be fun. However, I think getting
I read frustration online, but I don’t see a lot of positive experiences. I wanted to share the best interview experience I’ve had, as I feel it could be a model for other companies.
Software is powerful, and we, as people who make software, have power. Software can be racist, and we all have a responsibility to use our power to stop it.
I’ve worked remotely for nearly a decade: Either self-employed or at a job, it was always completely or partially remote. I can count myself as blessed during the current situation; I have a full-time job in an industry that hasn’t taken much of a hit. My job, knock on wood, is safe. I know others
Flexbox rows may not work quite the way you think. If you want to have a row of elements, and you want to align one element at the end of the row, many CSS rules won’t work. Floats do not apply to elements using flex, so you can’t use a float:right like you would inside
Platforms are a useful tool, but it dangerous to use them as the primary home for your content. If you want to start publishing, you aren’t required to set up your own domain and personal site. There are platforms available now that allow you to post instantly, but I strongly suggest that you set up a site you own from the beginning.
How you write, what you write, and where you write should change based on your current goals. Your content strategy should be fluid. When setting goals, this is why it’s good practice is to review periodically. Here are some ways you can adjust your writing practices based on what you want to achieve. Pieces of content can serve
If you have a side hustle, How much money does it bring in compared to your job? Have you considered the possibility that you could one day quit working for others and instead work for yourself? It can be hard to imagine moving from employment to making money solely off of things you create, especially
When I shared a story about getting clients via content, I received some feedback I wanted to address, paraphrased here: “The example given about the Angular article seems like sheer luck. There are hundreds of similar articles on the web that have no traction. What’s the real difference between an article that leads to an offer
While publishing more is almost always better than publishing less, it would be better not to publish randomly. For years, I fell into the trap of writing was Rochelle Moulton calls “a flea market of ideas.” The only overarching topic was “what Glenn is interested in this week.” Other times I’ve seen companies create content for content’s sake.
Substantial, complicated updates break software in large, complicated ways. Smaller, simpler changes break in smaller, simpler ways. It would help if you considered applying the “ship more, ship smaller” mindset. It’ applies the single responsibility principle to your pull requests. Avoiding large pull requests also means avoiding arduous code reviews and delayed deployments. Here are five patterns
Occasionally you get lucky and catch a wave in your career. Technologies come and go. If you adopt new technology before it crests, you can position yourself as someone proficient with that technology and can set yourself up for some great opportunities. Here’s how it happened in my career once. Why I Learned AngularJS Early
Documentation has to fill the roles of onboarding new users as well as supporting existing ones. It has a marketing role when people read your documentation to get a sense of how your product works. Before signing up for a new product, I look at their API documentation. Chances are I will need it at
One of everyone’s favorite ways to procrastinate it to futz with tooling. Well never fear, I’m here to help! Here’s a look at the current stack of tools I use to create, publish, and share content. Evernote – My Primary Tool Evernote is where most of my work happens. I use Evernote to keep research,
Selling software is an exercise in convincing the buyer that what your software can do is worth the cost, and they can trust you to deliver. It boils down to a comparison; however, when your software is aimed at solving problems for developers, the math gets more complex. Developers buy with time and risk, not
If you’re starting a new blog or other publishing habits, how often should you be publishing? My recommendation is to publish regularly, and as frequently as you can manage it. The most frequent I’ve seen by individuals is daily. Seth Godin is famous for his daily blog, which has over 7,000 posts and counting. Seth
Yasawi over on Dev.to asks: “If I have a big topic to blog, Should I make it into a series of blogposts under same title or different title?” This is a great question and one that doesn’t have one correct answer. There are benefits to post large, authoritative pieces of content. These tend to be
The most valuable conversations I have with product leaders are the ones where I fire myself. Sometimes the best solution is not writing more code. Writing code comes with tradeoffs worth considering before starting a new initiative. All code, even perfect code, requires maintenance. Maintenance includes more than repairs when needed. It also includes hosting
I received this question from a reader and dear friend, and I know they aren’t alone in feeling this way. I really want to start writing about code + architecture, but whenever I think of a topic I want to write about, I’m inundated with thoughts of “so many people have written about this and
It’s something we all do from time to time, but I’ve never thought about codifying how to do it effectively. I get irked by articles like “React vs. Angular vs. Vue.” It’s not a competition. There is no “right” answer. There is only the best choice given the context and constraints of the decisions. What’s
There are more tools and channels for publishing content online than ever before, but getting started is also more daunting than ever. It’s because of the paradox of choice. Heightened anxiety caused by more choices leads to analysis paralysis. Tools should be used to enable your work, not deter you from it. If you want
Here’s a secret about technical blogging: You don’t have to play the “get thousands of page views” game if you don’t want to.
Serverless computing still relies on code running on servers, so why did everyone decide on this nonsense name? It makes sense once you understand the connotation. Let’s take a look a closer look at the term so we can make sense of it. What the heck is serverless? If you aren’t familiar enough with the
When people talk about optimizing their site, they could mean a few different things. Are they talking about performance? Are they tracking a certain engagement, such as email signups or clicks on a call-to-action? These go hand in hand. Bugs and performance issues will cost you sales and signups. The same goes for Usability. The
Plenty of people will tell you the importance of setting goals. What people don’t tell you is how to choose, set and accomplish them. In Measure What Matters, John Doerr lays out OKRs, an approach to goals to tackle these challenges. It’s used by tech industry juggernauts Google, Intel, Adobe, and Intuit and others.
Learn how to use useEffect and other hooks inside of class based components.
Projects are sometimes doomed long before any designers or developers are brought in. Your work will never provide value or even see the light of day if you are working on something where the only possible outcomes are failure and mediocrity. But some can be saved. You can make it work. Your career will be better off if you can learn to avoid these projects and work within given constraints.
Why is speed important? One of the most common recurring conversations I had with startup founders was how to get products and features out the door faster. Typically, all is running smoothly until it’s time to actually push your work out into the wild. People want to buy the poster that says “move fast and
When I fall out of my writing habit, most often it’s because I can’t decide what to write about. Choosing an article topic can be paralyzing. Here’s an exercise I use to come up with new topics. Afterward, the issue is not that I have too little to write about, but too much. When coding,
To people who don’t work remotely, it sounds like a dream job. Stay in your pajamas all day; no commute, no distracting open floor plan static. People don’t think about the downsides: The isolation, the loneliness. Left unchecked, extended periods of working from home are a mental health hazard. Isolation leads to depression and anxiety,
If you’re a frequent user of Netflix or Amazon, then you’re familiar with how they use what they know about you to tailor their platform to your tastes. Personalization is an effective marketing technique. It makes you a more engaged customer, and more likely to get out your wallet. But you don’t have a team of
After a second full-time stint, I’ve decided to seek full-time employment opportunities. I’ve had a few people ask me why I’ve made this switch, so here’s my reason why. First, to clarify: I don’t mean to put freelancing as a profession or those who make that career choice on blast. I have plenty of friends
Most creatives freelance at some point. Either as extra nights-and-weekends work, filling gaps between jobs, or building your own business. I advocate for learning the basics of doing client work. It gives you immutable job security. If you know how to find clients and profitable work, you’re never unemployed. The ability to fend for yourself provides freedom. At some point, you’ll face
When surgery was invented, the job title “surgeon” came with no modifiers. It didn’t matter what needed to come off or go in, you could see the same person. As medicine advanced, the job splintered. More knowledge meant increased complexity which necessitated specialization. Soon you would see one person for your war wounds and a
I want to review a quote from Mike Monteiro’s book, You’re my Favorite Client: — So let’s look deeper into the design process, with a giant caveat. Every designer claims their own process… But whether you’re working on an agile or a waterfall process (or smartly between the two), all processes break down to some version
Looking for ways to spend less time doing parts of your job that you hate? You have three options: Eliminate. Delegate. Automate. I’m a minimalist. I like to take a Marie Kondo approach in business and life. Tasks get on out plate more quickly than they get off, and we don’t always stop to reflect
By showing different variations of a product or feature to segments of your audience, you can quickly learn what works and what doesn’t. There’s a reason that every major tech company such as Google, Apple, Uber, etc. Use split testing as a part of their design and research process. Done correctly, you can learn about
Providing access to your Google Analytics account can allow consultants to gain insight and help you find better ways to collect data and make smarter decisions within your business. 1.Go to analytics.google.com Log in with your Google account. Do not share your Google account username and password with anyone for any reason. EVER. 2.
Is your marketing department allergic to project management? Here’s a strategy that might help you reign in the chaos a little bit: Morphing my vague marketing tasks into discrete, measurable projects: I call them growth initiatives. Others call them experiments, which I don’t use here because when I say that people tend to think “A/B testing”.
Marketing and Growth are two terms have different meanings depending on company culture and context. Here’s how I think about the difference: Marketing is the discipline of increasing the number of eyeballs on you. Marketing is focused on lead generation; building email lists, getting people to sign up for free trials, and general brand awareness.
Why Does Tracking Matter? Software built for business should be useful to the consumer and valuable to the company that produces it. To optimize software towards these ends, you need a way to track results. No analytics tool does this out of the box. You can install Google Analytics and see how many monthly visits you
The Problem Optimizing Amazon listings requires hours of tedious research and calculations to find the best keywords. To solve this problem, Seller Labs was looking to launch Scope: it’s innovative market research and keyword optimization tool. They saw an opportunity to help sellers do a better job at optimizing their listings. The market for Amazon Seller tools
tl,dr: no, you shouldn’t. The United States Senate is on the brink of making a huge mistake. And it’s the same mistake that sinks software companies every day. They want to rebuild a project from scratch. It happens at software companies all the time, typically with new teams. They see a project full of legacy code that
Clients buy based not on what you can potentially do, but what you have already done. A portfolio showcases previous accomplishments, but if you’ve been doing work for a company, you may have an NDA or non-compete clause in your contract preventing you from showing off your work. Having a portfolio reduces the risk of hiring
Have you considered quitting your job and becoming a freelancer? Has your startup shut down and now you are forced to consider becoming a freelancer to pay rent? Going out on your own is a scary proposition, but the rewards are worth it:
Hey there, I’d like to share a story with you about my first conference talk, back at the end of September. The First Day September 28th, I arrive in Norfolk, Virginia for the speaker’s dinner. Brennan invited all of the speaker’s out to a fancy restaurant before the opening mixer at the Double Your Freelancing Conference .
Let’s say you create a special offer for a particular audience, event, or your mailing list. You can “hide” the page by not including it in any navigation, and usually, Google won’t pick it up. However, if you want to be extra sure, you can do so with the Yoast SEO plugin. You only need
Pre-S Warning: This week’s post contains crass language. If kids are nearby, you may want to cover their ears.
Mother works in Elberton, GA, The Granite Capital of the World at a local Quarry. Here is their #2 best selling product: Tombstones. I love companies like this, invisible enterprises that build something important to everyone. But this isn’t a letter about tombstones; this is a letter about their all-time #1 bestseller: Gravel. If you ever think
Working with bad clients puts your business in a vicious cycle. You start out meeting with a client that sets off your Spidey sense a little. You need to pay rent this month, so you agree to the work against your better judgement. You end up working with a client that belittles you, doesn’t trust,
Scope creep is inevitable in software projects. But that doesn’t mean that all scope creep is inevitable. When a client asks you for functionality that wasn’t in the original spec, why are they asking for changes? There can be several causes.
Before I started my consulting practice, I had product aspirations. I bought about 25 domains, every time thinking this one was going to be the project that I would ship. But I Didn’t.
Here are the top reasons software projects fail, according to a report by the Standish Group. We’ve touched on these throughout the book, but I wanted to provide a quick refresher.
It can be difficult to stand out from the crowd of other developers, especially when a potential employer can post a job posting online and have dozens of proposals from developers overseas offering to do the same job at sub-minimum wage prices. How can you compete?
In December of 2015, during a local Finish Day Event, I launched a new version of my site, GlennStovall.com. This case study is a breakdown of the rebuilding process, why I did, and the results I achieved. I decided that publishing more content was going to be a larger part of my business in 2016.
Getting clients as a freelancer is like a catch-22 problem. If you ask other freelancers how they find clients, they typically say “word of mouth” or “referrals.” How are you supposed to get referrals without previous work? Getting started seems impossible. If you are thinking about starting a freelance business, you need to be proactive
The Problem Wagglez came to us with a vision for a local discovery and coupon app that helps travelers in new cities find the places that locals love best. They were in a time crunch to launch, and needed someone who could come in and quickly coordinate with a young development team.
The Problem For Tangent Solutions, a growing software products company, the biggest hurdle they faced was a lag time between contracts. Due to the scale of software and complexity in orchestrating development teams, software products often encountered problems like going over budget and missing target deadlines. They needed a solution that made complex estimates more
The Problem Network storage company Coraid powers some of the most renowned enterprises. They were bringing a new product to market that needed some finishing touches to the website front-end and performance. They needed a creative development crew that could transform their existing interface into an easier to use, cleaner tool to help monitor server
The Goal The founders of Borrowing Magnolia wanted to help the modern bride plan her dream wedding on a budget. They also knew of many newlyweds had dresses that would sit in the closet collecting dust for years to come. They wanted to help people turn their old dresses into an asset, and help brides
One part of the freelancing puzzle I haven’t solved yet is keeping cash flow stable. Here’s a lifetime graph of my revenue, month, by month: There’s a lot of peaks and valleys. Good clients, bad clients, late payments, upfront payments. Sales slumps. Family emergencies. It’s all there. About a year after I became a freelancer,
All businesses are inherently risky. Human beings are terrible at understanding and quantifying risk. Since most entrepreneurs tend to be human beings, this causes problems. Without having a clear picture of what risk is, how to identify it, and how to quantify it, making correct decisions about your business can be hard. The biggest cognitive
When building client-side applications, your URLs are prepended with a hash. Removing this can make your routes more user-friendly and more easily crawled by search engines. Here is how you can remove the hash from your routes in an Angular app built on Ruby on Rails, and use the standard URL structure.
It seems like these days everyone wants to build a software as a service app. The siren’s call of monthly recurring revenue is hard to ignore. SaaS products are a complex undertaking. I’ve worked on them before and seen how all the moving parts have to interact. There are plenty of SaaS Development tools, libraries,
When I left my job to become a freelance programmer, I was charging $50/hr in the beginning. I met other freelancers, consultants, and agencies in town, and a few of them charged $150/hr. Even the agency that I had worked at previously billed my time at $120/hr, which means that my level of programming
Concerns are a new feature that was added in Rails 4. They allow to clean up the code in your models and controllers. They also allow you to share functionality between models or controllers. However, they can be a bit tricky to test in isolation. In this article, I want to show how you can
Regular expressions are a tough cookie for most programmers to figure out. They are terrifying to look at with their daunting syntax. There is also nothing quite like regular expressions anywhere in programming. Programmers may learn to hack together basic regex expressions, or how to cut and paste some they find online for their needs,