Job Title: Software Engineer
Type of Company: My company makes computer servers and software intended for medium and large companies.
Education: BS, Computer Science, University of Maryland Ph.D., Computer Science, Stanford
Previous Experience: I worked in software research groups at two large computer companies before taking a job at a small, innovative startup that was more focused on developing a product and getting it out the door. That startup was ultimately unsuccessful. I joined another startup that got acquired by my current employer (a large computer company).
Job Tasks: I work in the "architecture" group of a software product development team. That means that I don't spend a lot of my time actually programming. One part of my job is keeping track of public standards or specifications and deciding how our product will follow them so it works with software and hardware from other companies. When there's no standard for how to do something, I have to come up with something that I think will be easy for us to create and for our customers to use. I also work with others on decisions about the larger design of our software: what the "big picture" looks like, so to speak.
Another part of my job is giving advice to the other members of our team. When they have a difficult problem to solve, they may come to me for suggestions on how to approach it. I try to keep up-to-date on the tools that we have available so I can give good advice on what might be best for attacking a particular problem.
I do some programming, too. Usually, my programming is something experimental: exploring whether a certain approach that seems like a good idea will actually work in practice, for example. I also undertake some projects that may involve a lot of changes to the software, which don't fit well into the regular software development scheme used by our team.
Best and Worst Parts of the Job: The best part of my job is that I get to work on problems that are hard, but not impossible. So I have a steady stream of challenges that don't overwhelm me, and I get to work with a lot of bright people.
The worst part of my job is that there is always more work to do than people or time to do it, so some things that really ought to get done may not make the cut.
Job Tips: I think graduate school was essential for me to get the broad perspective that helps me feel confident about my decisions. It's hard to get that kind of breadth of perspective in the workplace.
It can be hard to leave a team you like for another opportunity, but you have to do it if you think it is the right choice for you.
Keep an open mind. It's easy to think that the next problem is just like the last problem, but if you do that, you can waste a lot of time going down the wrong path. This sounds like generic advice, I know, but in software -- and especially in debugging -- it can be very important.
Additional Thoughts: I think the most important thing you need in my field is curiosity. To have a successful career, you must learn new things all the time - new languages, new programming tools, new styles of working. If you're curious, those things come naturally rather than requiring an effort.
These schools offer particularly quick info upon request, and we have written detailed profiles for each (click school names to see the profiles).
Request info from multiple schools, by clicking the Request Info links.
ABCO Technology is an accredited computer training academy that offers diploma programs for individual students, professionals and companies to learn different areas of Information technology and seek gainful employment.
Turn your talents into a career at nationally recognized and accredited Platt College.
Baker College is proud to be the largest independent college in Michigan with the most focused approach to education and training available. With one of the highest graduate employment rates in the country, our mission is to help our students find meaningful employment.
Study online with California University of Pennsylvania.
The Secret to Getting Ahead is Getting Started
You’re serious about success. With your busy schedule and the desire to move your career forward, you can earn an accredited associate, bachelors or master’s degree at a pace that works for you anywhere, anytime, 24/7.
At AIU, the Serious U, you can get started to get ahead.
Only Coding Dojo teaches five full stacks of the industry’s most in-demand web and mobile development technologies and languages with its onsite flex bootcamp.
Learning at Full Sail University has always centered around interaction and the exchange of ideas. Our online curriculum fully embraces this philosophy.
As a student at South University, Online Programs you will receive the same quality instruction, variety of learning options and level of service found at the campus locations.
Liberty University provides a world-class education with a solid Christian foundation, equipping men and women with the values, knowledge, and skills essential for success in every aspect of life.
The inside stories from people actually working in the field.
Click a story title to show the story, and click the title again to hide it.
Career Stories are concise, real-world career overviews written by people relating their personal career experiences and wisdom. They provide invaluable insights and mentoring advice to students and career changers.
Most stories include:
Please also see our detailed information about Software Engineers For Systems, including: