# IPT portal revamp: nominations open!
The Institute Placement Team is looking for enthusiastic designers and programmers to help ++re-build the placement portal from scratch++ and launch it for the coming 2020 hiring season. This team of developers would work in tandem with the current IPT and its Web Coordinators.
With increased competition from other IITs and institutes and slight slump in the job market an elegant, reliable, fast and user-friendly portal will help the insti further the edge it has on everyone else in the coming decade.
The next season officially starts in July and the current team is short on hands as well as time to bring this project to fruition. This application is open to all members of the insti, no bar what-so-ever.
## Project overview
If you're a final year student you know what the app does. Well, we see 4 major parts to it:
1. Dashboards and pages for
1. students
2. companies
3. admins
The usual CRUD, permissions and simple business logic. Involves basic API design.
2. Resume handling and verification, scheduling interviews, automatic job allocation, payments, incentive points and other unique elements.
This constitutes the "challenging" business logic, involves creativity and of course _logic_.
3. Monitoring, tracking and auditing utilties to help the team track conversations with 600+ firms multiplexed over 50 odd team members.
4. The frontend design and implementation. Everything is meaningless without a snappy, user-friendly interface. There's tons of data that the team has to sift through manually and there's a lot of scope for reducing their mundane struggles.
The backend tech stack is going to be one of **python, nodejs (or derivative), golang, rust or [elixir](https://elixir-lang.org/)**. ++Any ecosystem that does not scream the '90s or '00s is a candidate++. The selected team would reach a consensus on which one(s) to use.
++The duration of work is from late February to late May++. It is extremely likely that this arrangement be extended further to continue the revamp work.
## Why _you_ should commit to _this_
1. This is a greenfield project with the bonus that requirements, specs and processes are already defined.
2. Large degree of autonomy: the selected team gets to decide the tech stack.
3. Separate infrastructure hosted by the Computer Center has been provisioned for the new portal.
6. There's an honorarium (stipend) at the end$^\dagger$.
:::info
$^\dagger$: Subject to satisafactory performance.
:::
### Potential learnings
1. Sysad stuff -- designing/orchestrating docker containers for everything, basic security.
3. Good software engg. practices -- `git` [flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) , CI/CD via gitlab or equivalent, set up automatic code review tools, testing, automation, yada yada yada...
4. Backend stack -- from DB design, API design to solving unique challenges like activity logging, scheduling interviews and even allocating jobs (semi-automatically).
We expect some modules to use Redis/MQs.
6. Frontend stack -- sky's the limit here. You wanna pitch even something cutting-edge like [elm](https://elm-lang.org/), we're listening.
Even though we are on a clock here, we don't believe in hasty or second rate work. ++Quality and long-term maintainability are highly desirable goals++ from an SE point of view.
:::info
Candidates must be willling to learn new skills/technologies.
:::
## Eligibility
### Our expections
1. Ready to pick up a new (modern) technology and work in it.
3. Some web-dev experience in some (modern) framework.
4. **Commitment to work from Feb 20 onwards (or sooner).**
:::info
We have some sub-projects that can be done fairly independently of the main track. In case you can commit less than usual time to us, we may be able to hand out the sub-project to you and you can work with mininmal oversight and maximum freedom.
:::
### Bonus skills
If you've dabbled at any of these before, you're specially suited for the team:
1. CI/CD, orchestrating multiple docker containers usnig `swarm` or equivalent.
2. Setting up networks, logs, monitors, TLS, and other sysad stuff.
3. Web dev experience (backend and/or frontend) in nodejs, python, go, rust or elixir.
4. Some experience in API design, REST, HTTP2, JSON API, etc and using postman.
## I'm sold, where do I sign up?
[Fill this questionnaire][form] and wait to hear from us. We will conduct ++30-40min interviews during February 12-15++.
:::info
Do tell us about relevant projects or pet-projects in your resume/Google Doc.
:::
[form]: https://forms.gle/1U9KHoeqqKaECh6m9
Thanks for your time, looking forward to seeing you in the team -- let's do this!
PS: Relevant [announcement on the Placement Blog][blog].
[blog]: http://placements.iitb.ac.in/blog/?p=6627