britrunner

aaron cooper

24 Feb 2018

Two Years in Review

“A Year in Review” posts are usually pretty personal, I know. I don’t feel that this post will break away too much from that cliché, but I hope that I can express a few points that may be helpful or just interesting for others.

A whole new world

By far and away the biggest change in my life happened back in 2015: I upped sticks and moved from the UK to Singapore. It was a decision I’d made long before the move date after meeting who I hoped would be my future wife (and now she is!).

I fell in love with Singapore pretty much immediately after arriving in the country for the first time. Being a tech-head, and given that Singapore is one of the fastest developing and one of the most forward-thinking countries in the world, assimilation for me was pretty natural. For those not in the know: Singapore is a predominantly English-speaking country and is made up of a harmonious mix of cultures; including British, Chinese, Malay, Indian, and very many others. I’m big on multi-culturalism and equality, so I totally dig this aspect of the cosy city state.

It may sound easy making such a move, but it truly wasn’t for me. It took me close to two years to get a job in Singapore to allow me to reside here (you can’t stay for more than 30 days in the country otherwise) and it was one of the toughest challenges I’ve been through in my life. I read countless blogs and forum posts from expats saying how they “moved to X country” and oftentimes make the process sound as easy as commuting to work. I don’t know, maybe it really is for some.

If I had to offer any advice to those wishing to do the same, I would say, above all: persevere.

Also, something a bit more practical: emailing companies to arrange Skype interviews may seem like the fastest way to get job offers, but it totally isn’t. You have to meet people face to face to be taken seriously. Get a week or two booked in your choice country and use that time to call up the local companies. Tell them you’re in the neighbourhood and want to discuss job opportunities. Target the companies already advertising jobs online and contact even those that aren’t. This is basic stuff I suppose, but it does work.

After an hour or so of making calls, I got 3 interviews lined up, one of which I did on-the-spot over the phone. That’s how I got to choose which company to join out of a small handful, instead of desperately grabbing the first opportunity that opened up. I only wish I’d done it sooner! Don’t be shy: get on a plane and get out to the country you want to move to. Show those companies and yourself that you’re serious.

New ways of working

In 2016, I was tasked by my company to work with one of their long-time clients in what was, for me at least, a fairly unusual arrangement. I was asked to go to their office to work directly with them for the duration of the project. I’m very much used to email and phone communication with clients, but this was the first time that I’ve ever been asked to operate directly from the client’s premises for such a stretch of time.

Since then I’ve come to realise that this is a very common practice, at least in Singapore. Big companies will readily source contracted engineers to work on software projects, which I imagine is due mainly to cost and convenience on their part. When big companies have per-project budgets, managers probably don’t want to be doing too much hiring.

Initially, I thought this was to my disadvantage. No matter how well I got on with the client, in the back of my mind I felt a bit like someone was breathing down my neck. And to be honest, a bit of an outsider.

However, after spending on-site time with clients in their own work places, my perspective has totally changed.

I’ve had the chance to work with some awesome technologies that I’d almost certainly not have gone as deep into otherwise. I got to play with things like Docker, Artifactory and Jenkins — tools that front-end engineers don’t really expect to encounter. 2017 also saw me working full-time on a heavy, large-scale React JS & Redux app that took my knowledge of JavaScript into realms I didn’t think I’d ever reach.

These are skills I could have learned through other means, for sure. What I really value above those skills I’ve picked up, though, is the variety of people I’ve worked with. By working in client offices, it’s given me a unique chance to meet so many new and interesting designers, engineers, QA testers, product owners, scrum masters and so on. I’ve made great friends and contacts I hope to stay in touch with for a long time. I’ve also learnt a lot about different processes and project lifecycles and how they have a massive impact on the quantity and quality of project deliverables.

If there’s one downside I still feel towards this way of working, it’s that I don’t spend a lot of face time with my colleagues in the company I’m employed by. It also tends to feel like things have moved on without me when I’m not around. Though thankfully my colleagues are an awesome bunch and I always feel happy to return. I know this isn’t universal for all, but because I put a big value on people and a feeling of family, I tend to get sentimental about the whole thing. What can I say… I’m a softie.

In summary, I feel like a much more well-rounded person as a result of spending projects with clients in their own working environments. It’s far more involving to be right there with them, engaging in daily standups and meetings and playing a physical part in their projects. I feel much less like a cog and much more like a piece of the process that’s valued and less easily replaced. Although, it’s still nice to work with fellow colleagues from time to time.

A more mature engineering mindset

Since I started working in Singapore, I saw my self-confidence and growth explode. It’s undoubtably a similar feeling as when you first move out of your parents house: you’re on your own, making your own living, your own decisions. I also felt immediately more mature and in control of my life and career.

Not to say I had anything stopping me before— other than my own laziness of simply getting up and going to work every day, doing something that was familiar & comfortable to me.

And that’s sort of the whole point I can reflect back on: when you’re too comfortable, you don’t do a lot of growing. Before finding my raison d’être in web development, I spent 2 and a half years in a call centre. Why? Because it was borderline mindless and easy work that put money in my pocket. I stagnated horribly. I don’t regret those years, but I’ll certainly never return to that line of work. (Never say never?)

As for my “engineering mindset”, my changes in maturity— both personally and professionally— have refined my whole outlook of software engineering.

I have a lot of new opinions towards working in teams with others as compared to a few years ago. I’ve had exposure to those who are nice, nasty, novice, expert, unguided, opinionated… But I won’t go into depth on these opinions for the sake of time. Maybe in a later post I shall, but the short version is as follows:

I’ve learned that it’s best to show respect to everyone you come in contact with as an engineer. We hold a pretty pivotal role in software projects and have the great responsibility of taking in requirements and churning out the goods that our clients will get to play with. However, if we think we can do it alone, we’re seriously kidding ourselves. We need the help of everyone in the projects we play a part in and stepping on toes without being at all apologetic about it is going to seriously prevent your growth as a professional, industry-trusted software engineer. And by the way, your opinions may matter, but don’t let it go to your head. Be the software engineer that others will remember was a considerate, friendly and humble person to work with.

Here’s to many more years of growth

I’m 29 this year, and I don’t see myself getting out of software engineering in the next few years. The last two years have proven to me that this is an area that I can do well in and carry on growing with for many years to come. I don’t say this as a boast, but I am openly happy about how far I’ve come. It’s still very much exciting times in the industry and I look forward eagerly to seeing new tech, new workflows and new teammates.

Now, as for this blog…

It’s about time I took this space more seriously. Writing actually means a lot more to me than my lack of posts suggests and I’m ready to make a more significant commitment to myself and this project of mine.

Expect to see more posts of various topics, a few of which will include: tutorials and reviews of general JavaScript knowledge, as well as covering frameworks, libraries, front-end and server development. I also want to share beginners guides about other non-programming topics such as Agile project management and maybe some design-centric tips too, being as though my interest is starting to come back for UI design this year.

I’ve also got a front-end revamp on my mind for this site, but that’s not something I’m prioritising over writing content.

If you’re reading this, thank you for taking the time to read. I really hope I can provide you more interesting reads with the posts I plan to publish in the near future.