March – In Summary

I’m a month and a half into my three month internship now, where I’m learning a lot of varied stuff each day. I’ve been lucky enough to work on some important features for the application my team are working on, which I’ve done primarily with HTML, CSS, Python and JavaScript.

I’ve become much more confident with git, where I can rebase my code almost without a hitch. I had been told to fear rebasing due to the risk of using it, but now it’s not a scary thing at all.

I’m also slowly improving my JavaScript and jQuery abilities. I really like JavaScript as a language and am interested in the many frameworks that are out there.

I’m better at writing simple tests in both Python and JavaScript. I’m still writing them after the fact though and hope to practice Test Driven Development more.

By the end of April I’d like to have made a start on a fully accessible lightbox. Some exist but are either outdated, don’t have good documentation or don’t have an accompanying tutorial. Hopefully I can fulfil all three of those needs for myself and pass the code and knowledge on to others.

Advertisements

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.

January – In Summary

At the end of each month of 2015 I’ve decided to write a summary post about the programming I’ve been doing; the things I’ve built, the books I’ve read, the stuff I am learning. This is the beginning of that series. It mainly serves as a diary of sorts for myself, but others have said that they would find my progress updates of interest.

January

January was sponsored by Python. What started as a want to learn the basic syntax so I could understand what my friends were working on, ended up being a full time interest in the language. I’ve read several python books which I’ll list below; covering topics like the basic use of the language, test driven development and frameworks like Django and Flask. I’m halfway through the Python Koans and even submitted and had merged a pull request for the project.

I built my first Python project, “Guestbook“, an homage to the 1990s “Web 1.0”. Initially it was built using CGI (Common Gateway Interface) which is the first web technology that allowed programmers to initialise scripts in web pages. I wrote a bit about it here.

The web host I was using didn’t like CGI scripts on its platform, so I rebuilt Guestbook entirely using the Django framework. Then, because “why not”, I then built it again using the Flask framework. I think I prefer Django because it’s a slightly easier setup, but I love Flask for it’s easy URL routing. I may continue to build things in one framework and then convert it to another, just to learn and further ascertain which framework is “better”.

I started to explore testing in Python, reading about Test Driven Development (TDD). Basic testing is easy enough for me to understand, but it seems to be a large hill to climb. I could only find one book on Python testing and it was very much about TDD whereas I’d like to just learn about tests with no mantra on how to do things (at this stage). If anyone knows any good books/resources on testing in Python that cover unit tests, acceptance tests and a couple of different testing frameworks, please let me know!

I recently started the MITX: 6.00.1x Introduction to Computer Science and Programming Using Python course on EDX. I’ve only completed the first week so far (100%!) but I’m looking forward to learning a little more about Python and it’s real world applications. Something I am struggling with at the moment is understanding how Python (and programming languages in general) is used in the real world, not just to build my whimsical websites.

Books I Read

A Byte of Python
Test-Driven Web Development with Python
Flask Web Development: Developing Web Applications with Python
Dive Into python 3 (70% of it)

Things I Built

Guestbook – CGI Version
Guestbook – Django Version
Guestbook – Flask Version (Needs work)

February Plans

The plans for February are largely similar to that of January’s. Keep learning, keep building. The list of books to read grows all the time, I hope to read “The Pragmatic Programmer” and “The Practice of Programming” this month. Both are language agnostic and a lot about the theory of programming rather than teaching you how to build specifics.

I’m not sure how much I want to learn new things. I have a list including “Learn Awk” and “Learn Application Security” which appear to be fun but I don’t want to overload myself too much with new knowledge before I let the knowledge already gained settle. However, I will continue on with the MITx course.

I will try and build at least a couple of small things. The smaller the better because I want to try building from a TDD perspective and if I attempt to build something too large I will get lost in a tangle of messy unit tests with spotty coverage.

See you next month!