LIFE NEEDS MOTIVATION

Life is not always a bed of roses. Happiness/unhappiness are a part and parcel of our lives. When disappointment encounters us, we all need to be motivated.

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Failing to sell a build optimization idea and not giving up

Have you ever tried to explain something that could be very helpful but seems too complicated to others because you did not properly present your idea?

In this article I want to tell a story about my mistake in proposing a (kind of complicated) solution to optimize the build process for the front end team I am part of. I will have to leave out a lot of juicy details about the project because it’s still ongoing work.

We have a pretty nasty build that can take more than 2 minutes to complete. If not restarted often, after each change, this time bending monster can grow to 4 minutes or more. Then send the css through CORS to a remote machine. There are other limitations involving security and limited access to part of the code base.

Imagine yourself try to style a few tabs or for any UI work your heart desires and then waiting like a monk to see those changes in the browser.

In this build recipe we throw 4 theme color files (among other tech). One of them is the old version that we are working hard to replace in the hopefully near future (its a big whale of a project). At this time we only need 2 of these themes.

The themes are developed using sass files and besides their processing there are also some internationalization files and other javascript files that we don’t touch in our css beautifying process.

Many moons ago (few months back) we had 2 themes and the build was “only” 30 seconds. Now we have 4. So until we finalize the layout and color variables why not keep the 2 new themes out of the build?

Oh, how wonderful life could be… Well, kind of: 30 seconds is not that great but is much better than 2+ minutes to wait for a darn padding change.

In order to achieve this outstanding tech innovation (temporary remove files from the build) we first discussed it in a meeting with “higher order council”. I think we got a “we will look into it” response but removing the 2 extra themes was off the menu.

Meanwhile we keep adding css and the build time keeps growing. None of us on the front end team really understands all the build settings involving .sh script files that connect our color themes and other contraptions that our project is connected to (…long story). We get by with testing css changes in dev-tools and copying them in the project files.

Being a curious fella, I started looking into how the theme files are connected with the .sh script files. After poking around (at this time bash scripting is too gibberish for me) i hacked a way to remove 2 themes and shorten build and watcher update times.

Jolly good, good times ahead, but wait, I have to share this change with front end team and we are not allowed to push any of these changes to main branch.

To get around the updating branch restriction, I did some `git ignore` and `git update-index — assume-unchanged` commands to make git ignore changes to the removed theme files. In my opinion not that many or difficult changes but I was so wrong.

This is where I was reminded that people need simple solutions to understand the concept and take action.

Actually I probably suck at selling because the sharing plan did not go well and the optimization was received as complicated.

Shorter build time - useful stuff, right? I had a go at letting everybody know I am working on shenanigans that would make our build faster and everyone was interested.

So there I go, building this wonderful instructions doc (the kind of user manual nobody reads), with screen shots and git commands (a painting of rotten apples might have been better received).

The magic vanished when the guys and gals visited the instructions doc. I was expecting resistance so I went and simplified a lot of the file and removed as much text and images as possible while keeping the essential. After announcing the upgrade, based on feedback no one asked any questions and it was clear I failed to present a usable, practical solution.

Only one hope remains to make the build optimization steps look attractive (more like push this button instead of read this user manual). If I can use bash scripting to automate all those changes in one command then it just might work for everyone.

If you have a similar story please share.

To be continued.

Add a comment

Related posts:

The Future of Design Education Pt. 105

The practice of teaching design has many underlying benefits. You can design the learning of design, which may sound a bit meta, but is a powerful way of further learning how one takes in knowledge…

Hexbean Hybrid Exchange

Hexbean proudly announced their cryptocurrency based platform that facilitates the trading of most popular tokens. An ethereum based exchange platform Hexbean is a marketplace for the sale and…

Household Concerns

A while back I bought a robot vacuum cleaner for my wife and lo and behold! Our lives have never been the same again. In the past, cleaning the house would amount to using the Magic Clean wipes and…