Matthew Lang avatar

Matthew Lang

Be Present

This was supposed to be this year's theme but I opted for being independent instead in light of my recent foray into the world of freelancing. I thought I would take a minute to outline what being present is, and why I was going to make it my theme for the year.

The world we live is increasingly dominated by technology and distractions. Ironically what you're reading right now is a distraction, but let's just say it's a good distraction.

Anyway, technology and distractions. Being a dad of two kids means that you are inevitably in the presence of other parents and their kids a lot of the time. One thing that I notice is the number of parents that are glued to their mobile phones when they are in the presence of their kids.

On one of our frequent trips to the driving range last year, I decided to treat my son to a round of crazy golf there. During our game, I noticed that the mum in the family in front of us was checking her phone every minute. She spent more time with the phone in her hand than her putter. The sad part was that while her kids were trying to impress her with their putting abilities, the mum was too pre-occupied with her phone to even notice. She wasn't being present with her kids.

Being present for me means your undivided attention. Since observing this I've become more aware of the time and attention I am giving to my family. I generally turn my phone off at night now after dinner. It's so that I can be present at home, mentally and physically, without any distractions putting me off. I don't want my kids to remember me as having my head buried in a phone all the time. I want them to remember all the times that I was present for them.

It doesn't always work out this way though, but I'm learning to schedule my freelancing work during the day and to limit my time using technology at night and at the weekend. Being present might not be this years theme for myself, but I'm more and more aware of it every time I go to check my phone or pick up the iPad for a quick surf.

Back on a regular reading schedule

The last couple of months have been a bit hectic in our house with an unscheduled job hunt for myself and the holidays were just coming up. With everything that was going on during this time, I stopped reading for a while. What's surprising about this is that I'm a pretty consistent reader, maybe making my way through a couple of books a month.

Things are settled down now so I've started getting back on track with my reading again. I picked up where I left off with Post Captain, and I'm digesting a couple of freelancing books this month. I'm sticking with one fiction book and one or two non-fiction books every month.

In the future I'm hoping to publish my progress through the books throughout the year, so watch out for posts on the blog and possibly reviews as well.

Always be learning

One of Patrick Rhone's latest posts is his list of tools for daily learning. Patrick's list is a great place to start for daily learning and I'm glad to see that there's a couple of tools there that I use myself. I've never considered them as learning tools but that's what they are really. Tools for discovering new things and learning.

My take on it is to always be learning. Never stop learning.

My first exposure to computer programming came when I was about ten when my Granpa bought an Atari 800XL. Right from the moment he got it, he immersed himself in programming books and magazines. As a kid you wouldn't give it any thought, but now when I think back I think it was amazing that given my Granpa's age, he was still learning on a daily basis.

This way of thinking that you should always be learning is something I've tried to do for the last few years, but along the way I usually forget things. I've learned the hard way that I need to keep a journal for such things so that I can review it at a later date.

My daily learning comes in the form of technical things like programming languages, web frameworks and other web development related topics. I've also read up on topics like decision making, writing and of course I'm reading through the Aubrey-Maturin series, which his made me much more knowledgeable of 19th century naval warfare.

The benefits of daily learning are just that. Daily learning. Being that bit more wiser on a daily basis. I'll never stop reading, writing, learning and discovering new things. Having a blog to write about my learning experiences when I'm in my seventies? I hope so.

Getting it wrong as a parent

Some of you might already know this from my tweets in the past but for those that don't here's the thing. My son has been playing golf since he was 1 year old. Yes you're reading that right. 1 year old.

In the last 5 years we've slowly encouraged the sport with him by taking him to the driving range, local golf courses and he's had some coaching from a couple of professionals in the past. He loves the game. He watches all the majors when they are on and cheers for his favourite golfers.

In order to develop this little talent further we decided to take our son to coaching a couple of years ago. The coaching was one to one with a professional. I would drop my son off and then observe from a distance while he hit some balls, played some games and then after half an hour I would collect him.

After a year it seemed like he wasn't making any more progress, but I decided to let it go on the basis that he is only a kid after all. The most worrying part though was that he wasn't really enjoying it anymore.Then one Saturday, during one of our frequent trips to the driving range, we just happened to see that the driving range were doing group lessons for kids. We asked our son if he wanted to go and he jumped at the chance.

He now gets coaching alongside other kids and since moving him to the group coaching, he has come on leaps and bounds. His progress in the last six months has been great. The best part of it is that he enjoys his golf again and wants to do better.

In hindsight the one to one coaching was the wrong choice for our son, but as a parent you want the best for your kids and to give them all the opportunities you can.

Rather than wanting the best for your kids, you should also remember to let them enjoy being a kid. I'm glad now that our son is enjoying his golf again but more importantly, he's enjoying it with other kids his age.

Fixie Friday - Cinelli Super Corsa

via FGGT

Everyday is a school day ...

... with Patrick Rhone.

Becoming a Wordpress Development Professional is launched

My friend Curtis has been busy penning a new book.

Congrats on the launch Curtis!

Don't criticise choice

I read an article today where the author outlined her opinion on using the right tool for the job. Actually it was more like an advertisement for the authors book, but that isn't the problem.

The problem with the article is that the author immediately made assumptions about the person she was meeting with. Just because the person showed up with a pen and notebook, the author made an assumption that this person was using the wrong tool for the meeting.

Here's the thing. Everyone has their own choice that works for them.

Whether it's the latest tablet on the market, a netbook or your own choice of pen and paper, the tools that work for you the best are the ones that you have tried after eliminating countless others.

Let's look at text editors. A text editor is what programmers use on a daily basis. Working with code means that programmers need shortcuts to frequently used code templates, viewing files side by side and other key features.

I've chopped and changed over the last couple of years but I have always went back to the one that I work with best. Yet I know other programmers that have opted to use other text editors. Do I criticise these programmers for their choice?

No. It's what works for them.

I know better than tell someone that they're using the wrong tool for the job.

Micro X-Wing

Can't wait to show my oldest son this!

via Distracted By Star Wars

Making time for product building

It's been a busy couple of weeks freelancing. However there is one thing that I didn't factor into working this way and that was making time for building my own products.

Working on your own is demanding. You're aiming to deliver the best work you can within a set allotted time for your client as well as keeping an eye out for more opportunities in the future. I've only just seen the tip of the iceberg with freelancing. I'm sure there's a lot more things I need to be doing.

By the time I've put in a days work I'm mentally exhausted. The prospect of sitting at the computer for another hour at night now doesn't seem so appealing.

Now that I'm more flexible though in the hours that I can do, I need to start thinking about etching out some time during the week to build and market my own products. Cutting back to four days a week would allow me that chance. As well as working on products it would give me a chance to do some writing as well.

I like the flexibility that freelancing offers but I need to make sure that I am giving myself enough time to work on projects if my own.

The other problem is that I'm still stuck in the typical work week mode. I still feel like I have a job. Granted I'm way more happier working this way, but I should be working out how many days I should be doing a month to earn enough for living and putting some aside for when there are droughts in the work load.

This doesn't necessarily mean doing five days a week, but the balance should be in the favour of paid work until my products can earn enough to swing the balance in their favour.

In the meantime it's back to work.

Where estimates can go wrong (and how to fix it)

Estimating. It's a word that can strike fear into people who are new to the realms of programming, project management, freelancing and other careers. The daunting prospect of estimating the length of time at which you will be able to complete a set piece of work.

I have over ten years experience in the realm of software development and sometimes I still get it wrong. I've seen developers get their estimates wrong by a couple of weeks and project managers miss their target deadline by months. So why are estimates so hard then?

The first reason is that the estimate is based on a bigger block of work, rather than multiple smaller ones. Estimating a project from just an outline of the project is a rookie mistake. When you estimate on a large single block of work, you are basically playing a guessing game. In fact your estimate is always going to be wrong when you do this.

Instead, break your big block of work down into smaller blocks of work. The more granular you get, the easier the estimate is going to be. It won't always be correct, but your estimate will be more accurate.The second reason is information. We are limited by our little brains in how much information we can retain when estimating on a project.

When it came to estimating on projects for ERP software customers, I had to remember that different customers had different workflows in their systems. No two systems were the same. I had to factor in that a customer will have specific workflows in their system that I need to either work around or work with. This job was made a lot easier by the fact that I used notes that I kept on each customer's system so that I was ready to make better estimates in the future.

Now I know this might not be easy to do for a new project where you have little information, but carrying any information that is relevant from one project to the next is going to make estimating on blocks of work a lot easier.

Estimating isn't a black art, it's simply something that requires you take the time to break blocks of work down into smaller chunks and if you can, have the right information at hand to make better estimates on those blocks of work.

The holy grail of mobile computing

A single device that can be used on the go as well as having the same functionality as a desktop computer when you dock it!

The Ubuntu phone marks a significant milestone that nobody else in the mobile business has managed to nail yet. It runs the same codebase as the rest of the Ubuntu family, meaning it can be docked and used as a real computer or synchronized with a slab and turned into a tablet.

Convergence is key by Owened

Pricing products

The only answers that matter are dollars spent. People answer when they pay for something. That’s the only answer that really matters.

So put a price on it and put it up for sale. If people buy that’s a yes. Change the price. If people buy, that’s a yes. If people stop buying,
that’s a no. Crude? Maybe. But it’s real.

How to price something by 37 Signals

Lifehacker asks ...

Using multiple networks as a marketing tool

Having multiple social networks can be a real headache if you're trying to manage them all at once. When I created my App.net profile and made that my new home, I stopped posting to Twitter for a few months. Also I have only just re-created a LinkedIn account in the last few months. Recently I have stuck with posting only to one network, but with Twitter and LinkedIn sitting in hibernation, I thought it might be a good idea to use them. With the freelancing way of working now in full swing, I am toying with the idea of using Twitter and LinkedIn to share updates to my availability for contracts and interesting links from the web development world.

Using these networks to market myself as a freelancer is a great way of using these networks without me just abandoning them for one network. The truth is that these days people are rarely exclusive members of one single network. I know there is people who share all their updates across all networks, but I think that is counterproductive. This can take up a lot of your time, especially when you start getting replies from different people on different networks.

What I will be doing is continually posting to App.net anything that I wish, but for my Twitter and LinkedIn accounts, I'll be sharing blog posts on freelancing, web development and availability as well as sharing interesting links on web development using Ruby and hopefully other languages. I'm getting the tools in place I need to make this happen, namely a Buffer account and perhaps some triggers setup on IFTTT if needed.

Hopefully this will result in more leads for freelancing work and also increase my reputation in these networks as a web developer who is passionate about what he does. We'll see how it goes.

Fixie Friday - SPUN Studio

Couldn't actually get a name for this bike. Great build though.

via FGGT

Aggregation of media is not journaling

The other week I read about a popular journaling app for the iPhone that allows you to populate your journal by aggregating your posts from your various social networks. I was saddened to hear that this was being touted as a selling point for journaling software. Here's why I don't see it as a benefit.

When you aggregate posts and actions from various social networks, you're effectively just pulling the random stuff that you throw out to the world on a daily basis. Often it's a spur of the moment thought or opinion. How many times have you posted publicly you were going to do something but didn't see it through? I've lost track myself. Promises of using different programming languages and frameworks have all been broken because that post that I made publicly is a spur of the moment action. Aggregating media is not a form of journaling because it pollutes your journal with whimsical statements and promises that are often written on the spur of the moment.

Journaling is the act of writing down your thoughts in private. Whether it's a digital journal or pen and paper, journaling is the act of organising your thoughts and putting them down so that you can reflect on it now and later. It's a log of your thoughts, opinions and actions. Your successes and failures. Sometimes you'll like what you write, sometimes you won't. When you start noticing trends in your journal entries, then you can start to take action.Ten journal entries in the same month about your wish to write a book say more about your passion and willingness to do this than a one off tweet on Twitter. It's these trends in your journal entries that let you identify what you want to do rather than what you would like to do.

Your journal is your life in the words that you write to yourself, not to the world.

TDD with your MVP

Should you TDD your MVP?

This question came up on the Hacker News website a few days ago. Reading through the comments there was a very mixed response as what people preferred to do.

First let me describe a couple of things for readers of a non-programming persuasion. TDD (or test-driven development as its more commonly known) is a way of writing code. Essentially it boils down to writing a test for the code that we are about to write. This test fails until we implement the correct code to make it pass. The MVP mentioned here is a minimum viable product. This is the simplest implementation of a product that will deliver value.Got the acronyms sorted? Okay, let's crack on.

I have built a couple of MVP's with test-driven development. I have to say that using TDD to drive the product worked well for me. It gave me the confidence to ship the product once I knew it working. And that really for me is what an MVP is all about. Shipping the simplest thing that can work. We know it is working as we have the tests to prove it and from working code we can then be confident in shipping a product that provides value.

An MVP without tests is simply a throwaway application in my eyes. It's code that serves a short term purpose such as learning something new or proving a simple technique.Others might argue that this is exactly the point of a lean startup. To test an idea. However in order to test that idea for a product we need to have something that the product can offer the customer, and that needs to be value that the customer can see. Value that you can certify is working correctly.

Each to their own really, but I'll keep TDD'ing my MVPs in the meantime.

Wishlist Wednesday - Rogue Hoodie

Nice hoodie for cutting about town.

via Pedal Consumption

This year's theme: Independence

This year's theme was all set to be something else, but due to the fact I am currently trying to make it as a freelance web developer, I thought a change in the theme for the year would help my identify my goal for the year. So this year's theme is independence, but it's not just career independence. Let me fill you in.

My way of defining career independence is to be an independent developer. Simple. I want to ultimately pick and choose the work that I want to do in the future. I want to be independent of another company's goals and objectives and work towards my goals.

This is going to be a long term goal, that will require me putting in a lot of hours at the start. I'll be building products, open source applications and libraries and doing a lot of writing.The flip side of this is that I will be hopefully more financially independent. No-one can argue that times are hard for many of us, but I don't want to simply get by month to month working my ass off and doing a dreadful commute to play office politics.

I want to build products that solve problems and generate revenue.With a suite of products on the market, I'm hoping that at least one of these can generate enough revenue that will allow me to be more flexible in the work I do day to day.

It's a dream that many want, but very few take up. I've decided to simply put this out there. Then in a year's time, you can email me and say, "So Matthew, how did the whole independence thing go?". I know what I want the reply to be, but there's a lot of work ahead to get the right reply in place.

Let's see what 2013 brings for being independent.

One to one networking

I previously wrote about the importance of maintaining your professional network. Today we're going to talk about the same thing, except in the real world.

I'm not one for attending mass networking events. These events are good if you want to find new contacts or be introduced to someone for the first time, but for existing contacts I prefer a more focused meeting. One to one networking if you like.Let me tell you about my mate John.

We worked together about ten years ago for a software vendor specialising in risk management software for health organisations. I loved the job and I loved working with John. He frequently used mind mapping to discuss problems in our software and always provided a great service to our customers. When we were all made redundant, me and John decided to stay in touch.

Over the last decade, I've met up with John about every four months. When each of us are armed with a coffee and a cake, the conversations goes from family life to careers and technology. We talk about ideas for software products, interesting applications, risk management, decision tools and more. The majority of the conversations always falls back to ideas for risk management and decision tools for the web.

It's a great chance to catch up with a good friend, but it also gives me the chance to find out what's happening in his career, his contacts and whether they are any opportunities for career moves. It's times like this that I appreciate the one to one nature of conversation. The conversation is fast, detailed and always leads to an idea or two. No email, no messaging, no smoke signals. You can't file this meeting away for later like you would an email or message, and then forget about it. While networking through the digital world is necessary, so is meetings like this. Whether it's frequent or not, the chance to find out what's happening, discuss ideas and ventures can always lead to an opportunity to further your career or skills.

The next time you find someone on LinkedIn that you want to connect with, remember the people you currently have in your network. When was the last time you had a one to one meeting with someone who influences you?

It's time to get back into mind mapping again

As part of a toolset reboot for the year I've decided to give mind mapping another go. Mind mapping isn't new to me, I first learned about it about 20 years ago. Some of you who know me might even remember my mind mapping blog from a few years ago.

I used mind mapping until about 3 years ago. At that point I wasn't using it as extensively as I did in the past. I was exploring the use sketch notes in place of mind maps as well. I eventually gave up on mind mapping and retired my blog. I think I had simply become bored with the use of mind maps.

With a new career direction ahead of me and loads of little ideas for products in my head, I'll be using mind mapping to explore these product ideas further before I build prototypes for them. Sometimes an idea sounds great in your head, but when it comes to executing the idea, it falls to pieces. I'll be using mind mapping to test the feasibility of these ideas on paper first and then turn them into prototypes later.

The one rule I have is that my mind maps will be created with the trusty pen and paper. There will be no mind mapping software used at all.

I've always been hesitant to use mind mapping software in the past. Mind mapping used to be nothing but pen and paper. There was no mind mapping software 20 years ago. Yes computers were becoming more mainstream, but mind mapping offered a chance to explore your thoughts and ideas away from the computer.

To me, mind mapping software constrains you in the way that mind maps are made. Pen and paper has no constraints, your mind map can take any shape that you wish.

Yup, it's time to get back into mind mapping again.

I'm available for work

It's taken a few weeks of job searching to make me realise that pickings are slim for the type of work I want to do on a daily basis. So I have decided to take charge of my career direction and I am now marketing myself as a freelance web developer for hire.

So without further ado, is there anything I can do for you?

Here's just a couple of things I can do for you:

Extra development resource

Do you need an extra developer on your team for a short period of time? I'm available to work in Ruby or .NET teams where an extra pair of hands is needed. I've spent over 5 years working in web development teams building backend applications and services to support businesses in retail, risk management, technology repair and e-commerce.

Prototype your product idea

Have you got an idea for a product or service on the web?Before taking the plunge and investing ten of thousands of dollars in an untested idea, why not test your idea first with customers that fall into your product's market? I can build you a working prototype of your idea that will deliver a minimal set of features that will test your intended market. Armed with a working prototype, you'll be able to test your idea with customers and get the feedback you require in order to decide if your idea is worth investing more time and money in.

Anything else?

Is there anything else I can do for you?Let me know. I'm here to help solve your problems. I look forward to hearing from you!

Dealing with redundancy

It's been four weeks now since I was made redundant. In that time I've had a chance to reflect on this horrible position that many of us go through. It's not my first redundancy either and probably won't be my last, but there's a number of things I would like to share that may help others get through a similar experience.

Being made redundant from a job is a painful experience to go through, but I think that level of pain relates to the size of the company you are being let go from.

Take for instance my job at a large payroll software and services provider at the start of my career. They were a large company at the time of my redundancy. My role was working on a payroll and personnel product. After nine months though, my development manager moved on to somewhere else and the product was shelved. Fast forward a few months and the company was bought over. I was deemed surplus to requirements by the new parent company and was made redundant.

When I found out I was being made redundant I acted calmly after hearing the news. I realised that even though my line manger was giving me the bad news it wasn't his fault and there was nothing personal about it.When you work in a large company, chances are you are just another cog in the machine. There are multiple levels of management from the decision makers at the top to those at the bottom and it's usually very rare that these two levels will mix on a daily basis.

From the way I see it, It was a decision made by others who either didn't know me or knew very little of me. It wasn't personal, and that's an important perspective to take on it. Lots of people feel anger when they are made redunandant, but at the end of the day it's sometimes just about the numbers.

Now my last two redundancies have been made at smaller companies. In each case there were less than ten employees in each company and each time I was made redundant I was more than just annoyed at the news of being let go. I had spent two and five years at each of the respective companies.

With small companies you end up knowing everyone on really good terms, well I do anyway, and you get to know everyone a lot better than you would have at a large company. In this case it can become boiling pot of emotions you feel when you are told by a colleague that you know really well that you are being let go.

In this case you need to handle things a bit differently. Redundancy in a small company is difficult to deal with.In both cases my redundancy came out of nowhere. I had assumed in each case that the company was performing well to that point. Experience has taught me though that in a small company, day to day duties can hide underlying problems the company is having.

In my first redundancy the company was entertaining prospective buyers for a number of months before myself and others were made redundant. It was kept from staff until the announcement that the company was being bought over. the company buy over was announced on the Friday and I was made redundant on the Monday. Pretty fast moving. I completely resented the company owner and the development manager for not at least giving the staff a heads up on the activity of the company. Looking back I wasted a lot of time in a negative place rather than focusing on moving myself onto another position. I did eventually find a new job, but I've always thought I was pushed into the job move rather than moving on for better reasons.

In my second redundancy I found myself in a better frame of mind after hearing the bad news.After being told that the company was going through financial problems and I was being let go, I simply gathered my things, said my goodbyes and left. Stepping out the office I was surprised by the swiftness of it starting as another day in a small company to not having a job. I learned from the past that dwelling on the negative and blaming others wasn't going to get me anywhere. I simply picked myself up and moved on.

The experience of being made redundant from a small company has taught me to expect bad news at the drop of a hat. Working with a small company with people you know well doesn't necessarily mean that you will be told of any pending bad news on the horizon. And if there is a bad news for the company then you are probably better off being somewhere else.

Also in a small company, you should accept the redundancy for what it is and move on. Regardless of what you think about the company or it's remaining staff, it's not going to have any positive input on your prospects for a new job. Accept the redundancy and move on.

A redundancy from a large company has been easier to manage from my experience. It's largely a decision based on numbers. You get the bad news and then move on. It's no-one's fault.

My last piece of advice is to pay attention to the company you are working for regardless of its size. Watch out for news alerts on the company and pay attention to shifts in company size and locations.

When external office locations are shut down, services or products are removed or other departments are closed down, look towards your own department and question it's viability within the company. Does your department still align with the companies overall objectives?Yes you might just be a line worker and not privvy to what's going on in the board room, but you can observe how the company is performing. With that knowledge, a redundancy will then at least be expected and not a complete surprise.

Redundancy is sadly a part of the career world that many of us will face, but it doesn't mean that it needs to be a largely negative affair. When you get the bad news, close the door on it and move on. I did and I feel a whole lot better for it.

There's Only One New Year's Resolution

Wise words from Sergio Delaguera:

There’s only one New Year’s resolution: never stop trying.

Every year millions of us make promises of losing weight, eating healthily and countless other promises. They never last more than a month for most of us. Then we give up.Do something else instead. Never give up.

There's Only One New Year's Resolution by Sergio Delaguera