Plan fun shit, death to CMS and have a hangover work plan

Charlie Jackson
Lessons by Charlie Jackson
6 min readFeb 26, 2018
Plan fun shit!

Welcome to the start of a new series of posts where I summarise some of the thing’s I’ve learnt each week! This week features 24 curious lessons from ways to build better products, meal tips to ways of handling side projects.

1. Don’t follow a process or framework to the letter

Mix and match them. See what works for you and what doesn’t. Every team and individual is unique in the way they work, so a generic framework can’t possibly suit everyone. Often we get so uptight about not being “agile” or “lean” enough when we work. As long as we keep trying to be better and keep on learning it doesn’t matter how agile we are.

2. Develop a set of unrelenting product principles

Know what it is you will not compromise on. Is it simplicity, no known bugs, whatever it is that is important to you or your organisation, turn them into principles that can’t be ignored.

3. Ask for help

Especially when learning something brand new and important. Find forums, meetups, friends or family. Just be vocal about what it is you need, and people will give you the answers.

4. Don’t be concerned with how much you work, be concerned with how effective you work

I’ve just started out as a freelance developer, and have been keeping timesheets to better understand how effective my work is. However it’s really easy to tell myself off for not doing as many hours as a previous day. When in fact the 4 hours I did that day were 200% more effective as the 8 today. Effectiveness over quantity.

5. Don’t be shy, tell people what you do

Stop wasting everyone’s time.

6. Can you turn your service into a product?

If you’re in the business of offering your time as a service, can you sell it as a product? e.g. Buy 10 hours of my time through my website. Buy a weeks worth of my time for developing the best Minimum Viable Product (MVP) for your business during that time.

7. Test the most critical things first

Comes back to being effective. As a freelancer, let everyone know your rate, availability and any restrictions to how you work straight away. Otherwise you may waste loads of time understanding their problem, and then find out they can’t afford you. As a programmer, identify what needs to be tested, or proven that will make the whole feature invalid if it doesn’t work.

8. Mix and match meals

I often get stuck when it comes to making lunches. I normally leave it too late, get really hungry and impatient and then end up eating something bad out of frustration. This week I found that some of the indecision comes down to thinking I don’t have what I need to quickly make a recognised/familiar meal. Turns out you can just mix and match random foods you like (within reason, I’m not a total heathen). I ended up having fried chorizo, grilled cabbage and baked beans. I felt like it was a really random collection of foods, but enjoyed the simplicity and the result.

9. Build something for yourself, don’t feel pressured in building for others

So many people can build products, both digitally and physically. It’s easier than ever to get things into people’s hands. Yet doing proper customer development often takes the idea and product you were really excited about, and turns it into something you don’t really give a crap about. Some of the most innovative products come from people following their own crazy ideas and building something weird and wonderful.

10. Plan fun shit daily

When scheduling your day, make sure you’ve put in something you really enjoy, maybe at the end of the day, as a reward for all the good work you’ve done before. Helps to keep you motivated and enjoying life. A day without any fun is a silly day.

11. Dev Stuff— Store a global ref to any preloaded images in JavaScript

If you’re preloading images with JavaScript, you need to keep a global reference to that img object, otherwise it get’s garbaged collected. Took me way to long to realise why my site was making 2 requests for resources.

let images = [];function preload(imageUrl) {
const image = new Image();
image.src = imageUrl;
images.push(image);
}
preload('https://url-to-image.com/image.jpg');

12. Dev Stuff — Death to traditional CMS, long live the headless CMS

I’ve come to the conclusion that running and maintaining a traditional CMS on your own server like WordPress, Drupal, Kentico, SiteCore etc, is ridiculous and far to much effort to maintain. Headless CMS like Contentful and Kentico Cloud allow you to not have to worry about anything apart from your actual application. And alot of the time this will let you not even need a server for your website, you may be able to use static hosting and static site generation. No more down servers, no scaling issues and so much faster!

13. Talking at events will supercharge your networking

Ever noticed that anyone who talks at a networking event will constantly have people surrounding them afterwards. Yeah, talk at events! And don’t just sell something, talk about something interesting, everyone has their own point of view and have learned different things from everyone else. Talk about it.

14. You are probably more of an expert than you give yourself credit

Having a deep knowledge of a certain area, probably means you’re constantly reading articles about people who have an even deeper knowledge than yourself. Take a step back and realise that you know a shit tonne. Well done.

15. Freelancers should quote a job by their hour rate not day rate

If you’re not going to be spending an entire day on a client project, as you may have multiple or need to do marketing stuff, a day rate doesn’t make sense. This seems super obvious to me now, but I hadn’t really thought about it before.

16. Have a hangover plan for work

It happens, hungover when you’re meant to be at work. Try and come up with a checklist or set of steps, so the stupid hungover version of you can follow them and be a bit more productive on those days. So you don’t need to think.

17. Build side projects that need no maintenance

Side projects are not things you want to have to actively maintain, especially if you’re like me and have dozens of different things going on. Build them as self contained little projects.

18. Is it better to rebuild than to improve upon a product?

Sometimes you just end up adding fuel to the fire by trying to build on top of something that’s already crumbling. Give good thought into whether it’s worth rebuilding.

19. Design more than you’re planning to build

Your designs should be your vision of where you want the product to be. Then when building the minimum viable features, take them from the designs, but keep in mind what may need to happen for the rest of the designs. I’ve found that you structure your code much better when you know what’s going to happen after the feature you’re currently building.

20. Some things are only ok, and that’s fine

Not everything needs to be perfect, especially for side projects. Just build what’s important and move on. As long as it’s good for what you need, then good is great!

21. You don’t need to radically change the world

Doing something is good enough. You don’t have to be a billion dollar company. As long as you’re on the right side of the change then anything you do is fine. Don’t beat yourself up about scale.

22. Do something different

A great way to get inspired is to do something completely new, or different from every day life. Visit a museum, spend a day pretending you’re an awesome photographer, just do something different.

23. Diversify your income streams

Like with investing, find ways of getting income from multiple smaller sources. Build loads of smaller paid for apps, make some premium themes for WordPress, do some freelancing, make and sell art, or whatever you enjoy doing.

24. Building and finishing small ideas is super rewarding

Whether it’s a drawing, small web app or blog post. Being able to start and finish something in a relatively small amount of time (day or weekend) feels great.

That’s all folks

Thanks for making it this far! I’m a freelance developer and startup guy, checkout my website for more on what I do, social links and to get in contact https://charliejackson.com

--

--

Charlie Jackson
Lessons by Charlie Jackson

Freelance JavaScript Developer. Sometimes write about self development, tech and startup stuff.