Blog

January Is JavaScript Month

Yeah I know, it’s the 9th January already.  I’ve been busy.  First there was New Year’s Eve, then there was a hangover, it was a bad hangover, a long hangover, followed by a cold.  Excuses, excuses.

Actually I have been busy.  Most of last week was spent on telephone interviews, actual interviews, travelling (including the waste of time that my weekly job centre visit is “have you thought about doing any courses for your IT”…yeah thanks for the jobseeking advice) and the required preparation.

There might be another post assessing my interviews – there is certainly a half-decent chance that I will be offered one of the roles that I went for.  For now, I want to set out my plan for January.

I am just finishing the final PHP course that I set myself for December.  It will be finished by time I finish this post.

It really was a step forwards from the “essential” course that I did, introducing classes and Object Orientated Programming (OOP) – though I already understood the structure and idea around OOP from my JavaScript learning.

Whilst it makes sense in my head, using it will be another matter altogether, but I do have one PHP-related project that I would like to try out at some point, and one or two small ideas to use elsewhere.  Learning is one thing, and I do go through and code everything in the video, testing and debugging along the way.  But I know that I will only really start to master it once I have a project or two on the go.

I might still need some advice on how to structure my SQL tables – though I have a very good friend who is very good at PHP that is nagging me to do a PHP project so I know where to go for advice. Hopefully it has given me enough of a grounding in PHP to be able to get my payment system working for my weather forecasting page.  Another one “on the list”.

I Need A Weather Forecast

Further to that I have not been able to get SMTP mailing to work through phpmailer.  I’ve given up for now in trying to figure it out.  But I will figure it out – I always do eventually.

When it comes to PHP, I guess the next step on my learning path is to try to work out MVC architecture.

But PHP is taking a break as for the rest of January I am going to be concentrating on improving my JavaScript abilities.

The first part of my main plan is to complete the JavaScript 30 course, which is a collection of 30 tutorials to create real-world applications in JavaScript – things like making a clock, text shadow mouse move effects and a whack-a-mole game.  I am going to expand at least a couple of them – especially the whack-a-mole game for which I have quite a few ideas for.

The second main part is to continue with the Free Code Camp syllabus – I have around 20 algorithm challenges to do, such as Sum All Primes, then 4 advanced projects to do, including making my own calculator and a tic-tac-toe game (I haven’t got the foggiest how to attempt that!  15 minutes later I do have some ideas on how that might work…the AI, of course being the hardest part to tackle).

I doubt I will get all of that done.  In fact, I will not complete it all.  A vague estimate would be that would take 300 hours to do and I don’t need an algorithm to work out that I wouldn’t have enough time before the end of the month to complete this.

Of course, my time available also depends on whether I get offered a job.  I’d like to think that I will employed soon.  Although I am coping ok with the 8am starts.

 

To break it up I might start learning React too.  There is a course on Codecademy which looks like the perfect way to start learning it.  Knowing React is probably the one thing that would really make me stand out as a potential employee.

Christmas Coding Break

I had every intention coming up to Christmas to keep coding right through it.  Travelling back up north, I only had a surface with me – with no desk or anything suitable at my parent’s home to make it comfortable.

Once I got there, I decided to actually have a break.  A few days with no code.  In fact, I tried my hardest not to use my surface at all – bar weather models and some sale shopping, I stayed away.

It did me some good.  I felt a renewed vigour and focus when I sat down at 9am the morning after I got back to London to get cracking on finishing the PHP with MySQL Essential Training course on Lynda.

Some of the course went over the basics that I already knew, which was fine for a reminder and I picked up one or two tips.  Where the most learning was achieved was from the chapters on working with MySQL – I know SQL reasonably well in terms of structuring data requests, SELECT, INPUT, DELETE yadda yadda, but what I had no idea of was how to actually use it, and also how to structure it within PHP.

The course took me through building my own Content Management System, the four basic functions of data storage – CRUD, and login systems, including theories around hashing passwords.

I still have some questions though, especially with regards as how to best structure tables within databases, so I shall be looking to expand my knowledge further.  The next course I’m planning on starting tomorrow morning, at no later than 9am, is PHP with MySQL Beyond the Basics – pretty much the follow-up, by the same author – only 10 and a half hours of video this time, which could easily turn to double once I have re-coded it all myself and convinced myself that I have enough of an understanding to move on.

No later than 9am as I have a new structure.  I was studying much of the day anyway but getting distracted a bit too much.  I have set myself a 9am to 6pm workday, working in chunks of 45 minutes followed with a 15 minute break, until 4pm at which point I’m working in 30 minute chunks followed by a 15 minute break.  I shall also be allowing myself every Sunday off – to recharge and do whatever the heck I want.  Within the bounds of my strict unemployed budget, of course.

Hopefully I won’t be unemployed for too much longer.  I am doing what I can in terms of applying for every role that looks like I am suited for, and that looks at least vaguely interesting.  I’ve had four telephone interviews over the last week – one I know I won’t get, perhaps two, but one has led to an interview this Friday.  A very interesting role and very interesting company (of course I would say that just in case they are reading!).

Importantly, I also have an interview tomorrow for the job that I did the coding challenge for.  I was really happy with what I did, albeit knowing there were one or two areas that I didn’t have the time to put into it, and it seems my interviewer was impressed too.

I’ve had a good feeling about this one right from when I sent the application, for some reason.  Of course, I may be up against more suitable or more experienced candidates – who knows.  My Dad told me not to get my hopes up but balls to that – I have my hopes up.  I may be a realist but I’m generally an optimist too.

And there are other jobs that I have applied for directly (ie not through those blinking job sites…I could do a whole post just on my frustrations with those) that I think I have a good chance of hearing back from.  Lots going on.

I have always believed that I am a very employable junior web developer, more so by the day, and if I don’t do myself justice in the upcoming interviews I shall be disappointed.  If I do well, it is certainly feasible, without wanting to be too arrogant, that I could be offered one of these roles.  The most important goal is to represent my abilities.

Time to get back on with things – having fun breaking a website that I am making.  All for good reason, just a fun little project.  It isn’t shit enough yet but it will be by the end of the week (apologies for the swearing dear future potential employer, I am affably polite to face, I occasionally swear in writing).  Must sort out those link colours on this blog too.

wqewe

Looks awful doesn’t it?  But not quite bad enough yet…

December is PHP Month

I have decided that my studying needs more structure to it, and that I should concentrate on one particular language, framework or general area each month.

Granted it is now the 18th day of this month, with the Christmas period to come so there isn’t necessarily a huge amount of time, though I am still unemployed and there will be plenty more hours to fill until this changes.

I chose PHP as it is something that I am keen to solidify my current basic learning of, and expand to a level where it could definitely be classed as a skill to a potential employer.

I know the basics fine, if statements, loops, building my own functions, etc – I know that from JavaScript and the principles apply albeit the syntax is slightly different.

Two things that I am particularly keen to learn is how PHP works with MySQL databases, and how to structure a registration/log-in system. I do also feel that I should learn how to use classes and how Object Orientated Programming is reflected in PHP.

There are two courses which will teach me all of this in Lynda – PHP with MySQL Essential Training and PHP with MySQL Beyond the Basics. Totaling a whopping 25 hours of video, not to mention the additional time it will take me to code along with the videos, it would be quite a feat if I completed both by the end of the month.

eqweq

Not to mention that I have my own projects to finish too, including My Website Is Shit, where I will present the user with a horrendous-looking website to begin, and a button to fix it – it will then animate into a nice, finished state. I have only done the finished state so far, and I am not yet overly happy with it. It may well undergo a new iteration not long after it is finished. Its just something fun I’m playing with and who knows, maybe it will get me one or two projects, especially if I can integrate my sense of humour into it.

I’ve also promised a friend that I will do something for him – basically mock up a preview of a website. I’m sworn to secrecy though.

Then I do also have a PHP project that I’d like to do once I know how to use databases and log-ins. Hopefully I will get time to start it next month. It is something I want on the internet and it will fix an issue I have if nothing else.

Finally, in properly exciting news, I had an e-mail on Friday from a potential employer that included the words, “I had a read of your blog”, my first thoughts were “oh crap what have I written” but all positive and he has set me a coding challenge to do. Which I should probably start to do now.

I would give it the whole, its such an amazing opportunity, I’ve truly love to work there thing but he has already read my blog once and I don’t think that would be overly subtle.

But it would be perfect and not only that, they are ethically right up my street. I’ll say no more, I don’t want to get excited. I just need to prove that I can be their perfect junior web developer now.

I best get a shower and some food, and get cracking. Although I have a date with a crazy Cumbrian and a plate of gravy at 2pm.

I Was A Web Developer

I woke up this morning thinking “I might lose my job today”.

I did lose my job.

media-caspianmedia-comimage1988efe4d55b0ef6e71a5d4d2f16d3eb-60105ac69498ca8f3cd606aec0f3bdd9fd212469-700x481

The writing has been on the wall for a while.  Firstly there was the conversation a month ago about me not picking up PHP & WordPress up quickly enough.  Within a week I had much more knowledge and therefore also confidence about them – and my employers had noticed too.

But recently there have only been snippets of coding to do.  The most recent decent block of coding was nearly three weeks ago, and I was really quite impressed with what I did – for a junior.  It wasn’t noticed though.

And ever since then, all I had been doing was content loading.  Very repetitive and boring.  Copy and paste, copy and paste, copy and paste.  Not at all web development.

Ostensibly there is no place in their company for a more junior web developer like myself.  They need designers.  They need content writers and content loaders.  They need experienced web developers.  I simply don’t think they were large enough to handle someone with raw abilities that still needs a little manouvering in the right direction at times.

I do not at all hold it against them.  They were great to work for, great to go out for beers with.  The team were excellent, I worked with 4 genuinely nice yet intriguingly different characters.  Bar the last two weeks, I really wanted to work there for a very long time.  It is definitely going to be a successful agency.

They were visibly gutted to be letting me go.  They clearly didn’t want to be doing so – they said how well I fitted into the team, how well I worked with others – how much they really liked me as a person.  How I had never let them down once.

I was fairly gutted but I was also well-prepared.  I didn’t enjoy the repetitive, frustrating nature of the content loading in recent weeks (the software was buggy).  I am not sat here with a tear in my eye.  I am sat here with hope, opportunity and beer.  Maybe a slight tinge of disappointment.

The opportunity now is to spend the next few weeks working on my portfolio, which is weak, certainly compared to my capabilities – I know so much more now than I did 6 months ago when I created it and most of the websites on there.

After today which will involve nothing but drinking super strength cider, playing roulette machines in local bookmakers and finding out where my local drug dealers hang out, oh yeah and claiming lots of benefits…arrrrrggggh my back…where was I?  Oh yeah, after today I will get on with my myriad of projects that I have planned – in fact, not even planned but in my head.  And finish those I never finished months ago.

I could sit here and moan.  I could sit here and wonder what I could have done better – there sure are some lessons to learn.

On the way back I passed a funeral procession.  It was quite fitting – things can always be far, far worse.

I have no doubt in my mind that I will be a web developer, and a fucking good one at that.  I have come far in the past few years, especially this year, and I do not give up.

If you know anyone that needs a website, please let me know.

I will be a web developer again.

Being A Data Entry Clerk With Occasional Coding Duties

I have a junior web developer job.  My first one.  I am three months in.

Everything started jollily.  I impressed at first with my CSS.  Though I then had my probation extended as I hadn’t picked up WordPress or PHP enough by the time I started my first project that required them.

As soon as I had finished that project, I was feeling so much more comfortable using them.

And then the coding ran out.

I have spent all last week, and much of the end of the previous week, copying and pasting repeatedly.

I don’t want to sound ungrateful – I’ve been given my first opportunity in the web industry and dearly appreciate it.  When I was coding, I loved it.

Now I am doing nothing more challenging than copying and pasting (and with criticism of my punctuation too – despite using correct English punctuation rules).

copy-and-paste

I do appreciate that I am a junior.  I do want to muck in where necessary to ensure the success of those that have taken a chance on me.  But I fear a lack of progress – I still need to prove myself to them.

Annoyingly I have not had chance to do any coding in my spare time recently due to my hectic social life – London is hard to resist.  I have so much I want to do on my own projects, and so much I want to learn to improve my abilities in my job.  I am looking forward to a few purposely quiet weekends in December so I can at least practice my new-found WordPress/PHP skills.

I guess my question to anyone reading who has been a junior, is what did you go through on your first web developer role?  Did you have to do lots of tasks that didn’t involve coding?  Is it par for the course?

I am hoping that it is just a blip…I don’t mind too much, it’s mainly the exceptionally frustrating repetitiveness of it that was draining on me by Friday…I want to progress and pass my probationary period, which looks shaky, and data entry is probably not helping me.

This could have ended up quite a rant on Friday night but having had the weekend to think it through, I should understand that this is not going to be the perfect job all of the time – likewise I am not the perfect junior web developer.  Yet.

I just cannot wait to get back on with some actual coding.  Though may well be waiting until 6:30pm tonight to do so!  I will be a web developer again soon.

How I Became A Junior Web Developer – The Studying

It was about 5 years ago that I decided to look into becoming a web developer.  I was in a miserable corporate job that I hated.  I knew that I was about to be made redundant and I was trying my hardest to achieve that goal.  I didn’t know what I wanted to do but I knew I wanted to do something I enjoyed, something that gave me satisfaction, something that would challenge me.

Someone, who wasn’t a web developer, recommended a book to me.  I was considering a few potential career areas but after a few months of post-redundancy partying, I recalled the name of the book.  I forget it now – it was by Sitepoint – and it was a beginners book.

At the end of following the book (which probably took me 6 months – it shouldn’t have!), I had a very basic website, from a HTML page, a CSS page and something called a responsive CSS page which I hadn’t understood at all.

It looked crap but I had understood a fair bit of the semantics of it, certainly HTML.  Given how awful it looked, I decided without any guidance to learn Photoshop.

I bought a book and merrily (and slightly less slowly) ploughed through it until I had a basic grasp of Photoshop.  I still didn’t understand how to make my website look modern and respectable.

So I bought a book on design principles (The Principles of Beautiful Web Design).  Which was interesting but didn’t teach me any code which I thought was odd.  And then, when asking on a forum, I found out that web developers and web designers, terms which I had previously brazenly interchanged, were separate roles.

My first eureka moment.  I wanted to be a web developer, not a web designer.

So I bought another coding book, this time again a fairly beginners book on making a website with just HTML and CSS.  And when I had finished it, I followed some more wise advice from a forum which was to build my own website.  I didn’t do much in terms of changing the structure, but I changed some of the styling and et voila, I had a half decent website.  Well, half decent if it was 2008 as opposed to 2013 but at least it was responsive (ie positioning of structure changes for mobile/tablet).

It was around this point where I discovered the existence of online courses – if you are getting bored already, the list of the courses that I have completed are at the end.

I was also the point where I stopped partying every single weekend – ie the beginning of starting to put the necessary effort in.  Codecademy was a bit of a revelation, although when I was going through their HTML/CSS courses, I found that I did know most of it already – but it was useful reinforcement.  I particularly appreciated the instant feedback as to whether something was right or wrong.

It was there that I first ventured into JavaScript – another world entirely from HTML/CSS.  Following the JavaScript course on Codecademy was at times difficult, it being my first taste of it.  I followed this up by buying a large book on JavaScript for Beginners, I forget who by.  I followed that through, sometimes by typing into my console, but I didn’t really understand the point of the console.

I did also buy a book called Learn JavaScript In A Weekend, or something similar.  I can confirm that I did not learn JavaScript in a weekend.  2 years later and I am comfortable with the basics.

Unfortunately the more I learned, the more I realised I had to learn.  It seemed as though the list was becoming endless – jQuery, PHP, WordPress, Angular, React, SEO, Node, Express, SQL, Amp, animations…it was quite ridiculous, and I’ve only mentioned those that come to mind right now.  Not to mention just how difficult JavaScript is.  And everyone I spoke to online had a different opinion of what I should learn.

I had to make sacrifices.  10 hours studying a month was not cutting it.  I set myself a strict target of 10 hours every week:

function howManyHoursINeedToStudy() {

var weeklyTargetHours = 10;

var totalHoursLeft = “”;

var totalHoursDoneThisWeek = “”;

totalHoursLeft = weeklyTargetHours – totalHoursDoneThisWeek;

return totalHoursLeft;

}

howManyHoursDoINeedToStudy();

Or something like that.  If I only did 5 hours in a particular week, then the week after I would have to do 15.  Granted I often had a backlog of around 60 hours but then I’d take some holiday from work and clear it.  Yes, much of my holiday was spent learning to code too – not just weekends and evenings.

I also started some courses on Khan Academy on a variety of subjects.  First I did the JavaScript one, which confused me at first as they used processing.js which includes various inbuilt functions not naturally available in JavaScript.

I started with their Intro to JS: Drawing And Animation course, which was fun as I got to use JavaScript through drawing on processing.js which is more interesting than learning JavaScript abstractly – though as I mentioned, that they use processing.js did cause some confusion when I later tried my own vanilla JavaScript projects and tried drawing shapes!  Why isn’t rect(0, 20, 10, 20) giving me a rectangle?

They also had a course on making websites interactive, along with two more difficult ones, neither of which I have completely completed (almost!) on games and visualisations, and my favourite, which was natural simulations.

In fact, I enjoyed Khan Academy so much that I even went over their HTML/CSS courses to see if their was anything I have missed, and their SQL/jQuery courses too.  The ones that are taught by Pamela and… oh gosh, I’ve forgotten her name, are compellingly taught in a quirky and fun way – I think I fell in love with both course-masters at some point.

Not everything I enjoyed so much.  I signed up for a 6 month free version of Pluralsight, but found their teaching more monotonous – with little chance of evaluation and it was often difficult to follow – as I always re-code everything on a course, on my computer.

CodeSchool I also took up the offer of a free month, and a half price month, and did some of their HTML/JavaScript courses.  The JavaScript ones had quite a steep learning curve.  I’m not entirely sure why I did the HTML/CSS ones as by this point I was pretty on the ball with them.

I may have signed up to pay for CodeSchool, it certainly had promise, lots of evaluation points, some form of community and a very wide range of courses taught (probably too many as by this point I was signing up for courses on all kinds of things that I didn’t need to do).

But then I discovered Free Code Camp.  So this was around December 2015 and it was my aim to have my first junior web development role by the end of 2016.  Granted this wasn’t my first targeted date – I had previously said end of 2014, 2015, beginning of 2016 yadda yadda.  But now there was a plan and a true focus.  Free Code Camp was about to really help me.

I started on the easy tasks – it doesn’t teach a lot of HTML or CSS, so I wouldn’t advise starting with Free Code Camp – learn your HTML/CSS skills elsewhere.

It doesn’t even teach JavaScript that thoroughly – it certainly teaches you the fundamentals and enough to do some reasonably powerful coding.  Again, previously mentioned sites will teach you more in depth – they all have their strong points.

But where it excels is in both the algorithm and project sections.  The algorithm challenges really do make you think about how to use JavaScript, how to structure it, when to use chaining, if statements, for loops, etc.  My ability to use JavaScript improved significantly thanks to Free Code Camp (admittedly I’m still years and years away from those £100k a year jobs) – most other courses on other sites either asked questions, or asked you to fill bits in.  This was thinking about a challenge from top to bottom.

Then they have projects.  For these, you have to write a website – the most basic being a tribute site, which I did to a footballer, Dean Windass.  That was quite simple HTML and CSS.

They do go up in difficulty as you pass the JavaScript challenges, most recently I was working on ones using APIs – such as a current weather website.  APIs are not taught well in Free Code Camp so it was a case of investigating – though they also have an excellent forum where I did ask for help on a few occasions, and am sure I will do again!  Also you can see what other people have done with their sites, which I try not to do unless I am really stuck – though there is always a myriad of different ways to solve them.

So, that was pretty much me for the courses side of things, whilst I was learning how to become a web developer.

Now I have a job, for which I need to learn PHP and WordPress (quickly!), I am using Lynda, which is a subscription service (my company pays) and they do have some excellent courses on PHP and WordPress – something not easy to provide via something like Free Code Camp due to the local testing environment required.  It is a whole other world.  Lynda provides a set of videos, the courses are often quite long, longest I’ve found so far is a whopping 14 hours, but generally in depth yet comfortably so.  I haven’t done their videos on HTML, CSS or JavaScript and probably won’t, certainly not HTML/CSS.  They are excellent to follow along to, making websites from stratch or re-designing them and normally give you challenges too.  You can see my collection of Free Code Camp projects here.

I do stress the sacrifices that I’ve had to make along the way.  There were a few occasions were I just wanted to jack my dull accounting job in, with no money saved in the bank, and just concentrate on studying.  Maybe I could have taken a bank loan.  It would have been a lot quicker to have been studying/coding full-time.

But I couldn’t really risk not having an income, so studying part-time on the weekends, in the evenings had to be the choice.  So many social events, so many parties, so many cultural events that I could have gone to that I had to turn down.  I needed to get fit but had no time for that.  I was often very tired.  I ended up drinking too much Red Bull (counter-productive on tiredness).  I didn’t get to watch cricket often, drink beer, sit in the sun, go for walks in the country, go to the theatre, go to comedy shows, go to nightclubs, go on weekends away, get behind my DJ decks, do any art, etc etc.  Occasionally, yes, but nowhere near as much as I would have done otherwise.

And now I have my junior role, complete with significant pay cut, I cannot afford to do them!  Plus, I’m only at the beginning of my journey and now have even more to learn just to keep my job, let alone progress.

Next up I will discuss the other reading materials and useful sources that helped me along my way, followed by websites that I made to go towards my portfolio, and in the final post I will discuss how I approached the job application stage.  Hopefully I will write them before I am looking for a new job – things are somewhat precarious.

Here is the list of courses that I completed (or nearly), prior to being employed – those in bold are those I definitely recommend to beginners:

Codecademy:

HTML & CSS
JavaScript
jquery
Learn Sass
Learn SQL
Make A Website
Make An Interactive Website

Khan Academy:

Hour Of Code
Intro to HTML/CSS: Making Webpages
HTML/JS Making Webpages Interactive
HTML/JS Making Webpages Interactive with jQuery
Intro to SQL: Querying and managing data
Advanced JS: Games & Visualisations
Advanced JS: Natural Simulations

CodeSchool:

Try Git
Try SQL
Try jQuery
JavaScript Road Trip Part 1
JavaScript Road Trip Part 2

Pluralsight:

Pluralsight – Javascript Fundamentals.
Pluralsight – Introduction to jQuery.
Pluralsight – Learning To Program: Getting Started.

FreeCodeCamp:

Currently halfway through Intermediate Algorithmic Scripting

Learn HTML & CSS first.  And thoroughly, before you attempt JavaScript!

Here is a list of books I read:

Photoshop CS6 Unlocked
The Principles of Beautiful Web Design
The CSS3 Anthology: Take Your Sites to New Heights
SEO White Book: The Organic Guide to Google Search Engine Optimization: Volume 3 (The SEO Series)
HTML5 & CSS3 For The Real World
jQuery: Novice to Ninja
Implementing Responsive Design: Building Sites for an Anywhere, Everywhere Web
Drupal 7 Explained: Your Step-by-step Guide
Jumpstart Bootstrap
Jumpstart JavaScript
Create Your Own Website Using WordPress in a Weekend
JavaScript – A Beginners Guide – Fourth Edition
JavaScript – The Complete Reference – Third Edition
CSS Master (not read it yet)
CSS Secrets: Better Solutions to Everyday Web Design Problems (not read it yet)
Professional WordPress: Design and Development (not read yet)
Professional JavaScript for Web Developers (not read yet)

Still A Web Developer – But Only Just

[Written on a Friday evening]

My instincts can sometimes be way off.  But often they are really intuitive – sometimes scarily so.

I am two months into my new career as a web developer.  Employed as a junior with a requirement to do mainly CSS, PHP and WordPress.  Prior to starting, I had never touched PHP, and only touched WordPress through themes and plug-ins.  Never on the developer side.

But I’m reasonably bright.  I work hard and do pick things up, albeit not as quickly as when I was 18.  Too much time in nightclubs or is the pace of social media lives too much for my northern brain?

I am probably being too harsh on myself.  Which is common.  Either I’m a hero or I’m a fuckwit.  Coding simply is not easy.

My employers saw something in me and gave me an opportunity.

All started well.  I struggled with the PHP and WordPress – at first I was just staring at it thinking what the Donald Trump.  But I breezed through the CSS challenges.  Comparing this to my previous career as a credit controller was just a dream.  I used to work with my eyes closed and my brain dead.  Now I am using my brain all day, every day.

Even two weeks ago, my manager said he had absolutely no worries about me.  I still thought that I had a lot to prove.  I had made a mistake on a live site.  I had made other dumb mistakes.  I sometimes struggle to conceptualise what I am doing.  I sometimes spend far too long trying to work something out.  I often go for a far more complicated fix than is necessary.  And I do struggle to communicate technical ideas in human language, with confidence.  And I really cannot draw flow diagrams of how things work.

But since then, the feeling that all was not well started to grow.  I just started sensing things.  I had a project to finish this week, moving a website to WordPress – I had never moved a website to WordPress before, and got the wrong end of the stick with regards to the databases that used to be used – I thought that we were still going to be referencing them.

That was Thursday and I went home thinking, shit, I might get sacked tomorrow.  I was going to ask my manager for a chat anyway as there was one month left on my probation period, or so I thought, and I wanted feedback on what I could improve to ensure I passed it.

I considered getting horrendously drunk but thought better of it (gosh I’m getting old…or mature), and turned up at work on Friday morning.  In bright purple trousers.  Surely nobody could sack someone in bright purple trousers?

Ironically, WordPress suddenly started to click during Friday.  I had so many eureeka moments, both that morning and the latter part of the previous afternoon.  And then the dreaded message turned up during the afternoon, “James, please can you come through and bring your chair”.

It was fairly immediately obvious that I was not getting sacked.  Yet.  But I was getting my probation extended.  They are not happy with my progress with WordPress/PHP, more in terms of understanding the general environment, alongside some of the self-criticisms listed above.

The only surprise was that my probationary period was apparently two months.  I thought it was three.  Other than that I totally agreed with them.  It is hard not to agree with them – I have a huge amount of respect and admiration for them, and boy I love playing Devil’s Advocate.  Even if they had have let me go, I would have had absolutely no bad feelings about them – I genuinely like, admire and respect them both.

I would have been gutted for many reasons.  Mostly for letting them down as they have given me an opportunity that I may have struggled to get otherwise (I would have eventually).  Had it been the company I last worked for, I would not have given a monkeys.  But I am genuinely excited to work for them.  My perfect company – joining as their first permanent developer, watching a company likely to grow very quickly.

I love the company ethos, I love their approach, I highly respect their understanding of business and ability to communicate.  I have somehow landed on my feet – somehow managed the absolute perfect opportunity in the perfect company with the perfect managers…and they buy me beer – everything I have dreamt about and worked towards for for 3ish years.  Can you tell I’ve had a few beers?

I do have a history of fucking things up.  Or at least needing a couple of opportunities to get it right.  From school, two attempts at university, DJing, living arrangements, friendships – I don’t make things easy for myself.  Oh and have I ever had a job without the probation period being extended?  Once, maybe!  Yikes.

Now I have to react to it.  Let’s face it, I could have lost my job today.  My work ethic, team work, general soft skills and personality partly saved the day.  Plus my CSS skills.

Ooh and I just made it to the buffet car one minute before it closed.  Today definitely could have been worse.

Three months is what I have now to prove myself.  And I know after the amount of success and understanding that I had today that I can and will be able to do so.  I am going to spend more of my spare time studying again – screw enjoying life and London, it will have to wait.  I am going to double-down on my WordPress understanding – and find a blog that I can make my own theme for as practice.  Ooh like this blog – which is an unrepresentative shambles.

I am going to find some meet-ups in London related to WordPress and also buy a book or two.  I do not want to have it on my conscience come late January (my birthday – that could be an interesting present) that I didn’t do everything possible to succeed.

But I know the seeds of doubt have been sown.  When I have doubts about something, it becomes even easier to find reasons to entrench those doubts.  I am now battling against the flow, I now have to persuade two people that I am going to be their superstar, that currently think they might have to let me go.  I believe I will be, or can be, but persuading them might be harder than proving it.

As such I will also have to hedge my bets. Update my CV, update LinkedIn, sign up again for all the fucking job alerts and reactivate my profiles in case they turn around next week and say no.

The worst thing now will be fearing another fuck-up.  What happens if I notice that I’ve done something wrong? Do I ignore it and hope they don’t notice? Or admit to it and hope I don’t get fired?  I’m an up front honest person so the latter suits me more, but I’ve already noticed how I am responding to situations with trepidation instead of confidence.

I am not sure how to sum this up.  I do know that the really rough looking woman on the train keeps looking at me and smiling.

I am still a web developer.  Just.

It Was Never Going To Be Easy

Becoming a junior web developer was never going to be easy.  Getting the job was relatively easy compared to the studying required for it.

Keeping the job, and passing my probationary period is going to be tough too.

Last week started easily enough.  One of my main tasks was to ensure that print stylesheets of the main websites that I have been amending, were transformed from relative abominations to clean and legible print stylesheets – with necessary information only.

I had some frustration as page-break-inside was not stopping Chrome from splitting images as it should – I spent hours trying to research how to ensure elements didn’t print over two pages, and in the end had to settle for the less than optimal solution of manually positioning said elements.

Then I was set an SEO-related task, which had some PHP coding requirements involved – not my strong point. Ironically though the PHP was straight-forward and it was the CSS that caused issues, as it ended up requiring the carousel to be implemented on mobile devices too to stop the header appearing twice on SEO.  I’m no SEO expert but I’m assuming that having a header twice may cause Google to penalise you.

This was fun and games to sort out the carousel, as it took me quite a while to realise that it was Bootstrap (not my choice to use it!) that was over-riding my mobile carousel settings – Bootstrap apparently doesn’t want a mobile carousel, but that was the only way (I knew of) to fix the SEO issue.

Eventually I completed it, tested it on all kinds of different screen widths and device types, and it was pushed live.

Except I hadn’t tested the actual menu by clicking it, of which I had changed to the same colour as the menu text.  Shit, shit, shit.  Panic ensued to correct it.

Not my finest moment.  Why did I not think to test the menu button?  Absolutely fucking obvious and I am still frustrated with myself now.

Then on Friday i was set a tough challenge to re-code the archive pages so that they had their own SEO meta data, as opposed to automatically taking the meta data from the first link on the page.

I spent pretty much all day trying to work it out and could not find an answer.  I tried various functions, discovered various things and did a hell of a lot of reading.  I didn’t even get down-voted on Stack Overflow for asking the question.

So frustrating as I really wanted to fix this, especially after my cock-up on Wednesday.  I still feel that I need to prove myself – after all, I have a 3 month probationary period to pass.

On the bright side, I have been set a project which will take me until around Christmas, to redevelop the company website, along with the very impressive designer that we have, and new account manager/content writer.

I have two new colleagues, and a further one starting tomorrow who is a mid-weight PHP developer so he will be able to help me when I get stuck.

 

I’ve done plenty of good work too and am really enjoying it, despite the occasional day-long frustrations.

Just need to double-down on my efforts, particularly learning PHP and make sure I pass my probationary period.  I should do – but I am taking nothing for granted.

My First Few Days As A Junior Web Developer

After 2 years of studying/coding (with a couple very half-hearted years before that), a portfolio, a handful of websites, 100+ job applications and one interview (in a pub), I am now a junior web developer by profession.

I’ll do a separate blog post shortly on how I got the job. This is the summary of the first couple of days – clearly I’m only writing about my experience and it may be entirely different to other junior web developer’s first days.

I was employed mainly for my CSS skills, though PHP is probably the second-most important coding aspect of the job. And when I was interviewed, I knew nothing about it. My JavaScript is ok – good for a beginner, so that should stand me in good stead in terms of the functionality of how PHP is structured.

Just around the corner from my house, I saw this large discarded stuffed horse on a mattress. I took this as a good sign.

20160830_090236

My first day started with the usual welcome, installing of programs and getting a feel of them. Slack, Git and Sublime Text were all new to me – Sublime Text isn’t so different from Brackets that I use at home as my main text editor so that was fine.

Slack is very self-explanatory – a kind of collaborative e-mail/messenger for those not in the know. Git had previously seemed mysterious with its pull/push/commit stuff but was relatively straight-forward to learn. Again, for those not in the know, it is a popular form of version control – whereby multiple people can work on a file, and changes are continually merged (when the user chooses) and the most useful part is that you can delete certain changes that you have committed – ie if you fuck something up you can just delete that particular change or two.

Once we’d had a quick visit to the pub (cherry juice only), I was tasked with some simple amendments on an existing website – changing positions,for example. And it was all going so well.

Then I was offered something more complex. I accepted with relative gusto. It was a re-writing of the styling and positioning of various elements which depended on each other, not at all helped by the background image being inline-styled. I played around before lunch, committed some changes and then had to have a break.

During the afternoon I continued with this task and managed to get the mobile-styling spot on, almost, but it was going from bad to worse on tablet/desktop. I didn’t get chance to finish before we went to the pub. For a beer this time. A well-deserved beer.

The next morning, I was utterly stumped – I couldn’t work out what I needed to undo from the day before as some changes needed reversing, and my inspect element tool (to the non-coders, it allows you to right-click any page and change the styling temporarily, until you press refresh) was not working. I couldn’t understand why. It was a bit of a disaster and although difficult should not have been this difficult. I asked my employer to reverse all my changes. I felt pretty dumb.

Thankfully, my new employers are patient, welcoming, friendly and occasionally fun – they understood, reversed all my changes and then I proceeded to try again in a more logical top-to-bottom order – instead of mobile-to-desktop as I had first attempted.

All good. But by late afternoon I was completely stumped on a pricing table task – and I still have no idea why it is behaving as it is. I’ve tidied it up as best as possible – it works and is an improvement but it has too much space on tablet.

I have only been tasked with CSS (styling) amendments so far and they have been impressed with my work – they thought I would still be at this point early next week. PHP comes tomorrow – and that will be a different challenge altogether.

On a Friday too.

It has been a very pleasant change to have a job I find interesting and challenging, not to mention working in a pleasant office with some form of air conditioning. Oh and I can wear shorts – I haven’t quite got the shortest shorts out yet – that might have to wait until next week. Or maybe just until next summer.

At times it has been easy – at other times frustrating – but that is coding for you – if you don’t like the eureeka moments after 2 hours of trying to work something out then you shouldn’t really be coding.

I’ve learnt more this week than in the previous four years in my old accounting job.

Really looking forward to the point where I am creating corporate websites from scratch.

Silicon Milkroundabout As A Wannabe Developer

I’m looking for my first junior front-end web developer role.

I read about Silicon Milkroundabout being a major tech jobs fair in London, and thought it would be a good idea to apply for a ticket – not really expecting to get one only having a half-finished portfolio at the time.

A ticket was duly issued. Panic duly ensued as I rushed to complete half a dozen websites and my portfolio. Weekends were sacrificed in full, evenings and early mornings consumed with code and come 10:30am on the morning, I had what I thought was a decent portfolio with 6 various websites, albeit a couple not quite 100% complete. But good enough to put on show.

The downside was that I didn’t have time to do any preparation as to the companies attending. Having squeezed on the train from Reading with 10 seconds to spare, and a roast dinner and two pints of cider in me, not to mention having soaked up some of the glorious sunshine, I was in a good mood.

Then I checked every company listed as attending on the Silicon Milkroundabout website and none of them were looking for junior front-end web developers. Ahh.

The event itself was held in The Truman Brewery on Brick Lane – an area of London I have fond memories of but that’s another story. My ticket was checked on 4 separate occasions before I entered, and tried to work out a plan.

At first it was a bit overwhelming – one fairly large hall and one medium-sized hall housed 165 companies looking for techies. I walked around in a large loop not knowing what to do, feeling a bit over-awed. I noted where the free bar was. I sat down (not in the bar) and tried to come up with a plan.

I failed to come up with a plan but when I went back into the medium-sized hall, the first company I spoke to were looking for a junior. We had a positive conversation – probably the best conversation I had in there.

I spoke to some very nice people, I spoke to some very interesting people too. I handed 20 CVs out and hopefully made a good impression, most were not currently looking for a junior front-end web developer but do employ juniors so I’d like to think at least a few will keep my details on file.

There were some people that as soon as I mentioned that I had no work-related experience, glazed over as if I had just announced that I’d discovered animated GIFs on Geocities.

There were a variety of organisations there, from huge multinationals to two young ladies running their own food-related start-up.

I spent a bit of time thinking about the design and UX of various stalls as I progressed – some companies seemed awfully quiet and had awfully plain installations with no obvious sign as to what they were looking for in terms of staff. Others were well-designed – and often much busier.

After a couple of free beers and talking to some randoms about their day in the bar, I wandered around a bit more but found by this point I’d spoken to most companies that were of interest, and became more interested in picking up some free jelly beans. At which point I realised that my mission was complete and it was time to go home.

It was a really good afternoon. At the least, I have spoken to people within the industry and taken my first steps towards finding a new job. I had some positive feedback about my actual CV – in particular, one person said I had a good level of experience for someone looking for their first role.

Even if I don’t get a job directly from it, and it is relatively unlikely that I will, I enjoyed it and felt at home with the surroundings and those I spoke to. I felt I belonged a lot more than I do in accounting!

Will I go to the next one in November? Hopefully not. I will be disappointed if I do not have my dream first coding role by then.

I wouldn’t especially recommend it for someone looking for their first role unless you have a super-strong CV and portfolio, with good knowledge of JavaScript, ideally Angular and/or React (one of the latter two being my next subject to learn).

I certainly would highly recommend it to anyone with 1-2 years of work-related coding experience. And at some point in the future, maybe I’ll be back. It really is a cracking event, with great people, very good organisation and a fantastic purpose.