Senior Software Engineer
The American Medical Association (AMA) is the nation's largest professional Association of physicians and a non-profit organization. We are a unifying voice and powerful ally for America's physicians, the patients they care for, and the promise of a healthier nation. To be part of the AMA is to be part of our Mission to promote the art and science of medicine and the betterment of public health.
We continuously work to embed equity in our internal practices and are committed to increasing the diversity of our staff across all levels of the organization. We intentionally work to create the right conditions to enable our employees to feel that they can be their authentic selves and fully participate in the life of the enterprise.
We encourage and support professional development for our employees, and we are dedicated to social responsibility. We invite you to learn more about us and we look forward to getting to know you.
We have an opportunity at our corporate offices in Chicago for a Senior Software Engineer on our Publishing and Mission Operations team. As a Senior Software Engineer you will participate in a variety of Dev Lab projects delivering content for the AMA’s Ed Hub and JAMA. You will ensure full-stack development meets the needs of internal and external stakeholders, including our clients and content partners. You will also develop proofs-of-concept (POCs), tools and technical assessments supporting research for potential business- and mission-driven initiatives.
Assess and define technical architecture meeting business needs
- Understand business needs, build relationships with the business, and propose solutions to guide decisions ensuring development meets business requirements
- Guide planning of new solutions, including identifying technologies meeting business needs; recommend architecture and identify technology to support specific use cases and new applications
- Define user stories and supporting test cases meeting business and technical needs, establish best practices for maintainability, and balance test coverage, risk and budget
- Communicate professionally and empathetically, solicit and provide feedback, actively offer help, and make sure everyone is aligned with plans for development
- Work collaboratively on a cross-functional team of developers, designers, and business analysts
Develop applications and supporting infrastructure and integration
- Develop both back-end and front-end code applying best practices such as writing test cases to define development and selecting appropriate design patterns
- Provide technical guidance, identify risks, proactively learn and share; coach more junior team members and ensure colleagues and vendors understand user stories and requirements
- Review work of colleagues and vendors to confirm completion of user stories; provide direction to resolve open issues and manage changes in technical scope
- Apply software-development life cycle methodology to track bugs and proactively identify, propose, and implement solutions where appropriate
May include other responsibilities as assigned.
- Bachelor’s degree or extensive coursework in computer programming and / or Web development
- 7+ years of experience programming backend and frontend solutions for the Web
- Demonstrated ability to program, test, and debug in languages supporting development of user interfaces and relational databases
- Demonstrated experience applying software development lifecycle concepts and design patterns as appropriate to development needs
- Knowledge of full application architecture stack (server, networking, hosting, data modeling, data storage, business logic integration, API layer, monitoring and reporting)
- Knowledge of the concepts of responsive and accessibility design and related coding practices
- Ability to work longer hours when required by project schedule
Additional Technical Background
- Back-end: we primarily create applications in Node.js using Express, Sails and LoopBack Explorer
- Mobile: All of our apps are being built in React Native; knowledge in Swift is a plus
- Infrastructure: nearly all of our infrastructure is on AWS with the operations managed by our vendors; we also have the ability to host applications on our in-house infrastructure
- Ability to use bug-tracking software such as JIRA
- Experience with cloud hosting environments:
- Preferred, strong background in:
Experience with HTML5 hand coding and CSS 3 skills preferred
RESTful and SOAP APIs.
Loopback framework (or similar frameworks)
The American Medical Association is located at 330 N. Wabash Avenue, Chicago, IL 60611 and is convenient to all public transportation in Chicago.
We are an equal opportunity employer, committed to diversity in our workforce. All qualified applicants will receive consideration for employment. As an EOE/AA employer, the American Medical Association will not discriminate in its employment practices due to an applicant’s race, color, religion, sex, age, national origin, sexual orientation, gender identity and veteran or disability status.
THE AMA IS COMMITTED TO IMPROVING THE HEALTH OF THE NATION