Blog

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.

100 Job Applications And Counting

Well it was 100 when I wrote the title to this blog post. Now my job applications spreadsheet is up to 127 rows (I do love a spreadsheet – one of the things that annoyed me about my last job was Excel wouldn’t work as Windows wasn’t registered…I organise my whole life in Excel…and my coding plans at home).

Not all of them are actual applications – I write an entry for every conversation with a recruiter, every phone interview, every real interview.

OK I’ve just counted, actual applications from myself directly, as opposed to recruiters/employers that have found me, is 99.

Sometimes I apply for jobs that I’m not qualified for. If they ask for 1-2 years experience then I’ll often send an application across, on the off-chance. I have even applied for jobs using two different e-mail addresses two weeks apart a couple of times, when it has been a job I have really wanted. I do tend to take the technology stack required with a pinch of salt too – in my view I can learn whatever extra technology is required, and if a company doesn’t want to train and mould me, then it probably isn’t a company I want to work for.

I was having a few doubts last week once I reached that not-so-magic 100. Would I actually achieve my dream? What if I’m always going to be up against greater competition? Maybe the technology stack requirements are outpacing me? It was a good 3 or so weeks without even any possibility of an interview.

I also have my suspicions that some of the jobs are fake jobs – maybe the Kremlin is creating fake jobs to increase disillusionment for the young (and reluctantly middle-aged) people of this country. Being serious, I do suspect that some of the jobs are created by recruiters just to retrieve candidate information to meet targets. And the amount of times I have hopeful-sounding calls with recruiters who then ignore my follow-up calls/e-mails – do those jobs actually exist?

But things have changed this week.

Firstly I had a phone interview on Monday. But I mumbled and rushed through the first question, “what projects have you worked on recently”, like an Olympic diver forgetting his moves on his first dive. Thankfully, I rescued it, brought my personality and passion across, and have scored enough points with the Olympic judging panel to gain an entry through to the final round, a face-to-face interview and apparently a meet-the-team (pub?) moment too. It seems an exciting company, they have a good ethos and apparently a table football table – I hope they like losing if I do get the job. Plus they want to train whoever they employ on .NET and C# – two technologies that I know nothing about, and I do love adding to my skill set.

I gather that I am the underdog, certainly in terms of experience compared to other candidates, so I’m going to have to impress on personality and passion to stand a fair chance. Needless to say, Sunday will be spent looking into .NET and C#.

Then I have a coding challenge to do for a role in a really quite prestigious company. Though I’ve been sent a file I cannot open without Photoshop – I don’t have Photoshop and am loathe to spend money I don’t have on a month’s Adobe subscription. It also involves making a banner – never made a banner before! And use 3 JavaScript libraries that I have never used previously. So a lot to learn before I even attempt the challenge. Yikes.

There are two other roles that I might hear back from in terms of potential interviews, one from a company directly, another from an agency.

Plenty going on. My expectations are low, so that I do not get disappointed like last time, but you never know.  As long as I do my best, and learn from any mistakes I do make.

And as soon as I do get a job, I am going to buy the fattest rib-eye steak Morrison’s will sell me.

????????????????????????????????????

First Coding Meet-up

Well I was sat here quite merrily going through the React I course on Codecademy, as one of my more immediate goals is to learn React as it seems to be the one front-end technology that I can learn that will most assist in making me more employable.

And then it decided to crash.  So I figured it was a good time to do one of the blog posts I have on my to-do list (not yet powered by React).

Last week I went to my first London-based coding Meet-up.

Well, CSS anyway.  CSS Meetup London, to give it its full name.

I had two aims.  Firstly to learn about grid, which was one of the presentations.  Secondly to meet some people in the industry.  You know – networking.

I arrived early, into the offices of Badoo – a social networking company that I had never previously heard of, who were hosting the event, and supplying beer and pizza, within their rest area/canteen.

It wasn’t so easy to tell who was there because they worked there, and who was actually there for the presentations like myself.  I grabbed a slice of absolutely amazing pizza and stood in the corner, a little awkwardly, hoping someone would note that I am a newbie and introduce themselves.

They didn’t.  I had another slice of pizza and grabbed a beer.  There were a few small groups talking to each other, but most people were sat by themselves, some staring into laptops (the guy I sat next to never paid any attention the whole time except to his laptop).  I did attempt some small talk with a couple of people but I didn’t receive any more than an acknowledgement.

The presentations themselves were reasonably good.  It isn’t easy to get up in front of a room and talk, especially about a technical subject for which you may receive some difficult questions.

The first talk was on CSS Grid, which is quite an exciting new specification coming out widely this March, I believe, which will allow for much more straight-forward layout structuring.

Flexbox has been a revelation to me as positioning could be troublesome previously.  The hope is the Grid will be revelatory too.

The second talk was more abstract, questioning as to whether there is a war within CSS.  I’m not going to attempt to explain it as I didn’t thoroughly understand it, only having done my CSS directly on stylesheets.


Afterwards there was a trip to the pub, which I thought might be my opportunity to meet people.  I popped to the loo, went back in the room to find the same couple of groups talking to each other, stood like a lemon for a couple of minutes and then left.

It was an interesting evening.  I’m not going to rush back but when there is a subject matter being discussed that I am interested in I shall attend again.

There are plenty of other meet-ups that look interesting – there was one the following night for WordPress, where there was lots of comments saying “such a friendly bunch” or “thanks for making a newbie so welcome” – which is clearly what I was looking for.  The CSS one doesn’t seem to be good for networking, though I do need to go back to find out what make of pizza that was.

I will definitely go to more meet-ups but I will try different groups.  Especially if there are giving away free pizza!  If I lived in central London I could probably get fed for free every night.

And yeah, it looks like I won’t be completing that React course today.  Onto something else.

 

Adding Adverts

Those of you that know me will know that I like to do a bit of blogging.

Having no income other than benefits means that even small costs such as my annual domain fees make me wince.  Every penny possible has to be saved.  But I really don’t want to stop any of my blogs – in fact I have started more up since I lost my job!

I used to do all my blogging on Blogger, prior to learning coding.  No particular reason other than it was what I first heard of.

New blogs I set up with WordPress, as it gives me pretty much infinite possibilities in being able to expand with my coding skills.  A few I still do on Facebook only – such as my Political Betting page.  Said page will be moved onto WordPress in the coming month or two, with a newly developed theme from myself.  Only just passed the thought stage – nowhere near pencil and paper stage.

The reason I set that particular page up originally was to see if I could make any money from gambling commission – all the major bookmakers offer affiliate accounts.  With 40 page likes and an average reach of around 10, I am hardly going to be buying a private jet any time soon.  Not even an airfix model.  So far I have a grand total of £20.43 and $6.05 commission.

So my bright idea this week was to add adverts to my 6 WordPress blogs.

I am sure I could have done this simply by using a plug-in, but I decided instead to use my WordPress knowledge.

Firstly I created a child theme for each blog, with a new stylesheet and a new functions file.  I knew how to make a child theme, or at least the theory of it, but had never done so.  This is now quite firmly planted into my knowledge bank.

I enqueued the stylesheet in the functions file – all straight forward.

add_action( ‘wp_enqueue_scripts’, ‘enqueue_parent_styles’ );

function enqueue_parent_styles() {
wp_enqueue_style( ‘gridster-lite’, get_template_directory_uri().’/style.css’ );
}

Then I had to create and register my custom post-types, following this with an initiation action.

Something that became clear in the planning stages after looking at how the adverts themselves were encoded, was that I would need two custom post-types – one main advert, and one mobile-sized advert.

function my_custom_posttypes() {

$labels = array(
‘name’ => ‘Adverts’,
‘singular_name’ => ‘Advert’,
‘menu_name’ => ‘Adverts’,
‘name_admin_bar’ => ‘Advert’,
‘add_new’ => ‘Add New’,
‘add_new_item’ => ‘Add New Advert’,
‘new_item’ => ‘New Advert’,
‘edit_item’ => ‘Edit Advert’,
‘view_item’ => ‘View Advert’,
‘all_items’ => ‘All Adverts’,
‘search_items’ => ‘Search Adverts’,
‘parent_item_colon’ => ‘Parent Adverts:’,
‘not_found’ => ‘No advert sites found.’,
‘not_found_in_trash’ => ‘No advert sites found in Trash.’,
);

$args = array(
‘labels’ => $labels,
‘public’ => true,
‘publicly_queryable’ => true,
‘show_ui’ => true,
‘show_in_menu’ => true,
‘menu_icon’ => ‘dashicons-id-alt’,
‘query_var’ => true,
‘rewrite’ => array( ‘slug’ => ‘adverts’ ),
‘capability_type’ => ‘post’,
‘has_archive’ => true,
‘hierarchical’ => false,
‘menu_position’ => 5,
‘supports’ => array( ‘title’, ‘editor’, ‘thumbnail’ ),
);
register_post_type(‘adverts’, $args);

$labels = array(
‘name’ => ‘Adverts Mobile’,
‘singular_name’ => ‘Advert Mobile’,
‘menu_name’ => ‘Adverts Mobile’,
‘name_admin_bar’ => ‘Advert Mobile’,
‘add_new’ => ‘Add New’,
‘add_new_item’ => ‘Add New Advert Mobile’,
‘new_item’ => ‘New Advert Mobile’,
‘edit_item’ => ‘Edit Advert Mobile’,
‘view_item’ => ‘View Advert Mobile’,
‘all_items’ => ‘All Adverts Mobile’,
‘search_items’ => ‘Search Adverts Mobile’,
‘parent_item_colon’ => ‘Parent Adverts Mobile:’,
‘not_found’ => ‘No advert mobile sites found.’,
‘not_found_in_trash’ => ‘No advert mobile sites found in Trash.’,
);

$args = array(
‘labels’ => $labels,
‘public’ => true,
‘publicly_queryable’ => true,
‘show_ui’ => true,
‘show_in_menu’ => true,
‘menu_icon’ => ‘dashicons-id-alt’,
‘query_var’ => true,
‘rewrite’ => array( ‘slug’ => ‘adverts-mobile’ ),
‘capability_type’ => ‘post’,
‘has_archive’ => true,
‘hierarchical’ => false,
‘menu_position’ => 5,
‘supports’ => array( ‘title’, ‘editor’, ‘thumbnail’ ),
);
register_post_type(‘adverts-mobile’, $args);

}

add_action(‘init’, ‘my_custom_posttypes’);

A simple media query ensured that only the mobile one would show at screen widths of less than 1200 pixels, only the desktop advert would show on screen widths of 1200px or more.

@media screen and (min-width:1200px) {
.advert.advert-mobile {
display: none;
}

}

@media screen and (max-width:1199px) {
.advert-main {
display: none;
}
}

The painful part was going through all the affiliate accounts and trying to find appropriate adverts to use – problems abound whether that be one company only having Italian adverts when I searched for English, other companies not having filtering options so I’d have to trawl through to find ones with the right size.  And some god-awful adverts too.  Not to mention spending a good 30 minutes or so trying to work out why they weren’t showing on my website – that’ll be Adblock then.

I think they look quite smart.

saqwer

The final part was having to fit them into the particular pages.  Mostly a straight forward case of finding the section after the navigation and before the have_posts loop starts, in the single, page and index pages.

It consisted of two while loops – one for the desktop advert and the other for the mobile advert custom post type, showing just 1 post (advert) per page, and an orderby type of ‘rand’ so that a different one would be shown each time.  I left a couple of divs in there with different classes in case I want to expand or slightly amend the styling at a later date – though now I think about it I wish I have written it as an include, that would have been more sensible.  Job for tomorrow, then.

<?php

$args = array(
‘post_type’ => ‘adverts’,
‘posts_per_page’ => 1,
‘orderby’ => ‘rand’
);

$adverts = new WP_Query( $args );

while ( $adverts->have_posts() ) : $adverts->the_post();?>

<div class=”advert advert-main”>

<div class=”flex-site-title”><?php the_content() ?></div>

</div>

<?php endwhile;

$args = array(
‘post_type’ => ‘adverts-mobile’,
‘posts_per_page’ => 1,
‘orderby’ => ‘rand’
);

$advertsmobile = new WP_Query( $args );

while ( $advertsmobile->have_posts() ) : $advertsmobile->the_post();?>

<div class=”advert advert-mobile”>

<div class=”flex-site-title”><?php the_content() ?></div>

</div>

<?php endwhile;?>

I am going to look into some more interesting affiliate accounts than just gambling ones.  Perhaps clothing, or music – especially for my music-related blogs.  Then again hardly anyone will see them as they use adblockers like me!

It was a good little task to get myself back into the swing of things after my interview disappointment this week and tomorrow I can get back on with some real coding.

Interview Outcomes

I had a flurry of excitement last week with phone interviews, e-mails, applications etc eventually leading to two interviews.

The second interview was for a job that I didn’t remember applying for, wasn’t on my spreadsheet and replied to my unprofessional personal e-mail address (jamesthemonkeh) for which I rarely use.  Apparently my CV was “…selected, from hundreds submitted, to go through to the next phase”.  Hundreds?  My arse.  But I went along with it anyway, had a good telephone interview and a proper interview two days later.

I never received the e-mail confirmation about the interview, but I still turned up, albeit at the wrong entrance, and with plasters falling off my hand having cut my hand open in three places the night before doing the washing up…two hours of bleeding…not pleasant especially when I needed a good night’s sleep.

There was a good connection between myself and the three that I met though the interview itself was only 45 minutes long, and that included a 15 minute test.  They clearly had decided in advance and were going through the motions, though my ego concluded that meant I was in a good position to be offered the role.  I glossed over the suspicion that something wasn’t quite right because I wanted a job.  I want to progress.  I want to contribute.

Thinking back, I stumbled when they asked me to explain why I thought I had intermediate JavaScript knowledge.  I bluffed my way through.  And then there was a question asking why I would describe myself as “creative” – something I have put on my CV header.  Why on earth have I described myself as “creative”?  That was what I immediately thought and had to bluff my way again.  Other questions I answered well and received positive responses.

The first interview was for the job at a green energy company.  I had a good feeling about it from the off, spent a good 5-6 hours on the coding challenge (I will probably upload it to my portfolio, once I change company details) and had a good interview.  Admittedly I turned up 30 minutes early to the interview but I thought that I had performed well and was in with a chance.  It was clear that he was probably interviewing around 10-12 people and had even more applications.

There was lots of good feedback about my coding challenge, in fact he said it was the closest to the design spec out of all of them.  Though there were a few buts.

I came away thinking there was a chance I would get offered both.  The problem in my head was what would I do if I got offered the one I was less keen on before the one I was really keen on?  I don’t like to mess people around, even though I know companies normally won’t hesitate to do the same to me.  I have decency standards.

Neither job was offered to me.

The one that sounded a bit odd, simply said “Thank you for taking the time to come in to **our company**. It was great to meet with you.  Unfortunately, we will not be taking your application further.”.

I asked for further feedback on what I could do to improve but they did not even have the courtesy to refuse to do so.  My ego took a battering as I thought I was a shoe-in, but in time I suspect I will be pleased not to have ended up there.  Something really was not right about it.

The second one I did get constructive feedback.  During the interview, I received specific advice on my code which will be beneficial – a couple of new ways of looking at what I do.  He also advised me to learn Sass, Grunt and Gulp before learning React.

Further to that, the feedback was “I’m really sorry to say that we won’t be inviting you to a second interview this time. It was incredibly close, and you had a really strong interview, it just came down to others having slightly more experience with JavaScript and having a bit of a firmer grasp on Front-end technologies like responsive design and pre-processing.

I really respect your passion and the level you’ve achieved through self-teaching, and I believe that with a little more time learning you will become a web developer.”.

Which is like your football club reaching the semi-final of the FA Cup.  A pretty damn good achievement but there is no reward except for the experience and a bit of kudos.

That I came assumedly 3rd or 4th out of roughly 10-12 interviewees doesn’t feel particularly great now, especially being quite drunk, and after receiving some unrelated pretty damn shit news today too.  It’s been a bad week and a very, very bad day.

I think the main lesson is to keep my ego in check.  Manage my expectations better.

Needless to say, I have not done anything constructive for the last two days and will not do anything tomorrow as I am going to have a fair-sized hangover.

I do have a coding challenge for another role, but it is in PHP which I don’t know so well so probably pointless in trying but I shall hopefully get over my disappointment in time for the deadline.  No harm in trying even though I doubt I’ll get an interview.

Down but not out.

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.