My first 2 months as an official Ruby on Rails developer have been a rollercoaster. As with any new career or job, there will always be growing-painsâ€Š–â€Šthis is just a a fact we all have to deal with. So here are a few tid-bits of wisdom I’ve learned thus far already. Enjoy.
Don’t get burnt out trying to prove to yourself or others how great of a programmer you are. You’re work will speak for itself. Play the long-game by working efficiently at work, and steadily learning new programming practices. Don’t kid yourselfâ€Š–â€Šyou don’t know everything and that is fine. One Step At A Time ðŸ‘
Our first big project as a team seemed “simple”. We thought we knew how to do everything and we did not factor in time for running into roadblocks or any other issues that come up in software development processes. I’ve learned your initial estimation is probably short by a week or two, so it’s a good rule-of-thumb to add at 1–2 weeks onto your estimation.
You could work on the project for a few days and then come back with a revised deadline. It’s always best to estimate with more time, rather than less, because if you get the job done earlier than expected, you will get huge props.
Keeping your bosses happy is fundamental for project success. Keep them in the loop. Produce small things as you go to keep them satiated. Even if they don’t understand how software development works behind the scenes, just showing them simple front-end features goes a long wayâ€Š–â€Šthey just want to see progress.
I like to use the analogy of being on a sinking ship headed to shore. My team and I are all on the boat together. We can’t bicker and point fingers at each otherâ€Š–â€Šthis leads to us wasting valuable time that could be used to get us to shore. We have to plug the holes and work cohesively in order to reach our goals.
Many different parts must work with each other to come bring everything together in the end. When you are dealing with hundreds of thousands of lines of code and you are all working on very complex features, there has to be a “I got your back and you got mine” mentality.
Go out on a Thursday or Friday evening after work and get happy hour together or go to Top Golfâ€Š–â€Šreally anything but just make sure it is outside of the officeðŸº. This helps bond co-workersâ€Š–â€Šwhich is necessary for long-term team development/cohesiveness.
Celebrating small victories in programming really does help. Celebrate your own victories, even if it is some tiny bug fix. Have a co-worker who made some sweet Regex method? Give them a high-five and tell them job well-done. The list of benefits are tremendous.
Thinking you know it all leads to disaster. Understanding there is still so much room to learn and grow will set you apart from everyone else. Don’t become stagnate in your way of thinking or coding. You want to look back a month from now and see that code you wrote then and say, “Yuck”â€Š–â€Šbecause then you know you’re improvingâ€Š–â€Šthat is extremely important.