What are the responsibilities and job description for the Research software engineer position at uic?
Job Description:
This position provides expertise in handling large datasets, performing data analysis, and developing user-friendly, open-source data analytics tools.
Duties and Responsibilities:
• Research software development & specialized expertise: Lead the research, design, implementation, and maintenance of urban computing software tools in close collaboration with interdisciplinary teams, ensuring that these tools are robust, reusable, and accessible. Contribute to research-driven design and development to produce well-documented, open-source software. Provide expertise in developing scalable, reusable, and interoperable urban computing tools, with an emphasis on advanced data discovery, data provenance, visualization, visual analytics, and machine learning technologies. Perform highly specialized work assignments in urban computing and data science, contributing to complex software projects within the NSF-funded OSCUR project.
• - Research collaboration: Collaborate with scientists, engineers, and other researchers to translate research requirements into technical solutions. Contribute to the design, implementation, and integration of research prototypes into usable open-source tools that address real-world challenges in urban computing and data science. Advise on software development best practices, methodologies, and specialized tools relevant to the field of urban computing and data analytics.
• - Research participation: Contribute to the research lifecycle of the project, including the preparation of publications, presentations, grant proposals, and other technical documents. Research and conceptualize innovative solutions to problems, providing expert recommendations and insights that guide the direction of research projects.
• - Prototyping: Lead the porting, refactoring, and integration of research prototypes into open-source software tools. Ensure these tools are user-friendly, well-documented, and designed for community contributions and reuse.
• - Data integration & management: Develop and manage advanced data pipelines for the collection, cleaning, analysis, and integration of large-scale, heterogeneous datasets. Design scalable systems for handling multimodal data, ensuring reliability, accessibility, and usability. Stay updated on relevant technical specifications and advancements in data handling and integration.
• - Open-source contributions: Manage and coordinate open-source contributions, including the review, assignment, and management of GitHub issues. Facilitate collaboration between internal and external contributors, ensuring alignment with project goals and interdisciplinary expectations. Liaise with other skilled specialists nationwide, fostering knowledge sharing and community involvement in urban computing challenges.
• - Mentorship & leadership: Supervise and mentor junior researchers, software engineers, and students. Lead training sessions, hackathons, and office hours to facilitate knowledge transfer and ensure project sustainability.
• - Team management: Manage and coordinate meetings between team members and external collaborators, helping to organize and lead interdisciplinary discussions. Manage and coordinate relationships with peers and other university personnel to achieve project objectives. Support the creation of user manuals, training materials, and other resources to facilitate knowledge sharing and community adoption of developed tools.
• - Knowledge sharing: Represent the OSCUR project at conferences, workshops, or campus initiatives, promoting the work of the project and building partnerships to support future research and development efforts.
• - Professional development: Stay abreast of developments in software engineering, urban computing, visual analytics and data analytics through professional development activities, workshops, and relevant literature.
• Other duties as assigned