在進入正文之前先粗略描述筆者的技術背景，希望讀者能理解觀察與描繪面試流程的視角，也提供背景相似的讀者一些參考。目前我有五年多的程式撰寫經驗，軟體工程師相關實習經驗約一年半，在 SITCON、COSCUP 等等會議給過幾次 Talk，技術算是上的了檯面。
這次接觸的企業都是中小型的軟體新創或是外商，比如 iCHEF、UI.com、PicCollage、17 Media，可能會有誤差無法代表整個軟體產業，但如果你嚮往的企業性質相似的話，這篇文章具有足夠的代表性。
As the complexity of software architecture increases, good analysis and design become more and more critical. Since I became a software engineer so far, we are used to drawing something like an architecture diagram on a whiteboard and discuss with other colleagues.
But … have we really done the analysis and design well through this kind of process?
This may work during an interview that allows us to throw out a reasonable solution, but not always suitable for a real-world problem after onboarding. A software system needs to be considered about robustness and practicality, not just a proposal.
Recently I was responsible for the integration of Stripe online payment service, and take some notes about workflow planning and SDK usage details.
Stripe would be highly recommended for the payment tasks due to its software-engineering-friendly SDK, the succinct interface and complete documentation also helpful during my development.
The third-party python project management tool poetry, and the web framework Django and its dependent REST API extension would be used in this article.
Below is my
pyproject.toml file, you can refer to it while building the virtual environment.
As far as a platform service which needs to support…
This semester I participated in a course on network data mining, which includes a crawler-related project that had much room for technical play, and I think it is worth writing an article to share.
The students were asked to collect unique URLs as much as possible with website-scraping skills but do not limit the tools used. For these kinds of IO-bound tasks, how to solve the performance bottleneck of waiting for network communication is a point worthy of attention (especially some poorly performing websites).
中午吃飯滑手機時收到 CakeResume 的新功能通知，是個程式技能的認證機制，和同行朋友聊了下看法後得出了些有趣的結論，決定寫篇文章來分享一下從一個求職者視角的想法。
市面上多數這類型的類媒合平台，不管是約會、家教、就業、募資，只要是使用者明顯分為兩個族群的 (e.g. 男性/女性、老師/學生、徵才者/求職者、募資者/投資者)，並設法將雙方鏈結以創造價值的，在服務增長上都一定會面臨到一個課題，那就是雙邊市場策略。
Consider a well-modulize project structure, we certainly take the advantage of the flexibility which empowers us to change or extend at less limit. Unfortunately, the complexity of communication between modules increases rapidly with the developing process.
After a few version iterations, the engineers might start to think about related issues, for example:
These all show the need for a clearer plan of interaction between instances, arrange the timing of…
Driven by the curiosity of database tunning, I have taken some time to study how the database planner plans the query strategy this week. This really gave me great inspiration, which makes me pay more attention to how I construct a complex SQL.
Here I will write down some notes about serval useful commands to display the plan and details via PostgreSQL.
Whenever we enter a SQL command, it will go through the few steps below:
During my search for job opportunities in the past few weeks, I found that the frequency of the keyword “GraphQL” appears in the description of vacancies has become much higher than last year. Although I am an engineer accustomed to REST, my strong curiosity still drives me to give it a try.
There are several modules that can help us implement GraphQL API, I have no special consideration now, so I just pick the most popular one. graphene-django would be great for a quick start, it has plenty of discussion on the internet and highly-integrated with the Django framework.
Continue with my last post Link the attendees and the decision-makers via a questionnaire @ PyCon TW (part II), this time I will focus on the answering experience and the release channels.
With the suitable metrics, it turns to solve the attendees’ issues. How to make the express their true thoughts naturally? Like what they share with their friends excitedly, instead of finish the quizzes rapidly to replying to us.
In what situation will the attendees express thoughts naturally?
We need to figure that out and build a similar situation with limited resources and interactions. …
This is the second year since I joined the preparation team of PyCon Taiwan, an energetic and vigorous community composed of Python enthusiasts. As a member of the newly born data-driven strategy team, the following is my tasks and duties:
I spend most of the effort to figure out what do we really care about, and how could we got the answer by a short interaction with our attendees. In this article, I will share how I think and execute the tasks above.