In the Spring of 2000, I began working on a project in which I would have never guessed would have blossomed into a career.
I was a Freshman in High School and I had a choice of two technologies as my medium for a report on a hobby. The hobby that I chose was my favorite science fiction series, Star Trek, and my technology choices were Microsoft Powerpoint or “Web Page.” I had no idea how to make a web page but knew from my years previous of using the internet with my tech-savvy Dad, it couldn’t be easy. But, it required some sort of creative understanding (exciting!) and some programmed code that my Dad seemed to spend hours writing for his programs at work.
Again, I wouldn’t have known at the time how monumental this would be in my life, in fact, I would have told you that you were crazy. As I think about this, I also remember this fact: my first website lived on a 3 1/2″ floppy disk, something that seems so simple (AND SMALL!) compared to the frequent conversation that I have with regards to page speed, these days.
My career might have those humble beginnings and spans working in IT departments, for swimming pool companies, to banks and insurance claim processing software businesses, but ultimately it took a while for me to feel comfortable in what I do, let alone find a somewhat understandable way to describe it to another person. And even at that, it took real desperation of working for myself and never forgetting I was trying to feed my family with this job.
I’ve been a developer, professionally, for almost thirteen years. I’ve been the junior, the manager, the advisor, the director and everything in between. I’ve worked with an eighty person team, as the sole developer at a tiny three-person business, and a few different sized marketing agencies, on top of being a freelancer for myself. I’ve worked with people well into their 80’s and fresh-faced college grads with some cash and an idea. The working culture, salary, benefits, leadership structure, work-life balance, and education of each of these co-workers and bosses have varied greatly across the board, and some have kept me at places longer than others and while still others have caused me to find different pastures in order to continue to grow and mature.
Today, I find myself simplifying my focus while broadening my opportunity for the work with which is handed to me. Problem-solving is what I love to do and development is my medium. Some days that’s working to advance a subordinate’s role on my team, other days it’s trying to figure out why a Custom Post Type built for an Events Plugin does not display the correct data on a particular pageview. These aren’t just checkboxes on my daily To-Do List, these are problems to be tackled, confirmed, mulled over, researched, solved and moved on from. A far cry from describing my favorite TV series for school.
When considering many of the developers that I interact with these days have under five years of experience in development, I realize how much I’ve learned in five years and how much they will learn in the next five years. It’s just crazy to think, many developers don’t remember building websites that weren’t responsive or didn’t have a CMS, design system or code compiler.
And because I think the best way to learn is to talk about something, think about something and teach someone about it, below is some advice I’d give anyone looking to grow their career in development. Though I suspect some of these could be applied to any career if applied generally.
FWIW, the tl;DR version of this would be: stay lean, have an open mind and never stop learning.
1. Learning Tools
My brother works in a machine shop. He’s worked in two shops since he graduated high school and loves what he does. The first machine shop, that he started at with a job of sweeping the floors, was a shop that had just bought its first CNC (Computer Numeric Control) in place of the manual, non-computerized machining equipment that they had used for the prior 70 years of the machine shop’s history. It was scary for a lot of those aged machinists, but it was the wave of the future and the leadership knew if they wanted to keep that shop open so everyone could see retirement, they couldn’t run from it now.
Fortunately, web development doesn’t move that slow. In fact, in the course of my career, I’ve found that Moore’s Law is closer to being true every few months instead of every two years. Adding the ability to adapt and being a life long learner is for more than just the new ideas and web browsers. It’s the tools, the code, the servers, the workflows, the hosting environments, and more. What I do now is similar to what I did five years ago, but it’s unlikely to be recognizable in five years from today.
Be agile in your toolset, keep what you know works but don’t be so tied to something that you go to a conference and are “that guy” who still uses Dreamweaver.
2. Love/Hate Trends
Trends are always going to be around. For the most part, there is nothing less for you but to be aware of them. Go to conferences, sign-up for a Twitter and CodePen account and follow industry leaders. Ask questions of industry leaders and other fellow designers/developers. Don’t waste time diving into something that is not quickly being picked up by blogs but too quickly enough by developers. We developers tend to like new shiny things but we also seem to have a hard time finding real-world applications for these shiny things outside of playing around when we’re waiting on projects to ramp up.
If you think it’s hard to switch to the newest version of Bootstrap or Foundation or perhaps the latest Vue.js library on all of the sites you manage, try convincing your Account Director or Project Manager you can do that over what your job actually requires of you. Believe me, if your business deals with clients, no one cares if you use React, or Vue.js or Node or whether or not your Drupal or WordPress installation is headless. (And if you work in a client-based business, or generally with anyone but developers, most don’t care what technology you use, as long as it’s fast, cheap(ish) and easy to use.)
Anyway, if these new shiny things stick around they are good tools for your tool belt – just remember they won’t come to light as fast as they came on the scene.
3. Work/Life Balance Will Advance Your Career
This seems like a silly thing to have to point out, but the whole Silicon Valley thing of working 15-20 hours a day, seven days a week is just plain madness. I could make a conspiracy theory comment and say it’s possible there are so many dating apps out there because there isn’t enough balance in people’s lives to go around, but that’s something for another blog post.
Seriously, make sure you are making time for yourself, your health, your spouse/dating life, family and your career. No one is going to care about the 800th commit on that repo when you are dead, but what they are going to care about is that they even knew you to be around in the first place.
4. The Ascension to Leadership Is Not Required But Being a Good Leader Is
Before reading this section, read this tweet.
When you hit about 5-8 years in your career as a developer, you will potentially find yourself looking at being in a position of leadership. Normally this is because you are a thought leader in your department or industry, a knowledge leader or because you show real leadership qualities without holding a position of seniority. Being put into a temporary or permanent leadership position can be the result of a lot of things, but most importantly, or at least hopefully, it is the result of you interacting well with a team and seem to know what you are doing.
I know several Creative Director’s out there are storied graphic designers who had no other place to go but up and their company had run out of Senior titles to give them. This doesn’t mean you turn down a promotion but it does mean you should consider if you are in the right place of business if they don’t know what to do with you. Only you can know, have a conversation or find out if you want to lead a team.
And, you may not want to be responsible for not only the success of a project but for the career trajectory and success of those who worked on the project. That is a-okay! Outside of the leadership position, you still must learn what it is to be a leader. There is no (good) way forward without that.
Once you’ve got those years under your belt, you can be a leader in how workflows are understood and executed. You can be a leader in knowing where to find the answers for problems or a leader amongst your peers as the consistent one who can always be relied upon. You can be that person that junior team members look up to and you can be that person who gets excited for the team’s successes, not for your own pride. All of this is not paid (but it ought to be, at a minimum in perhaps in good karma…but money, too) and it can lead you into a place where you want to be and are the most satisfied with what you do.
If you want to become a managing and/or directing leader, that is awesome, too! Try it and see, some businesses allow for a trial run in a position – it’s cheaper than hiring a new person! But don’t be afraid to go back to development because that is what you truly love. There is a job out there for the income level you need and the work you wish to do, you just have to look and try.
What you don’t want is to find yourself promoted to managing developer, hate it, and then pass that negativity down to everyone below you. That’s not a being a good leader and that isn’t making your team a success.
Money and titles are representative of success but are not always true success in the long run.
5. Culture Is Ever-Changing And Doesn’t Wait
Company culture is a big deal to the longevity of you and your career. Think about it, you spend 40+ hours in the thick of it, more time than you spend awake and away from work during the week. It’s got to matter to you and you’ve got to more than tolerate it. Make your personal and professional goals and then look at your company culture and see what does and doesn’t fit. It’s more difficult to do this during not-so-good economic times or really early in your career, but ultimately your success as a careered developer and person depends on you thriving and growing.
If you need encouragement and your boss isn’t giving it, see what you can do to change that. Don’t jump ship at the first sign of trouble, it is just as hard to find a new job as it is for them to replace you. If you keep trying and things don’t change within a reasonable amount of time, find a different place where they care about you. Your current position of employment is just as optional to them as is your decision to continue to work at that place of business.
Moving across the country, across town, switching industries, learning something completely new, just to get to a place where you are happy and thriving is worth every penny and second of your time. Sure, we all have our bad days, but bad days don’t happen for months or years at a time and a company culture that isn’t pushing you to a better place while enjoying the successes of your employeeship isn’t worth your continued time and energy.
And don’t forget, recruiters will always tell you everything is bad and changing a job is what will make you happy. But remember, that’s what makes them money, so if things are at a dead-end or you aren’t sure what to do, reach out to friends or find experienced folks to chat with about this. Perspective is a big deal, all things considered.
6. Expect Change, Difference, and the New
If you believe that nothing will ever change or that new is always evil, you will become stagnant, infect the team and business you work for and ultimately hurt yourself and potentially others in the process. You must work to be as open and ready for change and differences as much as possible. Every day is new and you cannot stop it. Embrace it, understand what you can and figure out how to merge it into your lane as you go about your career.
I like what Yoda said: “Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.” This is so, so true in your career. No one wants to work with or for a fearful person or someone who actively avoids growth and change.
7. Communicate, Communicate, Communicate
Communication is huge. You cannot stop communicating in development – the internet is literally computers talking to each other with everything they do! Figure out if you naturally are an over-communicator or an under-communicator. This is really important to your success with your teammates, your boss, your project managers or anyone you come in contact with your career.
Learn how to communicate with different people, adapt to their understanding of communication (over or under communication) and how they understand communication. Verbally/body language in-person, on the phone, through text messages, through Slack/chat programs, through email, video conference calls, etc. Nearly every problem you run across with co-workers, bosses, recruiters, clients, etc. are often tied to communication, versus the actual action or problem at hand. You can mess up a hundred times when writing a commit, but it only takes one mistake in communication to find yourself “on the bread lines.”
Growth is so important. How you determine to find and expand that growth is how you continue to get through your career as a thriving and successful developer is up to you. You don’t want to get to retirement, provided we all have an ability to do so and say that you merely “survived it.”
You want to say you grew to the tallest and further spread tree of a career that you can look at and say it was good. And as a developer, I can say with full confidence that my career is strange, but a damn good ride.