Skip to main content

New role: Lead Dev

A few weeks ago I started my new role as the Lead Dev for my company's summer intern project. We have 10 weeks for a leader, myself, another full time developer, and four student interns to join as a team and create a working application from scratch. In the Lead Dev position I will be focusing most of my time teaching the interns and building them up rather than directly coding the application. I will find ways that I can stop hurdles and roadblocks from slowing progress, while helping the interns gain insight into what goes into building an application. 

Our first couple of weeks together have not been focused on writing code and more on less technical things. We have done team building exercises and already feel like a solid team with everyone willing to share their own ideas. We have defined the requirements for our project and had sketching sessions to mock up what our application it's going to look like. We have taken those sketches through several rounds of feedback coming up with a better solution than any individual idea we had at the beginning. 

Towards the end of this week we were able to start writing code for our actual application. As we have started teaching our technologies, we have taken the approach of all working together focused on the same task. This had worked really well as the interns are getting to see everything that is happening as well as helping each other out if someone gets stuck. We stop to ask questions and work through the thought process a developer would likely use to solve a problem. By the end of the week we had built out a navigation system and a placeholder for each page allowing us to prove out that the navigation worked. It has been super cool to see how much we have accomplished in such a short amount of time.  I believe we accomplished so much because the team is lean, focused, and engaged. 


It had been an incredible first couple of weeks. I have learned so much by leading and teaching and not just doing. It had been awesome to see the interns really jump right into their roles and to see how each one learns differently. I look forward to all the awesome things we will learn together this summer and plan to share more here as we do. 

Comments

Popular posts from this blog

Converting a Large AngularJS Application to TypeScript Part 1

I work on a project that uses AngularJS heavily. Recently we wondered if using a preprocesser like CoffeeScript or TypeScript for our JavaScript would be beneficial. If our team is going to switch languages, we would need to be able to convert existing code over without much pain and we would have to find enough value in switching that it would be worth the conversion.

I had read an article that stated that because TypeScript is a SuperSet of JavaScript, you could convert a plain JavaScript file to TypeScript by changing the extension to .ts and not much else would need to change. I wanted to test out this claim, so I took a file that I was familiar with, an Angular Controller, and tried to convert it to TypeScript to see how much effort it would take and then try to figure out where we would benefit from using TypeScript.

This is what the controller JavaScript file looked like to start out with:
(function () { 'use strict'; angular .module('app') …

Converting a Large AngularJS Application to TypeScript Part 2

In part 1 I was able to take an Angular controller written in JavaScript and convert it to a TypeScript file while doing very little to change the code. In this post I am going to explore transitioning that same controller to actually use the features provided in TypeScript. This is how I left off my controller:
declare var angular: any; (function () { 'use strict'; var controller: any = function($scope){ ... } angular .module('app') .controller('controller', controller); controller.$inject = ["$scope"]; })();
While performing the translation from JavaScript to TypeScript, I would make sure at every step that the functionality I expected still worked, so if anything I did broke the system I would change it back and try again with another approach. Also if something seemed like it worked too easily, I would break it on purpose to make sure I wasn't getting a false result through browser caching a previously working fil…

Gamify TDD

I like it when things that would not normally be associated with games add concepts from games as a way to incentives you to accomplish things. Why simply go for a run if you can have an app that will track you and give you a gold star if you do better than you did the last time? Why go to the coffee shop that only gives you coffee if the other one will give you points that you can redeem for free drinks eventually?

I was recently introduced to CodeSchool, an online training system similar to PluralSight, it has video courses and challenges you can take to prove that you retained what the video taught. CodeSchool also adds badges and tracks to your learning, so as you complete a video and its challenges you get a badge. Complete a collection of courses within a specific discipline and you become a master of that discipline.

Some of these incentives are not tangible and really don't mean much in the real world, but they tend to work for me. If I start working towards a large goal a…