How To Get To Hello World In Go

Tonight I learned how to get to Hello World in Go.  Iam checking out Go as part of the Golang DC meetup (Get GOing is tonight’s event theme).

Set up Your Development Environment:

Download and Install Go
Get it from Golang.org.

Un-tar the go package that you downloaded from Golang.org and add it here:
/usr/local  (this becomes: /usr/local/go)

Add go to your path by editing your bash configuration in Vi:
gobashconfig

 

 

 

 

 

Create a project folder:

I created on called “go”.

Create sub folders inside your “go” folder:
These are the sub folders – bin, pkg, src

Create your app to get to “hello world” in go like this:

package main

import “fmt”

func main() {
          fmt.Println(“hello world”)
}

Save your file as “hello-world.go” in to a folder called “helloworld”.

From a terminal window ($ is your prompt):
$ go run hello-world.go

The output should look like this:
gohelloworldout

I found the Hello World example on Go By Example.  There are a number of other examples of Go in action here.

You would use Go because performs much faster than something with Python or Rails.  It may or may not perform faster than Java depending on who you ask or which benchmark that you use.  Compilation is crazy fast with go.  Someone also described Go as a better C.

A friend and I paired up and with his Go expertise and my suggestions along the way we created a more complex app with Go that compares text files.

Add Comment Register



Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Only Hire A Players And Other Recruiting Myths

This article originally appeared via staffmagnet, LLC’s blog here.  staffmagnet, LLC provides recruiting services for software startup companies.  Merriam-Webster.com defines a myth as “an idea or story that is believed by many people but that is not true.” Unfortunately, the A Player is a myth. A lot of hiring teams believe that they should only “Hire A Players”, but our experience suggests otherwise. Here is a quote from an article on Entrepeneur.com that sums this up best:

“Make sure you’re hiring only A-players.” Hire a few B-players, he said, and they hire B’s and C’s, and pretty
soon the whole operation is going to pot. ”

People take phrases like this and interpret them as the law. The only problem is that even laws require interpretation. What happens the most is that people go out and look for people with a 4.0 GPA from the top ten schools and call it a day.

When you take a look at the data like we have over the past ten years a few patterns emerge. The “A” players are conventional players. They are playing within a narrow set of rules and not innovating. If you are looking for people to manage a call center or to be good accountants then hiring A players can work out really well. However, our clients hire software engineers, designers, marketers and people who have to be creative in all of the things that they do. “A Players” run into problems when things are not so well defined.

Case In Point
One of our client CEO’s best engineering hires graduated from a not so well known school on Maryland’s eastern shore. The early career software engineer had been working for a small Internet service provider while attending college. Aside from his experience at this college and a good, but not top of his class, academic profile this is someone who would be passed up by nearly every major software company and Internet company that recruits in Maryland. Why? They skip the smaller schools and they look for the students with “A Player” stats. In his case it was necessary to look beyond the schools.

The Odds Are Against It
Recruiting at schools that are not top tier programs would take a lot of time. Recruiting the best and brightest can be very challenging. If you recruit at better schools the law of averages should apply, right? Yeah, it should in theory. The problem is that you must adjust for local variables.

At the top schools students are literally funneled by their advisors, faculty, and alumni into the college recruiting programs of the big companies that pay tens or even hundreds of thousands of dollars per year to. It isn’t that you can’t compete or differentiate, it is that you are fighting the ocean of conditioning and expectations that form in peer discussion groups throughout college. Students have classmates who intern at large companies and take jobs at large companies year after year which reinforces this.

It isn’t that colleges don’t care about your company. They just care more about the money than they do about your company than they do about Booz Allen Hamilton or Lockheed Martin or Google or Microsoft or Amazon. If you are a startup or a growth stage company with fewer than 250 employees you are going to have to work up hill all the way.

A lot of people have this concept of what makes good prospective candidate or an “A Player”. They think that GPA or SAT score is the best predictor. I would argue that SAT score probably indicates that someone could perform better quantitatively. But there is a breaking point beyond which none of this matters. Someone’s SAT score or GPA ceases to become a differentiator when you hire someone who is motivated by money and you just can’t pay them more than Amazon or motivate them to work a little harder when the only reason they took your job was because they were staging for their next round of interviews.

Things can work the other direction too. You could hire someone who is completely unmotivated or who is behind the times. While this is truly a possibility, it should could just as well be true that the A Player that you are trying to recruit will only be motivated to study about your industry long enough to get the job. You still have to make sure you do a great job of interviewing candidates for your job openings.

What To Watch Out For
There are a lot of students, especially at larger schools, who are essentially logo collectors. They will look for the best collection of big well known company logos to add to their resume above all else. They don’t mind being a low end manual tester for Microsoft or Amazon as long as they get the logo on their resume. They are easy to spot – ask them what other companies that they are applying for jobs at. If they say Microsoft, it is probably a good idea to move on. Some people just need to get this out of their system so let them. It is that or lose them when you can least afford to because they act on their logo hobby.

There are other common variables, but you get the idea. This applies with interns, entry level hires, and people who are well into their professional career.

Related discussion over on Hacker News

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

DC Growth Hackers & Beers

taps

Startups go through phases.  Right now mine is in the growth hacking phase.  Right now I am spending an increasing amount of time engaged in growth hacking efforts.  When I first started doing this I was thinking about organizing a web study group, but after talking to a dozen or so people I decided that wasn’t such a good idea.  Too many people are chasing too many cats (i.e. I need to learn how to code in x, I need to learn y).  The missing ingredient was a common mission: growth in users and revenue.  Polyglots aside, my dance with a web study group convinced me that learning or studying how to do development is like a a poker game without any stakes.  It just doesn’t work as well when there are none.

With a group for growth hacking there is real potential for an actual payout for people who participate.  You can show up and potentially get help figuring out how to improve your product’s user signup rate by 5% or 25% or 50% leading to more paying customers.  We will all learn something along the way.  I believe that with this recipe, the difference will be a higher caliber group of participants than would have been the case with a web study group  because there will be something in it for everyone.

What is Growth Hacking?
there are a lot of discussions out there about what the definition of growth hacking (take this one for example or this one or this one). You can decide for yourself, but I wrote a post a few days ago that should yield a potential starting point and some insight into what I mean when when I personally refer to lean startup principles which are essentially a core aspect of growth hacking.  The bottom line is that growth hacking is creative efforts to take things to the next level.

Isn’t There Something Like This Now?
Yes, in Mountain View, CA.  There are some very good resources like GrowthHackers.com and even a conference for Growth Hackers.  All of this is being discussed somewhere else.

Why Start Yet Another Meetup?
This is not a meetup.  This is a group getting together to build.  I went to the DC Python meetup (and Saturday School), signed up for a Web Architecture Coursera involving Ruby on Rails, attended the DC Hack and Tell Meetup, and haphazardly missed the DC Ruby Users Group because I was running late from a networking meeting just prior to it.  The best discussions I had were ones at the bar after these events or in the case of the DC Python Saturday School meetup…a partition over from the class where I ran into Aaron Schumacher who co-organizes the DC Hack and Tell and another founder who was working on something.  When I missed the DC Ruby Users Group I managed to get some really productive time in.  When I left the DC Python class I managed to get some good coding time in.  I guess I am just looking for the best of both worlds.

Anyway, I found a nice quiet place with a great Beer selection and some tables that is adjacent to the Bethesda Metro station so I am thinking about who might want to join me.  The first time we meet it will be over beers.  After that we can mix it up.  I have access to quite a few places.

Some considerations (you should):

1. Have a product that is live.  It could be yours, it could be the startup that you work for.  If you don’t that is not necessarily a deal breaker, but it could be.
2. Be able to write some HTML and CSS (preferably you are someone who can code raw CSS3 and HTML5 even if you prefer using CSS pre-processers and mixins) as well as be able to use work with images (Photoshop, Pixelmator, Gimp, Illustrator).   Omnigraffle, Mockingbird or Balsamiq a plus.
3. Have at least some object oriented programming experience with JavaScript and either Ruby, Python or PHP.  If you use Java, Scala, Swift/iOS, Android, etc. that is probably ok too. No .NET people (unless you can completely turn off the MS portion of your brain).  Definitely no CMS configurators (if you you wield WordPress, Drupal or Joomla and that is your main thing that isn’t a deal breaker, but it could be).  Someone who is a really good designer who knows CSS and HTML really well and some jQuery would probably be ok too.
4. Know how to use Google Analytics or MixPanel
5. Be open to trying new things.  For example: we might try to learn to do something with Go or machine learning.
6. Like Beer and Coffee, though not necessarily at the same time.
7. Probably be a (choose one or more):
a. Business or marketing founder who has learned to do some coding and wants to go in that direction more
     b. Developer who has learned to do some business and wants to go in that direction
c. User Experience Designer who has learned to do some coding that wants to go in that direction more
d. Product Manager who has learned to do some coding that wants to go in that direction more
8. Be familiar with one or more of the following: Search Engine Optimization, Search Engine Marketing (AdWords or similar services), Facebook Targeted Ads).

If this sounds like something you could be interested in getting mixed up in and you are in DC or Maryland (VA is okay, but this is an event with a Bethesda, MD epicenter that will be on the Red Line so it might be a trek.  Email me today.  In case you were wondering, the taps pictured above are from the Tyber Bierhaus in Bethesda, MD where we will probably kick things off.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Learn Ruby on Rails and Web Architectures On Coursera

Yesterday I blocked off some time to start learning Python, but quickly figured out that the DC Python Programming Classes on Saturday were really not geared for those who had zero Python experience.  Instead, I decided to sign up for and take a Coursera course that I heard about on Reddit titled: Web Application Architectures  taught by Glen Heileman from the University of New Mexico.  I already use Ruby on Rails, have read a few books, and know my way around but I wanted to see if this course promising to help someone learn Ruby on Rails and Web Architectures might be a good way to get future interns and entry level hires up to speed more quickly.

If you are interested in joining the course, you can still do so today (August 17, 2014).  Today is the last day to sign up.  Keep in mind that you will have to spend 1-2 hours watching the course’s first module and then taking two very short quiz exercises that will take you about 10 minutes each.

So I started taking the class and so far have enjoyed it.  It covers some things like the history of the Internet and the World Wide Web that I already knew, but also a few things that I did not know.  This is the first time I have taken a Coursera or another type of online course, but from what I can tell I think course would be very helpful to founders and others interested in learning to us Ruby on Rails programming.

If you are wondering if the course will be over your head, I would not worry about that so much at this point. It is pretty easy and there are pretty good resources.  You do not have to be do any programming in first module.  I will try to update this post with my impressions on the course.

If you know of similar free online courses that are worth checking out let me know. One of the things that I have learned from hiring interns and entry level developers is that if you can’t get them acclimated quickly it makes things a bit harder and more frustrating along the way.  This is true even for really smart computer science majors and graduates.  It also helps to go through the motions of creating a new Ruby on Rails app, even a simple one, before jumping in and trying to work on an existing one like the one that I have been working on for a number of years now.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

DC Python Programming Classes on Saturday

Today I decided to check out the DC Python Meetup’s PythonLab: Share & Learn Python 2.7 class that meets on Saturdays at the MLK Library next to the National Portrait Gallery and Gallery Place.  My DC Python Class on Saturday turned out to be interesting, but despite it being a class for “beginners”, it was actually not for complete beginners (with Python, not programming).

The class started off by picking a daily challenge from the  /r/dailyprogrammer/ subreddit.  The group settled on a program to make change (see above).

This is a great class for someone who has a little Python basics down before they show up, but there isn’t a really clear starting point or common starting point which makes it a bit hard to just jump into.  The event registration page did not make this too clear and I am not having a ton of fun discovering how things like camel case work one question at a time as I try to figure things out so I have decided to cut class and go check out an online course that I read about on Reddit earlier today. Next time I show of for this one I will be better prepared.

dc_python_saturday_class

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

How To Hire Programmers For Sweat Equity

How to hire programmers for sweat equity instead of for $100 per hour is a question that comes up a lot these days.  If you have not read my post about how to hire a programmer then I would highly recommend you do so before reading this post.

With early startup hires and co-founders there is cash, but another option is sweat equity. Up front you must realize that people who are willing to work for sweat equity are not a) the best, b) in demand, and c) going to put their heart and soul into your project. In case you are wondering why, do the math and then ask yourself if programmers are in demand or not.  The answer should be obvious.

A programmer’s motivation to work for sweat equity is something that too many startup founders take for granted. Sweat equity is usually best applied in the case where you are working with someone you know who already trusts you and who you know will put up a solid effort.  Someone who you have worked with before in other words, not just a “friend”.  People give it out in huge percentage blocks because they think they are supposed to.  People do the same thing with co-founder titles.  Business is easy to get into, but can get complicated quick so keep reading if you want to make the most of a tricky proposition.

What sweat equity is not good for is for people who you don’t know at all.  Oh, and people do not feel the same motivation with high risk/potentially no reward equity that they do with cold hard cash.  You should avoid spending your time here and instead focus on finding a way to generate revenue or to attract investors so that you can afford to hire someone.  Don’t say I didn’t warn you.

If you absolutely must involve sweat equity in your hiring plan then here is a list of what you need to know:
1. Hire an experienced business lawyer who routinely works with software startup business to make sure you are doing things correct.  Do not assume that a first or second year associate at a large law firm will get the job done. Do not assume that doc stock will get the job done.  Each state is different and each company is different.  There are a lot of things that can go really wrong if you make amateur mistakes with this stuff.
2. Go half and half.  Pay the person 50% cash and 50% equity.  Remember that equity should be based on project completion, not on how many hours = how many dollars.  Your attorney can explain why this matters.
3. Make sure you have a vesting schedule.
4. Do not give up more than 10-20% of your company, ever.  If you raise a series A that will be around 39-40% (standard) of your company in the controlling hands of others.  If you keep 51%, you will have 9-10% equity left.  You will probably not have 51% after your Series B if you get there, but up until that point you should want to maintain control of your business.  I have seen founders have to shut things down because they had a 1/3 + 1/3 + 1/3 split of equity with no vesting schedule.  They could not agree so they had to pull plug.
5. Make sure you have a vesting schedule.  If someone backs out in week two they should not be a full owner.  Your attorney can help you with this stuff.
6. Give yourself room to reward good work – don’t give away as much at the beginning.  Since sweat equity is not cash and high risk people tend to flake out.  You need to be able to provide additional incentives over time for people who stick around and do good work.

The same is generally true with other roles, but programmers tend to be uniquely positioned in the startup house of cards.  What might work for someone else – a designer, marketer, or sales person – as motivation probably will not work for a programmer.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

College Recruiting Season for Summer 2015 Starts Now

Recruiting software engineers is something that starts earlier than you think.  If you have not already RSVP’d for Fall 2015 college recruiting events you are running out of time.

The best program in the Washington, DC area is the University of Maryland Computer Science Department.
Register for the Fall 2015 University of Maryland Computer Science Department’s Career Fair event here.

Other programs to check out are Johns Hopkins University (Homewood Campus), Carnegie Mellon University, George Mason University (Fairfax Campus), Dickinson, and Drexel.  There are other schools in the region with computer science programs but it is really hard or the benefit is marginal based on the number of students or cost or effort required.  For example: there are some programs that treat startups founders the same way they treat Intel and IBM which means you have to write a big check and yet you still get stuck in a bad seat in the back.

This may seem early.  It is.  Computer Science students are in demand at Maryland.  They are taking over the Comcast Center on the UMD Campus (where Maryland Basketball games are played) this year.  If you can’t make this event have no fear. There is another event in February that you need to register for by mid December.  If I had more time today I would post about the other programs around the region.  Perhaps next year.  Happy Hunting!

Summer intern compensation information:
Full time interns get paid anywhere from $21-36/hr by large companies including Microsoft, Google, Amazon and Lockheed Martin.  It isn’t that they have to pay that much, but they do anywhere. A bunch of the big company recruiters get together ahead of time and decide what the rates should be.  Yeah, that stinks for startups, but the good news is that you can find interns and if you have something interesting for them to work on you can usually find really awesome ones for $14-17/hr.  Don’t even think about competing with the big companies unless you are willing to invest a ton of time up front. There are plenty of students who are not chasing logos…yet.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>