HN user

adamtait

71 karma

I'm a polyglot developer building web, mobile & distributed asynchronous software. My thoughts are compiled from Clojure, Swift, Bash, Markdown and plenty of other languages.

[ my public key: https://keybase.io/adamtait; my proof: https://keybase.io/adamtait/sigs/3WCUZrXORsGe9HPbT9Q47oMUtcLhxE0qNsQb-oYyjaU ]

Posts7
Comments25
View on HN

Ha! I was going to reply to this comment - "If you're interested in data-all-the-things, then you should take a look at Hyperfiddle" - until I recognized the user handle and realized that you already knew about Hyperfiddle. (for those reading along, dustingetz built Hyperfiddle)

I came to the same conclusion (and I'm not a big company that can afford Qt), so I built my own. Before Flutter got a new team @ Google ~3 years back, it was a set of tools for building cross-platform apps with C++ shared libs. A few years ago, this is what many of the FAANG companies were doing with their apps. Then, React Native was released and (I guess) the management at Google decided to take a different tack.

I did some research and found that Dropbox open sourced their internal tool for building cross-platform mobile apps in C++. Djinni (https://github.com/dropbox/djinni) uses an interface definition language to generate bindings between C++ & ObjC & Java (via JNI). From this, I added some tooling to help get the build setup and define some basic UI elements while trying to keep it simple. If you happen to give it a try, I'd love to hear your thoughts: https://github.com/adamtait/ctheworld

Thanks! I've updated the code to only save twice a day giving the EEPROM an estimated lifetime of 137 years. It's a little more inconvenient, but (maybe) less inconvenient than having to buy a new EEPROM (or likely a new Arduino) every couple years.

Join the community and take some classes with https://bradfieldcs.com/ They've got a great set of experienced & knowledgable staff, plus a group of other developers who all care about growing in their careers. Just chatting with the other folks there has been a huge boost in my career.

WalmartLabs - Clojure Developer. | SF | Remote (US Timezones) | H1B VISA

You can work on Clojure at quite a few companies, but rarely can you impact millions of people at such a personal level. Walmart's mobile apps are highly rated and the services we write to support them are the base of that success. We started from a small company acquisition with a single product. Today, we power a platform and a suite of products running on mobile devices and systems in retail stores.

We're still a small, flat team of engineers. We work with our own tools and make our own build-or-borrow decisions. Our culture is a healthy mix of sharing and pushing each other to be better at our craft. For example, we use pull requests & code reviews liberally. We make refactoring time. We deploy often, with a single line of code run from a REPL. Engineers on our team are challenged to work through our full software stack and be part of our product management. We believe that people are more engaged, fulfilled and happy when they feel responsible for actually shipping their work.

The environment at WalmartLabs balances moving fast and breaking shit, with the knowledge that we could break shit for 150+ million people every week. It's a tough balance but we've found the payoff to be worth the challenge and responsibility.

Some aspects of our work that are important to us: - high performance distributed systems - robust & well-factored codebases - simple & fast deployments - automating the hell out of operations - thorough system test coverage - managing our own development process and work backlog - pair programming when it makes sense (locally and remotely) - contributing back to the clojure & open source community What we do: - write all our production systems & tools in Clojure - create and orchestrate massive distributed systems - spin up web services for consuming & ingesting large volumes of data

For a glimpse behind the scenes, check out a talk we gave at Clojure/West last year. https://www.youtube.com/watch?v=av9Xi6CNqq4.

Does this sound like something you're into? Shoot me an email at atait@walmartlabs.com

Same. Changing teams every two years seems like a long time. Not mentioned in the post, but I would bet that in Microsoft-land, the release cycle is about two years so it gives a natural transition point. Let's say that an engineer takes 4-6 months to ramp-up on a new team, that still gives 18 months of full productivity. I'm sure that engineers reach 80% of the learning curve was traversed at 12 months.

The fact that it takes them 3-4 days to decide the next round of teams seems very long, in spite the post's insistence that it's short.

I'm interested in environments where teams chose a much shorter cycles. I think shorter cycles would present a different set of challenges, like reducing ramp-up times and cycle decision times. It may also be easier, like reducing the risk of a single cycle decision.

I have heard reports from a company with ~50 engineers who had 2 week cycle times, which was basically their sprint time though releases would have much more frequently. They had the advantage of a mostly homogeneous language and development environment. There kept in up for more than two years, at which point the company pivoted, no longer had a homogeneous dev environment and were doing more greenfield and less support/optimization/incremental-improvement. All reports were great. People were always surprised how the team would even out the teams when put in a single room, where the teams and choices were clear to everyone.

WalmartLabs - Clojure Developer. San Francisco (full time) or US remote.

You can work on Clojure at quite a few companies, but rarely can you impact millions of people at such a personal level. Walmart's mobile apps are highly rated and the services we write to support them are the base of that success. We started from a small company acquisition with a single product. Today, we power a platform and a suite of products running on mobile devices and systems in retail stores.

Our team has a unique environment. We're still a small, flat team of engineers. We work with our own tools and make our own build-or-borrow decisions. Our culture is a healthy mix of sharing and pushing each other to be better at our craft. For example, we pair program when it best suits the task. We use pull requests & code reviews liberally. We make refactoring time. We deploy often, with a single line of code run from a REPL. Engineers on our team are challenged to work through our full software stack and be part of our product and project management. We believe that people are more engaged, fulfilled and happy when they feel responsible for actually shipping their work.

What we're all about

The environment at WalmartLabs balances moving fast and breaking shit, with the knowledge that we could break shit for 150+ million people every week. It's a tough balance but we've found the payoff to be worth the challenge and responsibility.

Some aspects of our work that are important to us:

  - high performance distributed systems
  - robust & well-factored codebases
  - simple & fast deployments
  - automating the hell out of operations
  - thorough system test coverage
  - managing our own development process and work backlog
  - pair programming when it makes sense (locally and remotely)
  - contibuting back to the clojure & open source community
  - having an engaging team culture and environment
What we do:
  - write all our production systems & tools in Clojure
  - create and orchestrate massive distributed systems
  - spin up RESTful web services for consuming & ingesting large volumes of data
We are just a part of:
  - Walmart is the world's largest retailer and one of the world's top online 
    retailers. The scale of challenges and potential impact is enormous.
  - Walmart is actually a group of retail businesses spread all over the world
    including Sam's Club, Asda (UK), Massmart, Walmart International
  - WalmartLabs is a software development shop responsible for tools, platforms 
    and applications for new products in all Walmart businesses. These 
    include platform tools, data analytics & machine learning, search engines, 
    mobile applications and physical retail tools.
Does this sound like something you're into? Shoot me an email at atait@walmartlabs.com

edit: formatting

It's a Canadian thing. You'll find grads from all the Canadian universities are humble and practical.

Being a top university with grads in high demand, it's actually amazing that Waterloo grads haven't gotten a reputation for being more arrogant. I know I was at one point in my life.

I would say that the variability of education quality between Canadian schools isn't that high, but the number of universities isn't great either. Waterloo does try to be more experimental with their curriculum than many other schools, but the real secret is in the co-op/internship program. All Waterloo engineering & (many) computer science students start doing internships in first year and complete 6x 4-month internships before they graduate. This means that you get significant experience before you're cast off on your own, and a chance to test the working conditions at a variety of companies, roles and locations. Graduates are better prepared to hit the ground running once they get their diploma. For hiring companies, they get a low risk 4 month interview. Waterloo also has interns available all year long (not just in the summer months), so they can spread out the minor burden of training an intern. I haven't seen a similar model anywhere else and Waterloo has been doing it for decades.

I'm very proud of my time at Waterloo. The school surrounded me great students and (some) great professors who were constantly challenging and rewarding. I wouldn't be the person I am now, and wouldn't have had the same great opportunities had I gone to another school.

As always, these stories about 'Canada's hidden talent pool' slide into a discussion about the 'brain drain'. Many of classmates from the class '07 ended up in the bay area, Seattle/Redmond, NYC or Boston. I'd estimate greater than 50%. In fact, I'm one of them. While I may not be living in Canada, I still stay connected to my home. I have many friends who have moved to the US after school only to return to Canada when they're ready to settle down and have a family. Canada remains a great place to live; I just wish we could decrease the cost of doing business between Canada & the US lower, and convince more Americans to move up north.

It looks like they're comparing averages from all those countries, when we all know that the population of the USA is largest. Even though the distribution might be different, the number of people that fit into the distribution are very different.

We have some really smart people in Canada, but we also have 1/3 of the population of the US. Even if our average proficiency with problem solving is 10% higher, we still only have a fraction of the people who are proficient as the US.

SkyMall's SkyFall 13 years ago

I guess when Priceonomics finds their business model has also fallen on hard times, they can resort to ... uh ... journalism.

Great post, Brandon. Getting object & honest thoughts, opinions & feedback is vitally important to both teams and each one of us. To help our team be more open, I've tried to use regular retrospectives where we highlight aspects of projects/sprints/teams that went well, poorly, and some that were both. I've also tried having time away from work, but found that without the focus on feedback, people are reluctant to offer criticism.

What practices have others used to foster critical feedback? What types of personalities are best at bringing this out of others?

It's great to see that more people are waking up to the fact that working hard != progress. You can work hard, spin your wheels and not actually make progress towards your long or short term goals. We need to be aware of the opportunity cost of everything we do, especially time spent working. Most salaried employees realize that they're trading time for money; a mindset that leads them down a path to being less efficient with their time, the companies value of them and team progress. I have a team mate that bucks this trend. When he hits his goals for the week/sprint/deadline, he takes time off. Over the years, he's gotten quicker & more efficient. Now, he regularly hits his goals early and takes more & more time off, while still earning the same salary.

Of all the places I've lived, San Francisco is the closest to a meritocracy I've seen. At least people here are more open to idea of reward structures based on results rather than proxies. But, even here the mindset exists.

I don't blame the companies or hiring practices as much as I blame bad management. Building a culture of efficiency over emotional commitment is important. People need to be better at setting achievable goals and tracking their progress towards them.

There are companies out there that have seen the light. Pivotal Labs has a great culture based on a simple idea - be highly efficient and engaged from 9am to 5pm. Then, go out in the world and live your life.

Rally.org - San Francisco, CA H1B Welcome

Rally.org is an ambitious venture for good. We make sure money flows into the valuable projects that improve our lives. Our platform today helps users connect and fundraise around what matters amplifying their stories to reach more people. We're proud to have raised the largest round ever on AngelList ($8mm) with a great team of investors including Kevin Rose, Mike Maples, and Reid Hoffman.

We're a small team of developers in the heart of SF that work across our rails stack, from optimizing relational database queries to building smooth javascript interactions. We work together closely, iterate quickly, and deploy to production daily. We're proud of our pragmatic culture and push each other through pairing, code reviews and speaking up. We use tools like Rails, Redis, Chef and D3-js.

We work hard and we have fun, too. Bi-monthly team dinners, in-office yoga & pilates, ping-pong breaks, and an unlimited vacation policy.

We're looking for passionate engineers to join the team. You'll be given a ton of responsibility, wear as many different hats as you want, and have a massive impact on both our technology and business.

Get in touch with us at jobs@rally.org.

Rally.org: Full stack developer San Francisco, CA

Rally.org is an ambitious venture for good - always looking to expand on what the intersection of money and values can mean for the world at large. Our platform today helps users connect and fundraise around what matters amplifying their stories to reach more people. We're proud to have raised the largest round ever on AngelList ($8mm) with a great team of investors including Kevin Rose, Mike Maples, and Reid Hoffman.

We're a small team of developers in the heart of SF that work across our rails stack, from optimizing relational database queries to building smooth javascript interactions. We work together closely, iterate quickly, and deploy to production daily. We're proud of our pragmatic culture and push each other through pairing, code reviews and speaking up. We use tools like Rails, Redis, Pig, Chef, Marionette.js, and D3-js.

We work hard and we have fun, too. Bi-monthly team dinners, in-office yoga & pilates, ping-pong breaks, and an unlimited vacation policy.

We're looking for passionate engineers to join the team. You'll be given a ton of responsibility, wear as many different hats as you want, and have a massive impact on both our technology and business.

Get in touch with us at jobs@rally.org.

Rally.org : San Francisco : Full-Time

Rally.org is an ambitious venture for good - always looking to expand on what the intersection of money and values can mean for the world at large. Our platform today helps users connect and fundraise around what matters amplifying their stories to reach more people. We're proud to have raised the largest round ever on AngelList ($8mm) with a great team of investors including Kevin Rose, Mike Maples, and Reid Hoffman.

We're a small team of developers in the heart of SF that work across our rails stack, from optimizing relational database queries to building smooth javascript interactions. We work together closely, iterate quickly, and deploy to production daily. We're proud of our pragmatic culture and push each other through pairing, code reviews and speaking up. We use tools like Rails, Redis, Chef and D3-js.

We work hard and we have fun, too. Bi-monthly team dinners, in-office yoga & pilates, ping-pong breaks, and an unlimited vacation policy.

We're looking for passionate engineers to join the team. You'll be given a ton of responsibility, wear as many different hats as you want, and have a massive impact on both our technology and business.

Get in touch with us at jobs@rally.org.

Set is awesome. Thanks for doing this! There has definitely been a lot of IE hate floating around HN lately, but I think you made the right call. Release early, release often, constantly improve - worry about other use cases later :) Any plans to roll it into an android or iOS app?

CalTrain is a pain, and as a government service, seems to constantly fighting to be recognized. It seems that few who live in the valley care about their only public transit artery. And, those that do are not commuters themselves or have little involvement in the tech scene. The CalTrain service must highly inefficient at the moment. I've lived in many major cities around the world, and never have I seen a regular commuter train being run by full locomotives. Since the cargo isn't heavy, I can only imagine what the fuel costs to run a CalTrain service are. That might partially explain why CalTrains run no more than once an hour.

The Google shuttle works well because there is one focal point - everyone is going or coming from the Googleplex. Optimizing routes would be harder for anyone trying to open a similar service to the public, since employers in the valley are spread out.

There is also a sorely missing off-hours service. Even at Google, I know several times that friends would have stayed for an extra drink/game if there was a shuttle that left later than 10pm. And, how many have you been caught in SF after just missing the 10:20pm and having to wait for the 12am? Or, had to cut a night short because you had no way of getting home after 12am? Brutal.

Join the herd 15 years ago

I think Sydney Australia has the biggest #fomo epidemic the world over. I challenge you to find anyone in that city who does not have an iPhone.

Would that make Sydney a great place to launch a new business?

What is it about that city which inspires the widespread desire to copy our peers?

I appreciate that The Economist takes a hard line on the reality of Australia's position, as clearly a comparison to California is wild. Last I checked California's population was roughly double the entire country of Australia, not to mention the vast differences in GDP and economy.

Australia has a lot going for it, but many problems that will hold it back. Firstly, the Australian economy will live and die by mining. The Australian dollar has been so low for so many years, that China (and others) have become dependant on their neighbour to the south for a big chunk of their mineral resources. This clearly swings the labor market in favor of low-education physical labor. I regularly hear stories of miners in the backcountry of Queensland or Western Australia earning insane salaries. If you grew up outside the core of Australia's 5 major cities, there a good chance you have a miner in the family and have been panhandling in the local rivers. In the cities, you have been raised to work in mining supporting industries such as finance, banking or insurance.

Australia does have a deeper connection with the major developing nations of the world. Whether the conservatives like it or not, there are many chinese, japanese, indian, brazilian, south african, thai, sri lankan, and many other nationalities here. Many companies have done business in the countries of South East Asia and Africa. Many even border on being philanthropic. Furthermore, Australians are some of the most internationally travelled people I have met. Nearly all of whom have taken extended multi-month trips several times in their lives, and aspire to continue doing so.

Education has been a problem and will continue to be for some time. If the mining boom ever tapers off, Australia will have a hard time recovering. In a country of 23 million, the top schools of Australia don't have the same talent pool to draw from as the US, UK or Canada. Thus, the resulting education level is not the same. I know countless tech leaders that would list the ability to recruit talent as the biggest problem they face. Many of the top tech companies in Australia hire significant numbers of non-Australian passport holders.

Furthermore, much of the top tech talent in Australia is moving to California. I know countless friends who have chosen SF, simply after visiting once. I don't blame them. If you want to be in the technology space, go to ground zero for the technology world. If you want to be in mining, Australia might just be best place in the world.

'New media expert' is a pretty lame title, but he definitely has something to add. He is an internationally recognized celebrity, and Airbnb is a company crossing the chasm and trying to pull in the laggards. Convincing people to use Airbnb is going to take more than ranking high in Google and having the proper precautions in place. Ashton brings insight to the rest of the world. If anything, I'd say he's an 'old media expert'. Or, maybe a branding and publicity expert.