Some of my students are enrolled in our district’s STEM academy. Recently, they were asked to contact professionals who work in the fields that they are interested in pursuing. Several students asked me if I knew anyone who worked as programmers that could respond to their queries. I had a number of people in mind from my previous career as a network administrator for Ziff-Davis publishing as well as friends and family who worked as developers.
My first step was to contact my friends to see if they would be willing to participate. Thankfully, most were happy to correspond with the students. I then passed along their email to the students. Some of the responses are summarized below. It is interesting to note that only one has a formal degree in computer science. They each have great lessons from their experiences.
Hello, my name is A. I am 12th grade student at Everett High School in Massachusetts and am interested in pursuing a career in application/program development. Neil Plotnick, my computer science teacher, referred your email to me. I would be very grateful if you could take a moment to answer a few questions for me about your job and your work-related lifestyle. These will help me in making a decision on which major and career to pursue after my degree is obtained. Thank you very much for your time. Please feel free to leave a comment or statement that will further help me understand your work and how you enjoy it.
Below are the attached questions:
1) Specific degree:
2) Place of employment:
3) Please describe your engineering field.
4) What is your current job title?
5) Please describe your particular job and duties.
6) What is your average work schedule?
7) Starting with high school, please describe your educational background chronologically.
8) If you had it to do over, related to your career or education, would you do anything differently?
9) What advice would you give to me as someone interested in pursuing a career path similar to yours?
Response # 1 - David L, a software engineer at a leading e-commerce firm
1) My degrees are in: naval architecture and marine engineering - BSE; ocean engineering - ME.
6) I typically work 40 hours per week, but occasionally a few hours more, when needed. Every now and then, one engineer on our team is “on call” for a week, which means we can get paged at any hour if a problem happens with our software that is affecting customers.
8) No. I think my background in physical engineering was a more well-rounded education than one that would have purely been in software engineering. After all, physical engineers generally need to learn software development as well, but have more options in the long run.
9) Develop software as a hobby for fun. Make games or useful tools. For example, automate things you do “manually.” For example, if you find that you check certain websites each day for certain bits of information, write a tool to do that for you, and send you a text message with the summary. Or write a tool that checks the status of the trains you take and sends you updates when there’s some kind of change. Even though other people may have already created these things, doing it for yourself is a huge help. Have a game you like? Try to reproduce it. Not all at once, of course. Many games have huge budgets and staff. Just pick one aspect of the game and try to reproduce that. Also, get involved in open source projects. If you contribute fixes/enhancements to a popular open source project and can point to that kind of accomplishment in an interview, it goes a long way, especially when you don’t have much work history in the field.
Response #2 - David T, a senior staff engineer at a technology company
1) I have a BS in computer science and engineering from the University of Connecticut. Then I went on to get a MS in computer science from Boston University.
3) My engineering field over the course of my career has been in embedded software, typically for networking products (e.g. routers, bridges, switches). The embedded software has been designed and customized to run on custom hardware boards and systems designed by the companies I work for.
5) I am involved in design, implementation, and test of platform software. The platform software components consist of U-Boot boot loader and embedded Linux. The software runs on a single core ARM processor located on a custom board that my company manufactures. I program primarily in “C” language and a bit of microprocessor assembly language.
6) On average I work a 40-45 hour work week; however, during busy times, the hours increase to about 50 hours per week. That is intense and hard to sustain for long.
7) I went directly from high school into University of Connecticut, where I studied for four years. I did attend classes one summer as well there. After I settled in a bit to the working world, approximately three years later, I started taking courses at Boston University to count for my MS degree. I took one course at a time at night while I worked, and the company I worked at paid for the courses as long as my grades were satisfactory. It took me five years of taking one course at a time, but I got my MS degree!
8) If I could do it over, I would try to start earlier on learning and practicing “C” language and also “C++” language. I would also just study computer algorithms in general, like search and sort, high-level concepts that can be implemented in any language. I realize it might be hard knowing what computer language(s) is relevant to your career, but if you do know, start early on learning those language(s).
9) I think programming is a great career, and it is very broad given the different type of applications of software (e.g., web design, storage, networking, database, medical, AI, etc.). Other than my comments in #8 above, I would recommend reviewing the job postings from local companies for desired skill sets, computer languages, etc. Also, I find that there is a bit of background required to perform programming successfully in a given field/application. So, above and beyond the actual programming languages themselves, the industry concepts are so important to make you an effective employee and successful in your field. And longevity in a given field can make you even more marketable, so figure out what field or application of software development interests you most and try to stick with it. Finally, keep up your image as a good worker and team player, because reputation and networking will go so far in helping you find and keep a job!
Response #3 - Eamonn S, a senior software engineer at a broadcasting company
My name is Eamonn. I am a senior software engineer at a broadcasting company. I worked with your computer science teacher in the 1990s at a weekly magazine for technology news. My path is quite unusual because I had two very different careers. I worked as a journalist (reporter/writer, editor) for 20 years from about 1987 to 2007. I was a journalist when I worked with Mr. Plotnick; however, I’ve always been technical and picked up computer programming along the way. I have been writing software for decades, usually for a newspaper’s website or to help my colleagues get stories written or edited sooner or easier. But I’ve only been paid specifically as a software writer for the past 10 years.
As to your specific questions:
1) Specific degree: BA in history, Saint Anselm College, Manchester, NH in 1988. I specialized in modern European history and had a minor in Soviet Studies. Note that the Soviet Union collapsed the year I graduated. I mention that because I think it is important. It doesn’t matter too much what you study as long as you find it interesting (so that you do well) and you are heading in a direction that you find attractive and exciting. A year or two after you graduate, what degree you have will matter very little.
While I was in college, I was writing sports news for a local newspaper. Also, many of my electives were computer-related. I studied Pascal, Basic,and Fortran at Saint Anselm, but decided in the end to get my degree in history instead of computer science. So the mixture between journalism and programming started early.
2) Place of employment: I work at a broadcasting company. We are the world’s oldest and largest broadcaster and it runs one of the world’s busiest websites for news, television, and radio.
3) Please describe your engineering field: I work in an area of my company that manages its content (a fancy name for news stories, video from television shows, audio from radio shows, etc.). The department I belong to is called content production systems (CPS). As far as we know, CPS was the world’s first content management system for websites, starting around the mid-1990s. We write the software that the journalists use to create news stories, both on desktop computers and on mobile devices around the world, in dozens of languages. We also manage the software that publishes and organizes the content so that it can be displayed on the website.
5) Please describe your particular job and duties: It’s difficult to describe what a software engineer does because it varies so much day-to-day, but I’ll give an example on a current project I’m working on. The news and sports departments want to start sending alerts to smartphones (iPhones and Androids) that include photographs and short videos. We already send alerts but they are text-only. The news and sport departments would like to encourage more users to click on an alert, which opens the full content in the web site, and they think a photo or a video would entice them. The sports department would especially like this for the Winter Olympics, which will be happening early next year. My job was to talk with the journalists and their managers, come up with a list of features that we need to provide, and identify the software that needs to be changed to provide these features. I also work with other software engineers to modify the software, test the changes, and present the features to the news and sports department when they are completed.
Please notice that only a small bit of that description involved actually programming (modifying the software). Even fairly simple-sounding features such as this can affect many, many corners of the company, so I spend most of my time dealing with people. Asking the right questions of the users, communicating requirements effectively to my own team and to many other teams, answering questions, and providing feedback.
6) What is your average work schedule? We have a flexible working environment, which means I can vary the hours I work on any given day, but typically I’d leave my house at about 8:30 a.m. or 9:00 a.m. and get into work at around 9:00 or 9:30. I typically will leave to go home around 5:30 p.m. and get home around 6. This can vary enormously; during recent elections, I worked overnight, for example. We can also work from home if we want to but I find it easier to communicate with people face-to-face and only work from home maybe once a month or so.
7) Starting with high school, please describe your educational background chronologically: I graduated from high school in 1981. I was not very academically inclined back then and took a few years off. During that period, I held several interesting jobs (including a truck driver) around the country. I decided to go to college around 1984 and graduated from Saint Anselm in 1988. I then worked for many years as a newspaper reporter in New Hampshire, Vermont, and Massachusetts at various newspapers, covering (at various times) sports, crime, politics, and the technology industry. I moved to London in 1998, where I also worked as a reporter and editor, covering business, technology, and legal news. Around 2007, I changed careers and started to work for the software division of the news organization I worked for at the time. I left there after 15 years last year and moved to my current company.
8) If you had it to do over, related to your career or education, would you do anything differently? I don’t think I would. It was a long and winding road to where I am now, but I wouldn’t trade away any of the experiences I’ve had—even driving trucks.
9) What advice would you give to me as someone interested in pursuing a career path similar to yours? What I’ve told my own kids (I have five of them, now all in their 20s) is to go into a direction that you think will be fun, exciting, and interesting. Never go into a direction because you think you ought to or just because you think you’ll get paid more. I’ve always prioritized fun and interesting way above pay and career development, and I’ve never regretted it.
Do you cultivate relationships with your friends or family that you can use in your classroom practice? Please share your experiences by commenting below!
Neil Plotnick works at Everett High School, an urban district located just north of Boston. He has taught both Exploring Computer Science and Computer Science Principles courses developed by Code.org. Neil is a 2015 national winner of the Presidential Award for Excellence in Math and Science Teaching (PAEMST) for Secondary Mathematics. Neil has a keen interest in Open Source software, especially Linux operating systems and how they can be used in the CSclassroom. He welcomes your comments at firstname.lastname@example.org.