Wednesday, 10 October 2018

10 Questions with Julie Torres - Software Developer


What is the best part about being a software developer?

I love writing code. It feels like playing a logic puzzle game, but the rules are always changing so it never gets boring.

I also love the autonomy and flexibility. This is something that doesn't come automatically with every development job, but if you build a reputation for delivering without being micromanaged, a good manager will leave you alone and let you do your thing.

Thoughts on the Low Code Development trend?

Right now software development is a pain point for businesses. Humans are expensive and unpredictable. Businesses would like to reduce costs and get the messy humans out of the way so they can make more money. Low code development is the seed of the slow process to replace developers.

I have no doubt that most developers will eventually, over several decades, be replaced by low and no-code visual development tools. They aren't advanced enough to replace us now, but they will be.

When banks first started installing ATMs in the 1960's, I imagine bankers didn't take them very seriously. ATMs were dumb, clunky machines that customers didn't understand and didn't want to use. It took about 50 years, but ATMs have nearly replaced tellers. They can do almost everything a teller can, only faster and without the awkward small talk.

We're deceiving ourselves if we think software development is different. The tools will start with routine tasks, like building relational databases and RESTful APIs, and grow from there. Eventually, the average business person will be able to build tools that now take a team of developers, testers and product managers.

The good news is that we don't need to panic about our job security. It will take decades for the tools to advance enough, and the businesses to adapt enough to replace developers. By then, many of us will be nearing retirement, and there will still be room for us to work on legacy projects.

The bad news is that demand for developers will stop growing long before we can actually be replaced. To keep our wages from flattening out, we'll need to continuously refresh our skill set and stay out of areas that are being automated.

As a society, we also need to build a safety net for people whose jobs are automated away. Whether it's through job retraining programs or something like a universal basic income, we have to find some solution to the fact that jobs are changing too fast for most humans to keep up. And we have to stop telling ourselves that this could never happen to us.

Your Twitter bio says "Success is getting a different error message." Explain.

The most important thing that software development has taught me is that failure is a necessary step on the path to success. If you keep making the same mistake and getting the same error message, you're not learning and you'll never succeed. On the other hand, if you're not getting any error messages, it's NOT because you're awesome--it's because you're too afraid to build anything!

If your code, your career, your life is breaking in NEW ways, you're doing it right.

Your Github page says "One day there was a girl with a dream to build." Tell us about this.

I put that up there because it sounded good and went well with the design of the site. Honestly, though, I recoil a bit when I read it. It strikes me as fake and "canned". I didn't really have a dream to build. I had a dream to get the hell out of banking, and to find a job that felt meaningful and put more than just a few crumbs on the table for my kids.

Luckily it turned out that being a developer was much more than that for me. Code is this beautiful link between the logical and creative sides of my brain. It's something I would do for fun if I didn't do it for work. I count myself very, very lucky to have a job like that.

Tell us about your ebook "How to Become a Web Developer".

Changing careers and teaching myself to code was difficult and confusing. I wished I'd had a guide book that would tell me what to focus on learning, what to expect in interviews, and how to get my first job. I also wanted to be reassured that it was possible--that I could actually be successful jumping into a completely different career without getting a new degree.

How to Become a Web Developer is the book I wish I'd had. If you're looking to become a software developer, you can find it on Amazon.com. You also might be interested in the blog post I wrote for FreeCodeCamp: How to Become a Web Developer Without Losing Your Mind.

What dev tools do you use?

My preferred tools are: a Mac or Linux machine, Vim text editor, and Tmux session manager. Tmux makes it feel like you have an unlimited number of monitors, because you can flip back and forth between sections of code, Bash sessions, etc. You can also have other developers SSH into your Tmux session so you can code together.

I like these tools because, even though they're hard to master, they give you an incredible amount of power. On Unix-based systems (Mac and Linux), you're only limited by your own knowledge (and possibly your user permissions). The downside is that you can also get yourself into a lot of trouble if you're not careful.

At work I currently use a Windows laptop and Intellij IDE. I absolutely hate working on Windows because it's very inflexible and too much of the functionality is hidden. I find Intellij decent to work in, but it's very memory-hungry and can crash if you don't have enough available memory.

To beginners, I recommend using a Mac if you can afford one, since it's the most user-friendly platform for developers. Installing Ubuntu or Fedora on a PC is a good alternative if you don't want to drop $800 on a laptop. I'd recommend Atom for a text editor since it's free and very simple to use, but also has plenty of plugins that can make life easier once you've gotten the basics down.

Thoughts on open source software?

It's like a Utopian fantasy. The idea that software developers across the world work together to solve common problems, and then freely give away those solutions so others can expand and improve them--I wouldn't believe it if I didn't know it was real.

Imagine what we could accomplish as a species if other fields, like medical research, open-sourced some of their best tools and techniques. What if, instead of trying to patent every newly discovered gene, scientists shared the information openly so others could use it to create gene therapies, trace a person's heredity, or whatever else they could think of?

Pick one online service where you would want to get a first hand and behind the scenes look at how the developers work.

I would love to see inside Atlassian. Their tools--Confluence, Bitbucket, HipChat--are so beautifully designed and virtually bug-free.

State a challenging question you would pose to a developer interviewee.

When interviewing candidates for a developer apprenticeship program, I got very enlightening responses from the following question:

"Imagine I'm a robot that knows nothing about laundry. Explain to me how to wash a load of laundry."

I asked this question because I wasn't trying to assess their knowledge of a particular language. I wanted to know how well they could break down the problem in a familiar domain (most people have done laundry at some point) and transform it into a step-by-step process. There was no way they could have anticipated the question, so I got a unique opportunity to watch their thought process.

One candidate was especially detailed. "This is clothing. First, we need to sort the clothing into dark and light piles. Anything darker than this item should go in the dark pile..."

I also remember a candidate who had trouble breaking the process down into an ordered list of steps. He ping-ponged back and forth from washing, to drying, to sorting, back to washing. He got sidetracked and talked about why a robot would do laundry, but he never gave me a real list of steps.

I wouldn't have hired or disqualified a candidate solely based on their response to a question like that, but it did help me get a sense of how each candidate thought.

Anything else you would like to add?

To the aspiring developers:

Pay attention to both your technical skills and your job search skills. If you're having trouble getting interviews, you need to work on networking with other humans. If you're having trouble passing technical interviews, you should focus on your technical skills.

To the employed developers:

Your skills and experience are the assets that keep you employed. Don't let them decay. Fight to get onto projects that will teach you something new. Fight for the opportunity to go to conferences, or just spend work hours taking an online course. If your employer doesn't value continuous learning, find one that does.

Friday, 7 September 2018

Launch of Google Developer Group - Port of Spain, Trinidad


Google Developer Group chapters are organised by locals around coding with Google products and APIs. I reached out to the organisers of the "GDG Port-of-Spain Launch" to get some words and photos from them for this blog post. Nicholas Mendez is one of the organisers and he responded with these words.

Google Developer Group (GDG) is an international community of professionals within the software development industry supported and recognised by Google. Trinidad & Tobago's first local chapter, GDG Port-of-Spain, was launched on Thursday 23rd August 2018, 7:00 pm at Trincargo Intl. Borde Street.

GDG POS seeks to improve the prominence of local software development and change attitudes towards it by providing events for enthusiasts and professionals to learn, experiment and explore in various cutting edge technological areas such as mobile, web, AI, VR, AR and Cloud Computing.

Planning has already begun for our next event as the GDG platform has entered the DevFest season. Persons interested in attending or speaking at future events can visit the GDG POS meetup page at https://www.meetup.com/GDG-Port-of-Spain/ or follow them on facebookinstagram or twitter.

Friday, 17 August 2018

Talking Technology with West Indies Cricket


What are some recent technology related things that Cricket West Indies has implemented?

  • New digital platform being built with an updated website, data warehousing, CRM - starting in September 2018 with ongoing updates and upgrades.
  • Upgraded Sports Performance analysis including live video of all professional games for performance analysis, including full data capture of player performance.
  • Live Streaming of WINDIES, Super50 and West Indies Championship games, linked to social media.

What future technologies are coming in cricket?

  • In the near term, use of smartphone technology for ticketing but also ticket bundles with merchandise and food/drink
  • The use of AR and VR is being reviewed for fan engagement on our website and also at stadia
  • Sports science technology and psychological products to improve hand eye coordination and mental improvement - the rate of development here is incredible and it’s developing so quickly that we anticipate testing and reviewing products to see how they can help strengthen cricketing performances. Ultimately it’s how you use these with coaching, because every international team can generally access the same products and technologies, subject to their available resources.

How hard is it to manage Cricket West Indies' social media?

The challenge is, as per all sports organisations, to review and moderate the number comments across Facebook, Instagram, Twitter and YouTube, to maintain it as an engaging environment for fans. As social media continues to grow, it requires additional resources . However it remains a vital means by which we can receive feedback from fans and understand strength of feeling on different topics. The more successful you are in terms of West Indies and international followers, the more you need to plan how you best manage social media in terms of financial investment, people, time and understanding new opportunities that are constantly presented. Secondly, the players have their own social pages. Ultimately they’re responsible for their own content and reputations. They have a great opportunity to build their own profile and fan bases as well as promoting the WINDIES and West Indies tournaments. It’s all about getting a balance between creating exciting and engaging content whilst maintaining the right image.

Can we use AI for strategy and team selection?

Potentially yes, to support in building the knowledge base around players. However there will always be the need for cricket expertise that looks beyond stats and numbers into technique, preparation, mental strength, preparation, fitness/fatigue. You need to know the mental side of players, their fitness and fatigue levels, and every player is different in a way that AI would be a long way from understanding. Performance is about incremental gains and there will be areas where AI might be useful, but where the human eye, expertise and understanding of the technique and the game will be more important.

Are we going to be able to live stream West Indies games in the future?

We are already live streaming WINDIES women’s games as well as certain Super50 and all West Indies Championship games. Our aim is to increase the opportunity for fans to watch the WINDIES, especially getting more fans back into the arenas to bring the noise, colour and support which makes cricket in the West Indies so special. If we can stream games without damaging live spectator attendances we will. We also need to consider our international broadcast and digital rights. These deliver the majority of CWI’s commercial revenues because we have broadcasters all over the world wanting to show both live and highlights coverage of WINDIES matches. With the growth in watching TV and live sport through devices other than TV, we need to balance how we get our games live in as front of as many fans as possible and maximizing the right revenues we receive to invest in the long-term health and development of the game.

Will West Indies cricket adopt this tech for training (http://www.speculur.com/)?

Our performance and coaching team consider all the options based on a long-term strategy and specific needs to improve technique. We constantly review equipment and technology to see what can help us improve technique, endurance, fitness, mental performance and overall performance.

How can tech be used to get back interest and fans to West Indies cricket?

We’re planning both simple and complex activities including technology, primarily around our digital platforms to give fans better, higher quality opportunities to engage with WINDIES teams, players and tournaments, including non-match events

Does West Indies cricket have (or see the need for) a Sports Data Analyst?

We have analysts already backed up by full sports data software. All of our performance analysis is done through a major investment covering streaming, scoring, performance tracking, fitness and more.