One question that regularly comes up in the career of developers is “Should I be a dev lead?” It’s a challenging one because the definition of a dev lead varies substantially from company to company. In a broad sense, there are three parts to being a dev lead: 1) providing deep technical insight, 2) connecting the team’s needs and the company’s needs, and 3) personnel management. There are a thousand other pieces, but these tend to be the big ones, and giving percents for each can give you a reasonably proxy for what being a dev lead means at each company.
Throughout my career I’ve been frustrated with the software developer interview process from both the perspective of the interviewer and the interviewee. The process varies substantially from company to company and I don’t think anyone has it right yet. One of the problems is that people either don’t know what’s important day-to-day in the actual job the candidate will fill or they don’t focus on it. This can come from the mindset of “That interview process was really hard but I made it through and I’m a good dev, so it must be a good process.” In revamping the interviewing process for the Android teams at Hulu (insert the usual disclaimer that everything I say is my opinion and may or may not reflect Hulu’s view), I’ve focused on a few core parts.
A bit over nine years ago, I published an app called Predator Clock Widget to Google Play (then, Android Market). I was working for a small startup at the time and a client had an interest in adding a widget to their app. I figured the best way to learn about how to make Android widgets was to actually make one in my spare time, so I looked around on some forums for ideas people were interested in and came across a request for a clock widget in the Predator style. It sounded good to me, so I built it out.
I expected a dozen or so installs, but it slowly racked up the downloads a bit shy of one million when I unpublished it. I decided to unpublish it because I get some emails asking for support or features and the best I can do is reply that I don’t have the time (or interest) in working on the app anymore. Honestly, it’s surprising that any people had interest in it in the first place and pretty impressive that an app that ancient could still work despite how poorly coded it was.
Just a quick note that I’ve enabled HTTPS for the blog, so existing HTTP links should redirect to HTTPS. I used Let’s Encrypt and am really happy with the experience, so I’ve donated to them and recommend you give them a try.
Something I’ve been reflecting on recently is what I know now compared to when I started my career. It’s easy to lose sight of how little I knew then (not to mention how far I have yet to go). When I first started working, I really wish that I had known what to look for and what to expect.
I’ve been fortunate in life to have had the opportunity to work with many kinds of people in a variety of occupations. My first job at 15 was working as a busser in a local restaurant. A month out of high school and I was in the Air Force, where I learned tactical satellite communications. Since then, I’ve done a teaching internship at a public school, I’ve worked at a poorly funded startup and a well funded one, I’ve experimented in an innovation labs-type environment, and I am now working at a tech company that has an Android team larger than the entire first startup I worked at.