<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Silicon Straits - Medium]]></title>
        <description><![CDATA[Where great people build great products which form great companies. - Medium]]></description>
        <link>https://medium.com/silicon-straits?source=rss----4822aedf81c0---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Silicon Straits - Medium</title>
            <link>https://medium.com/silicon-straits?source=rss----4822aedf81c0---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 06:36:52 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/silicon-straits" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Four Questions To Ask Yourself For Successful Task Delegation]]></title>
            <link>https://medium.com/silicon-straits/four-questions-to-ask-yourself-for-successful-task-delegation-fbd7387f9e00?source=rss----4822aedf81c0---4</link>
            <guid isPermaLink="false">https://medium.com/p/fbd7387f9e00</guid>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[management]]></category>
            <category><![CDATA[leadership]]></category>
            <dc:creator><![CDATA[Jonas Eichhorst]]></dc:creator>
            <pubDate>Tue, 27 Sep 2016 10:33:50 GMT</pubDate>
            <atom:updated>2016-09-27T10:33:49.854Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IMT0SGbACDUu0bokAHeD2A.jpeg" /></figure><p>Truly great things are never achieved alone, they always are team efforts. This is true for general business, product development, sports, family life or pretty much any other domain you could think of. Wherever multiple people are required to get a job done, coordination therefore becomes critical.</p><p>Coordination can be among multiple people with similar skill sets (e.g. a number of Android developers or a number of designers), or just as often, coordinating between various different skill sets to achieve a bigger goal (e.g. building a product with a developer, a designer, a PM, a QA, a sysadmin, etc.).</p><p>Successful task coordination and delegation therefore are key in doing great work. While it definitely takes a lot of practice and experience to successfully delegate and everybody develops their own style over time, there are a few guidelines which can increase the likelihood of success.</p><p>Based on my own experience coordinating various teams over the past 10 years, from various sizes, cultures and styles, I find the likelihood of a positive outcome to dramatically improve when the following questions have properly been considered:</p><ol><li>Is the task and the output expectation clearly defined?</li><li>Does the other person have the skills to execute the task?</li><li>Does the other person have the authority to execute the task?</li><li>Have I handed off tasks to this person before and know “how he/she ticks” and how to set her up for success?</li></ol><p>This article will explain these 4 considerations in more detail as well as give concrete tips on how to improve your task delegation.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ITzTIIgXG9SlTA4Sw9vWLQ.jpeg" /></figure><h3>1. Proper task definition</h3><p>A common mistake I often encounter when people delegate a task (myself included) is that the person did not actually think of the desired outcome properly before delegating.</p><p>Sometimes, this can be due to a lack of specific knowledge of the person trying to delegate a task. An example could be when a business person asks a tech person to “assess if somebody is a good tech hire” without having pre-defined what “good” means (e.g. no guidance in terms of what kind of experience would be relevant, what the goals of that role are, the critical success factors, etc.)</p><p>Other times, it could be due to either ignorance (e.g. in the prior example, the lack of understanding that “a good tech hire” is a rather subjective judgement and hence, not easy to answer with yes/no), or because of a lack of time invested to properly think about the task.</p><p>It is important to understand that this does not have to mean that you micro-manage every person you are working with. A task can be delegated with a vague description (e.g. “create a product strategy”) — but in that case, it is crucial that the person delegating the task and the person supposed to execute that task jointly discuss what the real purpose of this task is.</p><p>In the example of “creating a product strategy” , it could be that a CEO asks a VP Product to come up with the product strategy which is supposed to support the overall business goal of growing revenues by 50% while also increasing customer retention. The CEO may not have a clear sense of how to do that, hence, pass this major task to a VP Product. Yet, the VP Product should make sure he clarifies the real drivers for this task and not just accept the request to “create a product strategy”. Otherwise, he may find himself surprised if his self-chosen priority and resulting strategy to minimise technical debt is not met with the expected enthusiasm.</p><p>Clear scope and requirements need to be understood as a shared responsibility between the person delegating and the person receiving a task. The person delegating the task should ensure he tries to clearly communicate the task but also the person receiving the task should not hesitate to ask any questions and clarify until a common understanding is established. One relatively straightforward way of verifying a mutual understanding can be to ask the person you delegated the task to, to paraphrase the task and ask them to explain their approach to solving and what the solution will roughly look like. This way you can check whether this matches your expectations and if not, do early corrections without significant time being wasted.</p><p>In summary, however, no matter whether the task is small or very large, without explicitly setting a clear goal and discussing what “success” would look like, chances of a happy outcome radically go down.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jbrbaLSKGPIKI5VdavEF9w.jpeg" /></figure><h3>2. Ensuring appropriate task-skill fit</h3><p>In one of the first management retreats I attended, the HR director of that company held a presentation on how to deal with poor employee performance. One of the key messages was to ensure a clear understanding of poor employee performance cause (potentially perceived). A key distinction made in her talk was to understand whether an employee is demonstrating poor performance because he is not motivated to perform better, or, whether he is motivated but does not have the skills to perform better.</p><p>Over time, continuously putting people into jobs where they do not have the necessary skills will lead to people losing motivation. However, depending on the organization and culture, in my experience (especially in the startup or social entrepreneurship world) it is quite rare for people to show very low motivation levels from the get go if they are generally treated fairly. A more common case with people who appear to perform poorly seems to be that they are put on tasks where they do not have the appropriate skills.</p><p>While it is rare for somebody to be hired for one thing and then being asked to work on something completely different (e.g. hiring a designer and then asking them to do sysadmin work), it is very common to be overly optimistic or ignorant of the scales and complexities of tasks. Selling newspapers on the street is different from selling enterprise software contracts to governments. Building Wordpress websites with some customised features is different from building core analytics engines for big data projects. While many people will intuitively agree with this, the reality is often grey and distinctions are not easy to realize.</p><p>This is further caused by the natural dilemma between trying to help people grow by stretching them far outside of their comfort zone, and (unconsciously) setting them up for failures by asking too much of a person. Finding the right balance between a tough “good” challenge and a pure <a href="https://en.wikipedia.org/wiki/Hail_Mary_pass#In_other_fields">hail mary task</a> requires a lot of experience and insight into both a person’s abilities and a task’s requirement. Through critical self-reflection and over an extended time period, you can sometimes see a personal trend, whether you may be “asking too much” of the people you delegate to despite the best of intentions.</p><p>In the case of poor performance due to lack of appropriate skills, there usually tend to be three major options:</p><p>a) ask the person to do a different task</p><p>b) train the person to do that task if it makes sense from a cost/return perspective</p><p>c) let go of the person</p><p>While the implications of option (a) are obvious, option (b) and © deserve a bit more explanation.</p><p>A company’s mission typically is different from a school in so far that training somebody to do a particular task is an investment decision. Is the time spent on training that person justified? Are there good reasons to believe that the person will quickly pick up the skill and deliver good value? Or is it a long shot and it would be much more economical to hire somebody else for that task?</p><p>As an example, if I were supposed to design an entire website from scratch, I would struggle to do a great job. Essentially, I would have to start from zero and after a few years of training, I may be able to do a reasonable job. At that point however, the company would have had to invest a very large amount of time and money into me, when in reality there are many highly talented designers available who could hit the ground running quickly. Therefore, in this case from a business perspective, it probably would not be a good idea to try and train me.</p><p>If I am somebody with great overall development skills, deep architecture knowledge and adequate leadership experience, and now I am supposed to lead a project in a new programming language, it will be natural to think about how I can be quickly learn and adapt within a few weeks and the overall benefit I already brought to the table is significant.</p><p>For case (b), an assessment has to happen of how big the gap is and whether it makes sense for the company to try and train the person to bridge that gap or whether finding someone else.</p><p>Case © can often be very difficult for young managers as it seems harsh to let go of somebody who is very motivated yet does not perform.</p><p>Personally, I am no friend of firing quickly and have a certain level of skepticism towards this option as I have found many less experienced managers to be overly fast to assume the person “isn’t working out” when it could be at least partially due to the way that person is being managed.</p><p>Despite maybe sounding slightly counterintuitive, I would argue that in these cases, a manager almost has a moral obligation to work with the employee on a clean way to let the employee go. Ultimately, that situation is neither long-term feasible for the company, nor the employee and a manager has no right to “waste” an employee’s time by trying to ignore the problem and not helping the employee find a better environment or set up elsewhere.</p><p>Understanding an employee’s skills in order to matching skills and tasks is a task that requires experience and a lot of skills of the manager. The reality often is quite messy with few clear cases of mismatches and a lot of grey areas. Keeping such basic considerations in mind however, can definitely help to improve the likelihood of success.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FBpFkVPBgXLq4UT3MOu2jw.jpeg" /></figure><h3>3. Authority to execute a task</h3><p>Imagine Jose Mourinho, a professional football manager, were to attend an amateur club’s football match. There is little doubt that he will be a more experienced and better manager than the manager of that amateur football club.</p><p>However, sitting from the sideline, he has no authority to give orders to the team and even if he were to demand one player to be substituted for another player, it would not happen unless the actual manager decides to make such substitution. At the same time, even though Mourinho may be the expert, nobody expects him to be calling the shots either. He has the skills, but is not responsible, doesn’t have the authority to execute and is not under the expectation of leading that team.</p><p>This extreme example is fairly intuitive and the dynamics in football teams are well enough understood to follow this case. However, in teams similar situations can arise where somebody would delegate a task to somebody else who may have the skills and now is under the expectation to perform, but does not have the authority. This could be because in order for that person to do their job, they require input from a third person, yet, that third person is not aware of his required contribution or, in particularly bad cases, refuses to cooperate. As a manager, therefore, it is crucial to ensure that when you hand off a task, you not only pass on the expectation for the person to perform, but also provide that person with the authority to perform accordingly.</p><p>Providing somebody with the authority to behave in certain ways requires trust in that person’s judgement and that can be tough, especially for inexperienced managers. Full authority without any oversight can also be problematic, hence striking the right balance is key. In my experience, that is best achieved if both parties know each other reasonably well leading to the fourth consideration: prior joint experience.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XEj83oMGfOm3Pbobr13RAA.jpeg" /></figure><h3>4. Prior joint experience</h3><p>Managing people by definition has to do with people and the relationships you build with them. Each relationship is unique and relationships change over time (whether better or worse depends on the investment both parties make into the relationship). If you have worked very closely with somebody for an extended time period, sometimes a simple sentence is enough to convey a complex idea. That same content however may need a one hour meeting with somebody you have not worked with before.</p><p>When working with somebody new, I like to roughly apply a principle called <a href="https://en.wikipedia.org/wiki/Additive_increase/multiplicative_decrease">“additive increase — multiplicative decrease”</a> — something I first heard of a long time ago, surprisingly, with regards to a completely different domain: network traffic congestion handling.</p><p>The idea hereby is simple, because network bandwidth is limited overall and it is unclear at any given point how many different users are using that bandwidth, your computer would linearly increase the amount of data sent per time unit starting from a very low base line as long as no collision is detected. If things go well, over time you will enjoy a faster and faster connection. However, the rate of data transfer is halved each time a collision is detected. Therefore, it could be viewed as a carefully optimistic approach with strong “insurance” if things don’t go well because it decreases much faster than it increases.</p><p>When working together with somebody for the first time, I like to follow a somewhat similar approach. I will carefully try and start by handing off smaller tasks. If that seems to go well, I will keep handing bigger and bigger tasks while taking a more and more hands-off approach. However, if things didn’t go well, instead of slightly correcting, I would get much more involved for a short period of time before gradually handing off again.</p><p>I am a fairly optimistic person by nature and time is always limited and probably my biggest constraint. Hence, unless things blow up, I assume they are ok. However, this can mean that problems may remain unnoticed for a bit longer than they ideally should. Therefore, I personally find it to be much better for me to then take stronger immediate corrective action (exponential decrease) if things don’t go well, rather than being too slow in adjusting (linear decrease).</p><p>This approach can also work for other areas of management like on-boarding people — you work with them the full first day, then maybe half the second day, spend two hours with them on the third day, one hour on the fourth day and then maybe stick with a rhythm of one hour every 2–3 days if things seem to go well. If there are signs of a problem though, instead of spending slightly more time with them, you immediately spend a LOT more time with them. This in my experience allows for better overall return on time spent, as ultimately problem prevention and early solving almost always ends up being less resource consuming overall than fixing a problem when it as become so big that it can not be ignored anymore.</p><p>Whether you chose this kind of heuristic or a different approach certainly depends on your own personality, experience and style. The important takeaway message from my perspective here though is that, again, task delegation and management depends on the particular person you are dealing with and the more time you spend together, the more likely it is for the two of you to develop a good joint working mode.</p><h3>Conclusion</h3><p>In this article we started by looking at some of the components of successful task delegation. Based on four specific questions, I tried to show you that often a rich experience and good judgement is required which leads to successful task definition being a somewhat “messy” problem. Being a crucial piece of management, we have seen how task delegation also quickly touches other considerations, introducing additional complexity. However, all said and done — I do believe that by keeping the aforementioned aspects in mind, you can dramatically improve your awareness of what task delegation includes and therefore improve your chances of success over time.</p><p>Please feel free to share any questions, insights or other good guiding principles you have found in the comments section below as I also believe that this is an area where everybody can keep learning and there always is further room for improvement (definitely I know that this is the case for myself!)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fbd7387f9e00" width="1" height="1" alt=""><hr><p><a href="https://medium.com/silicon-straits/four-questions-to-ask-yourself-for-successful-task-delegation-fbd7387f9e00">Four Questions To Ask Yourself For Successful Task Delegation</a> was originally published in <a href="https://medium.com/silicon-straits">Silicon Straits</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Here’s why Slack has worked so well for us]]></title>
            <link>https://medium.com/silicon-straits/heres-why-slack-has-worked-so-well-for-us-a77888b6b311?source=rss----4822aedf81c0---4</link>
            <guid isPermaLink="false">https://medium.com/p/a77888b6b311</guid>
            <category><![CDATA[success-story]]></category>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[slack]]></category>
            <dc:creator><![CDATA[Kent Nguyen]]></dc:creator>
            <pubDate>Mon, 06 Jun 2016 08:21:32 GMT</pubDate>
            <atom:updated>2016-06-06T09:00:58.282Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TiLFjxO_WvFnW7DdeJQl2g.png" /></figure><p>We started using <a href="https://slack.com/r/0251q68k-0253reh0"><em>Slack</em></a> in August 2014, right when it came out of beta, with 44 users. Less than 2 years later, today, we are at 80 paid users. It’s no secret that we have paid quite a significant amount to Slack to date. What we got in return is a significant productivity gain plus an irreplaceable tool that blends perfectly into our unique culture supporting and reinforcing how we run the team.</p><p>Despite its incredible value-add to our process, very often when I recommended <em>paying</em> for Slack to some small medium start up teams, the reaction I got is mostly skeptical: “Why do I have to pay for something that can be used for free!”.</p><p>So here’s my attempt to put down some thoughts on how Slack has brought us a lot more value than what we paid for its use in cash. From a non-technical perspective:</p><h4>The whole team is in one place, that includes clients</h4><p>By going for premium plan, we can create and restrict access for our guests/clients to be in the same IM tool. Of course, some clients are skeptical at first. But when they actually get on the platform and are able to get in touch directly with the PM/Designer/Developer without needing to know their email addresses or their phone numbers, all the doubts disappear. The friction of communication suddenly becomes minimal.</p><p>Even between ourselves, Slack is being used to replace most of the other OTT services (Whatsapp, Viber, Line, FB Messenger). Simply, because everyone has Slack on their smartphone, and it works exactly like any other OTT, if not better. During non-work events like group road trips or weekend casual chatter, people are also using Slack to chat with co-workers instead of other IM platforms.</p><p>At the moment, we have more than 60 guests for free! Considering that’s more than half of the number of full team members, and we don’t have to pay for them to enjoy the same productivity as our full-timers, I think we got a damn good deal. You can argue though as some more conservative minds told me, that Skype or Lync could do the same. Not quite, because…</p><h4>We integrated a whole lot of shit</h4><p>Skype and Lync and other similar tools don’t offer quite the same openness. In order for this article to not be a sales pitch, I’m not going to go into the regular services you can find on the website. Currently we are at 52 integrations.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cDJSYya9NmBbl93pshMrkw.png" /><figcaption>our current stats</figcaption></figure><p>When we say Slack is really a big part of our process, it is mostly because we added a lot of cool services as part of daily communication.</p><p><strong>Starting with email</strong></p><p>Way before Slack had email integration as a standard service, we wrote our own custom email push-to-Slack bot. Using an easy-to-remember syntax with a prefix of ss<em>-[groupname]@siliconstraits.com</em>, we were able to hook up a lot of external communications into one place conveniently.</p><p>That means when a PM goes back and forth with clients, the whole team can see the email thread but doesn’t need to be cc’ed. That also means all our billing notifications are pushed into one place and the whole finance department is aware of the charges.</p><blockquote>This email automation is more than just convenience. It allows us to keep the flat culture whereby nobody is accidentally left out of the loop.</blockquote><p>Subconsciously, all members in a team feel like they know as much as the others and, more importantly, they have all the data points to work with. Minimizing office-politics and saving us from a real hassle and time-sink of context syncing.</p><p><strong>Notifications make the whole difference</strong></p><p>Like other teams who have been using Slack, the regular stuff helps tremendously. Notifications for when <em>someone is being assigned a task, when a CI build failed, when a bug is detected, when someone pushes code, etc</em>… basically pretty much all the events you can think of can be pushed to Slack.</p><p>Here is where Skype and Lync fall short: the flexibility to customize notifications. Personally, I’m in pretty much every private group there is, yet I rarely got overwhelmed by the information stream. I can change my settings separately for phone and laptop to reflect exactly my reading speed on each device.</p><blockquote>Whenever a group starts to become too noisy, I re-set the notification such that I only get alerted for certain important keywords, or when my name got mentioned. I can stay on top of things that way and don’t get buried.</blockquote><p>We really try to make full use of notifications and set some hard-rules for people to be productive. For instance, after 8pm, no one is supposed to use <strong>@group</strong> alerting in channels unless it’s emergency or the private group has a consensus. The <strong>@here</strong> tag is also super convenient for smaller groups, quickly disseminating important message to currently-online users and not being intrusive to offline/resting users.</p><h4>And then we added more crazy shit</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/320/1*ZlhH0bYHVydGUtn07Z48Lg.png" /><figcaption>Order lunch right within Slack, even on the move.</figcaption></figure><p>We cater lunch everyday. It used to be a piece of paper menu being passed around. Sometimes it got lost, as you could imagine, sometimes people couldn’t order because they came in late. Now it’s all in Slack.</p><p>There is an additional simple back-end page that our admin lady accesses to get the consolidated view before lunch and then places the order manually over phone.</p><p>[brag] It took me only 1 day to develop this integration yet the value it has brought to the team and the time saved is simply priceless.[/brag]</p><blockquote>Slack’s openness leads to really interesting and creative usage. The tool enables us to convert quite a number of our offline to online processes.</blockquote><p><strong>Performance appraisal over Slack</strong></p><p>At one point in time, for almost a year, we even had a simple peer-review mini-system over Slack. How it works was very simple. One types “/rate [1–10] [username]” at the end of the calendar month. The system would consolidate the ratings and showed color-coded differences. This immediately allowed management team to identify unspoken issues between two individuals. Again, it is really easy to implement such value-added tools for a team of developers like us. The mini-system has worked so well for us that the data we’ve learnt over the short period allowed us to build a much more comprehensive performance review framework specifically catered to the way we work (we hope to release this framework soon).</p><h4>The perfect replacement for offices’ water-coolers</h4><p>If you are unfamiliar with the <a href="http://www.businessinsider.com/how-to-create-a-virtual-water-cooler-for-your-company-2013-3">water-cooler</a> concept, here is a quick definition: it is a common place where impromptu discussions and/or gossip happens, as people <em>have to</em> bump to one another (to get water).</p><blockquote>With a giant #public channel, where everyone is in, including our Alumni, no work-related discussion happens, it’s just pure nonsense — the good kind.</blockquote><p>Anyone can say anything and everyone can see. It helps greatly given our flat structure: when there are newcomers, a simple announcement pulls everybody in to greet and meet the new guys. It makes everyone equal.</p><p>There are other team-focused and work-focus water-coolers, in which team members don’t necessarily have to discuss about work but still somehow relevant to the projects they are in. Usually these exclude management team members so that people can freely speak their mind and get help from others.</p><p>And of course, just like any other IM tools, anyone can directly message anyone via 1–1 channel — these different levels nicely reflect our open culture.</p><h4>Adding the personal touch</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/320/1*wA0Y-bchqS5O7xdy4LRbYw.png" /></figure><p>As our headcount grew quickly, the challenge was how to maintain and facilitate offline personal interactions between so many people.</p><p>Initially, we discovered <a href="http://bonus.ly/">bonus.ly</a>, a SaaS service with Slack integration. It helps one user to reward another user virtually for anything and for whatever reason. The idea was great and we used it for a while. But as the cost started to scale up, we found that it was time for us to write our own system.</p><p>We learnt a lot from bonus.ly and we made several small tweaks to the way reward system works. Instead of a full-flesh web interface, we streamlined everything to command lines. We changed the way messages are defined, remove even more friction to reward someone than before. We reset the allowance every month, and offer conversion to real cash for any team-bonding purpose.</p><p>We saved a bit of subscription fee and we have a perfect system that shapes how people are getting rewarded for their offline interaction.</p><blockquote>It is amazing to observe that when a kind action is awarded publicly in our common channel, not only it brings recognition to the awardee, but also let others know more about his/her personalities. Personally I didn’t think any online tool could do that but Slack did.</blockquote><h4>Sum it up</h4><p>There are other functional utilities to the way we use <a href="https://slack.com/r/0251q68k-0253reh0">Slack</a> daily but the ones above are some highlights on how it has helped us build and maintain the cultural dimensions we believe in of the team. I believe as organizations are moving towards a flatter and more open configuration, any small/medium team can benefit greatly by adopting <a href="https://slack.com/r/0251q68k-0253reh0">Slack</a>. Whether on a free plan or paid plan, there are ways you can maximize what you get from the service, it just takes a bit of tinkering and creativity.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a77888b6b311" width="1" height="1" alt=""><hr><p><a href="https://medium.com/silicon-straits/heres-why-slack-has-worked-so-well-for-us-a77888b6b311">Here’s why Slack has worked so well for us</a> was originally published in <a href="https://medium.com/silicon-straits">Silicon Straits</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Out of memory with Append in Golang]]></title>
            <link>https://medium.com/silicon-straits/out-of-memory-with-append-in-golang-956e7eb2c70e?source=rss----4822aedf81c0---4</link>
            <guid isPermaLink="false">https://medium.com/p/956e7eb2c70e</guid>
            <category><![CDATA[engineering]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[memories]]></category>
            <dc:creator><![CDATA[Thuc Le]]></dc:creator>
            <pubDate>Wed, 01 Jun 2016 09:11:42 GMT</pubDate>
            <atom:updated>2016-06-04T15:16:10.766Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QrP3uWcGAZfNWFDCwZOdmQ.jpeg" /></figure><p>Just a quick note for an issue that you might get with Out of Memory in Golang.</p><p>As you know, slice in Golang is powerful and easy to use. With build-in func in Golang, it helps us resolving many problem in programming.</p><p>But, today, I want to discuss more about slice and its memory.</p><p>First thing, the easiest way to create slice is:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/b0c1c66cb112b6820e0942e477c87110/href">https://medium.com/media/b0c1c66cb112b6820e0942e477c87110/href</a></iframe><p>When you create a slice, 3 important information will be defined. It consists of a pointer to the array, the length of the segment, and its capacity (the maximum length of the segment).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/517/1*ijYaG2dX-dCZ7JuKKKCnoA.png" /></figure><blockquote>The length is the number of elements referred to by the slice</blockquote><blockquote>The capacity is the number of elements in the underlying array (beginning at the element referred to by the slice pointer)</blockquote><p>So, when you create slices with the way I posted above, the length and capacity will be minimum.</p><p>We move to the next section, the <em>append</em> function in Golang.</p><p><a href="https://golang.org/pkg/builtin/#append">https://golang.org/pkg/builtin/#append</a></p><blockquote>The append built-in function appends elements to the end of a slice. If it has sufficient capacity, the destination is resliced to accommodate the new elements. If it does not, a new underlying array will be allocated. Append returns the updated slice.</blockquote><p>The problem that’s we frequently think the <em>append</em> will append new elements to the end of a slice and forget about <strong>if we don’t have enough capacity, it will allocate a new slice with different memory space</strong>.</p><p>And with the simplest ways to create the slice, the capacity always fit with the current element in slice. And unlucky, we see source code that puts function <em>append</em> to a loop or nested loop. Everything’s fine with quick loop, but with bigger loop, the <em>append</em> is nightmare, it’s will eat the memory hungrily.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/44ae851c6881518a6095d2c2a1bce123/href">https://medium.com/media/44ae851c6881518a6095d2c2a1bce123/href</a></iframe><p>You can imagine, each loop row will allocate a new memory with higher capacity and it’s not release yet. And we have:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/319da5a146e7842667bc2f8a983e3562/href">https://medium.com/media/319da5a146e7842667bc2f8a983e3562/href</a></iframe><h3>Out of memory</h3><p>The built-in Golang also supports us to pre-define the capacity, that make the <em>append</em> doesn’t allocate a new memory because of lack of capacity.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/464a75d1d91e4fb3ab3417b832771eda/href">https://medium.com/media/464a75d1d91e4fb3ab3417b832771eda/href</a></iframe><p>So, main idea when I write this post that is I hope we should think more about how memory is manipulated while coding.</p><p>And hope this will be helpful for you :)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=956e7eb2c70e" width="1" height="1" alt=""><hr><p><a href="https://medium.com/silicon-straits/out-of-memory-with-append-in-golang-956e7eb2c70e">Out of memory with Append in Golang</a> was originally published in <a href="https://medium.com/silicon-straits">Silicon Straits</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[3-year Anniversary Thanks to Our Friends]]></title>
            <link>https://medium.com/silicon-straits/3-year-anniversary-thanks-to-our-friends-e8b1d333d1f1?source=rss----4822aedf81c0---4</link>
            <guid isPermaLink="false">https://medium.com/p/e8b1d333d1f1</guid>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[silicon-straits]]></category>
            <dc:creator><![CDATA[Silicon Straits]]></dc:creator>
            <pubDate>Mon, 23 May 2016 08:46:21 GMT</pubDate>
            <atom:updated>2016-05-24T08:59:00.313Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*bmlLuEh-p0_shBGPrHDqyQ.jpeg" /></figure><p>Silicon Straits is turning three — it’s only been three short years but so many things have happened. A plethora of interesting projects and products have been built and countless deep and impactful internal and external relationships have been formed. Naturally, we feel a certain sense of pride regarding how far Silicon Straits has come. At the same time however, we are humbled by all the incredible support we have received over the years. Words can not fully capture this but nonetheless we would like to extend a huge THANK YOU to everybody who has been part of this journey.</p><p>To celebrate these three years, we want to go beyond a pure thank you post and rather share some of the perspectives and lessons learnt throughout this time.</p><p>Hear from Hai An (COO) who shares about organization as a product — a story of how we apply the product mindset to build the structure and culture of our company.</p><p><a href="https://medium.com/p/5912eb2ca80e">Organization-as-a-product</a></p><p>Kent, our CTO, tells us the story of building and scaling our product team, bringing everyone together.</p><p><a href="https://medium.com/p/155925ae7494">Looking back and ahead</a></p><p>Jonas (CEO) writes a little bit about planning vs. execution and how this age-old dichotomy is approached at Silicon Straits.</p><p><a href="https://medium.com/p/c21e48e92558">Execution versus Planning: Fire and Water or Yin and Yang?</a></p><p>And finally, James (Executive Chairman) shares about his Ternary Thoughts on the Silicon Straits Tribe — a very personal reflection on how things started and some of the deep-held values.</p><p><a href="https://medium.com/p/5c28020526f3">Ternary Thoughts on the Silicon Straits Tribe</a></p><p>This mixture of topics, styles and perspectives reflects some of the values we cherish at Silicon Straits and what we aim for: diverse, slightly unconventional even bordering quirky sometimes but always honest and with a strong focus on providing value.</p><p>Our three-year journey included many transitions. Much has changed, but equally importantly, a lot has stayed the same. Let us take a short moment to watch our short video summarising our story so far:</p><iframe src="https://cdn.embedly.com/widgets/media.html?type=text%2Fhtml&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;schema=facebook&amp;url=https%3A//www.facebook.com/siliconstraitssaigon/videos/1062395127187386/&amp;image=https%3A//i.embed.ly/1/image%3Furl%3Dhttps%253A%252F%252Fscontent-iad3-1.xx.fbcdn.net%252Fv%252Ft15.0-10%252Fp720x720%252F12594492_1062414740518758_507715733_n.jpg%253Foh%253D6d0f122498745004fa954afe009dbb39%2526oe%253D5AB24A13%26key%3Da19fcc184b9711e1b4764040d3dc5c07" width="600" height="600" frameborder="0" scrolling="no"><a href="https://medium.com/media/5b9dd27702cc220bab22761698d6c073/href">https://medium.com/media/5b9dd27702cc220bab22761698d6c073/href</a></iframe><p>With all of the above in mind, we would once more like to extend a warm thank you and we are all very much looking forward to the next 3 years!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e8b1d333d1f1" width="1" height="1" alt=""><hr><p><a href="https://medium.com/silicon-straits/3-year-anniversary-thanks-to-our-friends-e8b1d333d1f1">3-year Anniversary Thanks to Our Friends</a> was originally published in <a href="https://medium.com/silicon-straits">Silicon Straits</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Execution versus Planning: Fire and Water or Yin and Yang?]]></title>
            <link>https://medium.com/silicon-straits/execution-versus-planning-fire-and-water-or-yin-and-yang-c21e48e92558?source=rss----4822aedf81c0---4</link>
            <guid isPermaLink="false">https://medium.com/p/c21e48e92558</guid>
            <category><![CDATA[silicon-straits]]></category>
            <category><![CDATA[agile]]></category>
            <dc:creator><![CDATA[Jonas Eichhorst]]></dc:creator>
            <pubDate>Fri, 20 May 2016 22:19:23 GMT</pubDate>
            <atom:updated>2016-05-21T00:18:05.899Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_-0bZfeVzJUlQIz4fj0S6w.png" /></figure><p>Startups are supposed to be dynamic and fast-paced. Environments change, people change, swim or drown — that is the credo. In such chaotic environments, it is no wonder that many startups (and even businesses in general) feel under so much pressure to “do stuff”, that they simply feel like they do not have the time to pause and plan their actions first.</p><p>Furthermore, whether looking at business plans or product plans, history is full of examples where grand plans turned out to be terrible ideas when implemented. It is easy, therefore, to believe that planning is a waste of time and it is much better to take an experimental approach of “just do it”. After all, one of the most successful sports companies in the world became very successful with exactly that motto.</p><p>At Silicon Straits, we can see a lot of similarities — some of our plans never turn into reality and some of the plans which are implemented turn out to be poor ideas. However, I would argue that the appropriate planning still is essential for success, the key being an understanding of what “appropriate” means.</p><p>As one example, almost all of our most successful partnerships and efforts are not the result of a careful multi-year planning approach to business development but rather the result of “one thing leading to another” and “a guy knowing a guy…” In isolation, this might even seem more like luck than skill. However, in reality there is a clear pattern and plan which we work towards in order to keep creating such opportunities.</p><p>At Silicon Straits, we keep investing heavily into building our end-to-end product development capabilities. This allows us to enter into a number of complementary partnerships where strong partners can fully rely on us “taking care of the product” while they build the business — each side focusing on doing what they do best. We cannot exactly predict which products we will be building in one, two or five years but we know that we will have the development capabilities to work on impactful products.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZcgIJDKT2hmIG4vI9Q9FYQ.png" /></figure><p>With such simple plan in mind, the next crucial step lies in the execution of such plan. For the above example, the execution simply means continuously building different products, sharpening our skills and experience there and learning to identify what the key components are for us to excel and our partnerships to become successful. One important lesson of ours has been that we can provide most value if we fully control the product development process vs just providing part of the engineering, even if as part of a much bigger team. We learn more, improve more and provide more value by taking on end-to-end products instead of just delivering a mobile app for an entire solution, only a small piece of the backend or even just providing a few engineers in a certain technology. Such executional observations go back into our planning which refine the approach. One key requirement hereby is that the transparency in the organisation needs to be high as the different people and stakeholder need to have clear visibility into what’s happening in the different areas.</p><p>As can be seen, even though for many people plan and execution have a dichotomous relationship — in our experience, they rather belong closely together and should highly influence each other. This seems to be an increasingly widespread realization and can be witnessed in software development through the movement from the long-haul waterfall approach to rapid smaller bursts of planning and execution through agile methodologies, but also in general business where the traditional 50 page massive business plan is being replaced by smaller, more lightweight planning in order to reduce feedback cycles.</p><p>The biggest advantage of such shift is that it allows for optimizing across the three variables that used to be declared as incompatible in traditional academia: time, money and quality. Mistakes are almost always cheapest and fastest to fix if they have not been made yet in the real world, i.e. by identifying them in the planning phase. This helps reduce both development cost and time whilst improving the output quality. We all have found ourselves in situations where we were under so much pressure to get a job done that we ended up trying to force something to work for a whole day, just to realize at the end that had we taken a step back and thought about the problem for half an hour, we probably could have solved it much faster. A little bit of planning can go very far.</p><p>The opposite is very true as well though — planning meetings and annual budgets have such a bad reputation with “do-ers” for a good reason. More often than not, they take up so much time with limited useful outcome that everybody is left at the end wondering where all that time went. The incremental return on planning activities rapidly declines. This becomes even more the case as plans take on a longer and longer time horizon. These almost always have to assume certain parameters which are outside of the direct control of the involved parties, yet such parameters are almost never static. Whether you like it or not, todays’ plans are extremely unlikely to remain as good as they seem today during the next months and years. You can ignore this and “stick with the plan” because it was a “good, thoroughly researched” plan. This is what many larger companies can do as the increasing deviations of planned environment versus real environment do not directly threaten their core survival but rather only limit the effectiveness of any planned activities. Yet, we find a far better approach than dismissal or ignorance is to simply accept and even embrace this reality by never assuming a plan to be final. Rather, a plan should be used as a tool to approach a situation and ensure sufficient thought has been put into it without shying away from updating or even scrapping it should the original assumptions prove to be wrong or require changes.</p><p>The key to all of this in our experience therefore lies in a few observations:</p><ol><li>Do not become too busy with “doing” so that you do not have any time left to plan.</li><li>Do not become too busy with planning so that you do not have any time left to “do”.</li><li>By cutting down cycle times and improving the feedback loop between planning and doing you can optimize the above balance.</li><li>Accept and embrace the fact that plans are transient without letting this undercut the importance of planning per se.</li></ol><p>Such approach has served us well over our tumultuous past years and has helped take us to where we are today. Despite the plans we have for the future, it would be naive of us to believe they all will become reality no matter what — yet it is the successful balancing of planning and doing that creates rapid change and which we are convinced will continue to lead us into new exciting waters. At least that is our plan!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c21e48e92558" width="1" height="1" alt=""><hr><p><a href="https://medium.com/silicon-straits/execution-versus-planning-fire-and-water-or-yin-and-yang-c21e48e92558">Execution versus Planning: Fire and Water or Yin and Yang?</a> was originally published in <a href="https://medium.com/silicon-straits">Silicon Straits</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Organization-as-a-product]]></title>
            <link>https://medium.com/silicon-straits/organization-as-a-product-5912eb2ca80e?source=rss----4822aedf81c0---4</link>
            <guid isPermaLink="false">https://medium.com/p/5912eb2ca80e</guid>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[silicon-straits]]></category>
            <dc:creator><![CDATA[Bui Hai An]]></dc:creator>
            <pubDate>Fri, 20 May 2016 14:20:49 GMT</pubDate>
            <atom:updated>2016-05-21T03:27:48.996Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-UcDB72m9n2C7UJexko0yA.png" /></figure><p>Since the day we started at Silicon Straits, we have worked on projects of all shapes, from minimally viable products, to enterprise-grade web and mobile apps, and with partners of all sizes, from individuals and startups to public companies. We consider ourselves to be one of the rare product development companies in Southeast Asia. But Rome wasn’t built in a day. As we scaled our team of 3 to over 70 people in our Ho Chi Minh office over the past 3 years, we have had to change how we did things.</p><p>This is the story of our journey in transforming our project and engineering management.</p><p>Silicon Straits is not like any traditional company. We did not have a set path for it from the start. It always has been an exciting venture with risks and opportunities. As engineers, we want to build Silicon Straits like a system that could constantly scale and evolve over time. We identify problems, and keep pivoting for better solutions so that it would become better and better, day by day. Even though, we believe there is no system that has no flaw.</p><p>We have also attached the engineer mindset into every aspect of our system, from the structure, communication, to the relationship between people. So when things go wrong, we know where to trace for the root of the problems and resolve it.</p><p>This system, or you could imagine it like a modern tech product, has two main essential parts that make it work: the back end and the front end. People outside the company cannot see our back end. It is the back office which does all the operation stuff while the front end working with clients. For every projects we have delivered to clients, our front end gets the results and feedbacks, and sends them back to the back end to improve the system. After 3 years of operation, lots of things has happened and our system has changed a lot comparing to the very first version 3 years ago…</p><h3>The story of our system</h3><p>I and a few ancient pirates, who has been sticking with us for a long time, were sitting in a small office with a belief that our work one day would bear fruit. Because of the working experience we had shared at previous company, we were close and knew each other well. For the lack of resources, some of us were even working both in the back end and front end of the system. There was time we went to work without anything to do. There was no need to build a model and structure for a team that small. That was the first version of our system three years ago.</p><p>Six months later, we reached 30 pirates and started to lose a little bit of control. In order to make everything remain in our orbit, we changed our structure into a dynamic flat model where everyone was like a mercenary, we tackled many projects without forming a real team.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iFayiFCqH73OcfF46GasQg.png" /><figcaption>Our 2nd iteration of Squad allocation</figcaption></figure><p>Everything was fine with a little tweak here and there until one year ago. We kept growing larger everyday. More (and ambitious) projects came in, more talented people joined our company. We grew to 50 people. Our back end was facing a challenge seeing that we could not keep track of everything. We could not look after and grow all the pirates like we did before. We knew if we did not do anything, our system would break. We all had the same thought in mind —The old system had to be destroyed to build a new one.</p><p>That’s when we restructured our model to <a href="http://siliconstraits.com/blog/from-one-ship-to-one-feet-at-three-year-journey">squad model</a> (so called version 3.0). We designed it with many connections from people to people, squad to squad, and squad to client.</p><p>Each squad is a special force and full-stack with all the roles that they can become a mini-startup themselves. Each squad will figure out what works best for them, based on common process and values. Then they also sharing their best practices with others squad. Most of all, our squads have their own autonomy, hence it boost their creativity and output. With this new model, we were able to tackle those big and crazy projects and continue to scale up the team.</p><h3>Stay curious, keep tinkering</h3><p>We are engineers, we are curious about every new things (shiny or not). In the progress of building our system, we have been always looking for interesting tools to make them into features of our system.</p><p>From very beginning, we used Slack and Trello for daily communication and working. We tried Bonus.ly and found out that we could make our own Bonus.ly and turn it into a gamification system to help bonding our people and also recognizing their talents, inputs and achievement — in a very engineering way.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BKMKvmIcsdp8npdHY8vX5g.png" /><figcaption>Our Slack integrations to various tools and services</figcaption></figure><p>We came across many tools, some worked for us and became our system’s features, some didn’t and was left behind. As our venture keeps sailing, we still keep searching for new tools to suit us best.</p><p>Not only looking for tools, sometime we also build our own tools, or framework for specific. To keep track of the growth of our pirates, we develop Growth Framework. It helps us grow these talented pirates faster than ever because it keeps track the development of all necessary skills for any specific role.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rFBwUKZCpAywBmWYTChh2Q.png" /><figcaption>Our fancy stickers for pirate to brag about their skills, even Facebook-ing skill.</figcaption></figure><p>Let imagine it like Character Profile in any RPGs (Role-Playing Games) that help to see at current level which areas you are strong or weak at (melee, range, magic, sneaking, etc.) Then every quarter, our Squad Lead will review the progress for his/her members based on these profile, which providing constructive feedbacks much easier. This Pirate Profile and Growth Framework is uniquely designed for us, but we believe other startups could use, hence we are working on a version that could be “open-source” in future.</p><p>In addition, we also formulate a mechanism for our pirates to calculate their salary based on the Growth Framework, and it’s called Open Salary Formula. This formula help each individual knows how to link between their growth with their compensation. Making it transparent also creates an open culture where everyone could focus on growing themselves knowing that the compensation is the reflection and indicator of their value contributing to the company.</p><h3>Building v4.0 and beyond</h3><p>With our <a href="https://medium.com/silicon-straits/silicon-straits-universe-d40555aab668#.mzwqsat6d">Silicon Straits Universe</a> introduced early this year, this would also require another updates to the system. Unlike previous version, we were being forced to upgrade (or die), this time we will be more proactive and prepare in planning for the upgrade.</p><p>The joy of a engineer is seeing his product at work, and to us, seeing Silicon Straits growing day by day — not just headcount but the impact we are doing, it’s the ultimate joy. There will be more stories about this special product we are building (good and bad one), so stay tune!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/724/1*-dvUfapzXAO1biK8ncL6CA.gif" /><figcaption>Our tools for Pirates at work</figcaption></figure><p>P.S: If you want to be part of this upgrading and our amazing journey, you can check out our <a href="http://siliconstraits.com/careers">Career Page</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5912eb2ca80e" width="1" height="1" alt=""><hr><p><a href="https://medium.com/silicon-straits/organization-as-a-product-5912eb2ca80e">Organization-as-a-product</a> was originally published in <a href="https://medium.com/silicon-straits">Silicon Straits</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Ternary Thoughts on the Silicon Straits Tribe]]></title>
            <link>https://medium.com/silicon-straits/ternary-thoughts-on-the-silicon-straits-tribe-5c28020526f3?source=rss----4822aedf81c0---4</link>
            <guid isPermaLink="false">https://medium.com/p/5c28020526f3</guid>
            <category><![CDATA[vietnam]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[motochan]]></dc:creator>
            <pubDate>Wed, 18 May 2016 09:40:12 GMT</pubDate>
            <atom:updated>2016-05-21T00:17:29.379Z</atom:updated>
            <cc:license>https://creativecommons.org/licenses/by-nc-sa/4.0/</cc:license>
            <content:encoded><![CDATA[<p><em>I write about Silicon Straits’ founding history in a special article to commemorate Silicon Straits Foundry’s 3rd anniversary.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ypk5drjJpBw5_PYq_4SS4Q.jpeg" /><figcaption>A Silicon Straits Saigon team photo at Lang Biang Mountain, Da Lat during our Feb 2015 company retreat.</figcaption></figure><h3>Preamble</h3><p>As an early-stage investor, entrepreneur and startup executive, I’m most attracted to the ‘magic’ of every company’s first few years after its founding. It’s when momentum (users or clients) is at its weakest, cash (revenue or capital) at its lowest, and talent (founder experience or team) in its shortest supply. Yet, it’s also an era in the company’s history where founders are most courageous, ambitions at its peak and possibilities seemingly endless. With every passing week and month, the founders and their team continue its free-fall off the side of a cliff as it desperately tries to transform the paper it has on hand into a parachute or an aeroplane to avoid joining the carcasses of their predecessors that line the bottom of the chasm they’re falling into.</p><p>Most companies don’t make it, but some do. Founders that were responsible for the successes of Apple, Facebook, Google, Tesla, Baidu or Alibaba are more easily recognised and celebrated by mass media — and understandably so — but just as it is when people tell me that Singapore’s past successes cannot be interpreted and applied verbatim to China’s current (and much larger) realities, a smaller success still has a role to play in informing and inspiring its denizens, and hopefully inspire others to do better.</p><p>I founded Silicon Straits Pte Ltd in Nov 2012 and consider it more of a ‘Singapore’ than a ‘China’ story. After raising a small seed round in Apr 2013, I co-founded Silicon Straits Foundry with Kent Nguyen and Andy Bui a month later, as a subsidiary of Silicon Straits. We set up our core design and engineering team in Ho Chi Minh City and come May 21, will celebrate its 3rd anniversary as part of the Silicon Straits tribe. <a href="https://medium.com/u/20a5e08978c1">Tuan</a> had requested for me to contribute an article as part of the celebrations, so I decided to look back and share additional context and insights.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IOziaPqRKDeSLE_qfhw7kA.jpeg" /><figcaption>The ‘birthday cake’ during the 2nd anniversary celebration of Silicon Straits Saigon — photo credit by James Chan, circa May 2015</figcaption></figure><h3>The Silicon Straits Origin Story</h3><p>I first posted about Silicon Straits in Nov 2012 <a href="http://www.motochan.com/2012/12/20/silicon-straits/">on my blog</a>.</p><p><em>Silicon Straits is a tech venture foundry focused on Southeast Asia. We hope to contribute to the growing tech narrative in the region in a big way. We’d love to hear from entrepreneurs, developers, investors, media and neotenous individuals.</em></p><p>Looking back, the meanderings that led me to found Silicon Straits had begun even earlier in 2011, when my seed fund partner <a href="https://en.wikipedia.org/wiki/Joi_Ito">Joichi Ito</a> had called me to discuss his MIT Media Lab plans. At that point, our US$5 million ‘Neoteny 2’ fund had not finished deploying our capital and had yet to see any exits. Without another partner with the right profile and track record, I realised I would not be able to raise a new and larger fund and keep going. It would be more than 2 years later before our fund returned more than USD6.7 million from 4 exits out of 24 investments — Viki, Catch, SeatMe and Lanyrd. I did not want to sit on my hands and pretend to the world that I was fully engaged; by mid-2012, most of the investments in our portfolio that we led had already completed subsequent financing rounds and no longer needed active management. I had gotten used to a certain tempo after working with Joi and the founders from our investment portfolio, and was restless.</p><p>At Joi’s suggestion, I then spent 4 months in the middle of 2012 hanging out with Pivotal Labs Singapore. Pivotal Labs USA had just been <a href="http://www.crn.com/news/storage/232602836/report-emc-acquires-software-developer-pivotal-labs.htm">acquired by EMC</a>. As a result, the Singapore office underwent an interesting gear shift after being sold to Digital Garage — of which Joi is co-founder and Board Member of — to form the Singapore arm of what was then known as <a href="https://pando.com/2012/03/09/digital-garage-launches-new-context-a-lean-software-development-house-with-eric-ries-as-gp/">New Context</a>, which eventually got renamed to <a href="http://neo.com/">Neo</a>. Few people know that pre-EMC Pivotal Labs and Digital Garage are Limited Partners in the ‘Neoteny 2’ fund back in May 2010, and that I’d been a non-executive director of Pivotal Labs Singapore pre- and post-acquisition by EMC. Pivotal Labs set up its Singapore operations shortly after our fund got going. It felt right for me to add to the management bandwidth during this transition period given the context I had, and be helpful . It was interesting to see New Context sell agile software development in the form of paired engineers at SGD2,000 per man day on time-materials basis, as compared to the mainstream fixed scope fixed budget approach. I ultimately didn’t stick around because I felt I was getting in the way of the rest of the management team; I wasn’t full-time but had higher cheque signing limits than the practice lead. He didn’t report to me, nor I to him. I wasn’t fully convinced with how the Singapore office was being managed by New Context HQ in the US, and couldn’t bring myself to make the commitment to go the full 100%. I made a quick withdrawal to avoid turning a full-time role with New Context Singapore into my <a href="https://en.wikipedia.org/wiki/Vietnam_War">Vietnam War</a>.</p><p><strong>NB: </strong><em>Ironically, in Mar 2015, Neo had shuttered its Powell office after its Edgecase-acquired team had dropped from 33 to 12 people after 3 years. More recently, Neo was </em><a href="http://venturebeat.com/2016/02/18/pivotal-buys-another-software-development-agency-neo/"><em>acquired</em></a><em> by now-EMC owned Pivotal Labs, with </em><a href="https://blog.pivotal.io/labs/news/pivotals-third-acquisition-in-two-months-expands-global-reach"><em>Neo Singapore shuttering and joining the Pivotal Labs Singapore team</em></a><em>.</em></p><p>I went back to the drawing board. I hadn’t figured out the complete plan, but realised I needed to start somewhere. I decided to take the easiest next step, which was to decide on a new name. The Neoteny brand belongs to Joi; I needed to build my own.</p><h4>The Silicon Straits Brand</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/150/1*AU6SaVI1v3rNGK-74RuxNA.png" /><figcaption>Version 0.1 — made by me in Photoshop in 2012</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/461/1*uBw-QZg6RXi3lfXEcjqT5Q.png" /><figcaption>Version 0.5 — commissioned via 99designs over 4 years ago</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WYAHsRObMfw_uFqqFIxtCw.png" /><figcaption>Version 0.7 — design explorations by <a href="http://www.outofstockdesign.com/">outofstock</a> in 2013</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jchT2g3MQU20o8fKO2WuyA.png" /><figcaption>Version 1.0 — final design by <a href="http://www.outofstockdesign.com/">outofstock</a> in 2013</figcaption></figure><p>The evolution of the Silicon Straits logo happened over 3 iterations in a year. I had created a crappy word mark in Photoshop in Nov 2012 when I first bought our domain name. I chose the name ‘Silicon Straits’ to represent the spirit of Silicon Valley amidst the <a href="https://en.wikipedia.org/wiki/Strait_of_Malacca">Strait of Malacca</a>, an important waterway that touches much of Southeast Asia. It was the first name that came to mind, and only name that stuck.</p><p>The second iteration came about after I commissioned a 99designs contest. It lasted for 5 months.</p><p>The 3rd and current iteration was produced by <a href="http://www.outofstockdesign.com/">outofstock</a> as part of their scope to design our Singapore office that doubled up as a co-working space and fab lab. The double ‘S’ analogy stuck and was further refined, resulting in a simplified double-displaced semi-circle and logo.</p><p>By the time I raised our S$512,500 seed round in end-Apr 2013, the description of what Silicon Straits had become:</p><p><em>Silicon Straits is a venture foundry in Southeast Asia that operates at the intersection of ideas, talent &amp; capital and invests in the convergence of design, hardware &amp; software.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/494/1*3OkH-UGsXd0bJXSjjZr8WQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*E_x2_DMAckQUVOAurmxFiQ.jpeg" /><figcaption>Silicon Straits CO.LAB at Block 71; it served as our office in Singapore and doubled up as a co-working space and fab lab —photo credit by James Chan, <a href="https://www.facebook.com/motochan/posts/10100966480033063">circa Mar 2014</a>.</figcaption></figure><h4>Investing in the Convergence of Design, Hardware and Software</h4><p>I had envisioned two key activities for Silicon Straits; early-stage incubation and investment and product development. I knew what was needed for the former, but needed partners for the latter. I also needed working capital to get started. I had next-to-nothing when we got started.</p><p>My first investor was <a href="http://catholichighpeople.blogspot.sg/2010/09/lim-kia-hong.html">Lim Kia Hong</a>. KH was introduced to me by Grace Chng, and coincidentally stayed just across the road from me. He felt like the business father I never had; the two of us spent hours often into the wee hours of the night swapping notes and discussing ideas for new business. Despite his age (50+) and accomplishments (successful entrepreneur, tech distribution, listed companies, etc), he was young at heart and always gave me sound advice. He knew I needed working capital through our discussions and offered to be my first investor.</p><p>My second investor was Dileep Nath. Dileep is the father of Sanjay Nath, one of the 2 partners at Blume Ventures, an India-focused seed fund that were co-investors with me in my ‘Neoteny 2’ fund. Dileep felt like the business grandfather I never had. His smile and gentle demeanour belied the post-40 risky/crazy move of quitting law and co-founding Kanbay, which eventually listed on NASDAQ and was <a href="https://en.wikipedia.org/wiki/Kanbay">acquired by Capgemini for US$1.25 billion</a>. I believed Dileep to be the antidote to my impatience and was delighted when he agreed to invest.</p><p>My third investor was Ivan Lee. Ivan was introduced to me by a common friend and had <a href="http://www.straitstimes.com/tech/games-apps/entrepreneur-eyes-mobile-game-changer">sold his stakes in Thai Express for US$80 million</a>. He was nearest to me in age and felt like the business brother I never had. He wasn’t as hardcore a geek as I was, but always had an affinity for tech despite starting his career in the F&amp;B industry. He offered to invest without having met KH or Dileep.</p><p>My fourth investor was <a href="https://www.linkedin.com/in/teruhide-sato-684395b">Teruhide Sato</a>. Teru was an investor in my ‘Neoteny 2’ fund with Joi, individually and through the company he founded and listed, <a href="http://beenos.com/">Beenos</a>. We’ve known each other since 2010, and he had then just relocated his family to Singapore.</p><p>My fifth and final investor was none other than <a href="https://en.wikipedia.org/wiki/Joi_Ito">Joichi Ito</a>. It made sense to invite Joi to the party since he was the progenitor of my post-government journey.</p><p>With a mere S$512,500 and since Apr 2013 , I oversaw the growth of Silicon Straits into an innovation tribe in Southeast Asia that builds products, companies, foster communities and makes seed investments. Today, the Silicon Straits tribe has a team of over 70+ across offices in Singapore and Ho Chi Minh City, and oversees US$15 million in early- stage investments. Apart from the remaining portfolio in my ‘Neoteny 2’ fund with Joi, Silicon Straits is a shareholder in companies such as SmoothOps, Burpple, Livi, Caarly, Hipvan, Ztore, GreyOrange, Neoteny 3 and Carro. Unlike a proper venture fund, we make between 2 to 4 investments a year ranging from $20K to 50K a pop. We’re not really investing a lot, but that’s because we’re doing it entirely from our parent company’s balance sheet, and need to juggle the allocation between working capital to fund growth and our investment allocation.</p><h4>Operating at the Intersection of Ideas, Talent &amp; Capital</h4><p>I first met <a href="https://www.linkedin.com/in/nguyenkent">Kent Nguyen</a> in 2011 when he was an engineer at Anideo. I had actually met his twin brother Torin Nguyen slightly earlier, when Torin was hired by <a href="https://en.wikipedia.org/wiki/Andrew_Huang">bunnie</a> as one of Chumby Industries’ first engineers in Singapore. Kent had been introduced to me by <a href="https://www.linkedin.com/in/ajsolimine">AJ Solimine</a> as the ‘hotshot developer from Vietnam’ on the newly formed Anideo team, backed by Eduardo Saverin.</p><p>I reconnected with Kent in December 2012 when I was doing my rounds to identify a suitable CTO. By then, Kent had left Anideo and was spending his time between Singapore and Ho Chi Minh City. He was the most compatible CTO I had dated over that 2-month period. I learnt that he had a small team of 3+ in Ho Chi Minh City under TGM Tech supporting the tech needs of its parent company TGM Holdings, which had been formed by ex-NUS graduates from Vietnam. I’ve always found the Vietnamese to possess amazing work ethics and a thirst for exposure and knowledge. I visited Kent and his partner Andy (<a href="https://www.linkedin.com/in/buihaian">Bui Hai An</a>) at the Ho Chi Minh City downtown office they had shared with 2359media; it wasn’t much, but between Kent and Andy, I spotted the beginnings of something and managed to convince them to leave TGM and join forces with me to co-found Silicon Straits Foundry. Everything moved at light-speed after that.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dnRTxOA6D3D3poZu4A3fBw.jpeg" /><figcaption>Picture of me during our inaugural Silicon Straits Saigon Drinkathon — photo credit by Ba Tho, circa 2014</figcaption></figure><p>I invested the startup capital required out of Silicon Straits, contributed my entire business network of contacts and prospective clients and worked with Kent and Andy to move our Vietnam operations into our District 7 office, at the same time that I was renovating our Singapore office. Those were crazy times; I was responsible for sales and business development, while Kent was responsible for engineering and project management and Andy was overseeing business and people operations. The relationships I’ve garnered since my IDA and Neoteny Labs days ensured that we’d never need sales people, and saw us growing our Vietnam team from 3 to 30 in 6 months, and then to 40 and beyond by the end of our 12th calendar month of operations. We’ve had to tear up our plans and change our processes several times in order to cope with growth. We’ve made mistakes and learnt from them in our hiring and people operations. We’ve had amazing customers who came and stayed with us as we raised our man day rates from S$150 per man day to S$350 per man day (and up).</p><p>Despite keeping the team entirely in Ho Chi Minh City, or Saigon as I’d affectionately call the city, Silicon Straits Foundry became our playground to foster design, hardware and software tinkering while retaining sufficient organisation to deliver MVPs to individuals, bootstrapped or funded startups, or scalable mission-critical enterprise software to large organisations across Southeast Asia. We took on straight consulting jobs that were at our usual man day rates. We experimented with cost-plus and equity hybrid models to partake in the risk and upside of our partner-clients. We even developed and launched two SaaS products for the Vietnam market, and invested design and engineering resources to launch an Uber-for-household services play in Hanoi and Ho Chi Minh City, only for our operating partner to try to screw us of our shares and IP (to his detriment). It didn’t always work, but we learnt from our mistakes and failures and scored some pretty big wins along the way, with clientele like SingPost eCommerce (<a href="http://vpost.com/">vPost</a>), Starhub, Bluebird, 7-Eleven Indonesia and 7-Eleven Vietnam.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ytiVGqpqTiTvzY6p0uY7fQ.jpeg" /><figcaption>Young and elderly in a street at the town of Trinidad, Cuba; the palm prints signified the young who had migrated away from the town to Havana in search of jobs — photo credit by James Chan, circa Jan 2010</figcaption></figure><h3>The Next Lap</h3><p>I stayed at the operating helm as CEO for over 2 years before appointing <a href="https://www.linkedin.com/in/jonaseichhorst">Jonas Eichhorst</a> as my replacement in Aug 2015. I assumed the role of Executive Chairman and focused on the meta- and macro- aspects of Silicon Straits’ proverbial next lap.</p><p>Apart from spending 80% of my time as <a href="http://www.motochan.com/2015/08/11/50-shades-of-grey-and-orange/">Vice President (International) at GreyOrange since 1 Jun 2015</a>, helping Samay Kohli and Akash Gupta with building out GreyOrange’s Asia Pacific team and entry and expansion into the markets of Southeast Asia, Japan, China, Taiwan and Korea, I’ve been pondering upon our tribe’s future. Indonesia has always been an interesting market for us. We’re set for our highest-ever multi-million revenue year come 31 December 2016 and are on track for our third profitable year of operations as a group. Consulting is but a means to an end, and we’re starting to see some long-awaited validation in the form of the tech architecture, design and product development work we’re doing for 7-Eleven Vietnam and Bluebird Indonesia. How this shift from software engineering towards product development can take on further purpose and scale, is something I challenge every one of our tribe members to take on and contribute towards.</p><p><strong>NB:</strong> <em>One of our Vietnam tribe members had a sudden stroke on 21 Mar 2016 and passed away unexpectedly. He has been with us since almost the beginning of our journey, and it was a big emotional blow to the Saigon team. He was 24.</em></p><p>On our 3rd birthday this coming weekend, I wish us all happy celebrations. To Khoa, may you rest in peace and be in a better place. You will be dearly missed by one and all.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*bd_wYupAIawkedWhMcYSPg.jpeg" /><figcaption>In memory of Khoa Dao, by all who worked with him and loved him.</figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5c28020526f3" width="1" height="1" alt=""><hr><p><a href="https://medium.com/silicon-straits/ternary-thoughts-on-the-silicon-straits-tribe-5c28020526f3">Ternary Thoughts on the Silicon Straits Tribe</a> was originally published in <a href="https://medium.com/silicon-straits">Silicon Straits</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Hành trình học code và Bí quyết để sống sót]]></title>
            <link>https://medium.com/silicon-straits/h%C3%A0nh-tr%C3%ACnh-h%E1%BB%8Dc-code-v%C3%A0-b%C3%AD-quy%E1%BA%BFt-%C4%91%E1%BB%83-s%E1%BB%91ng-s%C3%B3t-668e33e0699b?source=rss----4822aedf81c0---4</link>
            <guid isPermaLink="false">https://medium.com/p/668e33e0699b</guid>
            <category><![CDATA[vietnamese]]></category>
            <dc:creator><![CDATA[Silicon Straits]]></dc:creator>
            <pubDate>Wed, 16 Mar 2016 03:49:40 GMT</pubDate>
            <atom:updated>2016-05-26T01:30:12.940Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eZ8gbIrGOK12169WyttfXw.png" /></figure><p>Quincy Larson chỉ là một “anh chàng công sở”. Một ngày nọ, anh ta quyết định mình muốn học code. Anh hỏi ý kiến mọi người xung quanh. Thế rồi, anh bắt đầu với một chút Ruby và lướt qua vài ngôn ngữ như Scala, Clojure và Go. Anh học Emacs rồi đến Vim và ngay cả Dvorak keyboard layout cũng không chừa. Anh chọn Linux, vọc Lisp và viết code Python trong khi sống chung với command line hơn nửa năm.</p><p>Như một chiếc lá vật vờ giữa cơn bão, mỗi lời khuyên thổi bay Quincy từ ngã này sang ngã khác cho đến khi anh học hết “mọi khoá học online có thể nghĩ đến”. Đến cuối cùng, dù đã có được một công việc trong lĩnh vực phát triển phần mềm, Quincy:</p><blockquote>… tin chắc rằng những lập trình viên trông có vẻ bình thường mà tôi gặp thực ra là những kẻ điên đã từng trải qua, xong lại bị đàn áp, bởi những tổn thương khi học code.</blockquote><p>Bạn có cảm thấy điều này rất quen không?</p><h4>Giai đoạn I: Trăng mật tay trong tay</h4><p>Thật khó để đổ lỗi cho những ai mang theo những kì vọng quá cao khi đến với cái nghề lập trình.</p><p>Một mặt, bạn nghe những lời đồn đại sự khó khăn đáng sợ của lập trình từ lúc còn nhỏ, như những câu chuyện mà người lớn hay hù doạ trẻ nhỏ để chúng đi học những ngành khoa học xã hội.</p><p>Mặt khác, hiện tượng “Learn to Code” đã tạo nên một chuyển biến tuyệt vời khi phá vỡ những rào cản và cho mọi người thấy rằng lập trình thực ra cũng khá vô hại. Những công cụ như Codeademy, Treehouse và Code School xuất hiện với những cử chỉ thân thiện đảm bảo ngay cả bạn (à không, tất cả mọi người!) không chỉ học code mà còn trở thành một developer thành thạo.</p><p>Bất ngờ thay, vấn đề ở đây không phải là nỗi sợ khi học lập trình, mà là những hi vọng và kì vọng thái quá.</p><p>Hơn nữa, trong hầu hết câu chuyện, những công cụ mở đường này làm rất tốt việc dẫn dắt bạn như một đứa nhóc băng qua con đường với những thứ đáng sợ như biến, lệnh điều kiện và căn bản của cú pháp lập trình. Khi bạn chinh phục hết thử thách này đến thử thách khác như những trò chơi, sự tự tin của bạn tăng lên. Bạn nghĩ rằng sau tất cả chuyện này, bạn có thể làm được! Nó khó như thế nào chứ? Chẳng mấy chốc bạn sẽ sớm trở thành một developer thôi!</p><figure><img alt="Giai đoạn Trăng mật tay trong tay" src="https://cdn-images-1.medium.com/max/1000/0*MofI9_A9MOsuKMxg.png" /></figure><p>Vấn đề là ở đây, bạn đang trong giai đoạn mà tôi gọi là “Trăng mật tay trong tay”. Mặc dù bạn có thể cảm thấy như điểm cuối của chặng đường ở đâu đó quanh đây, nhưng bạn thực sự chỉ mới đi được vài bước của cả quãng đường. Mọi thứ chỉ mới bắt đầu…</p><h4>Biểu đồ minh hoạ cuộc hành trình phía trước</h4><p>Trước khi chúng ta đi sâu vào Giai đoạn II, hãy nhìn một bức tranh lớn hơn.</p><p>Trong bài viết này, tôi sẽ dẫn bạn đi qua bốn giai đoạn của cuộc hành trình học code và những điều bạn cần làm để sống sót vượt qua chúng. Bạn cũng sẽ thấy làm thế nào hai yếu tố chính mật độ tài nguyên và phạm vi kiến thức cần thiết, quyết định cuộc hành trình này.</p><p>Chuyến viễn du để đến được giai đoạn sẵn sàng cho công việc có thể được vẽ nên từ sự thay đổi mức độ tự tin của bạn khi năng lực của bạn ngày phát triển.</p><figure><img alt="Biểu đồ Tự tin vs Năng lực" src="https://cdn-images-1.medium.com/max/1001/0*zD41mWLWxtyFkVp9.png" /></figure><p>Đây là một mối quan hệ tương quan bởi sự tự tin của bạn có liên hệ với niềm vui của bạn, và khi sự tự tin và năng lực của bạn giao nhau cũng là thời điểm bạn chính thức “sẵn sàng cho công việc”.</p><p>Chúng ta sẽ đi vào những thử thách đặc biệt của ba giai đoạn còn lại chốc nữa thôi, nhưng đây là những thứ mà chúng có dính dáng với nhau:</p><ol><li><strong>Trăng mật tay trong tay</strong> là quãng thời gian vui vẻ khi mà các khoá học trực tuyến hướng dẫn bạn vượt qua những bài học tưởng chừng như khó khăn nhưng hoàn toàn có thể thực hiện được nhờ sự hỗ trợ của chúng. Bạn sẽ chính thức học những cú pháp cơ bản nhưng cảm thấy vô cùng hài lòng với thành quả đạt được.</li><li><strong>Dốc mơ hồ</strong> là khoảnh khoắc bạn đau đớn nhận ra rằng mọi thứ thật khó khăn khi quãng thời gian trăng mật chấm dứt và nó cho bạn cảm giác bạn không thể làm tất cả mọi chuyện bằng chính sức mình. Những thách thức chính mà bạn gặp là liên tục sửa lỗi và không biết nên đặt câu hỏi nào cho hợp lý khi bạn chiến đấu để đạt được bất kỳ nguồn động lực để tiến tới.</li><li><strong>Sa mạc tuyệt vọng</strong> là một hành trình dai dẳng và đơn độc đi qua vùng đất chưa từng được khai phá, nơi mỗi hướng đi mới đều trông như đúng đắn nhưng bạn thường đi quanh quẩn và cảm thấy đói khát những nguồn tài nguyên có thể giúp mình vượt qua nơi hoang vu này. Hãy cẩn thận với những “ảo ảnh sa mạc”, chúng như những bài hát cám dỗ bạn xuống địa ngục.</li><li><strong>Cất cánh ngoạn mục</strong> là thời điểm bạn cuối cùng cũng tìm thấy con đường băng qua sa mạc và kết nối mọi thứ về cách xây dựng và phát triển ứng dụng. Nhưng code của bạn vẫn còn bị giấu kín và mỏng manh như một ngôi nhà giấy. Bạn có được tự tin bởi vì ứng dụng của bạn chạy được, bạn đã thành thạo vài phương pháp thông dụng. Bạn bè của bạn nghĩ rằng giao diện của ứng dụng thật tuyệt nhưng bạn lại sợ hãi khi nhìn vào bên trong nó và bạn không biết làm thế nào để có được code “thành phẩm” (production ready). Làm thế nào bạn rút ngắn khoảng cách để có một công việc thực sự?</li></ol><p>Tôi đã phỏng vấn hàng trăm developer đầy tham vọng vài năm trước đây và nghe cùng một câu chuyện lặp đi lặp lại. Mục đích của tôi khi thực hiện bài viết này là giúp bạn tiếp cận cuộc hành trình học code thật cẩn thận, lên kế hoạch đầy đủ và tránh phải rơi vào những cái bẫy thường gặp mà những người đi trước mắc phải.</p><p>Bây giờ thì chúng ta quay lại Giai đoạn II…</p><h4>Giai đoạn II: Dốc mơ hồ</h4><p>Vậy là, bạn đang ở Giai doạn I — “Trăng mật tay trong tay”, kiểm tra đống huy hiệu và những thử thách đã hoàn thành khi sự tự tin và năng lực của bạn đang tăng lên. Chuyện này cũng không tệ lắm… chả có chút khó khăn nào. Bạn chạm đến “Đỉnh cao của sự hào hứng phi lý” (Peak of Irrational Exuberance)…</p><p>Hãy cẩn thận! Bạn sắp bước qua cái ngưỡng làm sụp đổ bao kẻ hiếu học và bị tống vào khu vực “học code khó quá”. Thời điểm chính xác chuyện này xảy ra là khoảnh khắc đầu tiên bạn ngồi xuống trước máy tính, mở trình soạn thảo, và thử xây dựng một project từ con số không mà không có sự trợ giúp nào từ trình duyệt, những đoạn code có sẵn hoặc những gợi ý hữu ích.</p><p>Chết thật!!!</p><p>Bạn có thể cố gắng kéo chút hơi tàn bằng cách làm theo các bài hướng dẫn (tutorial), nhưng không ai có thể chạm được bầu trời mà không rời khỏi mặt đất, và, đến một lúc nào đó, bạn sẽ phải tạo ra điều kì diệu chỉ từ một tập tin rỗng. Bạn đã bước vào giai đoạn thứ hai, nơi mà sự tự tin rơi thẳng xuống mặt đất — “Dốc mơ hồ”:</p><figure><img alt="Dốc mơ hồ" src="https://cdn-images-1.medium.com/max/700/0*-w15225SOz6IaroM.png" /></figure><p>Rồi bạn cũng bắt tay vào làm. Bạn chiến đấu và lần mò ra giải pháp chỉ vừa đủ các tính năng nhưng có gì đó vẫn còn thiếu. Cuộc chiến của bạn với các “con bọ” (bugs) căng thẳng đến nỗi ngay cả phim <a href="https://en.wikipedia.org/wiki/Starship_Troopers">Starship Troopers</a> trông cũng hết sức bình thường. Bạn cảm giác mỗi một chiến thắng đều nhờ vào công sức của anh cả Google và sự tự tin của bạn tụt dốc thê thảm.</p><p>Đây là giai đoạn đặc biệt bực bội đối với cả người huấn luyện cũng như tất cả học viên. Lập trình có lẽ không phải là một nghề hoàn hảo cho tất cả mọi người, nhưng chúng tôi muốn bạn tiến bộ bởi vì đôi khi những điều bất hợp lý trong câu chuyện có thể trở thành những điểm nhấn thành công nhất.</p><p>Khi khoảnh khắc tay trong tay kết thúc, các học viên bị dồn đến bờ vực và bị yêu cầu phải nhảy xuống, nhiều người tuyệt vời đầy tiềm năng va đập vào những tảng đá thất vọng mà không học được cách để cất cánh bay lên.</p><p>Điều đáng sợ là bạn vẫn chưa được chạm đến những thứ thú vị. Giai đoạn thứ hai này, Dốc mơ hồ, vẫn còn rất sớm trong cả cuộc hành trình. Một khi bạn cuối cùng cũng tiêu diệt đủ “bọ” để chấm dứt <a href="https://en.wikipedia.org/wiki/Plagues_of_Egypt#8._Locusts_.28.D7.90.D6.B7.D7.A8.D6.B0.D7.91.D6.B6.D6.BC.D7.94.29:_Ex._10:1.E2.80.9320">tai hoạ thứ tám của Ai Cập</a> và hoàn thành một vài project — đánh dấu sự chấm dứt của Giai đoạn II — bạn vẫn chỉ vừa mới bắt đầu.</p><p>Đối với những ai thực sự sẵn sàng tìm kiếm một công việc, sống sót vượt qua Dốc mơ hồ thường là thời điểm bạn quyết định bắt đầu một cuộc sống mới. Nhưng vẫn còn rất nhiều thứ. Và, thật không may, bạn chỉ mới bước vào “Sa mạc Tuyệt vọng”.</p><h4>Hai yếu tố đóng vai trò quan trọng trong tất cả mọi chuyện</h4><p>Vậy cái gì thực sự tạo nên khác biệt giữa một giai đoạn và giai đoạn sau nó? Tại sao Giai đoạn II (Dốc mơ hồ) lại kinh khủng so với Giai đoạn I (Trăng mật tay trong tay)? Hiểu ra chuyện này sẽ giúp bạn nhận ra rằng đó không hẳn là lỗi của bạn nếu như cuộc hành trình của bạn giống như những gì tôi vừa mô tả.</p><p>Nói một cách đơn giản, có hai yếu tố chính trong mỗi giai đoạn: <strong>Mật độ Tài nguyên</strong> và <strong>Phạm vi Kiến thức</strong>. Cùng xem chúng là gì trước khi chúng ta đi vào khám phá chúng quyết định Giai đoạn III như thế nào.</p><h4>Yếu tố 1: Mật độ Tài nguyên</h4><p>Như tôi vừa nói ở trên, khi bạn vừa mới bắt đầu, dường như có hàng triệu nguồn tài nguyên ở ngoài kia cố gắng lôi kéo bạn vào con đường viết code. Quả thật đúng như vậy!</p><p>Thử tìm kiếm từ khoá “Learn to Code” và bạn sẽ bị đập vào mắt một đống thứ hữu ích như công cụ, trình soạn thảo, videos, và bài hướng dẫn. Bất ngờ hơn nữa, chúng cũng rất tốt! Từ trước đến nay tôi chưa từng thấy có nhiều phương pháp để bắt đầu học code như vậy.</p><p>Nhưng thật không may, vào các giai đoạn sau, mật độ tài nguyên cũng thưa thớt dần. Bất cứ ai nhảy từ lính mới sang sĩ quan có thể nhận ra sự khác biệt to lớn giữa nguồn tài nguyên hiện hữu khi bạn mới bắt đầu so với khi bạn lần đầu tiên tìm kiếm sự giúp đỡ để phát triển những thứ của riêng bạn mà không cần sự hỗ trợ của các khoá học.</p><p>Vấn đề này càng thể hiện rõ ràng hơn khi lượng kiến thức cũng tăng nhanh chóng mặt khi bước vào Giai đoạn III, và đây là một trong những lý do mà chúng tôi gọi đó là giai đoạn “Sa mạc Tuyệt vọng”. Một khi bạn vượt qua giai đoạn này và bắt đầu trở nên thoải mái với những thứ bạn cần tìm kiếm, nguồn tài nguyên quay trở lại và bạn có thể học hỏi từ nhiều công cụ kĩ thuật như các blog công nghệ và screencasts. Một phần trong đó là hiểu ra cách đặt câu hỏi như thế nào.</p><p>Mật độ tài nguyên sẽ trông như thế này ở từng giai đoạn (càng nhiều đường gạch cho thấy có nhiều tài nguyên hơn):</p><figure><img alt="Mật độ tài nguyên khi học code" src="https://cdn-images-1.medium.com/max/1000/0*Ijst6SqwsD1b9tEb.png" /></figure><h4>Yếu tố 2: Phạm vi kiến thức</h4><p>Bây giờ chúng ta sẽ nói về một yếu tố quan trọng khác — Phạm vi Kiến thức. Dưới đây là hình minh hoạ độ rộng của các chủ đề chính mà bạn phải học ở mỗi giai đoạn. Nó trông như thế này:</p><figure><img alt="Phạm vi kiến thức" src="https://cdn-images-1.medium.com/max/1000/0*hu_cpdiWOQ8STqH6.png" /></figure><p>Khi mới bắt đầu học, những điều bạn cần biết khá ít. Tất cả mọi người bất chấp mục đích, ngôn ngữ, bối cảnh đều phải tìm hiểu vòng lặp for dùng như thế nào, làm sao để xây dựng các điều kiện logic, và các cấu trúc cơ bản của cú pháp lập trình. Thậm chí cũng chẳng có mấy bài học nền tảng ở giai đoạn này vì thế Phạm vi Kiến thức cũng rất hẹp.</p><p>Ngay khi bạn học xong những điều cơ bản, bạn thấy sự mở rộng nhanh chóng của Phạm vi Kiến thức khi bạn bắn đầu tìm hiểu những thứ khó hơn như hiểu các lỗi xảy ra và <em>khi nào</em> thì sử dụng những đoạn code mà bạn biết <em>cách sử dụng</em>. Bắt đầu có chút khác biệt ở đây bởi vì không có câu trả lời “chính xác” cho một câu hỏi… mọi thứ trở nên mờ mờ ảo ảo.</p><p>Khi bạn tiến vào giai đoạn ba, quả bóng kiến thức càng to hơn nữa. Bạn lúc này phải biết công cụ nào dùng cho mục đích nào, ngôn ngữ nào phải học, nắm vững kiến thức Khoa học Máy tính nền tảng, cách viết modular code, lý thuyết hướng đối tượng, cách viết code tốt, và làm thế nào để tìm được trợ giúp (đây chỉ là vài cái bạn phải biết). Mỗi lần viếng thăm Google hoặc Hacker News đưa bạn xuống một hang động kì bí khác và nhiều thứ dồn dập đến mà bạn chẳng biết chúng là gì nhưng có cảm giác là bạn cần phải biết về chúng.</p><blockquote><em>Bạn không biết những cái bạn không biết.</em></blockquote><p>Chỉ khi cuối cùng bạn lần ra vài manh mối và tìm được con đường rời khỏi sa mạc, phạm vi kiến thức cũng bắt đầu hẹp lại. Khi ấy, bạn tìm thấy công nghệ bạn lựa chọn và vị trí của nó trong ecosystem. Bạn cuối cùng biết được những cái bạn không biết và lên kế hoạch vượt qua nó. Bạn sẽ tiếp tục cần nhiều sự tập trung hơn nữa khi bạn tiến về phía trước và bắt đầu công việc mới của mình.</p><h4>Giai đoạn III: Sa mạc Tuyệt vọng</h4><p>Sau khi hiểu thấu những yếu tố này, bạn có thể thấy rằng Dốc mơ hồ thật ra chỉ là một ngã rẽ. Hậu quả gây ra do sự kết hợp kinh khủng của sự gia tăng chóng mặt Phạm vi Kiến Thức và sự thiếu hụt Mật độ Tài nguyên là thứ mà tôi gọi là “Sa mạc Tuyệt vọng”</p><p>Về bản chất, sa mạc này là nơi bạn nhận ra là ở <em>đâu đó</em> có điểm cuối bạn cần tìm nhưng bạn không biết cách để đến được đó.</p><figure><img alt="Giai đoạn III - Sa mạc Tuyệt vọng" src="https://cdn-images-1.medium.com/max/1024/0*eMU80iQBDaCn8JUi.png" /></figure><p>Cuộc hành trình băng qua sa mạc dài dăng dẳng và đầy rẫy hiểm nguy. Bạn sẽ thấy bản thân bị cám dỗ bởi các “Ảo ảnh Sa mạc” trong suốt chặng đường — hàng tá nguồn tài nguyên hấp dẫn xuất hiện tưởng chừng như nắm giữ lời giải cho những gì bạn đang tìm kiếm nhưng chúng lại làm bạn thất vọng, một lần nữa, tại cái nơi mà chỉ có cát và cát kéo dài suốt tận chân trời.</p><p>Có thể bạn sẽ đăng ký vài khoá học MOOC ở Coursera hay Udacity hay edX. Hoặc bạn tìm thấy một bài hướng dẫn có mục đích giúp bạn đi hết chặng đường. Bạn từng nghĩ mình đã học được bài học của giai đoạn Trăng mật tay trong tay — không có câu trả lời nào dễ dàng — nhưng sự dụ dỗ được giải thoát quá to lớn và bạn rơi vào lời hứa rằng <em>thứ này</em> sẽ giúp bạn đến đích mà những chỗ khác không thể làm được.</p><blockquote><em>Bạn không thể học tất cả điều này chỉ trong một tuần, một tháng hoặc một khoá học dù cho bất cứ ai nói gì đi nữa, vì thế đừng mắc bẫy!</em></blockquote><p>Có rất nhiều thứ phải học hơn bạn nghĩ đấy. Thậm chí nếu bạn có thể làm vài ứng dụng chạy được, rất khó để không phải cảm thấy lạc lối trong một kế hoạch lớn hơn để trở thành một chuyên gia đích thực. Thật khó để đo được tiến bộ của bạn. Làm thế nào bạn biết được mình cần học gì hay những thứ bạn học có chính xác không?</p><p>Thậm chí ngay cả khi bạn nhắm đúng hướng, vẫn rất khó khăn để biết được tiến độ của mình. Bạn có thể cảm thấy hoàn toàn lạc lối cho đến khoảnh khắc khi bạn nhận ra cuối cùng mình cũng có thể xây dựng thứ gì đó trông ổn và chạy được như mình mong đợi. Nhưng, với đầy đủ điều kiện và một chiếc la bàn tốt, bạn thậm chí có thể tung ra vài project “thực sự” đầu tiên và bạn nhận ra bạn cuối cùng cũng <em>đã hiểu</em>.</p><p>Chắc chắn là mọi việc đến giờ luôn khó khăn, nhưng có thể công việc phát triển web cũng không đến nỗi tệ lắm… Hãy suy nghĩ tích cực chút xíu đi nào!</p><h4>Giai đoạn IV: Cất cánh Ngoạn mục</h4><p>Bạn đã vượt qua sa mạc và sự tự tin trong bạn đang tăng lên. Kĩ năng Google của bạn trở nên xuất sắc và bạn cuối cùng có thể hiểu được những bài blog dài ngoằn và cả screencast nữa. Có thể bạn đã đi sâu vào một ngôn ngữ cụ thể hoặc framework và bạn cảm thấy tự tin khi có thể xây dựng và công bố một ứng dụng đầy đủ tính năng.</p><p>Đây là khoảnh khắc “Cất cánh Ngoạn mục”:</p><figure><img alt="Giai đoạn IV - Cất cánh Ngoạn mục" src="https://cdn-images-1.medium.com/max/1024/0*MiWR9rGK59ySPeKi.png" /></figure><p>Mọi thứ trông ổn ở bên ngoài nhưng bạn biết rằng ở tận sâu thẩm bên trong bạn vẫn chưa xong.</p><p>Bạn có thể làm cho ứng dụng đó chạy nhưng chuyện gì đang diễn ra ở bên dưới? Code của bạn đầy rẫy chắp vá, và tệ nhất là bạn thậm chí còn không biết chỗ nào không ổn. Sự thông minh sáng suốt của bạn bị chống trả bởi những lỗi vụn vặt và, tệ hơn nữa, một sự nghi ngờ len lỏi khi bạn thâm chí còn không biết là mình đang làm gì.</p><p>Đây là một giai đoạn lưỡng cực. Bạn cảm giác như một nửa của bạn là một lập trình viên được trang bị đầy đủ và một nửa kia là một tay gà mờ dấn thân vào một nơi quá sâu vì bị che mắt. Bạn càng tiến bộ lên, bạn càng cảm thấy cảm giác nhộn nhạo không chắc chắn lớn lên khi có ai đó sẽ chỉ ra bạn là một kẻ bịp bợm.</p><p>Bạn cảm giác như bạn đã trở thành một lập trình viên nhưng khoảng cách giữa code bạn viết và sản phẩm của một “chuyên gia” không có chỗ nào liên quan với nhau…</p><p><strong>Nhưng đến cuối cùng, bạn sẽ làm được!</strong> Đã có rất nhiều lúc bạn tưởng chừng như không làm được rồi! Sa mạc Tuyệt vọng đã ở phía sau và Dốc mơ hồ chỉ là một ký ức xa xăm. Bạn cuối cùng, thực sự, bắt đầu cất cánh. Bạn học hỏi nhanh hơn và thông minh hơn bao giờ hết và, cuối cùng, bạn tiếp thu những giải pháp tốt nhất để đống kiến thức lộn xộn của bạn kết hợp lại thành bộ kĩ năng cần thiết cho công việc.</p><p>Giai đoạn Cất cánh Ngoạn mục luôn luôn tốn nhiều thời gian hơn bạn nghĩ và cảm giác dai dẳng hiện hữu bởi vì bạn đã đến quá gần đích… nhưng trước sau gì bạn cũng sẽ đặt chân đến. Nếu bạn đủ kiên trì theo những cách đúng đắn, bạn sẽ thuyết phục ai đó trả tiền cho bạn để bạn tiếp tục học hỏi. Công việc là của bạn.</p><h4>Làm sao để sống sót vượt qua cuộc hành trình này?</h4><p>Cuộc hành trình này thường sẽ vô cùng khốc liệt. Điều quan trọng là bạn hiểu được mình sẽ đối mặt với những gì, nếu như bạn muốn làm điều này một mình. Nhưng bạn không cần phải làm vậy. Có nhiều lối tắt để giải quyết những vấn đề này. Học code không quá dễ như mọi người lầm tưởng nhưng cũng không quá khó như trong sâu thẩm nỗi tuyệt vọng của bạn.</p><p>Dưới đây, tôi sẽ giới thiệu một số chiến thuật quan trọng bạn có thể sử dụng để luôn giữ mình tiến về một hướng đúng đắn.</p><h4>I: Sống sót vượt qua giai đoạn Trăng mật tay trong tay</h4><p>Sự phong phú của những nguồn tài nguyên hiện có trong giai đoạn Trăng mật tay trong tay khiến cho nó khá thú vị. Họ đã làm rất tốt khi giúp bạn hình thành một lối suy nghĩ logic bạn cần cho những giai đoạn sau này. Đây là giai đoạn tuyệt vời để bắt đầu học code vì thế cứ thưởng thức nó và lưu ý hai điều sau:</p><ol><li><strong>Bắt đầu bằng việc thử các nguồn tài nguyên khác nhau</strong> để tìm ra bạn học tốt nhất ở nơi nào và những loại project nào tạo hứng thú nhiều nhất cho bạn. Đó có thể là <a href="http://www.vikingcodeschool.com/posts/khanacademy.org">Khan Academy</a> với những thử thách ngắn, các bài thực tập ngay trên trình duyệt của <a href="http://www.codecademy.com/">Codecademy</a>, quyển <a href="https://pine.fm/LearnToProgram/chap_00.html">Learn to Program</a> của Chris Pine hoặc trải nghiệm thú vị <a href="http://tryruby.org/levels/1/challenges/0">try Ruby</a> của Code School. Nếu bạn có hứng thú với javascript thì <a href="http://freecodecamp.com/">FreeCodeCamp</a> cũng là một lựa chọn không tồi. Hãy cởi mở khi bắt đầu và phớt lờ suy nghĩ bạn <em>nên</em> học những gì… tất cả code đều như nhau ở giai đoạn này.</li><li><strong>Sau đó chọn một và bám lấy nó</strong> khi bạn đã tìm ra cái nào phù hợp với mình. Hãy hoàn thành các bài học giới thiệu của họ, chúng sẽ cung cấp những kiến thức cơ bản để bạn có thể viết những đoạn mã hoặc ứng dụng đơn giản. Sau đó hãy sẵn sàng bắt đầu xây dựng những thứ của riêng bạn.</li></ol><h4>II: Sống sót vượt qua giai đoạn Dốc mơ hồ</h4><p>Hầu như tất cả mọi người sẽ trải qua Dốc mơ hồ bởi vì cách duy nhất để trở thành một developer là… develop. Bạn có thể giả vờ xây dựng một cái gì đó dựa theo các hướng dẫn (hoặc các bài hướng dẫn mạo nhận là các khoá học “hoàn chỉnh”), nhưng bạn chỉ đang cố lẩn tránh mà thôi. Các bài hướng dẫn là một cách tốt để làm quen một chút với những kiến thức nâng cao nhưng bạn sẽ cần phải chấm dứt sự ỷ lại này và đối diện với hiện thực vào một lúc nào đó.</p><p>Ba gợi ý giúp bạn chuyển sang xây dựng những thứ của riêng mình:</p><ol><li><strong>Làm chung với người khác</strong>, thậm chí dù người đó cũng là lính mới như bạn. Bạn sẽ ngạc nhiên mọi chuyện dễ dàng hơn biết bao khi debug những lỗi vô cùng khó khi có nhiều hơn hai con mắt.</li><li><strong>Đọc code của người khác</strong> để làm quen với cách viết code tốt. Cố gắng hiểu tại sao tác giả đoạn code đó lại làm như thế. Bạn không thể trở thành một tiểu thuyết gia mà không đọc một quyển sách nào, đúng không? Hãy luôn quan sát cách các developer khác giải quyết những vấn đề hoặc project nhỏ.</li><li><strong>Bắt đầu nhỏ và phát triển liên tục</strong>. Bạn nên có các project lớn thú vị cho tương lai, nhưng bạn cần phải quen thuộc với việc debug và tìm kiếm các nguồn tài nguyên có những thử thách tương đối. Chẳng có cách nào khác có thể thay thế được kinh nghiệm.</li></ol><h4>III: Sống sót vượt qua giai đoạn Sa mạc Tuyệt vọng</h4><p>Một khi bạn đã quen thuộc với công việc debug, vấn đề lớn nhất của bạn là sự đòi hỏi của một lượng lớn kiến thức và bạn hoàn toàn lạc lối khi không biết làm thế nào để học được tất cả chúng… đây chính là Sa mạc Tuyệt vọng. Trong trường hợp này, cái bạn cần là một sự kiên định tiến về phía trước. Ảo ảnh Sa mạc thể hiện ở những ngã rẽ thú vị, những hang động chằn chịt và những chương trình học-nhanh-kĩ-năng-X, tất cả chúng đều lãng phí thời gian của bạn.</p><p>Đây là những lưu ý giúp bạn thoát khỏi Sa mạc Tuyệt vọng:</p><ol><li><strong>Có một mục tiêu mạnh mẽ</strong> cho thứ bạn muốn đạt được bởi vì nếu không bạn sẽ lẩn quẩn học những thứ thú vị nhưng chẳng mang lại ích lợi nào cả. Nếu bạn có thời gian rảnh, hãy bỏ qua những thứ này…</li><li><strong>Tìm một con đường chắc chắn</strong> trực tiếp dẫn bạn đến mục tiêu bạn đặt ra và xác minh là nó thực sự sẽ giúp bạn đến đích. Đây là lúc bạn cần đào sâu hơn bên dưới những khẩu hiệu marketing và những gương mặt rạng rỡ trên các website hoặc bìa sách và hỏi bản thân rằng “liệu thứ này có giúp mình hoàn thành mục tiêu mình đề ra?”</li><li><strong>Tập trung và tránh các quấy nhiễu</strong>, bởi vì nếu bạn là loại người có hứng thú với việc học code, bạn cũng là loại người hứng thú với mọi thứ thú vị. Khi cảm thấy khó khăn khi code, bạn cần phải tiếp tục tiến tới thay vì thử nghiệm mấy thứ trông có vẻ hay ho.</li></ol><p>Nếu bạn có thể tìm ra một con đường và đeo đuổi nó, bạn cuối cùng sẽ tiến vào giai đoạn tiếp theo thay vì lãng phí nhiều tháng hoặc mấy năm trời theo đuổi những ảo ảnh trên các đồi cát của sa mạc.</p><h4>IV: Sống sót vượt qua giai đoạn Cất cánh Ngoạn mục</h4><p>Cất cánh Ngoạn mục là giai đoạn chuyển giao khó khăn nhất. Bạn có thể phát triển ứng dụng nhưng bạn thực sự muốn trở thành một web developer. Vượt qua giai đoạn này và đạt được các yêu cầu của công việc, bạn cần làm ba việc sau:</p><ol><li><strong>Tìm và làm theo các best practice</strong> trong lập trình. Bạn cần hiểu sự khác nhau giữa một giải pháp và giải pháp tốt nhất. Best practice là sự khác biệt lớn nhất giữa hacking và xây dựng một đoạn code chất lượng.</li><li><strong>Kiểm tra lại kiến thức</strong> của bạn bởi vì bạn có thể bỏ lỡ vài lỗ hổng mà ngay cả bản thân bạn cũng chẳng biết. Bạn cần kiểm tra và khắc phục những lỗ hổng này.</li><li><strong>Khắc phục những kĩ năng không hấp dẫn</strong> mà thường ngày hiếm khi được chú ý đến nhưng vô cùng quan trọng trong giai đoạn chuyển tiếp trở thành một chuyên gia. Những kĩ năng này bao gồm testing, data modeling, architecture và deployment, những thứ rất dễ bỏ sót nhưng hoàn toàn là nền tảng.</li></ol><p>Yếu tố quan trọng để đạt được những việc này và vượt qua giai đoạn Cất cánh Ngoạn mục là <strong>nhận phản hồi</strong>. Tự học có thể hiệu quả nhưng code của bạn hiếm khi dễ đọc, chia thành từng phần, và dễ maintain, đây là những thứ cần thiết khi đi trên con đường lập trình chuyên nghiệp. Bạn cần làm việc với những người khác, những người sẽ thách thức kiến thức của bạn, đặt những câu hỏi khó khăn, và bắt bạn phải vá những lỗ hổng kiến thức của mình.</p><p>Hi vọng bạn sẽ thành công trên cuộc hành trình trở thành một developer của mình!</p><p><em>Biên dịch từ bài viết </em><a href="http://www.vikingcodeschool.com/posts/why-learning-to-code-is-so-damn-hard"><em>Why Learning to Code is So Damn Hard</em></a><em>.</em></p><p><em>Tác giả: Nguyễn Giáp Hồng</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=668e33e0699b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/silicon-straits/h%C3%A0nh-tr%C3%ACnh-h%E1%BB%8Dc-code-v%C3%A0-b%C3%AD-quy%E1%BA%BFt-%C4%91%E1%BB%83-s%E1%BB%91ng-s%C3%B3t-668e33e0699b">Hành trình học code và Bí quyết để sống sót</a> was originally published in <a href="https://medium.com/silicon-straits">Silicon Straits</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Silicon Straits Universe]]></title>
            <link>https://medium.com/silicon-straits/silicon-straits-universe-d40555aab668?source=rss----4822aedf81c0---4</link>
            <guid isPermaLink="false">https://medium.com/p/d40555aab668</guid>
            <category><![CDATA[latest-updates]]></category>
            <category><![CDATA[silicon-straits]]></category>
            <category><![CDATA[business-models]]></category>
            <dc:creator><![CDATA[Silicon Straits]]></dc:creator>
            <pubDate>Wed, 02 Mar 2016 04:54:59 GMT</pubDate>
            <atom:updated>2016-05-19T11:06:21.319Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SCqrk_aPP9GPlmV-6jY_Rg.png" /></figure><p>Introducing the Silicon Straits Universe — where great people build great products to help create great companies.</p><p>This vision connects and guides us through all the dots we have created over the past few years after building over a hundred products all around the world with more than seventy people working at our core now (plus many many more in affiliated businesses).</p><p>Through various projects and products built directly in our foundry, we go way beyond conventional outsourcing and instead regularly form deep collaborations. This typically involves partnering with individuals, startups or existing enterprises who have deep domain expertise or market reach, an appetite for innovation, and are looking at jointly building great new businesses (co-creation)</p><p>Furthermore, we create our own internal products and groom them to be spun-off afterwards, preparing them to grow into sustainable businesses in their own right whilst having continuous access to the other elements of the ecosystem (spin-offs).</p><p>Finally, for some ventures, the missing link between the present and future success may be available resources, so we may just be able to help bridge that gap by investing money or time to help other people with their dreams.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*f5OTw5vZN6odZwAtxW8flw.png" /></figure><p>Though important in their totality, in isolation, some of the steps we take and discoveries we make as well as some of the links we create might not be as clear or even seem random. However, together they keep opening up new horizons and connecting more dots to help shape and grow our Silicon Straits Universe. Our ongoing success over the past three years is the best validation, and we cannot wait to see how much further our universe will expand over the next 5 or even 10 years.</p><p>Author: Silicon Straits Saigon</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d40555aab668" width="1" height="1" alt=""><hr><p><a href="https://medium.com/silicon-straits/silicon-straits-universe-d40555aab668">Silicon Straits Universe</a> was originally published in <a href="https://medium.com/silicon-straits">Silicon Straits</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[All about Silicon Straits Internship Program 2016]]></title>
            <link>https://medium.com/silicon-straits/all-about-silicon-straits-internship-program-2016-db6e8de9e737?source=rss----4822aedf81c0---4</link>
            <guid isPermaLink="false">https://medium.com/p/db6e8de9e737</guid>
            <dc:creator><![CDATA[Silicon Straits]]></dc:creator>
            <pubDate>Mon, 04 Jan 2016 11:23:36 GMT</pubDate>
            <atom:updated>2016-05-20T04:27:06.045Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*QCjbzUWGDGzhhDuh.png" /></figure><h3><strong>1. What is SIP?</strong></h3><p>Silicon Straits Internship Program (SIP) is our 12-week internship program aiming to provide real-life experience for mainly students.</p><h3><strong>2. What will you get?</strong></h3><p>You will get to:</p><ol><li>Tackle real projects,</li><li>Perfect your technical skills,</li><li>Grow professionally,</li><li>Receive mentorship,</li><li>Have fun.</li></ol><figure><img alt="sip2016 program" src="https://cdn-images-1.medium.com/max/1024/0*DNX1V7OuLUAKNP-4.png" /></figure><h3><strong>3. Who is this program for?</strong></h3><p>We’re looking for passionate candidates from all types of backgrounds (e.g. students from colleges or universities and/or currently working professionals). If you think you are a good fit for Silicon Straits, apply and tell us why — we always look for talents.</p><h3><strong>4. Where and When?</strong></h3><p>Our program will start <strong>from February 29th and will last for 12 weeks</strong>. You will be working full-time in our beautiful headquarter in District 7, HCM City.</p><h3><strong>5. What are we looking for?</strong></h3><figure><img alt="sip2016 all position" src="https://cdn-images-1.medium.com/max/1024/0*if2fAzRZgfWPtY60.png" /></figure><h3><strong>6. </strong>When is the deadline for application?</h3><p>You can submit your application anytime <strong>from</strong> <strong>January 3rd to 17th, 2016</strong>.</p><h3><strong>7. What is the hiring process?</strong></h3><p><strong>(1) Application Submission</strong>: Fill the application form <a href="http://bit.ly/sip2016cv">HERE</a> and show us who you are.</p><p><strong>(2) Technical Test</strong>: You will get an invitation to Technical Test at Silicon Straits office if your application has made us interested.</p><p><strong>(3) Interview</strong>: If you pass the test, usually you will get an interview within 2 days. This is the time to talk with our technical and management teams so that you can show us your great technical ability and unique personality.</p><p><strong>(4) Offer &amp; Welcome</strong>: If we believe that you are the right candidate for the job, we will offer you an intern position. Congratulation on becoming a pirate and welcome aboard!</p><h3><strong>8. How to apply?</strong></h3><p>Now you’re interested, <a href="http://bit.ly/sip2016cv"><strong>APPLY HERE</strong></a>. We’re looking forward to greeting you in person.</p><p>For more information about SIP 2016, please visit <a href="http://siliconstraits.vn/internship">our website</a>.</p><h3><strong>9. More questions?</strong></h3><p>Drop us an email at internship@siliconstraits.com.</p><p>Author: SS Internship Program</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=db6e8de9e737" width="1" height="1" alt=""><hr><p><a href="https://medium.com/silicon-straits/all-about-silicon-straits-internship-program-2016-db6e8de9e737">All about Silicon Straits Internship Program 2016</a> was originally published in <a href="https://medium.com/silicon-straits">Silicon Straits</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>