Meet devChix member Susan Potter


IntroductionsPeople

Susan Potter is a wearer of many hats, but mostly software engineer and practicing applications architect (based in Chicago, IL).

Employer: Finsignia

Extras: Last month, Susan presented at WindyCityDB conference in Chicago, IL on Link-walking with Riak. She was a speaker at Code PaLOUsa 2011 in June. Talk: Deploying distributed software services to the cloud without breaking a sweat. She is very active in the open source community with GitHub personal repositoriesTwitter4R and collection of Gists.


Our short Q&A with Susan Potter:

What is your technical background?

At university I studied Mathematics, but audited Computer Science courses while writing an experimental parallel and distributed PDE solver first in C, then in C++ and finally in Java, which didn’t have much utility other than to teach me how not to write multi-threaded or distributed software.After graduating I worked for investment banks in London before skipping off to a San Francisco startup building a B2B trading platform and have since been working as a senior software consultant for hedge funds, investment banks and technology startups all over the US.

What industry sites or blogs do you read regularly?

To be honest, I use my Twitter timeline and some private lists as a fairly reliable source of interesting, relevant and/or thought-provoking technical resources from all over the internet. However, the following links have been fonts of recent software engineering wisdom or great resources in the areas I currently practice within:

What are a few of your favorite development tools and why?

I recently wrote a blog post on the (types of) tools that have made me a better software engineer. In short these are: emacs, vi(m), make, gdb, UNIX commands / utilities, UNIX shells, LaTeX, Git. The blog post explains why.

What tip or advice would you like to impart to women interested in programming?

If you enjoy software development, always learning new things and are excited about the possibilities in this field, then do not let anyone discourage you from persuing it further. There will always be a job market for self-starters that can teach themselves even if they don’t have the right educational background. Make sure to back up what you have learned on your own. Open source projects, blog posts or screencasts that demonstrate your skills in the areas you are looking to get into help much more nowadays than simply having a CS degree with no public portfolio IMHO.

If you were a computer part, what would you be?

A CPU socket comes close. It provides multiple connections (mechanical and electrical) between the microprocessor and circuit board. In the technology community it seems I am always connecting people based on their interests and needs such as connecting business founders with technical founders or hiring managers with skilled developers (mechanical connections). Other times I am suggesting new architectures, software stacks, tools, etc. to solve the problems people I talk to are currently encountering (electrical connections).

About Carmelyne Thompson

With 14 years experience in web development consistently learning new technologies; Loves: user interface design, programming & being an entrepreneur

More Posts by Carmelyne Thompson - Author Website

Meet devChix member Aimee Daniells


IntroductionsPeople

aimee daniells (lowercase as requested) is a self-employed software crafter from Winchester, UK.

Her twitter handle: @sermoa and thoughts: http://sermoasquared.co.uk/


Our short Q&A with aimee daniells:

What is your technical background?

I was sponsored through university by IBM. I had an integrated degree where I worked at IBM 3 days a week and studied Computer Science at university 2 days a week. After I graduated I worked for IBM for a few years. Although I began as a developer, they decided to retrain me as a tester. I didn’t like the way IBM made decisions for me.

Now a tester, I looked for a job where I could begin as a tester but progress back into development. This didn’t really work. Fortunately I was learning in my spare time. I learned Ruby on Rails and made the application mychores.co.uk – a team based tracking system for recurring tasks. On the strength of that I got a job with Eden Development, an agile web development and consultancy company.

I worked at Eden for 3 years and took an apprenticeship under Enrique Comba Riepenhausen. I learned an incredible amount about good quality, reliable, well tested software and user experience design. Towards the end I took on two apprentices, one of whom I am still in regular contact with.

I am now an independent software crafter, doing freelance work and visiting companies to work as a contractor. I love what I do, I love meeting people and I love learning and sharing. At the last company I’ve just finished working at, I was approached by somebody who wanted to be mentored by me, who has now become my newest apprentice.

What industry sites or blogs do you read regularly?

I do not read RSS. I used to be subscribed to hundreds but I couldn’t read them all. These days I get all the news I need through twitter.

What are a few of your favorite development tools and why?

I love my macbook. It just does exactly what I want it to do, feels reliable and very rarely annoys me. I prefer to develop using Vim because I feel it is very powerful and I can express my intentions using intuitive combinations of keystrokes. I typed on the Dvorak keyboard layout for years, but I’ve recently changed to Colemak. I find it very comfortable and efficient to type on.

What tip or advice would you like to impart to women interested in programming?

Ask questions. Better to ask a silly question one day than give a silly answer another day. There is no such thing as silly questions, only silly answers. Listen a lot and ponder. Think carefully about what you believe. Share your opinions when asked. Share whatever you know. Be generous. Blog about things you find interesting: somebody else will do too. Ask for things you need. If you want to learn more, find a mentor. Don’t wait for people to do things for you. Make your own luck. Be extremely proud of who you are. Look yourself in the mirror every day and tell yourself how wonderful you are. Be humble. Don’t brag, but let your skills speak for themselves.

Last question on our q&a, if you were a computer part, what would you be?

I would be the Any key! :)

About Carmelyne Thompson

With 14 years experience in web development consistently learning new technologies; Loves: user interface design, programming & being an entrepreneur

More Posts by Carmelyne Thompson - Author Website

Meet devChix member Nola Stowe


IntroductionsPeople

Nola Stowe is a co-founder of devChix from the Texas, USA.
You can reach her at @rubygeekdotcom on twitter.
She is currently a web developer at Game Salad.
Game Salad is a free tool that creates games for the iPhone, iPad, Mac
& Web with no coding required.

Her linkedin: http://www.linkedin.com/in/nolastowe &
She blogs at RubyGeek.


Our short Q&A with Nola Stowe:

What is your technical background?

I started programming the summer I turned 13. I had a TRS-80 and read the BASIC programming book that came with it, along with another programming book I bought at Radio Shack. I had a cassette tape drive to save my files and a 5inc thermal printer. I programmed math games for my siblings. I distinctly remember making a program that would roll five dice and using ascii characters to draw  a box around the number. You could then choose which dice to re-roll. Ahh, sometimes I long for those summer days and also think: “…. boy, how much better I could have been if I had the internet like now!”

In college, I discovered the fun of web development so I majored in Computer Information System and Design Studio minor. I actually petitioned to have my water color class count towards my CIS degree, arguing that since my chosen field was web programming with a design minor, it is good to have the training and understanding of color principles from my water color class. They accepted my petition

What industry sites or blogs do you read regularly?

I check:

rubyinside.com – ruby is my favorite language; this is a great site to keep up with the ever-changing landscape

techcrunch.com – to keep up with what’s new with facebook, google, etc

railscasts.com – weekly screencasts, they are super informative

teachmetocode.com – screencasts on web development, very helpful

peepcode.com – screencasts at affordable prices, and great supporters of devChix.com

What are a few of your favorite development tools and why?

I use vim and textmate. It depends on the environment. For home development, I am on Ubuntu so I use Vim. For work, I use a Mac so I use both Vim and Textmate , but lately I’ve been using Textmate a lot.

What tip or advice would you like to impart to women interested in programming?

It’s a mans world for sure. Do not take it personally when someone gives you slack. Focus on doing the best work you can so people cannot tell the difference between your work and that of any other. Do not assume every issue you come across is “because you are a  girl” … just focus on what is needed to get the job done.

If you were a computer part, what would you be?

I would be a keyboard because I am always focusing on what is needed to get the job done. If we did not have keyboards, we would not be able to get much done. :)

 

About Carmelyne Thompson

With 14 years experience in web development consistently learning new technologies; Loves: user interface design, programming & being an entrepreneur

More Posts by Carmelyne Thompson - Author Website

Book Review: "Refactoring in Ruby"


BookDesign processEventsIntroductionsRubyTestingTips and Tricks

“Refactoring in Ruby” written by William C. Wake and Kevin Rutherford.
Published by Addison-Wesley

This is more like a “workbook” then a “how to write awesome code” book. You can download the code from github http://github.com/kevinrutherford/rrwb-code and you will find tests/specs for the exercises.

The book is arranged in three parts, The Art of Refactoring, Code Smells, and Programs to Refactor.

There are explanations of “code smells” which are one characteristic of code that could be improved. Some of them are long parameter lists, unnecessarily complex, global variable, feature envy sections, etc. One thing I find interesting is the “How did it get this way?” section. It gives some insight into the thought process and reasoning behind the smell. I think this is good, as programmers our ego may be rather miffed to hear “This code stinks” but with some reasoning, it makes the pain less and I think firms up in our minds when this happens again, to do it this other way. I always want to know why when someone says I could do such and such thing better.

In addition to the code smell examples there are three programs to refactor in the end of the book. In a conversational tone, it walks through and gives some hints on what needs refactoring. Its almost as if you had a pair programming buddy working with you and identifying in small chunks what can be improved. This is definitely something I want to work through more carefully.

What I find odd, is that not all the code smells have code examples. The inspiration for the book I think is the Martin Fowler book “Refactoring Improving the design of Existing Code” which has examples for every code smell. Maybe Ruby smells less than Java? Or those fixes are really trivial? I don’t know. Overall, this is a great book and is certainly worth the price and investment and you will be a better programmer because of it!

Don't go splurging at the widget store


Design processIntroductionsThoughts

It is easy for clients, I have noticed, to mistakenly conflate adding widgets, effects and acronyms — Sliders, Sorters, Expanding-Menus, Oh My! — with implementing an idea. The client talks excitedly, rattling off a Rube Goldberg chain of widget-to-widget interactions, their voices rising, the importance of each and every widget in the chain perceived critical to the achievement of the Internet Holy Grail: Angel Investment. Or at least, a really slick site.

Don’t get me wrong. I think everyone is in favor of a well-placed widget.

They can be so smooth and beautiful that you gasp. They can glow yellow for just the correct duration before fading to white (“where has that beautiful apparition gone?”, you wonder, before drunkenly clicking again. And again. And again.). They can add an item to a list almost magically: never was it so fun to have so many things To Do. They can save you clicks, keep you in one place, slide items into carts with almost illicit ease.

In short, they can make things so simple that a tear comes to your eye, and you rush off, hat in hand, in the quest of The Holy Spinner to deliver your payload.

The Holy Spinner

But stop.

What are you looking for? Forget the elevator pitch, as it can be intoxicating: the sound of your voice, people nodding enthusiastically, the doors shut blocking their escape (especially if you are stuck between floors). Instead, do the quiet room test. You alone. Your idea. Naked. A convergence of souls.

“What do you need, Idea”, you ask, “in order to fully manifest your glorious Idea-ness?”

If your idea is quiet, do not rush to speak for it. If your idea speaks but is simple, do not scoff. Do not dress your idea up in Widget Drag, so it looks like a teenager searching for their identity at the Web 2.0 Store. If your idea does not need a Yellow Fade or slider, that is OK. If you remove the slider and yellow fade and find there is no idea underneath, that’s OK, too. Go for a walk. Another idea will come.

Think about building a UI like listening to the ones that you love. You observe them. You listen to their likes and dislikes so your gifts will please them, not reflect your tastes. It’s not about the shiny present: it’s about the connection, the need anticipated and met, a little bit of the edge taken off. Brush cleared, the path made simpler.

If you’re tempted to drive up to your date in the red corvette of ideas — or wow your user with the accordian navigation ’cause it like, opens and closes! — remember that you might be saying more about yourself than anything else.

And then ask yourself: Do you need that rainbow-colored slider on your site?