3 ms·
A few things I learned along the way: * If you end up as a software engineer, building good software has a lot of things that fall outside core computer scienc
by karterk 14y ago
A few things I learned along the way:
* If you end up as a software engineer, building good software has a lot of things that fall outside core computer science concepts. Read up about unit testing, continuos integration and continuous delivery.
* Build, build and build. No amount of reading will help you tackle some of the issues that real-world data will throw at you. An active Github account also serves as a validation that you are actually capable of "shipping things".
* Breadth is important, but continue to focus on becoming great at atleast one thing.
* Learn a few languages. Pick one or two which are statically typed (Scala, Haskell), one or two that are dynamically typed (Python, Ruby). I also highly recommend Erlang which was a revelation for me.
* Master Git (or Mercurial, if that's your thing).
* Choose to work in companies where you feel you will be surrounded by people smarter than you. This is possible even outside the Googles and Facebooks of the world.
* Don't get overly attached to your tools. Languages, frameworks and editors are a means to an end. Be open to new ideas and better way of doing things. There is an initial learning curve before you start becoming truly productive in anything and so be mindful of that before you dismiss something.
* Lastly, don't get burned out.