Software Architect For A Global Communications Company
Job Title: Software Architect And Engineering Manager: "Distinguished Member Of Technical Staff"
Type of Company: My company is a large global communications leader.
Education: BS, Computer Science, Merrimack College (North Andover, MA) BS, Health Science, Merrimack College
Job Tasks: I manage a small group of software engineers who develop software for our Fiber to the premise Passive Optical Networking gear (deployed as FIOS by Verizon). I participate in developing the software architecture for the products. I write design documents which detail the software implementation. I assign software coding and testing tasks to my people and myself and track our schedules. We write our software in 'C'. I am the lead software person responsible for Internet Protocol TV in FTTP, which uses internet protocol multicasting to deliver TV channels to the home. I do some of my work in my cubicle and some of the time I am in a large lab with a lot of our equipment and plenty of test equipment which simulates the real world scenarios. For example, we have test equipment which generates multicast streams which are similar to a real IPTV channel. We evaluate and purchase some of the software used in our products. Other software we write from scratch. We monitor standards organizations which specify various communications protocols like Internet Protocol (IP).
Best and Worst Parts of the Job: The best part of the job is using my analytical skills daily. If you enjoy math, logic, and problem solving, you would enjoy this job. You work with other very intelligent engineers which is stimulating. I enjoy being the only woman software architect in the FTTP product group.
The worst part of the job is that it can be difficult to solve complex software issues which may require a lot of time and patience. Another somewhat challenging part of the job involves working with other smart people with big egos. Some engineers can be difficult to work with. Sometimes it is busier and more demanding than I would like.
Job Tips: I would advise getting a degree in Electrical Engineering for this type of job. I have a degree in computer science, but an EE degree would have been a better fit and would've given me a better understanding of the hardware I have to program. You should enjoy math and computer programming and take as many of these courses as you can. Advanced degrees are helpful in this field. I do the same work as many people with Ph.D.'s or Master's degrees. Having a BS hasn't hampered me, but I might have risen more quickly with an advanced degree.
Additional Thoughts: Most people do not have much understanding of what I do. It is not like saying I am a doctor or a nurse. For this reason, I don't talk much about my job to people I know. It is a job that may require a lot of hours at times. It can be difficult at times to solve complex problems. There is not a lot of customer interaction. Mainly you interface with machines, so it is a good job for more introverted, less people oriented types. However, it is helpful to have good people skills and lots of patience.