Software Engineer

Bangalore, KA, IN, 560103


Sophos Overview – Cybersecurity Evolved


Sophos is a worldwide leader in next-generation cybersecurity, protecting more than 500,000 organizations and millions of consumers in more than 150 countries from today’s most advanced cyberthreats. Powered by threat intelligence, AI and machine learning from SophosLabs and SophosAI, Sophos delivers a broad portfolio of advanced products and services to secure users, networks and endpoints against ransomware, malware, exploits, phishing and the wide range of other cyberattacks. Sophos provides a single integrated cloud-based management console, Sophos Central – the centerpiece of an adaptive cybersecurity ecosystem that features a centralized data lake that leverages a rich set of open APIs available to customers, partners, developers, and other cybersecurity vendors. Sophos sells its products and services through reseller partners and managed service providers (MSPs) worldwide. Sophos is headquartered in Oxford, U.K. More information is available at www.sophos.com.


Job Purpose


As part of a product development team, you will perform software development activities throughout the full development life cycle with focus on products or systems, including coding, documenting, debugging, and testing of software to create the next generation of network security products. 


Main Duties

    • Design products or systems in line with asset technical strategy, specified project timescales, quality and functionality requirements as agreed with the Lead Developer.
    • Define and support appropriate Unit, System and Integration testing on own code and others across the product or system, fixing errors and entering defects into the defect tracking system, highlighting potential implications on other products or systems.
    • Conduct and participate in peer reviews of code, designs and specifications as requested by Development Lead or Manager, ensuring adherence to standards, making suggestions to increase quality to the author, and modifying own work in line with feedback received.
    • Make modifications to code in line with change requests assigned by manager so that the defect is resolved and the specification is met.
    • Write code as agreed with Development Lead or Manager to deliver against asset technical strategy, specified project timescales, quality and functionality requirements
    • Identify gaps in coverage in software design, specifications, user guides, and other documentation and provide recommendations for improvements to the author.
    • Provide clear updates on progress against objectives in line with agreed process.
    • Identify barriers to the successful delivery of projects/functionality, escalate to manager and own objectives to overcome these, as assigned by manager. 
    • Suggest improvements to standards and procedures across Engineering and the wider organization and take ownership for the implementation of elements assigned by Manager.
    • Identify tasks that need to be achieved to deliver the functional requirements/specification, and provide accurate estimates of time required for own and others tasks so that the Development Lead can make informed decisions on project plans and commitments.
    • prioritize multiple activities and schedule own time to deliver against agreed objectives. 
    • Review requirements specifications for coverage, identify areas that require further clarification, and suggest alternative approaches to Product Management, in line with business needs.
    • Identify problems and exceptions that need to be addressed, propose solutions or workarounds to Manager and take ownership for the implementation of the agreed solution.
    • Exchange information on products and systems with Lead Developer and representatives across all departments to identify issues and gain commitment for the delivery of solutions.
    • Coach and train engineers from other departments on technologies, processes and products to enable them to contribute more effectively.
    • Propose, promote and drive the adoption of new design and development approaches to improve overall quality, reliability and speed of implementation across projects or own team.
    • Write software specifications based on product requirements, in line with agreed process.
    • Continuously review own code and that of others across the system, identify opportunities to re-factor for increased clarity and make recommendations to the Technical Lead or Manager.
    • Identify suitable alternative mechanisms for defect resolution taking into account asset technical strategy and business needs, and raise to Development Lead or Asset Manager
    • Provide recommendations and suggestions to Test Leads regarding testing approach for the product or system.
    • Travel to other sites/customers to participate in meetings or give presentations.
    • Conduct presentations to cross-functional groups on products and technologies



Skills & Experience




  • Developed commercial software through all stages of a SDLC
  • Unit, system and integration testing of own code and that of others
  • Designed and developed complete software products or systems 
  • Conducted peer review of code, designs, specifications and unit tests.
  • Made recommendations to solve system-wide software issues and driven implementation
  • Written technical and functional specifications.
  • Shared expertise with colleagues on one technology or developed software using a number of different technologies
  • Built relationships with colleagues across all departments (technical and non-technical)
  • Design and write code and unit tests in line with requirements 
  • Fluent with functional and imperative languages
  • Strong in C, Linux OS, Routing & Networking
  • TCP/IP stack understanding
  • Able to identify priorities and schedule own tasks in line with set objectives with minimal guidance.  
  • Ability to write technical specifications based on functionality
  • Analysis of fitness for purpose of software solutions 
  • Collaboration with senior development resources on high-level goals and features
  • Evaluation of code and design quality 
  • Understands how software components interface with each other and fit with the asset technical strategy and business needs
  • Can write high quality code (in line with guidelines)
  • Evaluation of technical and functional specifications
  • Accurate estimation of task completion for self and others
  • Fluency in at least one relevant programming language
  • Refactoring code
  • Bachelors of Science in Computer Software, Computer Science or related discipline or equivalent experience
  • 3 to 6 years of total work experience
  • 3+ years of work experience in C/C++ programming, Linux system programming, Linux kernel programming
  • 3+ years of domain experience in Networking, Network security, cryptography, TCP/IP stack
  • Application protocols like DHCP, DNS, LDAP, HTTP, HTTPS, TLS, Virtual platforms like VM, AWS, Azure



  • Made improvements to standards and procedures across Engineering and the wider organization 
  • Knowledgeable in at least one scripting language
  • Agile software development methodologies experience
  • Knowledgeable in at least one scripting language
  • Fluency in more than one relevant programming language
  • Technical training or coaching to colleagues
  • Masters of Science in Computer software, Computer Science or related discipline


Equal Opportunities

Sophos is committed to equality opportunity in all areas of its work. All qualified applicants will be treated in a fair and equal manner and in accordance with the law regardless of gender, marital status, race, religion, colour, age, disability or sexual orientation.

If you choose to explore this opportunity, and subsequently share your CV or other personal details with Sophos, these details will be held by Sophos for 12 months in accordance with our Privacy Policy and used by our recruitment team to contact you regarding this or other relevant opportunities at Sophos.  If you would like Sophos to delete or update your details at any time, please follow the steps set out in the Privacy Policy describing your individual rights.  If you have any questions about Sophos’ data protection practices, please contact dataprotection@sophos.com.

At Sophos, we want every organization to be protected by innovative, next-generation IT security, even those who don't have a huge IT staff. We protect organizations of all sizes, all around the world by making enterprise-grade security that is simple to deploy, manage, and use. It is our passion, and something we are truly proud of.

Job Segment: Developer, Cloud, Computer Science, Linux, Testing, Technology