Ask HN: How do I perform given a 1 month probation period?
Starts to learn JS. After few startups and projects in the space of half a year, got into 1 of the most popular startups in the region.
Then life hits -- daily scrums, JIRA, talented full stack devs, Some tasks I did well but some didn't, e.g too long to finish, have to be redo by the CTO due to regressions and poor code quality.
So today is the end of my third month here. CTO decides on giving me another month of probation. We both agree I am not up to par with most of the output of the other seasoned devs.
Things I need todo: framing problems, asking the right questions, focusing on a specific repo rather than trying to be involved in all repos, and thinking creatively to create quality code.
But how do I create quality code, elegant solutions and fast, in the space of 1 month? Do I finish up Code Complete 2? Or do I practice my fundamental JS knowledge doing exercises?
22 comments
[ 2.7 ms ] story [ 60.6 ms ] threadThis is not the silver bullet, but just one of the things you can do to improve your situation.
After that, ask for code reviews. If you don't understand why the reviewer is suggesting a change, keep digging until you do.
Also, as partisan said, reading through the code from the other devs will be a huge win. Even if it doesn't follow "best practices", it will show you what's acceptable in your company which is arguably more important right now. And, again, if you come across something you don't understand, ask about it.
Oh, and you need loads of testing to help avoid regressions. Some manual testing is good, but you really want automated tests covering most things.
I wrote a blog post about this not too long ago: http://ortask.com/why-your-mindset-might-be-setting-your-sof...
I would start by answering two questions: 1) Why did they hire me? 2) Where can I provide the most value?
Apparently, they have a bunch of smart, capable people that are performing at a higher level than you in certain areas. Why, or where are you unique within in the organization, where are they going or trying to get to? These will get you started in answering the first questions objectively.
I don't think blindly focusing on fundamentals will make you competitive with people that are already well beyond you. And if you did become competitive on that level, so what? Do they need another person with the same skill-set?
This brings me to the second question. Other than LISTENING, strategically identifying their weaknesses is the best way to get started on question two. Providing practical solutions in the most efficient way possible is where you provide value. It's great when it doesn't have to be, but often the ideas that move things forward in a significant or meaningful way are cross-functional and collaborative. Perhaps it is part of the reason they can be so elusive. Based on your analyst background, this type of objective analysis might be the right starting point. From there you can drill deeper with more relevance adding further value.
Finally, your commitment will show, and while it may intangible (at first, anyway), that too has value.
I guess it all boils down to completing the tasks I was assigned, improving the quality of the code and then finishing on time.
It sounds like your manager knows a thing or two in that you may just need a little more time to settle in and perhaps the word "probationary" lit the appropriate fire under you. I recommend continuing what you have been doing - listen, reflect, reach-out, repeat.
I personally would feel very pressured and don't know how much I could focus and be happy if I were in your situation. Perhaps you are not bothered by it at all, in which case I don't think my advice fits you very well. But consider it.
Try asking the seniors for help when you get stuck somewhere. But only ask for help after trying all the possible solutions you can think of yourself.
Try to come up with 3 or 4 test scenarios for your code and test them before you submit the code. Thinking up new scenarios will help you reduce the bugs.
Critically review your own code a few days after you've submitted it. Pretend it was someone else's code and think of all the possible ways to improve it.
If your seniors are willing, ask for a code review. Go through the review comments carefully and make sure you never get the same review comment again. Don't ignore any comment, however trivial it may look.
Spend an hour or two extra everyday to improve your knowledge of the system. Learn something new everyday about the tools, language etc.