A software development manager of 7 years shares how creativity and team work 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 that could be the hard part. Thankfully, people in the company know that, 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, I haven’t run into any issue because of that, some people actually show interest due to my accent and I’ve ended up having a nice little conversation about that. 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, it has helped me a lot, because Spanish is one of the romances languages, and by knowing it I can quickly pick up Portuguese, which some of my coworkers speak, and a good amount of Italian very easily.
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 you classroom, 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, new tendencies, 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 in 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 other 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 into a summer class of “logo (programming language.)” I enjoyed learning to giving commands to the turtle so I could draw simple figures on the screen. For more information on this learning tool, visit: http://el.media.mit.edu/logo-foundation/logo/turtle.html
I learned a lot of fundamentals on that logo class that made 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 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?
What is happening is that the plan you created in your head, with the many different parts involved is connecting perfectly. It’s about overcoming the challenge in a very smart way. And you’re having little or no interruptions, this 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 programing 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. Then 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 that, wasting your 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, it depends a lot 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 that this depends a lot on the company’s culture 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, having good perks are worth a lot. Working from home, no professional dressing code, and having really 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 you job 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 about how to handle that kind of tough situation.
What education and skills do you need to get hired and succeed in this field?
Although you can learn a lot by teaching yourself, if you really want to excel, pursue mathematics and engineering. Math helps structuring the thinking process needed to solve complex problems, Computer Science is a sum up 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 where that 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 basis, 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 3 in total. This is good and I know this is more than the average you can see out there, at least in US
Are there any common myths you want to dispel about what you do?
I would like to dispel the myth that programing is boring and computers 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 US to Argentina. I also want to see Australia, and cross from Asia through Europe.