It’s a good question. Since, I don’t know…. 2003? Way back in the day.
Started in college, I was doing IT support for Bridgewater State. It was pretty light and introductory at that point. I started getting really hardcore when I was going for my Masters. It’s really difficult to get passionate about a calculator app. But once I started getting more sophisticated problems, then I’d say I officially became a developer versus a scrivener.
The daily routine is leading. We at ten24 have a vision for our product, and my goal is to make sure that everybody shares that vision (the technical vision). I need to lead/lure everybody to the same conclusion so they can make those decisions themselves and become leaders themselves.
Making things clear is the harder battle to fight rather than going out and trying to implement it. If I don’t do that correctly, we are building horizontally, instead of vertically.
I’d say trying to build a 3D videogame with a team. The complexity of 3D graphics with a team of 4 people. It was endless night and day trying to put things together. You have to build the models, rig, texture, programming them to work the correct ways, walk here, run there, shoot, blending the animations, programing logic in general, level building, and then before we can even get started on that we had to do all this conceptual stuff. You can’t make a game without an idea. Again, it’s four people and when you look at other companies, they have gigantic teams. It’s like looking at movie credits. With it being such a specialized profession, it's challenging from a generalist perspective. That was the most challenging thing I ever did.
It was pretty rough around the edges. Technically it was finished but you know…. (laughs), would I do something of that scale again with four people? No. And I don’t think I would choose 3D as the medium. I think I would try and make things more abstract, procedural and stay away from 3D because of all the complexities involved with it.
I then went on to do a source game. For the most part I found a lot of tools that did things for me so I can get up and running faster, but then you run the risk of looking really generic.
I can’t even remember anymore…. It was fun, the game was a like a Mad Max-style game. You would go through deserts, killing wildlife and trying to survive. We had this desert with a whale with the skeleton in the middle of it, to give the idea that the ocean had dried up.
We had some fun with it. The story had to do with nature fighting against people.... it was pretty cheesy.
I have a list of books that really helped a lot. One of them is a book is called Clean Coding, I can’t remember the author’s name, but that one is really good. They describe the concept of entropy in programming, in relation to like entropy in the city.
Object-Oriented Analysis and Design, by Grady Booch. That’s a great book you can read over and over again and find new things. I guess the ng-conference was very helpful.
The most challenging part is probably how I juggle my time. I want to bring all the newest, coolest and latest stuff. There is an endless array I want to know about, so evaluating their value before diving into them, and prioritizing that value, is challenging.
The same thing goes with teaching and assigning tasks, because there is an inherent value in what’s going to be learned when assigning a hotfix or feature. So, I not only have to figure out the value I can get for myself, but for my team as well.
Sometimes with these new technologies, I want to sink my teeth right into them, but there’s time constraints, that it can’t always necessarily happen.
I do believe in the client side, even if Twitter is scaling back on it. I think there is going to be more efficient ways to handle client-side caching. Look at frameworks like Falcor by Netflix, people are going to find better solutions to streamlining the client-side caching process and checking whether data is stale or not.
Some of the other cool things, which I haven’t necessarily given an expert opinion on is what’s going on with with Docker and the Virtual Machines. It's exciting to be able to dice up a piece of hardware into several virtual machines, so you are more efficiently using the hardware, rather than wasting garbage collection.
Typescript, even though there is what some developers might call “inconvenient” having to transpile, is very effective. I think that the language is the best language I’ve worked in yet. Not only is it clean, and extensible, but the strict typing is not devastating to refactors. The strict typing errors are more of warnings. It’s something that you can clean up as you go, but it doesn’t need to be as prioritized to get a prototype out the door. Whereas before I used to have to fix all these strict types before I could even test the value of my prototype. Typescript is an amazing language.
Going back to what I was saying earlier about understanding problems first, the best thing you can do is understand the problem clearly the first time. If you’ve done that, you’ve solved half your problem. If you go into it too quickly you may end up building horizontally instead of vertically, and then you have that much more code to maintain. What you end up building if you jump the gun, may be deprecated within months because you didn’t understand the problem fully enough, where you could write a more generic solution.
The other thing is, which at the same time goes hand in hand with that, not to overthink things too much before you have all the information. If you are overthinking it before you understand the problem clearly, who knows what kind of stuff your issues will propagate, or how much value you are wasting.
Right now, I have kind of a great relationship with Typescript, but it isn’t really an executable language. It’s my favorite language at the moment.
As of late, I got a new puppy, so cleaning up after him. He recently figured out how to get out of his pen. He can flip the latches (laughs), he is a really smart dog! He is absurd. We can get him to do all the tricks and stuff, he’s well trained… I mean he’s only four or five months old but now he knows how to get out so we have to figure out some plan against that. Plotting on keeping my dog in his pen.
Other than that, I work on the home entertainment system quite a lot and house projects…. yeah, I don’t have an exciting life. I’m pretty serious about the ping-pong thing. I got a ping-pong table after playing here (at the office). I’ve gotten really good, competitively crushing people now! I have people at my house all the time, and we play pong.
That’s tough because I have to break it up into genres. I’m just going to through a weird one out there…. I really like Street of Crocodiles, by Brothers Quay. It’s like a stop motion animation.
The "Wiz" and "Harsh Marsh".
Team Fortress 2.
The ski lodge. Although, I’d totally be down, if we did a laser tag or paintball.
Ruth’s Chris. It's all about the filet or the porterhouse.
Isn’t it the same for everybody, goin on Reddit? Although more and more I feel like they are using us as a survey group with all the new sponsored content.
I can do tricks with a butterfly knife. I also hunt with a bow and arrow.
I’m more of a dog person, but any cat that tries to fit in a small box. Enter Mr. Funk .
Delivery, definitely. I’m very particular about my pizza. If possible Chicago deep dish.