Frequently Asked Questions
What are you looking for?
I have spent most of my last 18 years coding and will probably have another 18 years of career ahead of me. I want to be recognized for my skills and experiences so I can focus on
- Designing
- Communication and mentoring
- Generating impact
and less on
- Learning
- Proving my coding skills
Location
working remotely from Canada
Seniority
With the following hypothetical engineering levels, I am looking for senior role and above
- junior
- intermediate
- senior
- staff
The context is I know 2 groups of peers:
- peers about the same age as me, started learning computer science at college
- graduated at age 21/22, then worked 7/8 years at corporations
- most are at senior level
- peers did competitive programming with me, or peers who also won competition medals.
- leadership positions in startups
- at senior or staff level in corporations
In comparison, I have devoted more effort in my tech career and earned more honours but sometimes appeared as more junior due to the relatively late graduation year. I hope you find my seniority expectation reasonable.
Less-important factors
- frontend backend split: any split is fine, slightly prefer backend
- tech stack: I have worked with many
- company size: doesn't matter, as long as there's considerable autonomy
Why change jobs in the past?
TLDR: I have changed jobs more frequently than I wanted in the past. I do intend to find a good stable job now so I can grow steadily and focus on other things in life.
Here are the context:
- Before Citi: I wanted to build my own tech startup ever since I won the programming championships because I'm a person with many ideas and received encouragement from others. I tried out different engineering roles to prepare myself for a CTO position in the future.
- Citi: I joined Citi shortly after getting a Canadian degree because I couldn't find a viable startup opportunity and I was into fin-tech ideas. My previous experience at the stock brokerage TXIO also laid foundation for me. I was so busy with university life and experimenting with startups that I didn't even interview a 2nd company. The work at Citi was slow and restrictive, it took at least a week to get the approval to install any software or package, and the there was no access to the internet.
- Veeva: A friend referred me to Veeva. The starting salary was double of that in Citi and I got to lead the frontend efforts in a new team. I generally felt happy. I left mainly because a good startup opportunity emerged.
- Startup: I felt really excited working on it fulltime and attending business functions. I was grateful to be supported by my family, business partners and government entities but the pandemic and supply chain problems quickly made the venture infeasible.
- Google: With all the pandemic uncertainty, a big corporation like Google seemed the safest, so I applied to Google with 7+ referrals. There were definitely many good things about Google but I was determined to move out of Ontario after nearly 2 years of lockdown in cold weather. I wasn't able to arrange for remote working from Vancouver. Also, it was clear I wouldn't get the "senior" title any time soon which most of my peers have.
I want to wrap up with a good note: I'm grateful for all the opportunities I had and the fact that I haven't been fired or laid off :) I hope you see my choices as reasonable though perhaps not the best. Changing jobs can be very tiring and costly. Hope my career can be smoother in the future.
How does programming champion help my team?
- It's a strong proof of the following skills
- Follow documentation
- Write clean and efficient code
- Handle pressure and manage time wisely
- Having read and compared many approaches to tackle the same problem, I can quickly understand how different coders think and identify areas of improvement
- Having designed coding questions and saw many code, I can quickly determine the skill level of an interviewee
- Leadership in leading group competitions
- The fame has brought me many unique opportunities to interact and participate in programs that advance my business acumen
How do you measure your success?
Feedback
- From managers and peers
- From users: Designing the application and solved the right problems. Responsible for an area of the product to make sure it was making an impact.
Objective data
- Revenue growth
- Speed improvement etc.
Programming language and familiarity?
Favorite languages:
- Python
- JavaScript
Preference: No preference. Each popular language has its own use case.
Familiarity with the languages:
- Python: 5/5
- JavaScript: 5/5
- Java: 5/5
- C#: 5/5
- C++: 5/5
- Node: 4/5
- Go: 1/5
- Ruby: 0/5
Any GitHub account to show?
No, I don't have any GitHub account to showcase my code. Here are my reasons:
- Many of my coding efforts have commercial effects and I don't want to simply make public
- GitHub has some social functions that I want to keep private
- A selective showcase of my work and the "activities" would give misleading impression of my coding skills
- My background should convince most people I write good code
- You can inspect some code at https://www.deep.institute/ and https://coding.deep.institute/