Skip to content

Instantly share code, notes, and snippets.

@CommoDor64
Last active June 26, 2020 07:17
Show Gist options
  • Save CommoDor64/5d91e480a6886584ef648b1c5b021028 to your computer and use it in GitHub Desktop.
Save CommoDor64/5d91e480a6886584ef648b1c5b021028 to your computer and use it in GitHub Desktop.

My name is Dor, Bachelor of Computer Science, pursuing my master. I attended an "elite" university in Germany (that's what they claim at least).

  1. What does your job actually consist of? I swap jobs quite frequently, so it changes dramatically between positions, but in general Bug fixes and small features on both client and server application, ops tasks like CI/CD and infrastucture setup and matintenance.

  2. Describe the typical day at work - Start btween 8:00 to 9:00, either from home or at the office. Coffee with couleage and a daily update meeting with the teams. Usually I would have 1-3 meetings regarding cross-company-team matters, and the rest of the time I will try to resolve tickets, between 1-3 every day, depends on the task. Usually around 16:30 - 17:00 I will call it a day, launch around 12:00-14:00 usually quick meal when I am home, and a proper one hour break if I am at the office.

  3. What kind of engineering problems do you encounter? As I wear many hats at most positions, it will be everything from technical challenges, to architectural. Not whole alot of coding. In general 60-70 percent quite trivial tasks.

  4. How much school course work is used in your job? (i.e. do you use much math and physics in your work ?) Unless the position is research oriented, the school related knowledge is usually from software engineering. How to design and matintain an application, how to work with peers.

  5. What courses from school were most useful to you on the job? Software Engineering, Operating systems and computer netowkrs, Logic and Combinatorics. Programming languages (knowing how to write idiomatic code)

  6. What is the work environment like? (friendly, formal, etc.) Friendly, it might get too formal in germany sometimes tho.

  7. What type of work environment do you usually prefer? friendly and open, I spend the better half of the day at work, I want it to be pleasent.

  8. What are the people like? How is conflict dealt with? Some are nice and wasy, some are egomaniac and hard. Usually architecture approaches are hard to resolve as all sides will be unhappy.

  9. What is satisfying/dissatisfying in the job? Finding a minimal and elegant solution to a complex problem. Seeing an owned product grows from nothing to something.

  10. Describe your toughest job assignment. Setting up a CI/CD pipeline with Jenkins with 0 experience and in couple of days. Developing a prototype as a junior, by myself in 4 weeks.

  11. What do you think is most important for a project to be a success? Proper communication, proper planning, ability to reason decision making, consistency. In that order

  12. How do you handle stress/pressure? Stress is counter productive beyond a certain threshold, I keep myself calm even if the deadline is short, this is not my problem and I am not going to exhaust my mental resovoir for that.

  13. Do you prefer to work independently or as part of a team? I am a lone wolf, but learned to work with poeople behcause I had too. It also important in order to take part in open- source projects.

  14. What programming languages have you used and are you most familiar with? Not Java, it is a terrible language. In general, Go and JavaScript on a good level. C, Python and Ruby on a lower level.

  15. Describe the process you use for writing a piece of code, from requirements to delivery. Understanding the problem -> sketching it -> trying yo find a solution -> sketching it -> open a new branch -> work gradualy and commit often on the branch along with a lot of unit tests -> create a Pull request -> code review -> e2e tests, delivered.

  16. What one piece of advice could you offer to prospective engineers? A Software engineer should focus on engeineering as a whole and not a specific field. We study paradigms and methods which allow us to learn algorithmic solutions to problems. Don't be this Client application engineer (frontend) that doesn't know networking very well, this makes you a coder, not an engineer and a scientes.

  17. Has the profession lived up to your expectations? Almost all companies have bad software engineering abilities, terrible code and excessive use of patching everywhere. But sometimes you can get lucky and get to work on a clean project, with high technial demands which will make your engineering abilites shine, and it makes all worth it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment