Senior Software Engineer (Python)

March 10, 2023
Category: 

[fusion_builder_container type="flex" hundred_percent="no" equal_height_columns="no" menu_anchor="" hide_on_mobile="small-visibility,medium-visibility,large-visibility" class="" id="" background_color="" background_image="" background_position="center center" background_repeat="no-repeat" fade="no" background_parallax="none" parallax_speed="0.3" video_mp4="" video_webm="" video_ogv="" video_url="" video_aspect_ratio="16:9" video_loop="yes" video_mute="yes" overlay_color="" video_preview_image="" border_color="" border_style="solid" padding_top="" padding_bottom="" padding_left="" padding_right=""][fusion_builder_row][fusion_builder_column type="1_1" layout="1_1" background_position="left top" background_color="" border_color="" border_style="solid" border_position="all" spacing="yes" background_image="" background_repeat="no-repeat" padding_top="" padding_right="" padding_bottom="" padding_left="" margin_top="0px" margin_bottom="0px" class="" id="" animation_type="" animation_speed="0.3" animation_direction="left" hide_on_mobile="small-visibility,medium-visibility,large-visibility" center_content="no" last="true" min_height="" hover_type="none" link="" border_sizes_top="" border_sizes_bottom="" border_sizes_left="" border_sizes_right="" first="true"][fusion_text columns="" column_min_width="" column_spacing="" rule_style="" rule_size="" rule_color="" hue="" saturation="" lightness="" alpha="" content_alignment_medium="" content_alignment_small="" content_alignment="" hide_on_mobile="small-visibility,medium-visibility,large-visibility" sticky_display="normal,sticky" class="" id="" margin_top="" margin_right="" margin_bottom="" margin_left="" fusion_font_family_text_font="" fusion_font_variant_text_font="" font_size="" line_height="" letter_spacing="" text_transform="" text_color="" animation_type="" animation_direction="left" animation_color="" animation_speed="0.3" animation_delay="0" animation_offset=""]

Senior Software Engineer (Python)

About Gold Standard Phantoms:

Gold Standard Phantoms (GSP) is an established spin-out company from University College London,
operating within the medical imaging industry. We develop, manufacture and sell specialised test objects,
called phantoms, and advanced image analysis software services for use in testing the performance of
MRI scanners and ensure that they operate in a standardised way. Our devices are used by clinicians,
medical physicists, and radiographers around the world, empowering them to improve the quality of the
MRI images they produce to diagnose illness, and investigate and research disease and new therapies.
The company is entering a new growth phase, with the planned release of new products in the pipeline,
and is establishing a new base in Sheffield, South Yorkshire.

This year, we will be developing a platform technology to address a limitation of MRI systems and by doing
so, increase cancer diagnosis accuracy. Our success in this mission has the potential to improve cancer
patient diagnosis, prognosis, and quality of live, whilst having huge savings benefits for worldwide
healthcare systems.

Role overview:
We are currently looking for an experienced Python Developer to join our growing MedTech organisation
made up of a team of engineers, scientists, and clinicians that are on a mission to enable medical imaging
to move to a quantitative and reproducible scientific measurement methodology in order to revolutionise
the field of radiology.

Responsibilities include participating in all phases of the software development lifecycle, working within
the product development team, assisting with the R&D and design of new products, as well as maintaining
the product life cycle of existing products. You will play a key role in developing and releasing new
technologies to all of our stakeholders, including our research and clinical customers, and even internally
in the form of software tooling and IT infrastructure to help improve our productivity.
If you’re a seasoned Python developer with a love for back-end technologies, we’d like to meet you. Your
ultimate goal is to create high-quality products that meet an important clinical need.

We are looking for someone who:

  • enjoys working in startup environments,
  • likes solving complex and interesting engineering problems,
  • thrives in taking a systematic and methodical, test-driven approach to solving problems to ensure
    future product success,
  • can develop and release software services,
  • can get our software in the hands of our customers and the rest of our team,
  • can help evolve our way of working. We aim to continuously improve,
  • has an appreciation for the requirement to take on an evolving set of responsibilities as our
    company grows,
  • wants to make a meaningful contribution to improving patient quality of life.

For this position, the following requirements apply:

  • solid Python developer with 3+ years of commercial product development experience,
  • experience in using GIT, Jira (or similar) and CI/DevOps,
  • is comfortable distributing and deploy software in one or more forms (microservices, Python
    wheels, command line/GUI executables, Git repos, etc),
  • attention to detail and a willingness to engage with our stakeholders.

In addition, we consider it an asset if you also have:

  • experience processing medical image file formats, such as DICOM or NIfTI, or interfacing with
    medical imaging platforms/infrastructure, such as PACS or XNAT.
  • experience integrating software with existing APIs/services, and/or writing services/APIs (REST,
    gRPC, GraphQL etc.),
  • experience with containers, container deployment and Linux,
  • comfort in setting up and managing IT systems (back-ups, file-sharing, system monitoring, proxys,
    remote access, etc) - do you run your own Homelab?
  • previous experience in microservices architectures,
  • has worked within an ISO 9001, ISO/IEC/IEEE 12207 or ISO 13485 compliant quality management
    system,
  • experience working within an agile environment,
  • experienced in the development/deployment of software medical devices.

What's on offer:

  • salary commensurate with experience, up to £70,000
  • full-time permanent position with 25 days annual leave + bank holidays
  • Hours of work: 40 per week
  • hybrid working (2-3 days-a-week in the Sheffield office)
  • flexible working hours and start times
  • an allowance to help you set up your home office
  • budget for any relevant training or courses
  • an opportunity to join a rapidly growing team
  • share options as per our equity incentive plan
  • cycle to work scheme (Green Commute Initiative)

Apply today to be considered for this excellent opportunity!

The post is available immediately. It will be offered subject to a probationary period of 6 months and
satisfactory references.

Application:

When applying for this role, please provide your CV along with a cover letter and any examples you have
of previous hands-on experience (GitHub portfolio if available).
Submissions and direct enquiries about the position can be made to: jobs@goldstandardphantoms.com

Our engineering values:
Focus on the Product

Key reading: The Product-Minded Software Engineer (Gergely Orosz)

We should be viewing ourselves as “product engineers” or “product-minded engineers”, rather than
software engineers/developers. Product-minded engineers are developers with lots of interest in the
product itself. They want to understand why decisions are made, how people use the product, and love
to be involved in making product decisions.

Choose Boring Technology

Key reading: Boring Technology (Dan McKinley)

Embrace Boredom!

Good practice is to innovate when innovation is necessary, and not to innovate where it is not. If you are
looking to use a technology, base this decision on the level of stability and maturity that this technology
has achieved.

Boring is not bad. MySQL is boring. PostgreSQL is boring. PHP is boring. Python is boring. Memcached is
boring. Cron is boring. The nice thing about boringness is that the capabilities of these things are well
understood. But more importantly, their failure modes are well understood.
Optimise Globally

Adding technology to your company comes with a cost, therefore the “best tool for the job” is not always
the optimal solution. It might be that the best tool for a particular job is to write a high-optimised library
in C++, but we need to consider the long-term costs/risks of supporting C++ in our tech-stack. It might
have been better to write the library in Python and deal with the optimisation issues elsewhere.
It is basically always the case that the long-term costs of keeping a system working reliably vastly exceed
any inconveniences you encounter while building it. Mature and productive developers understand this.

Rapid Prototyping

Key reading: Rapid Prototyping & Product Management (Tom Chi)

Create a Culture of Learning

  • The culture of right and wrong is intrinsically diminishing, as you never focus on learning what
    made anything successful or unsuccessful. Instead, create a culture of learning, which is additive.
  • How many key learnings are you making as an organisation each week? Try to maximise this.
  • Avoid guess-a-thons, endless meetings where we discuss and argue product decisions using
    guesswork and conjecture. Don’t argue the truth of the uninvented invention. By rapidly
    prototyping actual experiences, we can shortcut all of that with real insight from real experiences.

Optimise Loop Length

  • Loop length is the amount of time between asserting a new conjecture and observing the actuals
    from that conjecture. Even if you’re releasing every day through continuous releases, but not
    learning anything from actuals from customers, that loop is open, and it needs to be closed.

Designing for adaptability vs. designing for scale

  • Most of the time, development is focused on stability and scalability, but they can also design for
    adaptability. So start any new product with a design for adaptability, with the understanding that
    most of this code will be thrown away. This allows you to decide what to do fast, and then focus
    on designing how to do it at scale.

Find the “Magic Moments”

  • Allow users to easily access the focal point of the product, and minimise any superfluous features
    or usability features that might detract from this.

[/fusion_text][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

Share this

More Articles

News
October 19, 2017
ESMRMB 2017
News
June 16, 2018
ISMRM 2018
News
June 2, 2018
ASNR 2018
1A Parkway Rise
Sheffield, South Yorkshire
S9 4WQ, United Kingdom

More information

© Copyright 2024 | Gold Standard Phantoms | All Rights Reserved
Designed and Implemented by Cyberoid
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram