A software development manager with seven years of experience shares how creativity and teamwork are critical to his success in this technical field.
What is your job title?
I’m a software development manager.
Would you describe what you do on a typical day?
I coordinate with developers on the team tasks that they’re working on. In general terms, these tasks can be fit into two categories, bug, or new requirements. These two categories are general problems that need to be reviewed (to find the best solution) and solved.
Usually, to start solving a bug, you need to replicate it, and this can be the hard part. Thankfully, people in the company know this, and they’re very good at giving us ways to reproduce it.
As for the requirements, those are fun: think about these as “desirable functions that people want on the system.” So you have to be creative to solve it, making use of the tools you have handy.
What is your ethnicity? Has it ever hurt or helped you?
I’m Hispanic, and I haven’t run into any issue because of this; some people actually show interest in my accent, and I’ve ended up having a nice little conversation about this. Somehow it becomes a socialization tool for me.
What languages do you speak? How has speaking another language helped you?
I’m a native Spanish speaker. This has helped me a lot because Spanish is one of the romances languages and knowing it allows me to quickly pick up Portuguese, which some of my coworkers speak, and a good amount of Italian.
What don’t they teach in school that would’ve been helpful to you?
The importance of networking and the importance of a real and nice internship.
As for the first one, don’t think about Facebook here. What I’m talking about is to create connections with professors, other students in your classroom, and other professionals in your area of knowledge.
Typical water cooler chats with these people are always very fruitful; you end learning about a new software project and new tendencies, and somehow, this becomes like a free mentoring and a way to gain knowledge of something you didn’t know.
I also have to mention the significance of the rise of social coding tools, like github, gitorious, launchpad, etc. In addition to teaching you the dynamics of a big project, these sites give you the opportunity to collaborate and improve tools that you or others use. It’s very rewarding, and your coding skills will improve significantly.
As for the internship, this was a requirement while doing my undergrad, and you can’t imagine how helpful it was from many points of view because it gave me an opportunity to get out of the academic environment and enter the real corporate world. It was here that I learned so much. No other class will teach you about this. Perhaps most importantly, it gives you professional experience before you have even graduated.
How did you get started in this line of work? If you could go back and do it differently, what would you change?
I’ve been lucky to be surrounded by computers since I was a kid. My mother enrolled me in a summer class of “logo (programming language.)” I enjoyed learning to give commands to the turtle so I could draw simple figures on the screen. I learned a lot of fundamentals on the logo class, which made it easier for me to jump to other computer languages and helped me to easily understand complex problems
Going back, I would like to have tried to provide consulting services. Sometimes, I feel interacting with different industries and hearing a different kind of problems is just mesmerizing. I guess it’s never too late for that.
On a good day, when things are going well, what’s happening and what do you like about it?
The plan I created in my head, with the many different parts involved, is connecting perfectly. It’s about overcoming the challenge in a very smart way. And I’m having little or no interruptions, which is very important.
When you solve a small problem in a very creative and unique way, it gives you more ideas on how to solve others. The creativity starts to build momentum, and you feel your head working full throttle, discovering new solutions to other larger problems. It’s like having just two pieces of Lego blocks: one square one and one rectangular one. With those two pieces, your building options are quite limited. As your programming knowledge and creativity grows, it’s like discovering a whole new world of Lego shapes and pieces, and you can use these to build an infinite number of solutions.
When everything goes wrong, what’s happening and what do you dislike?
Software fails, and it fails a lot. So when this happens, I must go and find the root of the problem, which is generally a challenge, especially with a new software cycle that nobody has tested before. What I dislike the most is wasting time chasing the bug.
What is your favorite part of your job? What areas do you struggle in or wish you could avoid?
My favorite part of the job is creating a new solution, being creative, and solving a problem. It’s very rewarding.
How stressful is your job?
Somewhat stressful because a lot of it depends on the type of company you work for, and deadlines can be your enemy; however, you always have to cope with it.
Are you able to maintain a comfortable or healthy work-life balance?
Yes, although I have to say this depends a lot on the culture of the company you work for. Some of them can be very consuming, and you’ll end up with no weekend. I believe that is not healthy at all. Sometimes is better to say «no» to some money but have a well balanced life.
What’s a rough salary range for the position you hold? Are you paid enough considering your responsibilities?
You can expect salaries from 80K to 150K. But if you are at the lower end of that range, good perks are worth a lot. Working from home, no professional dress code, and having real flexible hours are perks I enjoy.
What’s the most rewarding moment you’ve experienced in this position? Of all the things you’ve done at work, what are you most proud of?
It’s good to feel that your work helped someone accomplish something. One proud moment for me was when the solution proposed by the team I was working on got elected among many other proposals, even from «big boys» companies. The client couldn’t believe we could deliver the same result with just spending a quarter of the money using open source. Thankfully, the project was a success!
What’s the most challenging moment you’ve experienced? What would you prefer to forget?
It’s not good when you have to give the bad news about firing someone. If you’re managing people, you have to expect to do it at some point in your life and learn how to handle this kind of tough situation.
What education and skills do you need to get hired and succeed in this field?
You can learn a lot by teaching yourself, but if you really want to excel, pursue mathematics and engineering. Math helps to structure the thinking process needed to solve complex problems; Computer Science is a sum of these two. But always be eager to learn and be disciplined about your time; there’s a huge amount of info out there.
I also encourage people starting out to try some areas you are not as interested in, such as auditing, networking, or hardware. I have found that working in other computer-related areas can be a great learning tool, and it can be a positive experience that changes your preconceived notions.
What would you tell a friend considering your line of work?
If you like to use your brain on complex and interesting things on a daily basis, go for it! You’ll find this field very enjoyable. You can work in any industry, and in all of them, you’ll learn a lot.
Don’t be scared to try something new; I’ve found that new graduates worry too much about specifics. I can say, «you have the basics so just think and resolve.» Thank God we’re not brain surgeons; if you made a mistake, the only one that will complain will be the computer.
How much vacation do you take? Is it enough?
This year I’ve earned one more week, so I have three in total. This is good and I know this is more than the average you can see out there, at least in the United States.
Are there any common myths you want to dispel about what you do?
I would like to dispel the myth that programming is boring and computer work is for geeks.
What would you love to be doing in 5 years?
It is on my «bucket list» to travel through the world, largely by car. I would love to start driving through the United States all the way south to Argentina. I also want to see Australia and cross from Asia through Europe.