Technical Academy

Devs in the ‘ditch Jan 2013: Trainees and -ilities

Posted in Agile, Community Events, Devs in the 'ditch, Technical Academy on February 4th, 2013 by Chris O'Dell – Be the first to comment

On Thursday 31st Jan we held our first Devs in the ‘ditch event of 2013.

Paul Shannon convinced us that hiring a trainee is a beneficial action for almost all companies as well as the greater good of our profession. Using stats which highlight the huge imbalance between roles requiring greater than 2 years experience and those requiring less, he asks where these candidates are going to come from? Trainees can also come from diverse backgrounds, not necessarily computer science students but those with a demonstrable aptitude for it, or even from within other departments. This diversity is a valuable asset and also helps retain staff with domain knowledge. Paul then gave us a rundown of how we at 7digital are implementing our Technical Academy.

After a short break, where we took a few minutes to grab another beer and eat one of the tasty vegetable samosas or onion bhajis,  Gus Power took to the stage armed only with a pen and a whiteboard.  Gus gave us a quick history lesson of Agile and how it changed the focus from fixed time cost and features, with variable quality, to fixed time cost and quality with variable features.  He stated that there are many ‘non-functional’ requirements missing from most specs as they are much harder to quantify.  Gus has promised to write up his talk for people to read, which I hope he does because I realise that I am failing at effectively summarising it.  There is a small discussion about it going on at the Meetup page.

Gus Power armed only with a pen and whiteboard

Gus Power armed only with a pen and whiteboard

7digital Technical Academy – Week #2

Posted in Agile, Education, Technical Academy on October 4th, 2012 by Paul Shannon – Be the first to comment

On joining 7digital a year ago I published a short blog on my first fortnight with the new team. Now that our Technical Academy has been running for 2 weeks I’ve asked our 2 apprentices, Chris and Dan, to write a quick blog post about their experience so far. This is our first point in a series of regular feedback opportunities from our apprentices so we’re hoping to tailor the rest of their time here based on their positive and negative experiences so far.

The 7digital Apprentice Developers

Chris posted his “My First Fortnight” post on his personal blog: http://c24w.github.com/blog/2012/09/7digital-Technical-Academy-My-First-Fortnight/

Dan opted to post on the 7digital developers’ blog and his post is here: http://blogs.7digital.com/dev/2012/10/04/my-first-fortn…hnical-academy/

More on the Technical Academy

In early 2012 we were in a position to expand the development team but found that experienced developers, and especially those experienced in TDD, Agile, Lean and XP, were difficult to find. We also found that we were speaking to an increasing number of graduates and under-graduates when publicising the development team at various events, but often noticed a gap between the skills they were learning at University and the skills we’d like them to have. There has been some coverage around this topic recently with opinions from well known UK Software Craftsman Jason Gorman and mainstream media coverage from The Independent and The Next Web.

We decided to attempt to satisfy this need to train inexperienced new starters with a defined programme of classroom based sessions mixed in with the usual “on the job” training. You can see what we originally proposed to teach our new apprentices on the Technical Academy Jobs page although we’ve changed what we are doing based on feedback from teams. We like to continually improve our teams by inspecting and adapting all the practices we adopt and the Technical Academy is no different. This means we’ve added additional sessions on topics we thought we may not need to cover until later, but noticed that the apprentices had been involved in during their day to day work. Our emphasis is still very much on ensuring that apprentices can add business value right from the beginning so being able to adapt in this way ensures they do not slow down development in their respective teams. More on that in a later post.

In addition to the ability to hire less experienced programmers the academy also allows us to hire more diverse people. A good example is our current apprentice Dan, who studied Physics and Systems Biology, which brings a different view point on some of the practices we use, our product vision and the way we approach analytical tasks.

My First Fortnight in the Technical Academy

Posted in Education, Technical Academy, Testing on October 4th, 2012 by Paul Shannon – 1 Comment

I have joined 7digital as part of the Technical Academy about two weeks ago and I started working in the API team. This is an appropriate stage to write down my first impressions here.

Setup

Setting up my work machine was not always straightforward, mostly with regards to networking and graphics. This is probably because I am working from a laptop, unlike most other Devs who work on desktops. I have made notes on the issues I encountered and will post them on the internal wiki so that new starters don’t have to go through the same difficulties I did. This would be in the spirit of continuous improvement at 7digital.

Classroom sessions

The main difference between the Technical Academy and a normal junior software development role is the inclusion of classroom sessions on the tools (such as C# and ReSharper) and development methods (such as TDD and Kanban) used at 7digital. The best point with these classes is how they are always relevant to the work performed. For example the class introducing mocking happened just after my pair programming partner of the day used it in code we were working on.

Open to different solutions and helpful environment

The team I got assigned to just started making a new internal website. We started to build it using a web framework none of us were very familiar with but was used by some other teams. Unfortunately it proved too difficult to use so we restarted with more familiar technology. Currently I feel like I have gotten up to speed with this project. This is due to the helpfulness of more senior members and the solid tests present in the codebase which allow us to easily verify changes.  Through the rotation of pair programming doubles, I find it interesting to see the small differences in the way people code with the two invariants being rigorous TDD and willingness to help.

Rollback

In another project my team released, we didn’t perform testing as thoroughly as we should have. This broke some of our client’s apps and required a late night rollback. Most of the following day my team worked a retrospective of the rollback. This retrospective involved finding out what caused the issues leading to the rollback and how similar issues could be avoided in the future. I found it great that the focus was on problem solving and improvement and not shifting blame.

Friendly office

The general workplace atmosphere is important and in that aspect 7digital does very well. Everyone is friendly and approachable and most interactions are informal. Furthermore the pace is set to be sustainable so working long hours is discouraged (but it doesn’t mean we don’t work hard).

Dan Kalotay