Software Engineer II
As a Software Engineer II, you will be in a lead role working with small teams of computer scientists on the industry-leading software platform for University Health Sciences Programs such as Medical , Dental, Veterinary and Nursing Schools. Our clients include leading universities, organizations and institutions through the US and internationally. Your work will regularly impact tens of thousands of users.
Our software engineers work across multiple functional areas using multiple languages, database backends and frameworks. You will get an opportunity to work on various aspects of enterprise software product development including but not limited to design, architecture, development and testing.
- Ensure the quality of architecture and design of systems.
- Functionally decompose complex problems into simple, straight-forward solutions.
- Fully and completely understand system interdependencies and limitations.
- Possess expert knowledge in performance, scalability, enterprise system architecture, and engineering best practices.
- Provides reliable solutions to a variety of problems using sound problem solving techniques
- Work on abstract Computer Science problems towards finding solutions to technical challenges
- Collaborates and adds value through participation in peer code reviews, providing comments and suggestions
- Contributes to technical research on new technologies
- Estimates level of effort, evaluates new options of similar technology, offers suggestions to improve processes, and provides feedback on design aspects
- Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
- Ability to take a project from scoping requirements through actual launch of the project
- Experience in communicating with users, other technical teams, and management to collect requirements, describe software product features, and technical designs
- Experiencing mentoring junior software development engineers and driving engineering excellence
- Consistently and continuously work to improve the customer experience
- BS/MS in Computer Science
- 3+ years of web-based software development experience
- 2+ years of non-internship professional software development experience
- Strong fluency with a majority of the following: Angular, React, node.js, Ionic, Capacitor, TypeScript, PHP, C#, Objective C, Laravel, MySQL, timescaledb, dynamodb, RetinaNet, AWS, Google Cloud, Kubernates, Docker
- Experience developing complex software systems that have been successfully delivered to customers
- Ability to learn and apply new programming languages extremely quickly
- Ability to adapts quickly to existing development methodology and component infrastructure
- Good interpersonal, verbal and written communication skills
- Database management and data retrieval experience
- Strong fundamentals in core Computer Science areas like Data Structures and Algorithms.
- A deep appreciation of scalability issues and high volume data handling.
- Prior experience leading a development project from design to implementation
- Master’s degree in Computer Science, Engineering, Mathematics, or a related field
- Experience designing and implementing clean and well-defined APIs that abstract the complexity for partner teams
- Ability to take a project from scoping requirements through its launch
- Experience in designing and building large scale distributed systems
- Knowledge in the areas of database management, machine learning, server architecture, source control, software security, distributed and parallel systems
Day In The Life
9:00 AM | Arrive at the office, clock in, and check your task board
9:30 AM |Meet with the developer who you were helping last night to make sure they understand it now and can finish up.
10:00 AM | Finish up that change to the the data file upload system, and create a test plan. Assign it to one of your developers.
11:00 AM | The developer has hit a snag in your test plan, and needs some explanation.
12:30 PM | Head out for lunch.
1:30 PM | During lunch, a feature request was… requested. Look it over, assign the easier pieces to developers, and start working on the more complex parts.
3:30 PM |Time for your Standup. Head to the infamous UnderHall in order to hear about what others have been working on.
4:15 PM | After grabbing a snack from the snack bar, get back to the coding grind.
5:30 PM | Check-in with the developers you manage in order to make sure they’re ahead of deadlines and are on the right track.
6:00 PM | Clock out, say goodbyes, and head home for the night. The night is yours.