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. 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.