Software Engineer II Or Senior Software Engineer
Raleigh , NC 27601
Posted 2 weeks ago
This Job is not relevant Tell us why
Are you an inventive software engineer? Do you want to work with exciting technology such as Scala, MongoDB, Kinesis, AWS Lambda, Serverless, Docker and Kubernetes? Is it important to you to hold yourself to high standards? Are you a creative thinker who enjoys solving meaningful problems in innovative ways? Do you like interesting technical challenges? If so, SignalPath might have the perfect job for you.
SignalPath is designing the next generation of software for the clinical research site. We focus on enabling efficient, collaborative, timely execution of clinical trials to make research an enjoyable, cost effective endeavor once more.
You will join an interdependent, fun, engaged development organization that is focused on delivering high-quality software solutions.
- Write and maintain our core platform. You will be expected to maintain an eye towards best practices, including testability, scalability, monitoring, and performance. If you consider yourself a "full stack" engineer, you'll also be working on our UI application.
- Partner with UI engineers and fellow platform engineers in the process of defining our RESTful API.
- Participate in and encourage a collegial, helpful, results-driven working environment.
- Performs design, implementation and maintenance of epic level software features for existing modules.
- Prepare & conduct the unit testing and integration testing for functionality and limits.
- Assist with estimation and planning activities.
- Research problems discovered by QA or product support and develop solutions.
- Perform system administration and performance troubleshooting in development and production environments
- Perform moderately complex product development, systems analysis and programming activities which may require some research and analysis.
- Research new technology or development tools to remain informed of current technology.
- Participate in reviewing deliverables from other development teams, including designs, test plans, and documentation help identify and resolve gaps between requirements and technical design.
- Track record of delivering high-quality features and services in a SaaS web application.
- Hands-on experience and proficient knowledge of functional programing using languages such as Scala, Common List, Scheme, Clojure, Racket, Erlang, OCaml, Haskell, F#, Elm, or Kotlin
- Hands-on experience with containerization technologies such as Docker and Kubernetes.
- Exposure to working with basic AWS services such as EC2, S3, or Lambda.
- Exposure to working with and building asynchronous microservices.
- Professional knowledge of relational database systems, such as MySQL and PostgreSql.
- 3-5 years professional software development experience.
- Bachelor's degree in Computer Science or a related field, or comparable experience.
- Good technical knowledge in software development methodologies, design, programming and implementation.
- Good analytical and design skills at multiple product levels.
- Good understanding of the entire development process, including specification, documentation and quality assurance.
- Written production Scala code.
- An understanding of the value of unit tests, and the importance of principles such as TDD.
- Previously used any of the following: Finatra, Finagle, AWS Kinesis, S3, AWS Lambda, Redshift, SBT, Specs2, Scalatest, and Typesafe config.
- Experience working with NoSQL data stores such as Redis, MongoDB, and ElasticSearch.
- Exposure to working with protected health information or in a regulated environment.
- Competitive health, dental, life and disability insurance plans
- Company 401k match
- Great location in downtown Raleigh.
- 15 days of vacation, plus 10 holidays
- Flexible work schedule
Our Joel Test Scores
- Do you use source control? Yes. Git is our weapon of choice.
- Can you make a build in one step? Yes. With Jenkins.
- Do you make daily builds? Yes. Actually, many builds per day.
- Do you have a bug database? Yes.
- Do you fix bugs before writing new code? Yes. For our top 3 (out of 5) severities.
- Do you have an up-to-date schedule? Yes.
- Do you have a spec? Yes. We love our product owners.
- Do programmers have quiet working conditions? Yes. Our (naturally-lit) dev room does occasionally get too loud. You'll hear some laughter, mainly because we like our teammates. We have a small designated "quiet working room" as well as all employees have the flexibility to work from home, use the outdoor areas of our building, or work with headphones on.
- Do you use the best tools money can buy? Yes. Check this out: JetBrains suite; Jenkins; 15" MacBook Pros; Atlassian's JIRA, Confluence and BitBucket Server; three always-on big-screen dashboards. And more.
- Do you have testers? Yes. They're the best and saved our butts more than once.
- Do new candidates write code during their interview? Yes. And before the onsite interview, too.
- Do you do hallway usability testing? Yes. With people who really, really understand our users.