Overview
The article features Val Markovic, a Senior Software Engineer at LinkedIn, highlighting his role in the Feed Data Platform team and his contributions to various projects, including open-source initiatives. It delves into his professional journey, challenges faced in software engineering, and personal interests.
What You'll Learn
1
How to improve the handling of spam and low-quality content in a feed system
2
Why effective communication is crucial for software engineers
3
When to leverage open-source projects for personal and professional growth
Prerequisites & Requirements
- Understanding of software engineering principles
- Experience in software development and teamwork(optional)
Key Questions Answered
What are Val Markovic's main responsibilities at LinkedIn?
Val Markovic is a Senior Software Engineer at LinkedIn, focusing on the Feed Data Platform team, which is responsible for storing, indexing, and serving organic activities in the feed. His work involves improving the handling of spam and low-quality content through the development of an Entity Graph.
What open-source projects has Val Markovic contributed to?
Val Markovic created YouCompleteMe, a popular code-completion plug-in for Vim, and ycmd, a code-completion engine that supports multiple editors. He also developed Sigil, an EPUB editor, and FlightCrew, an EPUB validator, during his university years.
What challenges does Val face in his role as a software engineer?
One of the main challenges Val faces is effectively communicating with other engineers, especially when there are differing opinions on software architecture and design. Navigating these discussions is crucial for project success and is often not taught in formal education.
What does Val enjoy most about software engineering?
Val enjoys the process of building projects and seeing tangible progress towards completion. He finds satisfaction in the incremental achievements that lead to a successful final product, contrasting it with his past experiences in research where results were less immediate.
Key Actionable Insights
1Focus on building effective communication skills within engineering teams to navigate differing opinions on architecture and design.This is crucial for project success as many engineers have strong opinions that can lead to conflicts. Developing these skills can enhance collaboration and lead to better outcomes.
2Engage in open-source projects to enhance personal skills and contribute to the community.Val's experience with YouCompleteMe and ycmd shows how open-source contributions can lead to professional growth and recognition in the software engineering field.
3Utilize Entity Graphs to improve content quality in feed systems.Val's work on the Entity Graph for handling spam and low-quality content illustrates a practical approach to enhancing user experience in large-scale applications.
Common Pitfalls
1
Failing to communicate effectively with team members can lead to misunderstandings and project delays.
This often happens because engineers may not prioritize communication skills, focusing instead on technical abilities. It's important to recognize that collaboration is key to successful engineering projects.