2004 computer programming grad working as lead software engineer at Dow Jones
David Meyer, 34, was a homeschooled PSEO student who attended Inver Hills Community College full-time during his junior and senior years in high school. David graduated from both high school and college in May 2004. He earned an Associate of Applied Science (A.A.S.) in Computer Programming at Inver Hills.
Today, David works as a lead software engineer at Dow Jones in Minneapolis at 111 Washington Square. He started working at Dow Jones in January 2014. He began his computer programming career as a computer technician intern at Tapemark during a summer break at Inver Hills.
David went on to serve as a software developer for a number of companies, including Siemens, Apothecary Products, Five O’Clock Media, Treefort and VMware, the latter company known for the expertise of its software engineering workforce.
“At Dow Jones, I lead a team responsible for standardizing our build and deployment processes and promoting coding best practices to drive consistency, reduce duplication of effort, and increase code quality,” David said. “The team works very similarly to Google’s ‘Engineering Productivity’ pattern.”
David has been working with Emily Johnson, director of career development at Inver Hills, to identify computer science students who would be interested pursuing programming internship opportunities at Dow Jones. Emily pointed out that an internship at Dow Jones would be a major leg up for students seeking to launch careers in software engineering. David agrees.
“The field of software development is still growing and changing rapidly, so there’s just no substitute for real-world experience. It’s also hard to keep up with mentoring all the newcomers. I’m really proud to work for a company that invests in the next generation of software engineers by offering these internships every year.”
David added: “While I have fifteen years of professional experience, I feel like one of the younger programmers here at Dow Jones. It’s so valuable to be able to learn from others and avoid repeating the same mistakes more experienced programmers have already made and learned from.”
More about Dow Jones…¹
Dow Jones is a global provider of news and business information, delivering content to consumers and organizations around the world across multiple formats, including print, digital, mobile and live events.
Dow Jones has produced unrivaled quality content for more than 130 years and today has one of the world’s largest newsgathering operations globally. It produces leading publications and products including the flagship Wall Street Journal, America’s largest newspaper by paid circulation; Factiva, Barron’s, MarketWatch, Mansion Global, Financial News, Dow Jones Risk & Compliance and Dow Jones Newswires.
More about David…
In his free time, David works on a variety of personal programming projects, which are available on his GitHub account: David Meyer, meyertime.
“I am also into 3D printing practical parts for either fixing or creating,” he said. “I play a few musical instruments, including piano, drums and guitar, and I used to produce electronic music in my younger days. I also enjoy spending time with my family and playing video games, including Descent, a game from 1995, and its spiritual successor, Overload, which was introduced in 2018.
Originally from South St. Paul, David has been married almost six years, and he helps raise his two stepdaughters with his wife, Christine, who homeschools the girls, one 14 and one 11. The family has two dogs, a 10-year-old Yorkie-Poodle named Sadie, and a 5-year-old long-haired Chihuahua named Toby. David resides with his family in Roseville, Minnesota.
One word that best describes your experience at Inver Hills:
David Meyer • Q & A
What is one thing every software engineer should know?
Code is not just for computers. When a computer executes the code we write, it throws away most of the information. It drops the names and inlines some functions that were separate. Eventually, it becomes just a binary sequence of numbers understood by the CPU.
So why do we bother with names, functions, file structure, whitespace, comments and the like? It’s for humans. Working code is not enough; others who will work with the code need to be able to understand what the code is doing and why. This should be made evident in the way you write it.
Keep in mind also that “others” may include you a few months from now because you will forget how and why you wrote it the way you did.
How did your education at Inver Hills prepare you for your software engineering career?
I was a bit of an exception as a Computer Programming student because I started learning how to program on my own when I was 12 years old. By the time I went to college, I already knew a couple programming languages.
However, my course included a couple classes about systems analysis and software design. The instructor, Mr. Dave Levitt, worked in the software industry by day and decided to teach on the side to benefit the next generation of engineers. He provided valuable insight regarding what was involved in programming in the real world.
The classes also helped me appreciate that there was more to programming than just working code. I still use some of the lessons I learned there. For example, he talked about “low coupling” and “high cohesion.” These are still good patterns that lead to high-quality, maintainable software. Specific programming languages, tools and technologies come and go over time, but these principles of good software remain constant.
What is the most challenging aspect of your job at Dow Jones?
Dow Jones is a global enterprise, and our websites serve hundreds of thousands of users at any given moment and must remain up 24/7. This presents many interesting challenges. Our systems must be able to handle the load from all the user activity. We must consider CPU and memory performance.
Different services may see more or less traffic depending on time of day or day of week, and now that we have the cloud, we look to minimize cost by automatically scaling accordingly. Our services must also be resilient, resolving errors automatically when possible, and using monitoring to get the right people alerted before users are affected.
With the outbreak of the coronavirus, this has never been more important. The stock market is going crazy, and many more people are checking our sites for reliable news and market data. For example, we’re seeing more than double the traffic we normally see on WSJ.com and at least three times the usual on MarketWatch.com, and it could still go up. Thanks to the hard work of our software engineers and other talented staff, we have avoided any major outage so far, and the minor issues that do come up are resolved in a short time.
Being part of a large company also has its challenges. Our technology department is responsible for hundreds of pieces of software. On the one hand, we want to drive consistency and avoid duplicating effort to make things easier, but on the other hand, we have to give our engineers enough autonomy to be able to solve problems creatively.
What is the most rewarding aspect of your job at Dow Jones?
Getting to work with so many experienced engineers is very rewarding. According to Robert C. Martin, the number of programmers in the world has doubled about every five years since the beginning of the industry, which means that the profession of software development suffers from ‘perpetual inexperience’; half of all programmers have less than five years experience, only a quarter have more than 10, an eighth more than 15, etc.
While I have 15 years of professional experience, I feel like one of the younger programmers here at Dow Jones. It’s so valuable to be able to learn from others and avoid repeating the same mistakes more experienced programmers have already made and learned from.
There’s also not too much turnaround here. Some programmers move around from job to job thinking they will gain a wider experience that way, or they’re chasing that perfect job that doesn’t exist.
Whereas many have worked here for a long time, even decades. There’s something to be said for sticking around long enough to see the long-term consequences of your technical decisions. There’s a depth of understanding there. Without it, you may go from job to job in blissful ignorance thinking you’re making great decisions and benefiting the companies, when in reality, you might be making the same bad decision over and over and not learning from it, because you left before you had to clean up the mess you made.
Now that I’ve stuck around here for six years, I have gained a lot of insight. I’ve seen my own code become legacy. I’ve seen the outcome of my decisions years later—sometimes good, sometimes not so good. That’s priceless insight that I’ve gained myself, and I’m surrounded by people with even more.
Three words that describe you as a software engineer:
CREATIVE. COLLABORATIVE. COMPREHENSIVE.
What advice would you give students thinking about making software engineering as their career path?
I get asked this question a lot, and I always repeat the advice my instructor at Inver Hills gave us, because it’s true. Dave Levitt said, “If you are really passionate about software development, stick with it and you’ll do great; if not, you may want to find another profession.”
Software is still an emerging field. We have not yet found the “one best way” to write software. You’ll never know everything about it. Building software will be a lifetime of learning. If you’re passionate about it, you’ll love the continual learning as I do, but if not, you’ll get tired of it real quick.
So give it a try. Learn a programming language and use it to solve a real problem for yourself. Get a feel for how you like it, and if you do choose to pursue it, surround yourself with experienced developers, ask questions, and soak in as much as you can. You will progress in your abilities much faster.
Where do you see yourself in 20 years?
I will have our house and other debt paid off and be working part-time to pursue my other passions. I may even follow Dave Levitt’s example and do some teaching on the side.
However, I will always be writing code. I have seen the need for leadership and have taken on more management in recent years, but I never want to get away completely from writing code.
What is your greatest strength as a software engineer?
I don’t like to brag, so I asked one of my colleagues, Steven Stevenson, to answer this about me. He said, “Outside of your wealth of knowledge, you think things through very thoroughly, carefully and precisely. You use that breadth of knowledge you have to make the right and just decision when it comes to developing new core technologies. Once you have decided on the direction, you communicate it effectively and help drive others on the team towards those decisions.”
Speaking of communication, I would like to say a word about it. Programming is actually a social activity. The days of “waterfall” process where programmers were handed design documents and converted them to computer code in isolation are long gone.
Even the title of “programmer” has largely been left behind in favor of “developer” or “engineer” to highlight the broader role we play in building software.
Nowadays “agile” has taken over, which favors an iterative process where we do a little analysis, design, programming and testing to produce a bit of working software, get feedback, then repeat.
Communicating effectively with stakeholders, subject-matter experts, managers, and other developers is a must! Without it, my technical skills would not be useful to my employer.
Applications Software Developers
Develop and modify computer applications software.
This is a very high-wage career that pays well above the statewide median of $20.95/hour
Seven-county Twin Cities metro
This career is currently in very high demand.
This career is seeing very high growth compared to other careers. Growth rate is 28.3 percent, or well above the statewide average. There will be a need for about 14,218 new Applications Software Developers to meet market demand between 2016–2026. This includes the demand due to replacement (workers leaving the occupation or retiring) as well as growth.
About Computer Science at Inver Hills…
Computer Science Transfer Pathway Degree A.S. • 60 credits
The Computer Science Transfer Pathway Associate of Science (A.S.) offers you a powerful option: the opportunity to complete an A.S. degree with course credits that directly transfer to designated computer science bachelor’s degree programs at Minnesota State universities.
Computer Programmer A.A.S. • 60 credits
As a graduate of this Associate of Applied Science (A.A.S.) program, you will be well-prepared in software programming and software engineering abilities to help execute a wide variety of information technology projects.
David Meyer • 12 Answers
- Favorite sport or physical activity: Racquetball
- Place you would most like to visit: London, because I love the accent.
- The most exciting thing you’ve ever done: I’ve taken a few motorcycle trips with friends to the Black Hills riding my 1985 BMW K100. The fresh air, beautiful scenery, and winding roads are great! I still have the bike, and my wife likes to ride with me on it.
- Three things you would do if you won a $1 billion lottery: Honestly, I wouldn’t do much differently. I would 1) Retire 2) Spend more time with my family 3) Write the software I want to write.
- Favorite TV show you’re watching now: Star Trek: Picard
- Best movie you’ve seen lately: I enjoy watching movies with my daughters; we recently saw Sonic the Hedgehog—I played that video game as a kid.
- One thing you most want to accomplish in life: Make a positive impact on people
- Your national bird if you were your own country: Penguin because Linux would be the national operating system
- Dream occupation: Contributing to Linux desktop open source
- Person you would most like to meet: I mentioned Robert C. Martin earlier. He has decades of experience in software. He was involved in starting the agile and software craft movements, and he pioneers great patterns like Test-Driven Development. I would love to talk software with him!
- Skill you would most like to learn and master: I would love to get back to writing and producing electronic music. I have not had time for it in years.
- Most important issue or problem facing humankind: There is no universally accepted standard of right and wrong, and no human is qualified to make or enforce such a standard. That is why we need God to step in.
Learn more about Computer Science at Inver Hills by contacting:
Computer Science Faculty
Learn more about the Center for Career Development and Community-Based Learning (CCD+CBL) at Inver Hills by contacting:
Director of Career Development
Community-Based Learning Coordinator
College Center: Second Floor