February – In Summary

February

Despite being the shortest month of the year, so many wonderful and varied things have happened. Although I haven’t built any one standalone thing, I’ve had the opportunity to work on a multitude of things, build up some skills and learn some new ones.

The biggest news is that I’ve started an internship. I’m working as a junior developer with a really lovely team currently stationed within M&S. I had the opportunity to shadow them for two weeks last year and they asked me to come back and join them for ~3 months.

I’ve only been there for two weeks so far so I haven’t written too much code but I am already learning more about HTML, CSS and JavaScript. A lot of the teams work involves Python too, so I am looking forward to working with that language more. As well as programming skills, I am also learning a lot about working in an Agile team and working as part of a team in general. The people I get to work with are great and experienced in all sorts of things I hope they will teach me. I’m really greatful for the opportunity.

Before I started my internship I got approached by another team asking for my help on a project. Unfortunately I can’t share what it is right now but I’m learning a totally new set of skills and I’m really excited to see the outcome. I should be able to share what I’ve been doing in a few months.

Books I Read
JavaScript for Kids
Python Testing with unittest, nose, pytest

March Plans

The overall plan is just to keep doing well in my internship, learning new things and reading what I can. I’m enjoying doing a 9-5 and working somewhere that’s not at my desk in my house. I’d like to work on my testing skills by finishing JavaScript Testing Recipes, and will be attending a workshop on Test Driven Development that takes place in a couple of weeks.

As a new developer

As a new developer, I feel inadequate. I see people publish their side projects all the time. I see my friends in good jobs. I see people submit pull requests to code I don’t understand, for things I don’t understand. I can stare at the code I’ve written and it all reads as gobbledegook. How many hours a day should I be programming? Do 10x programmers exist? If so, am I one? If not, why not?

As a new developer, I feel a constant pressure to prove that I am learning. I write blogs on what I am doing, I tweet that I am writing code. I post code-related jokes. All as a way of saying “hey everyone I can code too, I’m like you!”. If I can prove that I am learning then maybe I will be able to join the cool kid programmer club. It’s also a way to prove to the internship givers that I am worth hiring, because I am prepared to learn.

As a new developer, I don’t care what you are programming in, I just want to know what you’re building. A programming language is just a programming language to me. You’ve got your JavaScripts and your Rubies and Pythons and they all do cool things. I don’t care about semicolons, or tabs over spaces, or why you think npm is the best package manager of all time 2K14. I see these arguments all the time and am perplexed by them.

Maybe over time I will come to understand this, but right now I don’t get the pressure to be a devout follower of any one thing. I am able to encourage people to use Python as a first language  but I am also not going to kick up a fuss if they decide to use Ruby or Go or Rust or whatever damn fine language they’ve set their sights on.

As a new developer, I am easily swayed by the opinions of people I respect, or at least view as more experienced. This post was kicked off by a few back and forth tweets on open source contributions. One person stated that I don’t need to worry about making open source contributions and I went “Yay, cool, less pressure”, another seemed to state that I am of little worth if I don’t contribute “Fuck, okay, I guess I better get on that then”. I wish programmers were more aware of the things they are saying and the attitudes they express, and how that might effect a young padawan like me.

As a new developer, there is a lot of pressure to do well, lest my programmer costume be rescinded. I need to make money to live, but don’t feel I am worth hiring. I want to make contributions to open source to give back to the community, but everything seems way over my head. I get stuck and reach out to the community for help and can either receive encouragement and support, or be judged and told I am doing it wrong (“lol y are u doing that just use jquery”).

As a new developer, everything is new and exciting. I can have my own website up and running in minutes with just a little sprinkling of HTML and a free host. I can write code to help others, I can write code to help myself. I can be ecstatic an entire day because I wrote four lines and it didn’t break on execution. I can engage with my peers in ways that I could not do so before, I can understand them better and work with them. I can (and love) sharing my journey with others, I want people to be able to learn from my mistakes and also be encouraged by my progress.

I can code my own path in this world, but I need your help and your patience and your understanding to make that path easier. In return you have my patience and my encouragement and my understanding.

newdevheart

One month on

A picture of me with my laptop.
Photo by Michal Stefanow, edited by myself

It’s been a month since I wrote “I’m gonna be a developer“, marking one month since I started my journey with the web. A lot has happened since then despite only being a few weeks ago.

For the first couple of weeks I worked through the courses at Treehouse. There are a great bunch of videos and hands on coding in their courses. They’re worth the monthly fee, but if you want to get a free month and help me pay for mine in the process, you can sign up with my referral code.

Although the courses are great, they don’t beat real life experience so I started a couple of projects. They’re both in their early stages and they’re nothing special but it’s been fun writing real code for real things.

I’ve had the freedom to explore. I’ve gotten better with my HTML, I’ve played around with Sass and Node and am having a fun with all the new things. Last night I tried my hand at some hardware hacking on the Arduino with johnny-five.

The not-so-great

I’ve not come as far as I had hoped. There are a lot of half-finished things sitting on my GitHub and written down on post it notes. I’m not letting it get me too much down as I’m sure we can all be victims of trying to do too much too soon and pushing ourselves too hard in doing so.

I have definitely had days where I don’t push myself hard enough and days where I push myself far too hard. I had to take a week out due to some emergency surgery and spent the time trying to work when I was still under the effects of anaesthesia. On the other hand, when I’ve had no plans I’ve felt unable to get up and do things.

Distraction is also a problem. I sometimes find it hard to focus on one project or one bit of code and find myself jumping around a lot. Although it’s exciting to work on different things and learn new things, it can mean losing my place and being unable to focus. It happens, but I still have a long way to go in learning to manage myself and my time well.

The better

Since sharing my new career path with friends and family I’ve had nothing but support. A friend has given me an opportunity to shadow their team and another gave me a ticket to a conference where I will attend my first web event as a developer.

I’d like to thank all the people who listened to me and answered all my relentless questions on Twitter. I started a git repository where I pose questions and it’s received a great response. A lot of the questions are broad so I hope it is useful to others.

As for what’s next? Keep on learning.

I’m gonna be a developer.

My first computer was given to me by the Vicar at our local church. I fell in love with it and was never far from a computer again. I was lucky in that my father was also into computers and it wasn’t long before I was gently lulled by sweet sweet dial up sounds and pretending to be asleep when in reality I was trying to monopolise the in game market of my favourite MMORPG.

When I was around 13 years old I used to frequent a thing called “Habbo Hotel”, a teen game-like chat room type thing where you could have your own pixel avatars and buy little pixel furniture. I started to use fan sites for the game where I would make my own versions of these pixel people. The site exposed me to my first online friends, one or two of which would “build websites”.

Wait, regular people build websites?

So I tried to learn PHP with Tizag. It was crap. I wasn’t enthusiastic. It wasn’t long before I discovered HTML and was making “awesome” Myspace layouts with image mapping and more bold tags than are considered sanitary.

But I got older. I focused on secondary school and computers became no more than an everyday tool to me. I resigned myself to the fact that I would never be the cool developer I wanted to be. Then came sixth form, then university where I obtained a Psychology degree and financial debt in equal parts.  After three years of uni I was exhausted and I knew I didn’t want to continue on working in Psychology like I thought I did. I existed with no real direction.

I was given a rare opportunity that sky-rocketed me back into the world of web development and spent the next two years organising events for developers. Through organising meet-ups, conferences and workshops I was able to enter the “web community”, something I never thought I’d be able to do. The majority of my friendship group quickly became full of web developers, web designers and UX’ers. I was like a kid in a sweet shop, able to have casual conversations with some seriously awesome and talented people who I’m sure consider themselves to be normal but I still regard them with awe.

I like to think they accepted me as their own, in so much as I would regularly have the “wait, you’re not a developer?” talk. That’s the thing, I wasn’t a developer like the rest of them and it really depressed me. I re-learnt HTML and CSS to a reasonable degree but never really used it. I just wasn’t motivated and although I had a whole legion of developers at my fingertips, didn’t think I would be able to make it.

In April 2014 I became unemployed for health reasons and those health reasons controlled me for a further four months before I started to wake up from the haze. I immediately became aware that I had no job and no money and that alone is enough to have me crawling back into bed. Most importantly I had no real goal for my life. I knew I needed to do something about it though and the one and only thing that would dance around my head 24/7 was “be a developer” which the cynical part of my brain replied “lol no you’ll never be able to do that”.

At this point I felt like a massive failure of a person already so I didn’t think I’d be able to screw up trying to learn development enough to fail even more. I signed up to CS50, a computer science course with Harvard at edX (David Malan is the best lecturer I have ever had). It’s a very engaging and challenging course but the strict structure and the ‘C’ learning had my mind wandering. So I started to play with JavaScript.

I have tried to learn to code on a handful of occasions. Though fun and rewarding, I just never had the time due to education or work or simply exhaustion. Now all I have is time. I already knew the basics of JavaScript but I finally feel like it’s making sense. I’m excited. I can’t stop thinking about it. I’m actually BUILDING something for myself for the first time. I’m studying (writing notes too!) and sharing things I never did before. I spent a whole day excited by ‘document.getElementById’ in the console.

Most importantly I’m not being strict with myself. I’ve always made learning about “succeed or you are useless and you will die” but that will never be a conducive way for me to learn. If I don’t feel like working on my project or studying a particular chapter of JavaScript one day, I learn something else that’s useful instead to get myself excited again and then go back to my main focus.

What am I going to do with all this new found information? I’m gonna be a developer. I’m going to keep learning every day, I’m going to build, I’m going to be frustrated and elated. Then I am going to seek an internship where I’m going to learn, build, be frustrated and elated all over again.

I will call myself a developer and it will be genuine. Hopefully my young self from the early 2000’s will finally be pleased.