I Feel Like A Developer

I’ve had a very interesting week in various respects, and my work as a developer has certainly been part of that.

A week on Friday ago, our technical director asked me to create some functionality to display to the customer the cheapest available delivery slot within the next 7 days.

My initial thought was “how the fuck am I going to do that”.  I felt a little overwhelmed with the idea at first – I’ve been there not too far off 6 months now, and I am still a junior.  I am aware of my strong points (albeit at relative scale) and also have become very aware of my weaknesses.

This involved calls to the API which I had just about got my head around.

When it comes to writing functions, I do pretty much all my draft coding in the console, so the first thing was to write a GET request to ensure that I could retrieve the timeslots data that I required – a customer can, for example, pay more for delivery first thing in the morning, or pay less for delivery during our less busy days which are normally Tuesday/Wednesday.

I realised at this point that I was becoming very comfortable in making requests to the API – although I had some limited knowledge of working with APIs, I now feel like I actually understand them, and can even run functions off their successful calls.

However, being able to retrieve the data for the current day only was not the task.  I had to retrieve the data for 7 days, and with the added complication that I had to take into account the first possible date of delivery – for example if you order after 11am on a Monday, the first delivery possible day is a Wednesday.  Weekends and bank holidays add extra complications – though there already was a function for this.

So I once I had worked out the first date and the last date, I then had to get the date into a form that you iterate and add 1 to – ie I am running the request for the first day, then the request repeats but adds 1 day – and so on until the maximum.

This was my first infinite loop at Lovespace, where I had set the calculation to keep on going until infinity.  Hmmm.  Chrome was not happy.

It took quite a few attempts to get the loop right.

// Create first and last date (6 days later) to iterate through

            var firstDate = new Date();
            firstDate.setDate(firstDate.getDate() + collectionOffset);
            var endDate = date.setDate(date.getDate() + 6 + collectionOffset);
            // Create empty array
            var object = [];
            // Get available timeslots for each day and insert into empty array
            for (var d = firstDate; d <= endDate; d.setDate(d.getDate() + 1)) {

My task was complicated further because the API didn’t recognise that format of date, so as part of the loop I had to then reformat it into a form that our API would recognise.

A little frustrating to get this right, and it took me a while to work out a good, clean, simple solution for it – but it worked.

I had data with which to play with.  Except it was in the form of an array of arrays of objects (don’t ask if you aren’t a coder).

So I removed one level of array with:

var merged = [].concat.apply([], object);

Then I had to work out how to find the cheapest available slot.  What I had was an array of objects – each object had the amount of available timeslots for that day, with a price, a date and other information.

There were probably a few ways to do it, but the most intuitive to me, was to sort by price and then by date, to display the next available of the cheapest options.

I knew how to sort by one criteria – but not two.  This took a bit of playing with, and some help from Stack Overflow (what would we do with it?):

            merged.sort(function (a, b) {
                if (a.Price === b.Price) {
                    return new Date(a.Date).getTime() – new Date(b.Date).getTime();
                } else if (a.Price > b.Price) {
                    return 1;
                } else if (a.Price < b.Price) {
                    return -1;

Finally I had a list of options sorted by price and date.  I then just had to take the first item, turn the data into something human readable, then get it to display.

Getting it to display at the appropriate moment was then also a challenge – where in the 10,000 lines of code that runs our website would I need to place it to ensure that it always ran?

It wasn’t just as simple as running it after it displayed – as the customer has the option to change delivery address, which may have different pricing and times, so would then need to run again.

The function in the end came to 70 lines, including comments.  Something I simply wouldn’t have been able to do a year ago, and probably not prior to joining Lovespace.  I am sure that an experienced developer would be able to improve it, and maybe in a year or so I will be able to also.

It showed to me that I am making really good progress in becoming a web developer.  I do still have to pinch myself sometimes when I think about how I have changed from doing a shit credit control job for a miserable company, to doing what I have been working towards for the last few years, for a really good company.

I am definitely still a junior developer but every day I come closer to losing that ‘junior’ tag in my mind.

ps Just realised this site has some problems to fix since I last updated WordPress…joy!

Probation Review

So I’m at the end of my 3-month probationary period.

The last time this was the case, I was bored still doing data entry in a so-called web developer role. I do, of course, accept that in any job role, especially in a small company, one may have to muck in elsewhere. But there was not even any hope of doing any web development by the end. Just repeating the same thing every 5 minutes. Working in a pea factory would have been more intellectually challenging.

I think my two bosses had forgotten that my probation was finished that day. I hadn’t. I knocked on their door and asked to discuss my future, knowing the likely outcome.

An hour later, I received the expected outcome. It felt like failure but it was a relief. I couldn’t wait to go buy some beer and gravy to celebrate. My manager did say one thing though that pained me a tad, “you’re a great guy, but you might just not be cut out to be a developer – some people are born developers, some people learn to become a developer – I don’t think you are cut out to be a developer”.

In fact, they had tried to work out how they could keep me within the business in a different role. Or so they advised – I had no reason not to believe that.

My initial reaction to that comment was one of “I’ll show you”, but as unemployment went on, I did start to have some doubts. Maybe he was right.

But I’m a stubborn sod sometimes. Often. And I wasn’t about to give up my dream.

Apart from death and the death of loved ones, I always believe that bad news can turn into good news. It took a while though. I came second in quite a few interviews. Then I fell on my feet after a slightly quirky interview process at Lovespace.

I did my research on my interviewer, and made sure that we would have a personal connection in the interview. I had a written coding quiz for the first part of the interview and apparently got the best score ever of any applicant. I didn’t have much time to talk about myself, before the technical director then came in and introduced himself and explained more about the company. Then I was asked whether an aeroplane would take off on a giant treadmill, which took at least half of the interview.

Baffled as to whether I had done well or not, I then set about completing a coding challenge that was set for me. And waited. And waited. And interviewed elsewhere.

Then I met the CEO. Warm and keenly interested in what I could offer, slightly reminding me of a young Tony Blair (leadership/communication aspects) – it seemed as though he was looking more to see if I had an appropriate personality.

I had no hesitation in accepting the job, and was warmly welcomed. At first, it was a bit slow work-wise, but I found my feet after a few weeks, got into the process and found myself with a large project to tackle, which is still keeping me busy now.

It often isn’t like working. I sit here in a pleasant environment, doing something I enjoy – coding. Occasionally it is frustrating, occasionally repetitive. Mostly it is challenging, and mostly I am succeeding.

Thankfully, my manager agrees. He is impressed with how much of the work I have taken on, my understanding not only of the code but the business, and how I am communicating with others.

Which, yes, means I have passed my probation period and am now a fully-fledged permanent employee.  I am a web developer.

Developing Developer

So I’ve just completed my 9th week at Lovespace already as a junior front end developer. Or has it been 10 weeks? I am losing count.

It was been a much gentler introduction than the last place I worked at – with not only a plan, but also with support. People to help me, people to train me – people to whom I can ask questions when I don’t know what I am doing, and people that understand juniors can make mistakes.

I massively appreciate my previous employers giving me a chance, I learnt more in the 3 months there than I had in the previous year or so of learning in my spare time. I just wasn’t right for them – and vice versa. They needed a senior developer – not a junior.

Things are going well so far.

At first I was tasked with documenting the large JavaScript files. I was a tiny bit disappointed – I wanted to be coding.

And I was also a tiny bit overwhelmed – I’m used to writing JavaScript at 100 lines at best. I most certainly am not used to 6,500 line files.

However by the time I started to be given coding tasks to complete, I could clearly see the benefit of the amount of time I had spent studying said files. Whilst not understanding everything that was going on, I generally could either amend, or write new functions to be able to complete the required tasks.

Now I am working on a complete overhaul of the main website, making it look simpler but adding more detail to assist both the user, and those who receive the orders.

A lot of what I have been doing over the last week or so has been styling, though there has been some fairly complex JavaScript function-writing (for my standards) to ensure that I can recreate what the product team require within the current bounds of the website.

The website is pretty much my baby now, at least the front-end side of things – the bits you see. The senior developer still does the more complex bits that I don’t understand, and still checks and signs-off all of my changes. Will be interesting to see what he makes of my current project, which has taken a few weeks now, once I push it over to him.

I will also be learning how to make amendments to the consumer and scanner apps, which are coded through Angular – something I definitely need to learn. My boss looks after it – but it would be helpful for me to understand what is going on so I can actually make amendments/urgent fixes if he isn’t around.

It is a good challenge. It is definitely at the right level for me – I know enough to be able to impress myself with what I am doing, and feel comfortable with most tasks – yet still be challenged and be learning almost every single day.

The people are really sound, the company is young, ambitious and culturally on my wavelength (making storage sexy) – it is a generally very good place to work.

And I am very happy.

It does go to show that the rewards are out there if you work hard enough. But my journey has only just begun – and I still need to pass my 3-month probation.

I Need To Buy A Big Fat Rib-Eye Steak

One has to admire the irony that my life seems to beach itself in.

Just this morning I wrote how I was tempted to give up the job hunt and set up my own business – I was getting to the end of my tether with the process, especially recruitment consultants.

I also said some time ago that I was not going to cut my hair until I got a job – but yesterday I caved in and sorted it out.

So, of course, this means that in beautiful irony, I was offered a job today.

I am going to be a junior front end software developer for a rather exciting, yet established start-up.  I say exciting, it isn’t in the sexiest industry in the world (my application to Victoria’s Secrets didn’t go anywhere), but it is a solution that I wish had been out there several years ago as it would have massively helped me a while back.  It is a logistics service that helps people out, a great idea – and to me, that is exciting.  I think the company has sizable potential to grow.

I’ll say more about the company another time, once the dots are crossed and stuff.

Workwise I will be looking after their main WordPress site, there will be some CSS and stuff to do, and then working on various coding tasks that are on their to-do list – I’m guessing more nice to haves in some cases.  It’s a good job that I’m pretty damn good on WordPress now.

The other 20% will be learning the senior developer’s role so I can look after his work when he isn’t there, which will mean learning Angular and PhoneGap – two technologies that I have never touched, though I have started learning React (which has similarities to Angular).  And I love learning new technologies.

It is a month’s trial.  So if it doesn’t work out then I may well open my own business instead.  But I will be doing everything in my power to ensure it is a success.  I want this role, the company is ace, the people are cool – and I get my own t-shirt so I hear.  And it is casual dress.

It is the salary I was after, it is on the Metropolitan line so nice and easy to get to, slap bang in the centre of the world’s most exciting city too.

And no recruitment consultant was required.  Yes it was the company that asked me the aeroplane on a treadmill question in the interview.

The hard work over the last few months has finally paid off.  No more recruitment consultants.  No more worrying about whether I can afford a beer.  No more not being able to go to people’s birthday celebrations.  No more worrying about whether I will get a job.  No more staying in bed until whenever I fancy…oh…

Roll on Monday!

What If I Don’t Get A Job?

Don’t worry, this isn’t me moaning, miserable or mourning.

It’s 4 months since I lost my job.  When I left, I thought that I’d probably have a job by the end of January.  Definitely by the end of March.  And I have come very close on 3 occasions.

Last Thursday I was sat, enjoying unemployment in Regent’s Park on a sunny day, wondering how long it will be before I get a job.  And more importantly, how long can I afford to not have a job?

There is a bit of me that would like a few more days sat in the park.  That’s the optimistic part of being unemployed.

But I’d rather have some money.  I want to be able to afford the odd beer, roast dinners on a Sunday, eating out during the week – not having to worry whether I can afford the tube fare.  I want a summer jacket, a decent saucepan, some lids for my Technics – gosh maybe even a holiday or three.

More importantly, I want to develop my career – the area of my life that I have focused on for the last few years to the detriment of other areas.  I want that dream role where I can contribute to projects whilst vastly expand my coding abilities.

I know that I am capable – this is proven by repeated positive comments from those that interviewed me and gave me coding challenges.  But so far there has always someone with more experience.

There was a plan and there still is a plan.  And there is now a plan after the current plan.

The current plan is to build around 6 more sites/apps, showcasing my React, and more importantly, JavaScript skills.  I think out of my websites that I have done, they do not really show off my JavaScript knowledge enough.  At which point I’ll have a super-strong portfolio for a junior, and I will spam the hell out of design agencies.

If that still doesn’t get me a job, then I will need a new plan.

Either I could go on a 12-week bootcamp such as General Assembly, or the one that really appeals, Maker’s Academy, which has quite exceptional reviews – and allegedly only takes 10% of applicants, and also allegedly, almost every graduate gets a job – and mostly with a higher salary than I am aiming for now.

Such bootcamps tend to cost £8,000 in tuition fees alone.  And then rent, food, transport into central London every day for 12 weeks – with no housing or jobseeker’s benefits (as I would be a full-time student), and one would be looking at a rather prohibitive, but possible, £15,000.  Most of which would be debt.  Hi Grandma!

Other than the cost, the other downside is that I would have to learn another coding language as part of the Maker’s Academy syllabus – Ruby.  Oh and they make you do yoga.

The massive positive is that you are pretty much guaranteed to be employed with the qualification, probably on more money than I would otherwise be, I would get to meet and befriend lots of other coders and have hands-on tuition.  It would be hard-work – I expect around 60+ hours a week but I can handle that (would mean absolutely no social life though – and definitely no drinking – maybe the NHS should pay?).

And there is one other alternative that I am considering – setting up my own little agency and try to get some clients.  I haven’t really got a clue how to do this and I’m not much of a salesman but it might have to be the route I go down.  I’d far rather have a job, because then I’ll get to work on a far-wider range of projects, and also much more in-depth projects, and also I feel that I would develop more as a developer.

I met someone pretty interesting at WordPress London last week, who said that he was in a similar position to me 6 months ago, and has set up his own agency.  He spent his time at first introducing himself to business owners who didn’t have a website, or needed an upgraded one, in his local area.  Now he is booked up until August – and doesn’t have to go out selling – the bit I wouldn’t enjoy – rejection…yuck.  Though I do like meeting new people.

The more I think about it, the more this option appeals.  As I stated earlier, my preferred option is to work for someone as I feel it will be of more benefit in the long-run for my career.

I am still waiting to hear back from a couple of roles, there are still spokes in the fire, but likewise I am putting spokes into another fire when it comes to having my own business too.

Lots to think about, but for now, time to get back on with a project that I’m doing for someone, kind of paid too…albeit back-pay for lots of free drinks over the past 10 years!

Project Completed: Election Odds

I’ve been a bit off-colour this week. Mini-manflu as I call it. No need for any sympathy – I’m just mildly under the weather. Completely capable of doing stuff, no need for daytime naps or anything – but just not the head to be dealing with complex JavaScript or similar.

Also it was taking me until 11am to get going most days, instead of my usual 8am start.

So I decided to take a break from the project that is quite the challenge (I spent about 3 hours on those hills and I’m still not happy with them – feedback/advice welcome) and just do a nice little WordPress upgrade for a blog.

The story is, that I had a blog called Political Betting.  I would occasionally write up tips on bets that I was placing, though I only ever had a page on Facebook, and a Twitter account (and I do make a slight profit on my political bets – although this is more than wiped out by my useless football bets).

My first challenge was what to name it.   politicalbetting.co.uk would have been ideal but this is a long-established site (of which I was not aware of its existence prior to setting up my Facebook page).  I considered politicalbettinguk and similar ideas but they were not catchy enough.

I then used Google Adword’s keyword search and it had two main suggestions as to the most-searched terms – Political Betting and Election Odds.

Election Odds.  Brilliant.  So the question of what to call it to make sure it stood out was completed.

I had in my head what I wanted it to look like – I’ve mentioned this before that I find the design side frustrating as I know what good code looks like, but I don’t always get the design right.  My idea for the home page was a large hero image of Westminster to take up the main page, with previews of posts outlined below in a grid system.  The sidebar would be on the right-hand side, with details of all the free bets available from bookmakers (affiliate links – I need to try to pay the bills somehow!).

I spent around two hours playing with my ideas, started making my own theme when I realised that WordPress’ new default theme, twentyseventeen, did exactly what I wanted it to do, well 75% of what I had envisaged.  There is no point in re-inventing the wheel, especially when it wasn’t going to teach me anything new.  I know how to style.  I know how to do layouts.  I don’t need practice in styling themes.  What I wanted was more practice with WordPress functionality.

Deal.  A couple of days saved.

Speaking of WordPress functionality, for this project I set up several custom taxonomies to be used, along with some custom post types – something alien to me a couple of months ago but which I am now very comfortable with.

There are still improvements to be made, particularly including learning how to make filters, so a user can, for example, select the betting market (custom post type) and be shown just the posts relating to that particular betting market.  I don’t think that I am too far away in my knowledge.  I also need to learn how best to dynamically style my posts.  At the moment, I have styles set up in my style sheet to add different coloured bottom borders on the home page, depending on what the party custom post type is, using get_the_term_list( $post->ID, ‘party’, ”, ‘, ‘, ” ) to retrieve the party name for that post ID, and setting it to a variable, which then updates the class.

But there must be a more dynamic way of doing so, as if I need to add a new party, I also need to update the stylesheet.

I thought the answer might have been with post_class() – which was the one new thing I learnt.  Sadly I couldn’t work out how to get it to do what I wanted it to do.  Yet!

The site is now up and running.  Clearly with just one post it looks a bit basic, and I will likely make improvements as time goes on once there is more substance.  For now, another project ticked off the list and time to go back to my WordPress book for the rest of Saturday, to see if I can figure out any of the aforementioned improvements that I require.

March Is Project Month

Yes, yes it’s the middle of the month and I’m only just setting out my monthly priorities again.

I have a good excuse.  Two, in fact.

Firstly I finished off a very good course on ReactJS.  One thing I repeatedly hear is just how in demand ReactJS is, along with AngularJS, Angular 2 and VueJS (that will be in demand soon anyway).  They are all frameworks that sit on top of JavaScript and all have a similar purpose.  I chose React mainly because it is the most in-demand and seems to have good support.

Part of the reason I am learning it is clearly to make myself more employable.  But also because it will help me make some web apps that I really want to – and React Native is apparently some kind of way to transform it into Android/iphone apps.  Though I haven’t even vaguely looked into React Native so I could just be imagining that part!

Secondly, I’ve been busy applying for jobs.

Last week I becoming slightly disillusioned – everything was very quiet.  But then on Tuesday afternoon, my phone went mental, with 5 calls literally one after the other, I must have been talking about roles for nearly two hours almost non-stop, including one telephone interview.

Out of that burst of activity, I ended up with two telephone interviews and a coding challenge.  One of the telephone interviews led to an interview, as did the coding challenge.  And the aforementioned interview then led to a subsequent coding challenge.  So I was pretty non-stop from Wednesday onwards with interview preparation, coding challenges – and fielding more agency calls – not all wasting my time either for a change, and I am waiting on other possible interviews.

Both were very different junior front-end roles, both were for very different companies.  Both in good central locations on the Metropolitan line.  On the off-chance that I got offered both, it would be a very difficult decision.

I received good feedback from both coding challenges – I believe that both were impressed with me.  As they should be!  I am still waiting to hear from them both.  I feel that I have a decent chance but as ever it depends on my competition – on the previous two roles that I interviewed for that I really wanted, I had done well but was beaten by a candidate with more experience.

I can do brilliantly in the coding challenges and interviews, but if someone else has 12+ month’s experience, or has completed a bootcamp such as Maker’s Academy, or has a real stand-out portfolio, then I may well come second again.  I know that I’m in the upper echelons of candidates for these roles, but I’m not yet in the absolute highest level.

So what can I do to get there?

My focus is now going to be on strengthening my portfolio.

I think I have focused enough on learning new technologies and expanding my knowledge.  I have done enough training courses for now.  It is time to get more practical.

I have a whole list of new projects that I want to do, along with some improvements to existing sites.  19 projects/improvements, in fact.

Firstly I want to finish off the website for my non-existent digital agency, Sunshine Design.  I started it over a year ago, got stuck on some functionality I was adding (rain…don’t ask) and left it.  Now my knowledge is almost exponentially greater than it was a year ago and I believe it is time to finish it properly.  In fact, it isn’t even 20% done so it is more than just a case of finishing!  I need clouds, birds, trees, all kind of stuff.  Who knows, I might even get the odd client from it.

Next I want to create a new WordPress site for my political betting blog.  I am getting quite into placing bets on politics, and have had a few nice winners.  I already have a Facebook page, but I want to build this out into a proper website, using WordPress and, of course, have a section where people can use my commission-based links to sign up to bookmakers – I am always looking for a way to earn a few extra quid!

Then I really want to do a big fat JavaScript project.  The bare bones will be using JSON to print football scores from whatever team and league the user chooses to the screen, with various functionality.  I am going to split it into two pages – one for users and one for coders.  The users will only see what is useful to them.  Coders will see the use of every single JavaScript built-in array method, object method, etc etc that I can think of to use.  Call it a JavaScript user-guide for beginners, but using football scores to make it more interesting.  And I expect to learn plenty on the way.  I have started setting it up here, but it doesn’t work yet so not much point in checking it!

Lots to do and I’m really excited to be doing so.

I look forward to having some more completed projects for my portfolio soon.  Well, unless I get offered one of those jobs in which case my priorities would change.  And I’ve just found out that I might have a 10 hour coding challenge to do for another role that I’m applying for…10 hours!  Yikes.

New Website: House Minimal Techno Disco

I’ve been writing blogs long before I knew what a cascading style sheet was.  In fact, part of what led me down the path to become a web developer was the frustration of the limitations of Blogger and their templates.

I have a Top Tunes Blog hosted at Blogger.  Ugly, messy thing isn’t it?  So ugly that I became too embarrassed to load new content to it last year.

So there was only one option.  Move it to WordPress, develop my own theme and have it looking exactly how I wanted it.

Though I didn’t know how I wanted it to look.  Nor did I know how to develop with WordPress.  Those were the first two obstacles to overcome.

I started learning WordPress development in September.  By November I was quite comfortable using it.  In December I transferred my portfolio (this site) to WordPress and made my own theme.  This month was time to practice what I had learnt, and hopefully bring some new additions to my skill set.

One issue that I have when making a website for myself, is that I have to do the design myself.  I have a slight interest and curiosity in design but I am certainly not a designer.  To quote my ex-employer, “…your design skills are shit.  But we don’t need a designer”.  Sadly I do have to be my own designer.

In terms of design, I tend to think structure, colour then fonts.

I decided to lay out the videos using the whole width of the page – 6 for desktop, 2 for mobile (I might change that to 1), 3 and 4 for widths in between.

For fonts, I used Open Sans Condensed – text isn’t a major part of my blog, as it is more about listening to music, and Barrio for the titles.  Barrio was a lucky pick, it was literally at the top of Google Fonts and I decided it worked – it gave the site a sense of fun and playfulness – listening to music should be enjoyable.  For the colour scheme, I just tried ‘midnightblue’ for no other reason than testing and decided it might work.  At which point I then used white, and two others shades of blue, with a burgundy for link text.  On the single blog posts, I have a yellow background to try to contrast this with the main front page.  That might change.

In terms of behaviour, I just wanted the main page to display the video, title, and the reactions – this required separate content pages in the template folder.  This is for the 12 most recent tracks (12 divides by more numbers than 10 does).

Below I have a random tracks section, where 12 random tracks are displayed.  There is a fair-sized problem in that the importer from Blogger hasn’t correctly imported older blog posts, so the videos are missing from around 60% of the blogs.  So I might scrap the random tracks section – which would also help with loading times.  Either that or go through and manually check all 900+ blog posts…hmmmm.

I also wanted added functionality, so visitors can go to Discogs to buy the vinyl.  Which I have been adding a link manually via a custom taxonomy, though I have just realised as I write, that Discogs probably have an API, and that I could surely do that automatically searching via JSON with the title, saving me time.  In fact, maybe I could even do that with Youtube to save me replacing all the missing videos?  Wow, I do impress myself sometimes – though I’ll be more impressed once that is done!

I’ve also added custom taxonomies for genre, record label and release year, with the idea being that I will work out how to create filters, so visitors can see which tracks I rated from say “1997”.  Though I don’t know how to do that yet.


For now, I’m happy with my creation in terms of releasing it to the public and saying, hey look at my new blog, but there are new features I will be adding as I continue to expand my WordPress knowledge.  Definitely enjoyed this little project.

A Tale Of Two Interviews

I had two interviews last week, in quick succession – one on Monday and one on Wednesday.

The first was at a company called Ebsta, who provide software that works with Salesforce to improve productivity.  A small company of around 20-30 employees, they were looking for a front-end developer, one that they would likely train up to work on C# and .NET after 6 or so months.  Whilst I had no particular desire to learn C# or .NET over any other particular language, in fact I have not previously considered learning them, the idea of a company willing to train and expand my skills, and therefore my value to them, appeals greatly.

The second was at a company called Schawk, a major global marketing agency (check the lizard out on their website), and for a particular team of theirs that was based in the Sky office in Isleworth.  I had to complete a coding challenge for it, which took me 6 hours and I very, very nearly gave up on it – literally I was on the last straw when I finally figured it out.

Coding challenge passed, I was granted an interview last Wednesday in the impressive, but distracting Sky office.  The interview was held in the open-plan area, lots of people walking around, giant screens with flying pikachus, a massive news banner and the Sky News studio in the background.  I didn’t exactly feel relaxed.

Prior to the interview, I had looked into the role and it seemed very much a production-line kind of job, creating one banner after another.  I wanted the job, but more because I wanted a job as opposed to that particular role.  Apparently that came across in the interview – bullshitting is not a skill of mine.

One of the interviewers was very cold and matter-of-fact.  I didn’t see us clicking.  That said, I thought I answered his aptitude questions reasonably.

But the technical questions I got stuck on.  Some I answered fine, a couple I didn’t have a clue with – never used Grunt or Gulp for example.  But I should have been able to answer questions on JavaScript anonymous functions and strict mode.  My mind went blank.  I froze whilst watching the flying pikachus.

I came away knowing I would not get offered the job.  I was disappointed in myself as I know I could have performed better in the interview.  I had prepared, but not as much as I had prepared for the previous interview two days before.

The interview on Monday was much better.  This I had prepared for – the recruiter was actually very hands-on, asking me lots of questions, getting me to think about questions to ask them, giving me as much insight as possible – even dragging me down to her office to meet me.  I spent a good 4-5 hours going over interview questions, researching the company and had some bacon to help me prepare physically.

I went there confident, had a really good interview, impressed them with my answers, impressed them with the answers to the technical test – a lot of which was impossible but it was aimed at senior developers, which I am clearly not.

I went to the pub afterwards with the team, some people actually knew what minimal techno was.  We really got on well as a group – they seemed to have a family feel which is ideal.  I really could not have done any more to make a good impression, except by perhaps drinking beer, as they were a little confused as to me drinking apple juice.

Oh and they have a table football machine.  And some of them had a penchant for disco music too.

It was perfect.  Central London, 55 minutes door to door, cool people, great job, training, etc etc.  Everything I wanted.  And I thought I was a good match too.  Oh, except the fact that it was based in the Trades Union Congress building – though that could have been fun being a Tory.

I didn’t get either role.

For the job based at Sky, the main reason was that I didn’t seem interested enough in their job.  Which is true.  Had I not fallen in love with the job at Ebsta, perhaps I would have been keener.

The job at Ebsta went to someone with more experience with me.  I gather I was considered and that I gave a good interview, and they really liked me.  But someone else simply had more experience and would be able to “hit the ground running”.

Alas.  So I’ve had four interviews now.  Two jobs that I really wanted and came close to getting.  Two that I wasn’t that bothered about.

I’m nowhere near as disappointed as last time.  I managed my expectations well.  I always knew I was the underdog.  How many interviews before I give up and get a job in MacDonald’s?  Four certainly isn’t the answer.  Ten?  Twenty?  I’ve come close twice so there is plenty of reason to believe in myself.

Money and a good suntan are probably the qualifiers, but until then I shall crack on improving my portfolio, skills and employability.

The wait for my opportunity (and a monstrous rib-eye steak) goes on.

February Is React Month

Yes I know it is much closer to the end of the month than the beginning.

I’ve had lots to focus on, from job applications, a coding challenge, two interviews – not to mention spending nearly a week creating my own WordPress theme for a blog that I have completely transformed – more on that in a separate post.

Each month I am trying to focus on learning, or expanding my knowledge of one particular area of web development – the list is endless – CSS, JavaScript, jQuery, Angular, React, Sass, PHP, Angular2, Laravel, Symphony, Gulp, Grunt, Redux, Webpack, Animations, SQL, Drupal, WordPress, Vue, Express, Ember, Git, Node, npm, – its tiring/exciting even thinking about it.

A good knowledge of JavaScript is the most important criteria for getting my next web development role.  This I did in January – I didn’t spend as much time as I had planned and didn’t get to the end of my to-do list – in fact I only made it around halfway – various excuses from interviews, interview disappointment, birthday, ill health, a weekend away – my plan was probably too ambitious to start.

This month, as per every month, I will spend more time learning JavaScript – it is my plan for the two hours or so left this afternoon once I have finished writing this.  Oh and once I’ve marinated my pork chops.

But my main challenge in terms of learning, is to learn React.  For those reading that are not developers, React is a framework that sits on top of JavaScript and helps to make applications.  It was developed by Facebook, and is used by major organisations such as Facebook, Instagram, Airbnb, etc.

It is something I increasingly see requested on job postings, and the one framework I feel could give me an edge.

Clearly I’m not going to fully learn it in a month, but it isn’t as humongous a task as learning a whole new language like JavaScript.

My plan is to do the two free courses on Codecademy (done), then follow up with this £15 course on Udemy, called The Complete React Web App Developer Course (note – never pay full price for Udemy – there is normally a 70% – 90% off voucher code floating around).  So far I am impressed with the quality of the teaching, and I am itching to get to the part where we make a weather app – those that know me, know my passion for the weather!

Before I consider myself for junior roles requiring React, I want to have a couple of my own apps running – and I woke up this morning dreaming about an app that could help keep the cricket score, for amateur clubs.  I think I can do it with React, though I won’t be sure until I know much more about it.  Whether or not anyone ever uses it, is not important – that I can build it, it works and I can add it to my portfolio, is the key.

FreeCodeCamp also have some pretty cool challenges if I cannot think of another app of my own.


Of course, half of the reason that I am learning React is to make myself more employable.

But the other half is for my personal projects and just the general enjoyment of learning.