Back to blog home page

A Day in the Life of a Coder

Posted by on Dec 04, 2014

Whether you are a Chief Hacking Officer, Code Magician, Engineering Ninja or Software Craftsman your day may look a little or a lot like the one below.  It could be that you swap the Red Bull for coffee or other caffeinated drinks or maybe you ride a scooter to work – but  one thing’s for sure a good portion of your day is spent coding.  And it may be that you are coding in Angular, JavaScript or any other frontend language or perhaps in Node.js or PHP on the backend.

a-day-in-the-life (3)

  • Topher Hunt

    Any coders / web developers reading this: Is this a realistic reflection of your day? I’m a freelance Rails developer and I can’t relate to most of this.

    I work from home and on flexible hours, so I swap out the commute for household chores and dinner-movie with my fiancee. There’s no designated time for morning meetings or code reviews, so I hone in on the task at hand (ie. whatever’s next in Pivotal Tracker) from the moment I open up my computer. I’m a believer in “early to bed, early to rise” so I rarely feel like I have to drag myself out of bed, and I definitely can’t relate to the Red Bull.

    Maybe I need to learn more about Silicon Valley tech culture, but this doesn’t at all describe “being a coder” to me.

    • Dale Vivian Ross

      Nope.

    • Sariel

      Topher, how did you become a freelance Rails developer?

      I am very interested in this industry for its potential to work remotely, and be free to travel the world and work my own hours!

      Any information would help a burgeoning code monkey achieve his life dreams!!

      • Topher Hunt

        Hi Sariel – I’d say it’s a good industry to be in right now as long as you really enjoy programming problems and take (healthy) pride in crafting beautiful things that help people. If that describes you, I bet you can get up to speed on Rails and find projects that you enjoy working on, without killing yourself. It has a HUGE learning curve though, and takes time to work you way up to the really fun project, so don’t jump in expecting to be a senior developer in 6 months or even 2 years.

        To train yourself up: I’d start by first going through a few of the free Rails tutorials online. Those will show you the fundamental ideas & pieces of Rails development. Keep doing these until you can think your way through the architectural pieces in your sleep.

        Second, identify a couple interesting website projects you’d like to build, and try to build them in Rails, all the way to a staging & production deployment on Heroku etc. This is your opportunity to start running into those “Oh crap how would I handle this in Rails?” problems. Make note of the pain points that come up, but don’t let yourself get bogged down or you’ll lose momentum.

        At some point, you have to decide “I’ve burnt enough time practicing this stuff, it’s time to go out and look for paid projects”. This is scary because, if you’re smart, you know you’re not fully up to speed and won’t be able to solve a client’s needs as masterfully as you might like to. But **your real learning doesn’t start until you’re solving real-world problems** so sooner or later you just have to put yourself out there.

        Set up a profile on Upwork and similar freelancing sites, and check them regularly for projects that feel like a good fit. Aim for the small projects where you’ll be working on a small team or by yourself. A large team can afford to put you in the “junior developer” role where you’ll be tasked with the more trivial stuff; but if you’re the only guy accountable for a project, you’ll be forced to learn enough to make it all work. That can be intensely stressful, and initially I only billed 30%-50% of my actual worked hours because I knew my inexperience was making things take way longer than they should, and I wanted to be proud of every hour I billed. Initially, the goal isn’t to earn what you’re worth; the goal is learning by immersion. My starting rate was around $25 / hour (half what I thought it was worth at the time); now it’s at $50 / hour (still half of what I think it’s now worth). You should have a clear sense of what you’re worth, but it’s easier to get your foot in the door when your starting rate is well below that.

        In my experience, once you’ve found a couple initial projects, you’re set. Focus on gradually improving your skills, improving your output efficiency over time, and working on your projects long enough that you get exposed to many of the quirks and pitfalls of web development, the common code patterns and their pros / cons, etc. Go the extra mile (and short yourself as much as needed) to deliver excellent end products that you’re proud of and that pleasantly surprises the client. (This isn’t just about the relationship, it’s about cultivating your own ambition & ensure you don’t get self-satisfied.) Then at some point, if you’ve kept growing and learning, you hit a ceiling: the pay isn’t enough, or the company hits hard times and your hours get cut, or you’ve gone a while without learning any new interesting tricks. At that point you gracefully scale down your commitments and put yourself onto the market for other work. (Don’t burn the bridge; it’s REALLY comforting to have a plan B or three when you’re negotiating future projects down the road.)

        My strategy was to seek out **long-term projects** with **tech-savvy clients** each on a **half-time or quarter-time** basis. There’s less busywork with marketing and project setup when you’re on the same project(s) for many months, and If one project ends or goes stagnant, it doesn’t hit as hard as if that was your full-time gig. I like tech-savvy clients because I’m more likely to learn valuable things from them, and we speak more similar languages so it’s miles easier to communicate what they want and what’s technically possible.

        Be cautious about the travel. Yes you’re doing remote web development work and you can do it from anywhere, but when you’re spending half the day at the beach and struggling to coordinate meeting times with US clients because you’re in New Zealand, the client can feel it, your work quality & focus suffer, and the relationship gets strained, and you won’t be happy in this work for long if you don’t have satisfied clients and long-term stable projects. So I’d hold off on too much travel until you can honestly say that you’ve gotten good at managing your projects and your clients, and know that you can seek out new work without much trouble.

        I hope some of that is helpful! If you have other questions, feel free to contact me – http://www.topherhunt.com

  • Gerrard

    The most unreal example of a coder’s day! Wish I had days like these 🙁