Will JavaScript type annotations kill TypeScript?
The creators of Svelte and Turbo 8 both dropped TS recently saying that "it's not worth it".
Yes: If JavaScript gets type annotations then there's no reason for TypeScript to exist.
No: TypeScript remains the best language for structuring large enterprise applications.
TBD: The existing user base and its corpensource owner means that TypeScript isn’t likely to reach EOL without a putting up a fight.
I hope they both die. I mean, if you really need strong types in the browser then you could leverage WASM and use a real programming language.
I don’t know and I don’t care.
Operations / Tech Life

Slack: How Smart Companies Make the Most of Their Internships

Slack Senior Software Engineer Eman Hassan offers some tips on successfully mentoring someone in the early stages of their career.
Nov 2nd, 2022 3:00am by
Featued image for: Slack: How Smart Companies Make the Most of Their Internships
Feature image courtesy of UKBlackTech.

What does a mentor need to do to make the internship a successful experience? Be intentional. Make a plan that includes, a project rich with guidance as well as opportunities for creativity, measurable and obtainable goals, and little ambiguity on how and when to communicate.

Slack Senior Software Engineer Eman Hassan recently penned a blog post that answers this question. Many of the points strongly translate to mentoring anyone in the early stages of their career. Hassan wrote, “Planning ahead is the key to everything!” This will give the intern a confidence boost and helps make the mentor-intern process successful.

And this is very important so if nothing else is read past this: Slack suggests that constructive feedback be private while recognitions are public. Though recognitions can really be public or private, definitely keep constructive feedback private (shudders inside from the ghosts of bad “mentors” past).

What Makes a Successful Internship Project?

What’s the project? Will it be complete by the time the internship does? And what are the learning goals (full-stack, backend, infrastructure)? Consider the resources, documentation, and onboarding that will be required.

In the spirit of providing a level of creativity and autonomy, the project should be well documented and something that doesn’t take a month to jump into. Break core requirements down into detailed tasks that provide information on how the implementation is expected.

Prepare for the “sorry to bother you” messages because no matter what, there will be ambiguity. And from my experience, it’s terrifying to shoot off those messages for the first few times. Question asking is an art form and this is a mentor’s chance to help shape that targeted asking.

Create Measurable, Obtainable Goals that Are Easy to Evaluate

There’s no substitute for providing clear expectations and clearly stating the desired results. Don’t make anyone guess what the success metrics are. That doesn’t work for anyone involved. One way to do this is to break the project timeline and milestones throughout the duration of the internship.

  • Milestone 1 est 2 weeks: The onboarding/learning phase that includes some minor tasks. The goal is to help the intern get more comfortable with the flow of work.
  • Milestone 2 est 1 week: Project handover and tasks discussion.
  • Milestone 3 est 6 weeks: Project work completion.
  • Milestone 4 est 2 weeks: Project review, bug fixes, enhancements.
  • Milestone 5 est 1 week: Demos, internship wraps up, evaluation.

Mentors and Communication

Communication guidelines. If there is one or many mentors working with an intern, make sure the intern knows that as well as when to talk to each one. Communication between mentors should also be outlined to avoid confusion.

After that, the question becomes how to balance mentorship support while also giving the intern the opportunity to be creative and work independently. Slack’s answer: Phases of Support.

  • Phase 1: Close monitoring and daily sync. Starts at day one and ends when the intern is aligned with the expectations of them. Key indicators that they are ready for Phase 2 are their ability to complete tasks without guidance and ask questions. This could last through the first two milestones or longer.
  • Phase 2: Loose monitoring and syncing every few days. This is the beginning of more independence and trust. Once they show their ability to seek help when they’re stuck, they can move to Phase 3.
  • Phase 3: Loose monitoring and syncing as needed. By this point the intern knows when they’re stuck and when to ask for help. Weekly status updates and meeting attendance is still required as is with other engineers.

It’s also important to include an end-of-internship wrap-up that provides closure, a space to review what was learned, and an opportunity to provide feedback for the mentor(s). This experience will also help the mentor hone leadership, time management, and time calibration skills.

In Conclusion

It’s great leaders who make great engineers and great engineering teams. While this article focuses on internships, this is so translatable to all mentorship skills. Planning, providing insightful feedback, outlining measurable goals, and giving someone the environment for success is great for everyone involved.

Group Created with Sketch.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.