Todaymade


A Programmer’s First Year at Todaymade: Lessons Learned

Posted: 06 Feb 2014 08:08 AM PST

Photo credit: nilsen.pics http://www.flickr.com/people/nilsenpics/

Photo credit: nilsen.pics

To my amazement, it’s been nearly a year since I first started as a developer at Todaymade. Actually, at the time of this writing, it’s been a bit over ten months, but it’s a topic that has been on my mind a lot lately. What have I learned? How have I changed since I started?

I joined the team hailing from a mostly Java systems background maintaining large legacy projects in an organization with a lot of resistance to movement and change. Just talking with Garrett and Justin before I started gave me a pretty good idea that things would be a lot different, but I was still surprised by the contrast of my day-to-day scenario. What I was seeking was an opportunity to grow, and that’s what I got, along with some unexpected lessons along the way.

After a year in the mix, here are some of the important things I’ve learned.

1. Be Aggressive

I don’t mean you need to live your life with a RedBull in hand, but rather be assertive and progressive.

The most noticeable change when I joined Todaymade was the size of the team. I was previously in a department of 300 developers and suddenly shared an office with just four other people. We didn’t have cubicles, and there was nowhere to hide.

I quickly learned that we all need to perform tasks not stated in the job description–because we were it! If we don’t do it, there isn’t another team or department to pick up the slack. Responsibility can’t be lost in the shuffle, everything begins and ends with us. This is a good thing, but it can be scary to have actual accountability after being part of a giant team where your influence is sometimes negligible.


Responsibility can't be lost in the shuffle when you have a small team.
Click To Tweet - Powered By CoSchedule


It pays to take charge of problem and say “I’ll take care of it” because it creates trust within your team and it allows you to get outside your comfort zone.

This is how your skills broaden. I used to think of myself as a “code guy”, and my responsibilities were to the server-side code. I got a little freaked out when I realized there was no “database person” to monitor logs for me and no “sysadmin person” to deploy changes for me. But, like all scary things, it wasn’t as bad as I thought, and my skills have broadened as I have a better understanding of our full development stack.

Perhaps the most exciting difference from previous jobs was that we were making use of extremely modern tools.

Rather than supporting aged systems two or three iterations passed their prime, I was given the opportunity to work with burgeoning languages and frameworks (Node.js and Ember.js) that do cool, disruptive things. It also blew my mind that I could find a new tool, drop a note about it in our dev chat, and have it be seriously considered for use in our stack. This kind of progressive and agile motion just doesn’t happen in a giant department, and it’s seriously empowering as a developer.

I also learned the importance of caring for your own code.

When I was part of a very large and disconnected team, it was easy to get lazy about code maintenance without knowing it. I would often develop features, create tests, and never see the module again. Now, my co-developers are sitting right next to me and will get pretty annoyed if I take shortcuts or decide that documentation isn’t necessary. If I don’t take care of my code, I just create more work for myself and my coworkers.

And, like my coworkers, and I don’t want them to deal with crappy code that isn’t up to snuff. I’ve become a better programmer just through caring about those that will be making changes to my code in the future (myself included).

2. Keep Learning

If you’re not growing each day as a programmer, your relevance is shrinking. My previous job enforced “professional development hours” as this dreadful, mandatory quota that needed to be reached each month at the expense of programming time. It always came in the form of stuffy seminars and documentation to prove you were present.

My gosh, what a useless practice.

At Todaymade we make use of many new tools and we change things often. If a continuous integration utility gets better reviews and we’re not happy with our current one, we make the switch. If Ember releases new features, we try to use them. We don’t need to *enforce* professional development hours in the office because we all *want* our knowledge to be current. It makes our jobs easier.


If you're not growing each day as a programmer, your relevance is shrinking.
Click To Tweet - Powered By CoSchedule


Just as important, we have a culture of self-improvement that drives us to read books about our discipline.

Sometimes I’ll pick up a heavily technical manual about JavaScript patterns and other times a zoomed-out account of the philosophy of pragmatic programming. In either case, I’m encouraged by our office to strive for self-improvement with a yearly learning allowance where the office will pay the price of learning materials, whatever they may be.

Our learning isn’t limited to just code either either. Passion for just about anything is encouraged in the office and we’re supportive of each other and our out-of-office pursuits. Seth and I make mead together. Julie maintains a magazine she created and also makes awesome cartoons. Justin likes model trains and HAM radio. Garrett is an android and works all the time, so, good for him! (Just kidding. He draws us really cool custom shoes sometimes.)

The point is we’re not told to “be better”, we’re empowered and challenged to “be more awesome” each day.

3. Achieve Balance

Being the new person, it’s easy to start making personal sacrifices to make a positive impression at the office. I learned early on at Todaymade that passion can be a double-edged sword: it will allow you to work your butt off, but the impending crash can be pretty serious.

I’ve learned the importance of balance, and being able to tie things up neatly at the end of the day and remove myself from the keyboard for awhile. Just ask any of my coworkers and they’ll tell you how bad my sleep and dietary habits were for the first several months (think classic startup scene with energy drinks and 3 a.m. bedtimes). But, as I’ve learned that the pressure exists in my head and nobody is going to yell at me for not working, I’ve begun to get to bed earlier, exercise regularly, and eat a salad once in a while. I might make it to 40 yet.

It’s important to know that in a small team nobody has time to babysit each other. The idea of getting in trouble and needing to have your butt in a seat goes out the window. Everybody has a job to do, and you trust each other to do it. When the work is done, relax, have a beer, and take some time to yourself.

4. Culture and Fun Are More Important Than Money

I know, different strokes for different folks, and it’s incredibly easy to say this as a single man with no kids. But I hope my opinion on this never changes.

I’ve learned that I’m much happier in a place where I fit in and share personality traits with coworkers whose skills I admire. In fact, I wish that as a college graduate somebody had convinced me to seek a proper fit rather than prestige and a fat paycheck. I spend at least 30% of my life at work, so it should have been obvious to me that I need to be happy there, but it wasn’t, and I don’t think it is for most people.

The point is that you should work at a place where you can be yourself, be comfortable, and have the flexibility to perform your best.

I used to work in an office with a strict dress code. It was this same office where I was once taken aside by HR for saying my programming code was “being a total butthead.” I understand why policies exist in big offices, but I can attest that it’s far better to work somewhere with coworkers that possess common sense so you don’t even need to bother with silly policies.

We take ourselves pretty seriously.

We take ourselves pretty seriously.

Nowadays, I can dress comfortably and express myself without worry. Sometimes people are unwilling to move to positions with less money. I’ve learned that I’ll probably never take a job where I can’t be myself, and money will be the afterthought.

It has been a heck of a year, and looking back, I’ve made big strides as a developer and a person. It’s a great feeling to work somewhere that offers rewarding challenges with coworkers that pass the “Sunday Test”. I hope you, dear reader, have experienced a year of growth as well. If you haven’t, maybe it’s time to move on.

The Sunday Test

Stripe turns down candidates with outstanding engineering talent if they don't fit with the team's culture. Each candidate must pass the "Sunday test." If this person were alone in the office on a Sunday, would that make you more likely to come in and want to work with them? If the answer is not a clear yes, then don’t make the hire. Hiring a few bad eggs might impact your ability to attract top talent in the future. In the short term, you might miss out on really great people, but like recruiting, you have to play the long game. (Read more)

This post wasn’t intended to be a recruiting tool, but I can’t help but throw this out there. Todaymade has been a fantastic place to work for the last year, and if you are a person that wants to do awesome things with us, we’d be excited to hear from you.

Here’s to another year, to learning, and to having fun. What have you learned in the last year?

The post A Programmer’s First Year at Todaymade: Lessons Learned appeared first on Todaymade Blog.

 
Tips and Tricks Blogging © 2013. All Rights Reserved. Powered by Blogger
Top