views:

852

answers:

21

What was your first full time programming job? What did you do? What did you learn? Did you enjoy it? How long did you stay?

Sorry for all the sub-questions, but lately I've been thinking about what I'm going to do when I get my degree, and I am interested to know your opinions and experiences.

+2  A: 

perl developer. Came up with a prototype for an intranet site. Learnt that you need to write a lot of snippets :) , test code and learnt version control. Stayed with the company for 6 months.

kal
+1  A: 

Web dev doing ASP .Net, VB .Net & SQL (and the other myriad of web dev stuff e.g. css, js, html). I learned a ton of SQL, but the ASP & VB was easily forgotten.

The pay was horrible and I only stayed 6 months total but what I learned taught me years of experience in 6 months. I would encourage you to get an internship now if you can, don't worry about the pay so much (even free if you have to) and 'soak it up'. The lessons learned will really help you when you get your first 'real' job.

Good luck!

javamonkey79
+4  A: 

While I was in school geting my degree I started at a company that wrote life insurance proposal systems. This was my first taste of small company software development and I would never look back. I have been programming now for 20+ years and while at small companiss you get to wear many hats - developer, project manager, marketing, doc writer, technical support etc. I think the experience being a jack of all trades prepares you better for a software development career since you really start seeing how the only thing fits together.

I have people who report to me who swear all developers should start in support so they see how important usability and ease of install and configuration can be. Others swear that everyone should get on the phone with at least a few customers so you can start listening to what problem they want solved instead of what problem the developer wants to solve. Doing what the customer needs actually can often create software that someone will pay for.

As for me, I like to suggest that people try to find a small company where they can do a little bit of everything as I think it can leap your career forward if you move to a larger company like a Microsoft since you will have experience in so many more areas.

But remember that like the hard interview questions that an employer gives you, you should make sure that any job you take will allow you to be surrounded by smart, talented people as well as it makes life more interesting and gives you someone to learn from as you set out.

Good luck!

Marcus Erickson
+6  A: 

Junior developer at Intel working mostly with C++ in Linux. I worked as part of the VTune project where I learnt a lot about performance measuring and optimization. Working on linux forced me to better understand coding because IDEs like visual studio weren't available. I worked with very talented people and learnt more in two weeks of work then in a year in school.

Dror Helper
+1  A: 

After I finished college, I spent 2 years in the big city looking for a "real" job with my business degree.

Over Christmas, Dad introduced me to a local guy who actually had a 386 computer. I went to meet with him and scored a job updating a program written in QuickBASIC 4.5. I moved back home to take that job.

The program grew and changed. My boss changed his mind and I implemented whatever. I even remember learning of changes in the spec from customers to whom my boss had promised feature without letting me know about them.

After about a year, the job ended when the my boss's son took over the business.

jrcs3
+5  A: 

My first paid program was a fertilizer simulation for an agricultural company. Years before someone had done a lot of research to gather the data and created a set of formulas. But after some company transitions the formulas were lost, though they still had select portions of the data. They had gone to several programming firms prior, but they all refused the job. Of course, I had no idea what I was getting into. My first step was to use multivariate regression analysis to determine what the formulas might have been. Humidity, temperature and product line affected three output variables.

I showed my high school Calculus teacher what I was trying to do and she said that if I find a way to do it, show her. I ended up making some software to generate a 3d polynomial algorithm. On my 486 the program took two weeks to run, day and night.

In the end, it helped pay the first semester in college.

DavGarcia
+2  A: 

Programming in TUTOR on PLATO IV at U of Illinois School of Pharmacology, Chicago, 1973.

I learned I could make more money (and have way more fun) programming than I could as an ECON major. I learned there are an amazing number of bullshitters out there who think they understand programming. I learned that someone confined to a wheelchair with polio since he was 7 could not only type faster than I could, he could think better than I could. I learned that people who create systems often don't know what to do with those systems. I learned that no matter how smart I thought I was while stoned out out my mind, I always needed to make a backup because, come the morning light, stoned code == sucks big time.

I also learned that doing what you love and making at least enough to pay the bills beats the crap out of whatever is in second place.

Peter Rowell
stoned code. lol!
Earlz
+2  A: 

My first programming job came two months after I quit my old paper route one and a half years go. I'm still there.

My computer teacher met my boss at a job fair at my highschool (back then I was in an alternative highschool so I didn't go to the fair itself). I talked to my then-future-boss and he gave me two weeks to catch up with web development. I came back two weeks later and he offered me a 30-day non-paid internship. After that was up I got hired.

I work with web development. Even though I only had three years knowledge worth of C++/C# picking up PHP/MySQL/XHTML/CSS/Javascript went really easy for me and I quickly outpaced my boss in those areas (I'm not trying to brag or say anything bad - the guy works his ass off every day and does a pretty damn good job at what he dose. But we are mostly a tech-repair shop and he has little time to invest in developing his web dev skills with current tech. So that's what I do).

So part of my job is research into new technologies and practices. Between when I was employed and today we have upgraded to PHP 5.3 (from 4.x), built and maintained an internal web server, set up subversion, implemented new internal web applications, re-evaluated our ecommerce solution (oscommerce -> magento) and updated our IDEs (GoLive -> PDT).

The biggest part of my job is web development. I work in PHP/XHTML/CSS/JS/MySql on our more advanced web projects. Currently I am hacking up magento to be used in revolutionary new way that probably will secure my paycheck for however I want to stay. The time I spend learning new technologies and keeping up to date on things really helps me in the process of understanding magento and has allowed me to quickly make some core changes to its functionality. Although my boss dose little in web-development (in that I mean implementation). He is still good at design/sales/management so its not like he isn't doing anything to help me :p and once my part is done with the coding aspect we will be relying on him to keep it going forward (but my understanding of Magento is pretty good job-security).

I also do tech repair. I build, repair and maintenance computers. I also have to interact with customers on a daily basis.

I am pretty happy with my job. I have a good relationship with my boss, our other coworker, the people around town who come to us and everyone else who hangs around our shop.

I think though that my dream job would be that of a website development, game development and embedded systems development shop. Those three areas interest me and I hope to one day get my game and embedded skills up to my web development skills.

nlaq
+1  A: 

Reality television for Granada UK. I supported a CMS system on site on many shows. Typically a producer or director would want features added to the system a day before the show would go to air live.

I learnt that no matter how thick your skin, application debiltating bugs that occur 5 minutes before the satelite starts transmitting will reduce you to a quivering pile of bones lying in the fetal position begging for your mummy.

Some shows I worked on were Hells Kitchen, Celebrity Love Island, Help! I'm a Celebrity, and Big Brother.

By the way, I hate reality TV, but I enjoyed working on a tropical island in Fiji living in a hotel for CLI. Except the time a topical cyclone severed connection with the mainland and I had to work a 36 hour shift.

DarkwingDuck
Wow crap TV shows but a nice job :) Out of interest what kind of modifications were required to a standard CMS by the producers ?
IanW
There was nothing standard about it. Requests would range from adding a simple label to provide some extra feedback, through to a product changing request that just wasn't addressable while the show was running. I guess producers are just whimsical and it doesn't matter what it was!
DarkwingDuck
A: 

I worked for my highschool developing their intranet, my first project was creating the management and website for the Activities Arts and Athletics groups/teams.

I programmed first in VB6 building DLL files that were integrated into IIS using the COM management console. Then I discovered VBScript and thus began my long journey through ASP and ADO. So I mostly learned how to develop server-side web programming.

I thouroughly enjoyed it, and started as an afterschool activity, but soon was making twice what my friends were making.

I stayed through highschool for 3 years, and then worked remotely from college for a couple years after.

Steve Tranby
A: 

Writing a port of a strategy war game developed on the Mac to the PC, before Windows was around. It was written in C and I had to do everything, like write buttons, and list box controls etc.

It taught me that I was naive and hadn't a clue how long things take to do in the real world, and ever since then I've become a much much better estimator.

Miles D
A: 

Senior C# developer :) Before that I was working about 10 years as freelancer developer with various languages, Delphi, C++, Java, VB, Web Site Design etc..

Lukas Šalkauskas
A: 

After four years of University studying Computer Games Programming, my first job was (and still is) at Codemasters working in the racing studio. I joined as a part of the Front End team, where I was responsible for working on several screens that appeared in Race Driver GRID as well as a bit of behind the scenes stuff.

I've learnt an amazing amount here, and I think it's fair to say that I learn something new every day (To me, this is the appeal of programming). There's something to be said for working as part of a large, talented team of like minded individuals, and I wouldn't change industries for all the tea in China! It's been about a year and a half now since I started, and I've now moved into the Network group - although sometimes I miss my old Front End group.

If you want to get into the games industry, I would say the best thing you could possible do is create a simple game (e.g. Space Invaders or Pacman) in your spare time and make it fun/polished. Having something like that in your portfolio will greatly increase your chances!

Stephen Edmonds
A: 

It was a VB6 application to compute Earthwork volume from land survey data for an irrigation canal network. I was a fresher and so the managers did not give a damn about what I was doing. I was completely ignored and allowed to interact directly with the end user (a lady in another department). I loved it! We came up with a great application, were well appreciated ....and ever since then the managers haven't left me in peace.

Vulcan Eager
A: 

Dont worry about if your first job is title as "junior" or something that you think you are above. Employers aren't going to know anything about your skills except for you schooling and other non-full time positions.

This will be your time to shine! Spend sometime everyday learning or doing something unexpected and you will be noticed. And in turn be given more responsibility.

Dont be bitter that your the bottom of the totem pole, think of it as a challenge.

Also, when interviewing ask if they have a mentoring program and if not make sure that there are skilled Senior Devs that you can actually learn from. Dont take a job were you are the only developer, or else your skills will never improve.

Remember to 'wow' them, and then they will hopefully 'wow' your paycheck.

Glennular
A: 

19 years ago, I was 14, teaching younger kids to program Basic and Logo on the Apple II for about 50 cents an hour...

Sam Saffron
+1  A: 

I had a couple of different first jobs really.

My first real programming job doesn't usually go on my resume as I had the job for only 8 weeks and had enough mistakes and fiascos that I'd rather not have to explain how I messed up that much in one job.

In a co-op placement, where students alternate between work and school terms of 4 months each, I was placed at a bank in Toronto's downtown taking over for this student whose mother worked there and got him in over the summer. I was working under a manager, with a LAN administrator and network programmer on this IBM token-ring network doing all kinds of weird things now that I look back on it.

Most of my first week was spent trying to do some work without the right hardware, my boss on vacation and the summer student somewhat slacking off at that point. It didn't help that I didn't get to see a good flow of work and how things are to be done.

I learned that one should clearly know how the payroll is done, what is required, what is to be done on the job and to have good communication with the boss or face some really ugly situations. Since I didn't know about their summer student status I didn't realize that I wasn't getting paid until 6 weeks into the job and then learned that I had to do these big time sheets and that if they weren't done by x weeks after the date on them then I may not get paid for my work. This led to a bit of an emotional meltdown that was witnessed in the Men's room by a VP in the company that was the final straw on my employment there.

Another lesson learned was that sometimes a choice isn't really a choice after all. When asked about whether or not I wanted to learn about tape backups I declined and that apparently was a no-no that I didn't quite get until one of my few meetings with my boss that rarely were constructive as it wasn't like I was really a developer but more of a techie "fix this" role where this could vary from laptop security to network configurations.

My first out of school job was over in Seattle for a dot-com where I had a much different experience. I got my boss and the CEO to help me with my initial project and provide some support, guidance and most of all encouragement on my learning of things I didn't know before I started. Initially, I was working on some e-commerce transaction processing of credit cards but soon got into doing an on-line shopping cart and various other back-end customer service features like looking up a customer or preparing pages for publishers that needed to approve various products the company sold. This is where I got my first introduction to Microsoft Visual Studio, SourceSafe, IIS, MS-SQL Server, and NT Server 4.0. I learned a great deal over my years that company that evolved a bit and changed names a few times as well as going public and then going private in the end before finally going under in the end, though the founder did get a new job at another company along with some of the other assets that the company had in the end.

JB King
A: 

First job where I regularly wrote code was as a unix sysadmin at a hospital. First job where I was primarily employed to write code was as an implementer of crypo modules for an EDI router, but a large chunk of my time was stolen by having to admin the unix machines that were my dev environment.

Vatine
A: 

My first programming job was to convert DIBOL code from the PDP-8 to the PDP-11. Yes that was before PCs.

Dave
A: 

The part-time job involved maintenance an Algol-68 compiler written in ANSI-66 Fortran on an IBM 1130. It's hard to find a job like that today. :)

xpda
+1  A: 

My first programming job was for my high school, between graduation and starting university. I wrote a marks and attendance program in AppleSoft II BASIC. The system was an Apple II with 48kB of memory and an 80kB 5.25" floppy.

Mostly in hindsight, I learned a number of interesting lessons.

  • The customer always wants to deploy the system before its ready. Coming up to the end of summer, I'd only tested the program with a handful of students, so I advised the principal that the school should continue using the manual system in parallel with the new one.
  • Algorithms matter. I had to sort the set of students, and the only sorting algorithm demonstrated in the Apple II BASIC manual was the bubble sort. A month or so into my univeristy term, I was getting bug reports that the program would "hang" for 20 minutes or so when it was asked to print out all the mark and attendance records. I had just learned about the shell sort, which translates fairly easily to non-recursive BASIC, and the delay went away.
  • Variable names matter. Apple II BASIC had only two letter variable names, so when I was fixing bugs, I'd always have to think "Hmm, which two letters haven't I used? I know, I'll use ZZ". Of course, next time I had to remember that I used ZZ already, and use QQ instead.
  • Modularity matters. Using the ability of one BASIC program to run another, I'd split the program up into several smaller programs, which would invoke the next as necessary through a simple menu system. This made debugging quite a bit easier.
Dale Hagglund