App Development: First Impressions

I’m working at The CodEd on my first app Tot Text, along with my stalwart group members.  Before we get too far in the process, I want to log some first impressions of what it’s like to be doing actual coding — both front and back end.  Because it turns out that coding is a lot different than what I originally expected.  But also a little bit the same.

Things I did not expect:

1. The massive amount of file organization.

When I pictured becoming a coder, I saw myself working on one massive document.  I had no idea that I might be working on 500 files just for one website.  There is an unbelievable amount of organization, strategic naming, and file calling that goes into each part of the project.  Every time you rename something in one place, there are 50 other places that need to be updated by hand.

Sometimes I wonder if web development is closer kin to the ‘personal organizer’ profession than it is to the technology profession.

2. The amount of negotiation.

The IT/startup zone attracts hardworking people who stand by their work — but sometimes getting so many go-getters on the same page can be a challenge.  My group has been most successful when we’re using GitHub for version control, as well as update e-mails to let other group members know what we’ve done.

3. The number of technical challenges (even before we got started).

Between slow computers, bad network connections, different browser settings, different folder configurations … It took us about two weeks to all get GitHub working, not to mention getting anything done.  One day we missed an entire class period because we couldn’t find our GoDaddy account password. Another time we completed a timed project, but got no credit because we got kicked off the network.  I’ve had to let go and laugh at myself sometimes, and I’ve had to be patient other times when I wished I could just shake my computer to bits.

Screen Shot 2014-03-10 at 4.33.06 PM

Things I did expect:

1. Tired eyes.  

I know I’d be running my eyes through miles of code looking for that one unclosed bracket.  And I’m getting a little better at it!

2. Great camaraderie, great people.

People in my class are always ready to explain, always ready to help.  There’s something about these challenges that build is bonding — being totally, totally lost for hours, then having that one minute of clarity.

It takes a certain kind of person to slog through the hours.  And that’s one thing I love about this field.

3. An almost infinite amount to learn.  All the time.

I try not to get bogged down by this.  I wanted a challenge, after all.  And where there’s a challenge, there’s room to grow.


Ummm… Now I “Git” It?

Note: This is not by any means a review of GitHub in its entirety.  Merely the first impressions of a newbie.

There is so much to love about GitHub.  From the cute little graphics to the fact that it has its own desktop app AND works with the terminal, to the snappy terms unique to it like ‘fork’ and ‘pulse.’  


But this is also what I find so frustrating about the interface.  To a new user, it is unnecessarily complicated, with too many buttons, new terms, and view options all thrown at the user at once.  There are 32 different buttons at the top of my screen, not even counting the list of files.  This is the opposite of simple design — this is FIDDLY.  

The many abbreviations and new terms also threw me off.  I’ve heard the word “Repo” before, but more in the context of real estate.  Some of these unfamiliar buttons should provide explanatory text when hovered over.

There’s a rule about successful sci-fi/fantasy writing: Provide the reader [user] with a point of reference.  This means that there is a limit to the number of new things you can introduce, and most elements of the book need to be familiar.  Because no one buys a book filled with gibberish.  That rule would apply here, too — there need to be more bridges to the familiar to invite new users to participate in these dialogs.

I understand that some of these roadblocks are there for a reason — I really do — because it’s not like you want that little brat down the street sending pull requests for your beloved project.  But if development really wants to attract the best new talent from all corners, GitHub needs to feel less like insider baseball and more like a place that makes it easy to contribute your ideas.


Questions, questions, and more questions

Thinking ahead to Interviewing for jobs this summer.  So much to see and learn and do between now and then!

This week, my brother Matt sent me a JavaScript ‘problem’ to solve, one that is commonly asked in job interviews:

Given any number, ie “1234”, convert it from a number to a string without using any built-in libraries or tools.Image

The resulting conversation took us through several days and as many topics, and by the time he told me the answer (I had figured out the splitting and the for-loop, but had not discovered the ASCII Conversion Table), I was reminded once again of how very far I have to go.

For others who are interviewing, this GitHub thread goes through a variety of JS, HTML5, and CSS questions that are common for Front-End interviews.  As it gets closer to summer, I’ll be starting at the top and working my way through!