Focus on building web/mobile applications, with experience on both the front and back-end. More recently focusing on front-end work, namely working with React Native; having users happy to interact with something I've built is what keeps me motivated.
I've worked in a bunch of industries and led a bunch of fairly successful teams including: leading a team to build a major government satellite project (RADARSAT Constellation Mission), further developing an asset management system and other tools for the movie industry, attempting to build a real estate/housing application more successful than my first from a couple years back, and more.
Looking for a great team focused on building a product (or products) users love, with minimal red tape. A team that works well with each other with little in the way of workplace politics, is passionate about what they're building, alongside management and PMs that do their best to help the team and product succeed.
Focus on building web/mobile applications, with experience on both the front and back-end. More recently focusing on front-end work, namely working with React Native; having users happy to interact with something I've built is what keeps me motivated.
I've worked in a bunch of industries and led a bunch of fairly successful teams including: leading a team to build a major government satellite project (RADARSAT Constellation Mission), further developing an asset management system and other tools for the movie industry, attempting to build a real estate/housing application more successful than my first from a couple years back, and more.
Looking for a great team focused on building a product (or products) users love, with minimal red tape. A team that works well with each other with little in the way of workplace politics, is passionate about what they're building, alongside management and PMs that do their best to help the team and product succeed.
Some additional information to augment the info provided by the other replies. One more recent example would be the RADARSAT Constellation Mission (RCM):
While I agree developers should be responsible for their work, I'm very wary of "Why Developers Should Be On Call" going the way of the whole "open-office layout". Fast spreading, but abused by many companies to optimize for the bottom line without much care for anything else.
I recently had an incredibly dystopian experience around being on-call as a developer, and while I know for a fact that's not the norm, it's enough cause for concern to share my experience with others in hopes companies that choose this are held to higher standards and processes.
I joined a company in Vancouver early this year, that I will call company X. Company X is a well known name in the U.S for real estate/property search/etc. I was hired onboard to help transition a good chunk of their dated front-end code and help champion the direction of the front-end for various product teams in the company. Turns out the front-end was a giant amalgamation of a couple things: Dust.js, jQuery, bits of really poorly written React.js, all hooked up with and plugged into Node.js rendered server-side pages. An immense amount of UI bugs and regressions would appear whenever anyone haphazardly made a change to a seemingly unrelated component/page. Multiple efforts over the years were made by various people to "take the lead" on coming up with a shared UI/component library that was to be used across the various teams and products, but the components themselves were very buggy and lacked clear, consistent design patterns or input from UX/UI designers. This caused most of the teams to resort to building their own variations of similar components, with little effort to contribute back. This would continue over a couple iterations until someone else came up with the genius idea to build a share UI/component library...you get the idea. To actually develop and make changes on the front-end was even more archaic. The various products owned by the teams occupied a portion of the site, and were all hooked up by a build harness that someone had created. Only one person really knew how the harness worked, you needed to be able to connect to a specific machine to even just load the site navigation or anything, for that matter. There was a whole week or two where this wasn't possible, and productivity slowed to a crawl. Interestingly enough, the version of the harness that various teams were running were also different and out of sync. So you'd run the harness and wait some 3 minutes to test any little change, but no other pages nor products worked, so if your feature required integration with various other products, you were in for one hell of a ride. On top of this, a lot of the front-end code was written by developers that weren't well versed in building front-ends for web applications. Needless to say, the codebase was largely an entangled mess of different ideas, state management strategies, polluting of the global namespace, front-end libraries, duplicate code, hacks, and nuances. Some 2~3 years prior to my joining, the company had a mass exodus of developers -- apparently the place is rife with political turmoil amongst various directors and departments, too.
Prior to joining, I was explicitly told there was no on-call. Some 3 or so weeks after, there was talk about "testing Pagerduty". Very quickly, every developer on the product teams were required to be hooked up to Pagerduty and be on a recurring schedule. This is what that looked like for my team: 2 developers would be on-call on any given week, for 2 straight weeks. The intern, contractor, and Principal were excluded. This meant that as 1 of the 4 other people on the team, you'd be on-call 24/7 for 2 weeks every 4 weeks. How were the escalation and notification policies setup? When any error occurred, you'd get an app notification from Pagerduty, immediately followed by a text message, and a phone call. If you did not acknowledge within 3 minutes, it would text, phone, and notify again every minute until 5 minutes. At the 5 minute mark it would call the other 2 developers. No ack in 15 minutes -> Principal + Manager, next 15 minutes -> Director. My manager had 2 teams under him, and at one point he got an escalation from his other team. Saying he was unhappy would be an understatement -- a large number of hours and meetings over the next couple weeks were put in place to come up with a plan to make sure it never happened again and to keep people accountable.
Frequency of on-call rotation and overly aggressive escalation policies aside, there were other major issues. Traditionally, the products/services were all part of one large monolithic application. At some point in the past 2 years, there was a big push towards microservices. However, there was no API versioning, no proper logging or much ability at all to track where an error originated from. Despite using microservices, deployments were a coordinated effort every Thursday, along with code freeze and multiple rungs of approval from PMs to Directors/VP. Unfortunately, the team I was on was in charge of the CRM portion of the product, which was the most commonly used feature and had many integrations with other teams. This meant that for many teams, their errors would only bubble up through our front-end, where Pagerduty would be triggered for our team. In order to make the alerts stop, there were a number of hurdles. Firstly, there was no way to snooze some of these alerts as they weren't identified as identical errors even though they were. Secondly, locating the root of the issue was often extremely difficult, between the broken build processes and fragmentation. Thirdly, as APIs weren't versioned and deployments were done once a week as a concerted effort, fixes would not land until at least the next week, at best.
There were multiple times when I was on-call that I'd be woken up multiple times at incredibly inconvenient times: 2am, 4am, 5am, any day, didn't matter. Pagerduty bombardment came frequently. One day in particular I was at my desk trying to get work done and my phone went off some 13 times in 1 hour, all first alerts, and for the same issue. The cause? One of the teams was in charge of maintaining a set of APIs around Twilio, and pushed an update that caused constant errors everytime someone made a call. Obviously, this surfaced through our team instead of theirs. There was no rollback or anything to address this immediately. After tracking down the root cause and making the team aware, they had to prioritize the issue so it could get a resolution. The fix took just over 3 weeks, during which time all our team could do was put up with the pages and dismiss them.
I'd expressed concerns around how Pagerduty would be put into place prior to all this happening, and during. Throughout, the response from management was very clear: tough luck, deal with it or get out (in more words). Multiple members on both my manager's teams (amongst other teams) expressed discontent and frustration, many talks were had, and all fell on deaf ears. To top it all off, there was zero compensation, both monetary and time off. Myself and another colleague left, yet another transferred to a different part of the company without Pagerduty, and now another mass exodus is in full swing. Even the new contractor decided to get out well before his 8 months was up.
Overall it was a horrid experience, an incredible waste of everyone's time, productivity, health, and money. I'd hate to see this type of paradigm proliferate in the industry without due diligence and care around the whole practice. All I have left to show for it is my body in a constant state of anxiety, as if I'm still on 24/7 Pagerduty.
Focus on building web/mobile applications, with experience on both the front and back-end. More recently focusing on front-end work, namely working with React; having users happy to interact with something I've built is what keeps me motivated.
I've worked in a bunch of industries and led a bunch of fairly successful teams including: leading a team to build a major government satellite project (RADARSAT Constellation Mission), further developing an asset management system and other tools for the movie industry, attempting to build a real estate/housing application more successful than my first from a couple years back, and more.
Looking for a great team focused on building a product (or products) users love, with minimal red tape. A team that works well with each other with little in the way of workplace politics, is passionate about what they're building, alongside management and PMs that do their best to help the team and product succeed.
Focus on web development technologies, with experience on both the front and back-end. More recently focusing on front-end work; having users happy to interact with something I've built is what keeps me motivated.
Recently, I've led a team to build a major government satellite project (RADARSAT Constellation Mission), further developed an asset management system and other tools for the movie industry, and am now attempting to build a real estate/housing application more successful than my first from a couple years back.
Looking for a great team focused on building a product (or products) users love, with minimal red tape.
Focus on web development technologies, with experience on both the front and back-end. More recently focusing on front-end work; having users happy to interact with something I've built is what keeps me motivated.
Recently, I've led a team to build a major government satellite project (RADARSAT Constellation Mission), further developed an asset management system and other tools for the movie industry, and am now attempting to build a real estate/housing application more successful than my first from a couple years back.
Looking for a great team focused on building a product (or products) users love, with minimal red tape.
The easiest way to learn a language is simply to put a child in that environment, an environment where they have no other option but to learn. Granted, it's can be immensely stressful, but having been in a similar situation, I can attest that it works.
I grew up in Canada my whole life, but was taken to Taiwan towards the end of my elementary years and enrolled in the normal school system there without so much as knowing the alphabet. Spending 3.5 years there allowed me to pick up the language fluently, at a fluent, accent-less level (reading, writing, speaking, listening). While there I also learned "Taiwanese" at a fluent, accent-less level while visiting produce and night markets.
Now when I interact with Mandarin speakers in Mandarin, they assume I grew up in Asia, and vice versa with English.
On the flip side, many Asian friends who grew up here attended Saturday Chinese schools, and although it helps allow you to communicate on a basic level, most hate learning Mandarin, and thus fight it. Speak with classmates in English the second the teacher isn't hounding them, speak in English during breaks, etc. Many end up not even being capable of conversing
I read your comment and assumed you had no exposure to Mandarin before moving to Taiwan. Then I saw your username and am now assuming you did. But I could be wrong :)
I'm curious to know how early you were exposed to hearing Mandarin sounds (from birth?) and whether you spoke Mandarin at all with your family before you moved to Taiwan.
I ask because one of the toughest things getting started for many foreigners learning Chinese is being able to distinguish the tones when listening and speaking, and AI read some report of some research that said that early exposure to hearing another language (I think at under 12 months old) allows you to distinguish the sounds that occur in that language, even if you only learn that language later in life.
If you went from zero to fluent in 3.5 years, that's awesome. I can imagine the second half being hard but doable. I can't imagine how you got through day 1 and month 1 at all!
I'm actually of mixed origin (half Caucasian/Asian) (:
I was born in Taiwan, so I assume the exposure was there, at least from the staff at the clinic if not anything else. That said, my first language was English as we came to Canada immediately after my birth. English was the language at home, and while I had a few Asian classmates, all of us only spoke English, and there weren't many immigrants from Asia (mostly Taiwan/Hong Kong) at all. So despite exposure at birth, hearing Mandarin for me at the time was much like hearing someone speak Spanish or Russian now.
In fact, I had no interest in relocating to Taiwan and losing contact with my friends. I'd be lying if I said it was not hell; the school administration strongly suggested I be put in kindergarten so I could learn the language from the beginning just like the locals, but my mother insisted I be put in 5th grade, where I belonged. It was a major hit to my ego, to go from top of the class throughout my young life, to a bottom feeder. It was also a culture shock to many kids to see someone "white", so bullying was a huge part of my life there, but I digress.
Being forced into an environment like that is incredibly stressful, but I can't say it doesn't work. I'd say it took about 6 or 7 months before I was consistently not the bottom performer in class, and another year or so till I was consistently top 3.
So while there was technically some exposure, and probably some learning going on in my infant brain, none of it was apparent to me.
Wow. I wonder whether other people in a similar situation would have progressed so quickly, or whether you're an outlier. But I guess it's not a common situation, so hard to know. Thanks for sharing!
It's really quite unfortunate. But while true in most cases, it's also not always the case. Having done contract work/consulting for many years, I actually say no quite often. It's surprisingly common for business, especially small and medium sized ones, to make changes that do not improve their business, or even hurt it.
Some read an article online saying "big red buttons increase conversion", and want that along with a full revamp of their system, even though it may not improve anything for their business. I believe that any consultant worth their salt should be cognizant of this, and look out for their client's interests. There is often a gap between what a client says they want and what they really want. Being able to identify that difference is key in delivering value and having leads come in without additional effort.
Everyone can mash together a solution, but it's incredibly rare for a business owner to find a contractor who looks out for them and prevents them from throwing cash at a non-issue. Most business owners have worked with many contractors, and when they find someone who truly cares, most reciprocate.
Remote: Yes
Willing to relocate: Yes
Technologies: Javascript (React.js, React Native, jQuery, Backbone.js, Angular.js), HTML/CSS, LESS/SASS, Git/SVN, Yarn/Bower, Gulp/Grunt, Jest/Enzyme/Selenium, RESTful APIs
Resume: https://www.dropbox.com/s/7f1ecrevl9ylob7/Jay%20Huang%20-%20...
Email: See resume
Focus on building web/mobile applications, with experience on both the front and back-end. More recently focusing on front-end work, namely working with React Native; having users happy to interact with something I've built is what keeps me motivated.
I've worked in a bunch of industries and led a bunch of fairly successful teams including: leading a team to build a major government satellite project (RADARSAT Constellation Mission), further developing an asset management system and other tools for the movie industry, attempting to build a real estate/housing application more successful than my first from a couple years back, and more.
Looking for a great team focused on building a product (or products) users love, with minimal red tape. A team that works well with each other with little in the way of workplace politics, is passionate about what they're building, alongside management and PMs that do their best to help the team and product succeed.