Your First Year as an Engineer

by Prachi Singh in Career Services.

Working for Bloc requires a perpetual quest for information about education, careers, and success. While developing out ideas on career preparation, I posed a question to the Bloc Mentorship and Engineering teams. I asked: “What are the three things you learned in your first job as an engineer?”

It started as a casual question, but turned into a valuable list worth sharing. 

Below are the answers I received.

Alex Spencer
Mentor – Bloc

  1. If you don’t know something, that is okay! No one knows everything and only jerks pretend like they do.
  2. The best way to learn something is to promise to give a “tech talk” on it the following week.
  3. Desire to code > coding skill. I can teach anyone the skills. I can’t teach passion.

Ariel Fogel
Engineer – Bloc

  1. Perfect is the enemy of good enough.
  2. Ship iteratively.
  3. Automated testing is important but doing it right is more of an art than a science.

Caila Blanton
Mentor – Bloc

  1. That I don’t know anything.
  2. That I am going to have to learn a ton (sorta goes with 1).
  3. That no one cares about my college GPA. Working hard is no longer the key to success, but rubbing elbows is.

Carrie Coxwell
Mentor – Bloc

  1. That I don’t know anything.
  2. Creating a good end result is not about being a “loner coder” and is all about communication and teamwork.
  3. Being good at this is not about having a specific skill set, but rather a capacity to constantly learn.

Courtland Alves
Program Director – Bloc

  1. The longer a project is, the further off your estimate will be.
  2. Great feature ideas can, do, and should come from engineering.
  3. When debugging, make no assumptions.

Dave Paola
CTO – Bloc

  1. Don’t be proud of the thing. Be proud to have done the thing.
  2. You are not the smartest one in the room.
  3. Real code is a mess. It doesn’t mean the sky is falling. Leave things better than you found them.

Jack Schuss
Alum – Bloc

  1. Soft skills > knowing everything.
  2. Understanding a problem before you go off on your own is super important. Communicating any questions you have and making sure that you’re clear on the expectation is the way to succeed. If you’re not sure about how something should be implemented, make sure that you communicate that, and be clear of the fact that it will be an iterative process.
  3. Make sure to observe the process and dynamics before you start voicing opinions. If you voice your opinions too early, you may come off as combative or argumentative. There will be time to change things.

Joe Lipper
Engineer – Bloc

  1. How to work with others on an engineering project (good communication, etiquette, expectations).
  2. How to respond to crises, diagnose them quickly, and put up a fix by communicating with users.
  3. This isn’t really a third, but lots of programming knowledge that’s only gained by repetitively doing the same things. Little details that end up being important later on because they save you a bunch of time.

Levi Kennedy
Engineer – Bloc

  1. How to use git on a team.
  2. How to use VIM.
  3. Pairing with someone more experienced in TDD than me helped me fully understand the how and why of test driven development.

Matthew Maxwell
Mentor – Bloc

  1. How to effectively translate what someone says they want into what they actually want.
  2. How to break tasks down into smaller tasks.
  3. How to change my mindset to work under pressure.
  4. Also, what to do when I didn’t know what to do.

Matt Thompson
Mentor – Bloc

  1. How to collaborate with other Engineers.
  2. A ton about Rails and developing large scale web apps.
  3. Server admin and deploying web apps.

Mike Branski
Mentor – Bloc

  1. Things take longer than you think.
  2. Having good, reliable backups is crucial.
  3. Take care of people and the rest will follow.

Wilson Rector
Mentor – Bloc

  1. Other people are smarter than you, and that’s okay (ask questions).
  2. Double your estimates, because everything takes longer than you think it will.
  3. Your sanity is not worth constant overtime.

Rajeev Singh
Mentor – Bloc

  1. Brilliant code is worthless if your peers can’t read it.
  2. Good apps are the product of good communication.
  3. It’s everyone’s job to be an advocate for end users.

Richard Newman
Mentor – Bloc

  1. Don’t let perfect be the enemy of good.
  2. Our ego, as engineers, are tied up in thinking we’re smart and should be able to reason everything. This is opposite of the truth and you need to let that go.
  3. It ain’t just about the code. You have to think of how to build, whether you’ve thought about copyrights, docs, etc. The code is just a small part of what is necessary to release software to users.

Varun Mangla
Mentor – Bloc

  1. Premature optimization is bad.
  2. Don’t kid yourself, you don’t know anything.
  3. Focus on the T (wide breadth, but depth in one area).

Want to learn more about the Bloc Engineering Team? Follow@BlocEngineering on Twitter for weekly insights and questions! 

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on RedditEmail this to someone