As you embark into the industry...
Being an engineer is easy
Being a good engineer is hard
Things I wish I could tell myself 5 years ago
Disclaimer!
Take away what you believe in, ask around, get more infoObjective, but also with some opinionsIn the Workplace
Don't lock yourself to a framework / language
Don't lock yourself to a framework / language
Learn the principles, not just the languageFollow trends with some caution
Follow trends with some caution
- Do your due diligence before adopting some technology
- Some self-questions: is there enough adopters?
Use linters whenever you can
Use linters whenever you can
- Structured code
- Learn to write structured code
Be wary of creating long pull requests
Be wary of creating long pull requests
- Huge PRs usually is harder to review and is prone to lower discovery of bugs. Some tips here.
- Longer turnover for reviews
- Split big PRs to smaller PRs with a descriptive title
Know when to ask for help
Know when to ask for help
- If you are stuck on a problem for too long, ask for help!
- Try to find the solution yourself first
- If needed, talk to your manager/buddy at work and find a good balance
Drop the Arrogance
- Don't take offense at feedback in pull requests (pride is ok, but not too far!)
- Don't jump to rebutt, but give no action for recourse
- Don't assume that that you know everything
Be a team player
- When in doubt, ask for the reason why the feedback is required, without confronting
- Vocal is good, + Listen is better
- Don't silo knowledge
Use your shortcuts!
- e.g: CMD + p (or CTRL + p) in code editors to quickly locate a file
- CMD + arrow keys, or OPTION + arrow key, for faster travesal in characters
- Challenge yourself - restrict using the trackpad/mouse for short periods of time
Environment
- Unix based systems are generally better for development
- Windows Subsystem for Linux (WSL) can also work
Hiring tips
- Prepare your algorithms
- Don't oversaturate your resume with details
- Be truthful and yourself
Outside the Workplace
Do your side projects or open source
Do your side projects or open source
- Expose yourself to other working styles
- Learn something that you don't get to do at work
Participate/volunteer in community activities
Participate/volunteer in community activities
- Lots of knowledge sharing comes from community events/conferences
- Another avenue for networking
Teach/coach in boot camps and the likes
Teach/coach in boot camps and the likes
- Hone your coaching / mentoring skills before you become a senior engineer
- Another way to practice your skills outside of work
Public speaking and blogging
Public speaking and blogging
- Recognized as a good engineer
- Get feedback as well
Read, read and read
- Hackernews + newsletter
- Books
Find a mentor
- Learn from their experiences
- Network from public events