Why Are Software Engineers So Specific?

programmer_will_know

These two blocks differ only by the placement of a “{“, yet one of them is wrong.

Why are software engineers so specific? Imagine a programmer is writing a program called a “shell script.” They have to choose one of the following lines:

PATH=${DIRT}${GRAVEL}
PATH=${DIRT};${GRAVEL}
PATH=${DIRT}:${GRAVEL}
PATH= ${DIRT}${GRAVEL}

Each of these is only one character different than the others. However, in a program, each of these lines does something drastically different. Even the placement of a space can change the meaning of a program!

This is just one example of where software engineers have to be incredibly specific with what they write. Do these kinds of problems attract specific personalities to computer science? Or is it that people with these personalities end up doing well as programmers?

I don’t know. But I think that we engineers spend a good deal of our time analyzing tiny differences. Sometimes this exacting mindset leaks into other parts of our lives.

Posted in Software | Tagged , , , , | Leave a comment

Would You Rather Be a Billionaire in 1916?

back-to-the-future-part-ii-original

Imagine a time traveler offers you a deal. He can take you back to the year 1916, where you’ll receive a billion dollars. Or, you can stay in 2016 and live the rest of your life as normal. What would you choose?

Think about this for a moment and choose before reading on.

Let’s take this a step further: What if the time traveler offered you the same deal (adjusting the billion dollars for inflation), but instead offered you to live in 1966? Or 1986? Or 1996? When would you take the deal?

For the first question, I would stay in 2016. If I went back a hundred years, I wouldn’t have modern conveniences like antibiotics, air conditioning, or Internet access. Plus, most people in 1916 were much more racist than they are today. That’s not a society I’d want to live in.

For the other question, you’d have to send me to 2006 to take the deal. Maybe 1996, but I’m not too sure about that. In either case, I’d have to figure out what I’d do with financial independence.

What year would make you willing to take the deal?

Posted in Psychology | Tagged , , , , , | 2 Comments

How to Choose the Perfect College Major

If you’re reading this, I’m assuming you’ll be attending university within the next year and you’re trying to choose a major. Therefore I’ll also assume other people have already told you what to major in.

In reality, there is no perfect college major. If you take nothing else from this article, it’s this: you should know what you’re getting into–both the good and the bad. Secondly, figure out the job you want and pick a major based on that, not the other way around.

Before you read any further, know that you probably shouldn’t take my advice. I graduated from college in 2015 and got a job as a software engineer at Google, but my experience will be different than yours.

What Some People Say

Some people say, “Major in something you’re interested in.” I think that’s a fine starting point, but there’s more to it than that. I enjoy reading about history and programming computers, but I’d rather be an engineer than a history teacher.

Other people say, “Major in something with good job prospects.” A high salary is great, but it would suck to do something you hate for 40 hours a week. In addition, I’ve seen friends enter the (formerly) high-demand field of petroleum engineering. When the price of oil dropped, all the petroleum engineering jobs evaporated. So a hot “high-paying field” can’t be the only criteria.

UT Tower

In reality, there is no perfect college major.

A third group says, “Major in something broad, like English.” I think that’s silly, because I’ve seen students so excited to major in seemingly “broad” subjects like English, and then after they graduate, they can’t find a job. Or rather, they end up in a secretary-like role (a “boring office job” to them). I have to wonder, if they didn’t want to be an English teacher, what were they expecting?

I’ve also seen friends major in something niche like music composition and get their dream job right out of college. Sometimes, but not always, it works out.

Thinking in Reverse

If you don’t choose a career, circumstance will choose one for you.

I would figure out what kind of job you want and then pick a major based on that, rather the other way around. Think, “If want to be a speech therapist, what do I need to major in?” rather than, “If I major in Germanic Studies, what kind of jobs can I get?”

Also, examine both the positive and negative aspects of your prospective college major. Talk to people who graduated with the major you’re thinking about. They can show you the side of their job that you don’t see in the brochure.

Finally, your major might not matter much a few years after you graduate. Your work experience will be more significant than your degree.

In the end, it’s up to you to decide what’s best for your life. Know both the good and the bad.

Make good decisions.

Posted in Psychology | Tagged , , , , , , | Leave a comment

Entree: One Year Later

Entree Logo

Entrée

Last year, I wrote about Entrée as an up-and-coming student startup in Austin, TX. Since then, they’ve pivoted from their original idea and are now focusing on creating an order-ahead service for restaurants.

Entrée lets you order ahead from the best food trucks and restaurants by texting, using Facebook Messenger, or messaging us on Slack,” said Sid Gutta, Entrée’s founder.

The Original Idea

In the spring of 2015, Entrée presented their original product at Longhorn Startup Demo Day. The team had developed a new point-of-sale system for the food service industry, hoping to make restaurants more efficient. They ran a pilot program with a few clients in Austin, but by November, they found that Entrée didn’t have enough features to compete with existing solutions. The cost to match the competition was huge.

“I debated pouring more money into the product, but after speaking with several advisors and other entrepreneurs who spent time in the restaurant tech space, I decided we [had] to shift our focus,” Gutta said. “Restaurants, like all businesses, care about their bottom line and anything we build should directly increase profit. We decided to center Entrée around increasing orders and bringing new customers to the restaurant directly.”

The Transformation

Instead of making the in-house experience better, Entrée shifted focus to outside the physical boundaries of the restaurant. After some thought, the team decided to quickly prototype a service to allow customers to order via text message. In early April 2016, they tested it with students at the University of Texas.

“The team wanted to get the test out there as soon as possible and some components weren’t ready,” remarked Gutta. “We didn’t advertise the test run until 11PM the night before.” Despite not being properly prepared, Gutta felt that the team found a huge amount of insight. “It was incredibly useful in terms of testing the product and understanding where we fell short in terms of marketing.”

By the end of April, Entrée had five merchants enrolled in its service.

Torchy's Order

Entreé wants to make ordering a couple of Democrats–a local taco specialty–as simple as sending a text.

The Future

Over the next year, Entrée plans to add restaurants outside of Austin. “My personal goal in the next year months is to have new merchants be able to sign themselves up on our website,” Gutta said. The company also mentioned they’re focusing on adding more food trucks to their service.

Entrée faces intense competition from existing apps such as GrubHub, Mr. Delivery, Eat24, and Postmates. These apps take the ordering experience a step further by offering delivery to the customer. Only time will tell if Entrée can succeed in this highly competitive space.

For Future Entrepreneurs

Siddharth Gutta also had some advice for people considering founding or joining a startup.

“Nearly everyone, myself included, does not have enough experience at first to run, build, or manage a successful startup the first time around,” Gutta asserted. “I failed my way through several projects and iterations of Entree (probably still more to come) before I really learned what I need to be doing.”

Gutta recommended founding a startup during college (when the risks are lower), or working at a startup with more experienced entrepreneurs.

“There is so much to learn by working for experienced entrepreneurs and experiencing how a successful startup operates,” Gutta remarked.

His last piece of advice? Stay objective to make the right decisions. “Groupthink happens often with any startup,” noted Gutta. “You want to be in a startup where you can voice your ideas and opinions at any time.”


Learn more at Entrée’s website, or email Sid Gutta at siddharthgutta@gmail.com.

Posted in Software, Startup, Startup Spotlight | Tagged , , , , , , | Leave a comment

The Magic Behind Code Reviews

529a64e71605fb6361000428

If your codebase makes you feel like this, you need to do more code reviews.

Code reviews make better software. I’ve worked on teams that do code reviews, and I highly recommend the practice. But why do they work so well?

The magic behind code reviews is that 1 + 1 is more than 2.

A code review happens after a programmer uploads a chunk of code to the team’s repository. Someone other than the author must read and review the author’s code, suggest any changes, and once those changes are implemented, approve the chunk.

A second (or third) set of eyes works wonders for development. Each engineer knows a different part of the system and can offer different comments. Bugs get fixed (or prevented) before they go into production, saving time in the long run. And programmers make better design decisions, curbing technical debt.

The problem with code reviews is that they take time. The author has to wait for approval, slowing down his or her process. While the individual author may be blocked on a certain day, the team moves faster throughout the year. It’s like writing tests: spend an hour today to avoid losing three hours tomorrow.

In the long run, if you want to make great software, do code reviews.

What challenges do you face surrounding code reviews?

Posted in Software | Tagged , , , , , | 2 Comments