Senior Golang Software Engineer | Masergy Philippines Inc. | Remote (United States)
FreeWheel, a Comcast company, provides comprehensive ad platforms for publishers, advertisers, and media buyers. Powered by premium video content, robust data, and advanced technology, we’re making it easier for buyers and sellers to transact across all screens, data types, and sales channels. As a global company, we have offices in nine countries and can insert advertisements around the world. Job Summary FreeWheel, A Comcast Company, empowers all segments of The New TV Ecosystem. We are structured to provide the full breadth of solutions the advertising industry needs to achieve its goals. We provide the technology, data enablement, and convergent marketplaces required to ensure buyers and sellers can transact across all screens, across all data types, and all sales channels, in order to ensure the ultimate goal – results for marketers. With offices in New York, San Francisco, Chicago, London, Paris, Beijing, and across the globe, FreeWheel, A Comcast Company, stands to advocate for the entire industry through the FreeWheel Council for Premium Video. For more information, please visit freewheel.com. Job Description When joining us as a Senior Software Engineer (Backend), you’ll be aligned with one of our agile product and development teams, working together with not only other engineers but also with Product Managers, Scrum Masters, Architects, System Testers, DevOps and Customer Support. Some of your responsibilities will be to: • Understand and contribute to your team’s product roadmap, coming up with sound technical designs and solutions to challenging problems our users face today or upcoming market trends • Collaborate in defining and enforcing best practices and processes for engineers in your team and across our company, and lead in moving our products forward and eliminating technical debt • Follow our agile Scrum process, working in sprints together with the rest of the team to ensure timely delivery of work that both satisfies all our user stories criteria and is of sound technical quality • Build with our tech stack and tooling which includes, but is not limited to: Go, grpc, Redis cache, MySQL Server, AWS services like lambda, EKS, S3, SNS and others, Tilt, Kubernetes, Docker, Cypress, GitHub, CI and TDD practices • Displays in-depth knowledge of and ability to apply, process design and redesign skills. Presents and defends architectural, design and technical choices to internal audiences • Use the resources we provide to continuously better yourself, as well as mentor other engineers within the team and help them grow • Work with colleagues and stakeholders as part of the full product development lifecycle, gaining deep knowledge of our platform, and particular areas of our clients’ business to help you contribute as part of an agile team About You Our people are the most important part of our business, and none more so than our engineers. We are fundamentally looking for bright, enthusiastic problem solvers- people who love a challenge, constantly evaluate and question, and above all, love to ship a product that solves real problems. While these characteristics outweigh any specific technical skills, a successful candidate should be able to demonstrate some of the below: • Excellent knowledge of Go and MySQL • Excellent knowledge of OO / SOLID concepts • Excellent knowledge of JavaScript/TypeScript, ReactJS and the related ecosystem • Experience with designing, implementing, and shipping rich front-end applications • Hands-on experiences with related ecosystem: AWS, Kubernetes, Tilt, Docker, Cypress, GitHub and others • Committed to high quality and easy to maintain code, with experience in unit testing / TDD practices • Experience with designing, implementing, and shipping Go applications • Passionate about delivering elegant technical solutions that not only meet Client and Product expectations, but are also underpinned by code that is clear, concise, maintainable and testable • Strive working and collaborating in a multidisciplinary team, where you can work with, learn from, and teach not just Engineers but also Product Managers, System Testers, UX designers, etc. • Happy to engage in discussion with your fellow engineers to reach the best possible solutions for our technical challenges • Proactive, inquisitive, always looking for a challenge and want to constantly grow as a professional and to grow others around you • Master’s degree in Computer Science, Engineering, or related field plus 3 years’ experience in Software Development; or bachelor’s degree plus 5 years’ experience Core Responsibilities • Collaborates with project stakeholders to identify product and technical requirements. Conducts analysis to determine integration needs. • Designs new software and web applications, supports applications under development and customizes current applications. Develops software update process for existing applications. Assists in the roll-out of software releases. • Trains junior Software Dev