Robotics Software Developer
Job Title: Software Developer
Type of Company: Our company produces "swarms" of robots to store and retrieve inventory inside large warehouses or distributions centers. We sell our systems to large and small companies that have a need to store and retrieve inventory in a warehouse or distribution center environment.
Education: BS, Electrical Engineering, Cornell University MS, Engineering, Electrical Engineering (concentration in Information Theory), System Engineering Option, Cornell University
Previous Experience: After college, I worked for a small web consulting company named Interdimensions. This was my first job out of college and was a bit of a step away from my degree-based training in electrical engineering. My primary role was as a project manager, but I learned how to write production-quality code on the job as well.
After working for Interdimensions for 4 years and jumping between technical, project management, and business development roles, I decided to join a start-up company, where we develop software that uses robotics in a novel way to move things around inside warehouses.
Job Tasks: As a software engineer and a team leader within a department of about 20-30 software engineers, my job is multi-faceted, but my primary goal is to steer the quality and functionality of our software components in alignment with our company needs.
I have worked on many different aspects of our software, but right now I work on software that figures out how to get all of the inventory in and out of our system, including telling the robots where they need to go next, and where and how inventory should be added or removed from the system to maintain a balance of performance and efficiency.
Day to day, my responsibilities begin with reviewing new software requirements or feature requests put forward by our marketing, sales, and product management folks. I am often required to provide feedback or insight to the marketing team to help clarify their understanding of the requirements. Then, I work with others to come up with a savvy technical design as we try to decide how to modify our existing software to meet the new requirements. Finally, I work with a team of engineers to make the changes and additions that we need, including all sorts of software tools and tests to monitor and prove that our changes do exactly what we hoped.
Best and Worst Parts of the Job: The best part of my job is definitely exploring new ideas and their interesting application to the problems we're trying to solve. Working with other engineers who lend different perspectives to the challenges we face makes for a fantastic learning environment.
The worst part of my job is perhaps the uncertainty involved in trying anything new. Sometimes we succeed and sometimes we fail, but this is really not a "bad" part of the job, it's just something you accept when you set challenging goals for yourself.
Job Tips: Be outgoing, and don't be afraid to get to know your professors and your colleagues. You'll find that many of the best opportunities that come to you later (like future jobs, future opportunities) come out of these prior relationships.
When taking coursework, get hands-on. In my case, I was an electrical engineer and I took all of the courses that gave me plenty of technical understanding, but really it was my ability to apply that knowledge to projects throughout my educational career that directly led to many future opportunities.
When choosing a job, choose one that is fun and that suits your interests, even if it has nothing to do with your prior experience! You didn't decide on that college degree solely because of some cold numerical payoff calculation, did you? Every person you ever meet that rises to the top will tell you that they succeeded because they found what they do as thoroughly interesting and challenging.
Additional Thoughts: When it comes to getting through your education and starting your career, don't be afraid to take on a challenging problem that interests you, especially one that involves a team effort. This is a great learning experience and a real differentiator. In the working world, team dynamics along with gobs of passion and interest in your work are the great differentiators that will enable you to succeed.
Also, if you have the chance, take a business/team psychology course, and learn something about the way that you and your siblings function as individuals, and what motivates each of you, and how to motivate others. It's invaluable.