Please create an account to participate in the Slashdot moderation system


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment Android Things (Score 1) 374

Android Things uses Java, and I'm sure other devices will use different languages (python, or something else that comes along). C is a nice to understand kind of language if you want to move libraries for Arduino to other platforms, but understanding any similar language will make that trivial.

Comment Colorado (Score 4, Interesting) 464

Colorado is still relatively cheap to live in with a lot of smaller cities with tech, and worth checking into. Parts of the state are growing fast, like Boulder and Denver, but Fort Collins is an amazing town, and you can definitely do alright with tech in Colorado Springs as well without being overly crowded and expensive. You will run into a fair amount of assholes who refuse to accept that the state is growing (they almost all have a "Native" sticker on their car), but they tend to not be in tech.

Comment Eh (Score 1) 130

I'm sure those schools do have really good programs, and I know my school had a mediocre computer science department (graduated about a year ago), but what I've noticed really separates good and bad developers is their drive to continue learning and making things because they enjoy it. If people like programming, they'll be really damn good at it, no matter where they went to school. Hell, I would say some of the best developers I've met either didn't go to school or majored in unrelated fields and just learned at work (mind you this was back in the 90s/early 2000s when they did it) and their free time.

Comment One Year In (Score 5, Informative) 548

I just had my one year anniversary as a full time Android developer, and it's insane how much I've learned after leaving school. Luckily there's two older guys (well, one now, the other moved on recently) on my team who are _awesome_ mentors.

1. Pay attention to everything you can in the work place. You may be a client side developer, backend, whatever, but pay attention in every meeting or conversation that you can eavesdrop on. You may not understand everything going on with the teams you don't work in, but just being exposed to their terminology and _looking up what they're talking about_ will get you far. This doesn't go for just development, either - listen to the business and sales guys talk and try to understand your clients and what they need so you can build a great product by anticipating what will work for them before they have to ask.

2. Write a blog. Seriously. I'm the first to admit that I don't really know anything when it comes to development, but I've been actively writing new posts to my blog and it forces me to grok whatever I'm writing about. Whatever you're doing, post the code on GitHub so others can read it (mine's here). Developers who read peoples code online tend to be awesome about making suggestions and asking questions that make you realize you screwed up without being jackasses about it.

3. If there are tech meetups in your area, go to them. If you're in a decent sized city (I'm in the Denver/Boulder area, which isn't huge, but it's a lot bigger than where I'm originally from) you can find multiple meetup groups related to tech that you're interested in. It's a great way to learn new things and meet a lot of awesome people in your area.

4. If there's hackathons in your area, no matter how small, go to them. You meet awesome people and learn how to work in teams that are different than the one you're in every other day. Plus there's usually free food and beer, so what's not to like about that?

5. Pick up skills that compliment your work area by doing projects that aren't work related. It helps you understand what other teams are doing and how it affects you, plus it just makes you more awesome while keeping down the monotony. As a client side developer, I've been taking a Udacity course on using AppEngine to make backend APIs, and it's been fun.

6. For the love of God, check for null pointers and other kinds of exceptions. You may not catch all of them due to inexperience in spotting them, but that's what senior devs doing code reviews are for. You don't want code going into the wild that crashes, even when data is bad. Getting a call on a Saturday saying something bad is happening is not what you want - the weekends are yours to do whatever you want, not put out fires that could have been avoided.

7. Open source third party libraries are your friend. People way smarter than me have put together some amazing things that we use every day, like Otto and Picasso from Square. Try libraries out in a sample project, and if they will work for what you're doing, give it a shot. If you can make them better in the process, submit a pull request. Like I mentioned earlier, the open source community is awesome and if your pull request isn't up to par, they'll let you know what you can do to fix it.

8. You're going to fail at some things, and it's alright. Fail early, learn what did and didn't work, and try again. Learning from mistakes is how you get better. Along this same line of thought, if you run into a roadblock that you can't figure out yourself via documentation/stepping back and evaluating the problem, StackOverflow is awesome.

Comment Teachers (Score 1) 119

Part of this issue is because the teachers are under qualified for teaching AP comp sci courses. I took AP comp sci in high school back in 2006 and failed it with flying colors (as did every single person in the course), but that's because they made us take the A and B exams but only prepared us for the A exam. Looking back on it, we should have been better prepared, but the teacher was learning the material as we went along, and he simply didn't hit data structures like trees (huge on the exam) or really much OOP.

Comment Re:Families come first (Score 3, Informative) 370

They pay you for 40 hours a week. If you're working over that amount, you're just fucking yourself over. I happen to be lucky enough to have a team that acknowledges this at my first programming job, and it leaves a lot of time for me to learn additional things outside of work - and honestly I feel like I'm a far better developer in the short amount of time that I've been out of school than I would have been had I worked somewhere for 80+ hours a week.

Comment Re:Bigger concern (Score 1) 154

I agree, I think the students with massive debt are at least partly to blame for their woes. I worked the entire time I went to school, so it took an extra three years past the standard 'four year plan', but I walked out with only 10k in debt and a job in my field as soon as I graduated, so my loan is completely paid off before the 6 month grace period has ended (paid it all last week).

Comment Thank YOU Interwebz (Score 3, Informative) 197

As a recent CSci graduate from a state university in California, I can tell you that there's far better content online than you'll pick up in a class, so good job checking out that area. MIT has a lot of great courses on YouTube, such as their algorithms lectures from Cormen, and edX has a fair amount of content as well. There's also a lot of books out there if you can pick an area that interests you the most, such as mobile or web, that you can just read through and type up the examples yourself. The thing about programming is that you tend to learn more from doing than from listening to lectures, so if you can just sit down with a book, online tutorials, etc., and just make programs and figure out why they don't work on the first go (and when you pass the forloop/if statement section of your education, they probably won't), then you'll be golden.

Slashdot Top Deals

"Trust me. I know what I'm doing." -- Sledge Hammer