Having been the person responsible for migrating data from an old system to a shiny new one, I wish I had read this a few years ago. However, since I will be embarking on rewrite from scratch project in a couple of weeks at a new position, I am glad I read this now. Migrating data is hard and should be given the same level of importance as the back-end or front-end development. I remember vividly the cycle of "sleeping" with my laptop next to me churning away over night, waking up every hour to check the process and having it fail at odd times. As the author said, make your migration process repeatable, testable and logged. Good luck.
HN user
sps_jp
I guess that's what annoyed me. At least with a blog or some other web-based joke, participation is optional and requires action from the audience. Email based jokes like this from a company I regularly receive "useful" emails from just doesn't seem like a good idea.
Yes, my .NET experience has primarily been with C#. I'll checkout F#. Thanks!
Yes, agreed. Well stated.
In my opinion, early on in your career the important thing isn't so much what language you are developing in, but who you are developing with. If you aren't in an environment where there are more experienced developers that you can learn from, find a different job. Over time you will probably move through several languages, but the core principles of programming apply to all of them, and learning how to think through problems from a developer's perspective is fundamentally important.
Another bit of advice would be to work in a position where you have your hand in all aspects of a project. That will help you decide if you want to focus on a particular subset of application development (i.e. back-end, front-end, UX), or if you want to move forward as more of a generalist. This decision will impact your future type of employment. Concentrating on one particular aspect of development will lead you towards larger companies and/or larger development teams. Being a generalist will lead you towards smaller companies or start-ups with smaller or no teams at all, as well as possibilities outside of normal technology companies (i.e. I am interviewing with a law-firm next week that needs a senior developer to create internal tools). I'm of course speaking only from my experience and making generalizations on that basis alone.
Being in Tampa, FL is definitely a limiting factor in my desire to continue working professionally with Rails. However, I really do not want to relocate at this time. I guess I've been lurking on HN too long, because the availability of .NET jobs and lack of ROR jobs in my area was still surprising.
The .NET positions are typically higher in salary, but they also have a wider range. The ROR positions all seem to be within about $10,000 of each other.
I recently updated my resume on linkedin and dice and I am shocked by the response. I haven't actively searched for a new job for about 10 years so I didn't really know what to expect both in terms of available positions in my geographical area, Tampa, FL, and salary. In the last 3 weeks I've received 5-10 phone calls and/or emails per day from recruiters with salaries that are all over the board, but higher than my current salary. I have several years of .NET experience, but switched to ROR about a year and a half ago. 90% of the available positions I am contacted about are for .NET, which I don't really want to go back to. However, this makes me wonder if the wise career move would be to go back to .NET and just keep ROR as my side project language. Any advice for someone not living in a start-up or technology hub?
I must applaud today's teachers. As the parent of two young children (5 and 8), I was surprised by the pace of learning expected of kids today. The problem is that not all kids learn at the same speed due to several factors, most importantly in my opinion is parental involvement. I was very proud when my son showed exceptional aptitude for reading and above average ability in math very early on. However, this also exposed several issues with the regular public school system. Teachers and schools are evaluated (at least in Florida) by how much they improve standardized test scores year over year. The bi-product being teachers understandably feel compelled to spend the majority of their time focusing on the slower learners. My heart broke when my son repeatedly came to me and said he was bored in class and wanted to be more challenged. He was in kindergarten. His teacher was incredible, and truly cared for each student. She recognized that something needed to be done for my son and recommended that we have him tested for gifted or possibly find a school with programs for advanced children. The problem is that gifted programs in Florida do not officially start until second or third grade, and I cannot afford a private school.
My wife and I began searching for other options. Thankfully we found something that I don't think enough parents know about, a charter school. A charter school is a public school that has a separate board from the county school board. This allows them some freedoms in education that a regular public school cannot implement. Other differences include less funding from the county (for charter schools), required parent volunteer time (in the case of my kid's school, 20 hrs per family), and the inclusion of programs that are being cut from most public schools (art, PE, music, and Spanish).
The charter school my kids attend has individualized learning plans for each student. Basically at the beginning of the school year (as well as each quarter) teachers assess each student individually in reading, writing, and math. Students are then grouped within the classroom with other students of similar ability. This allows teachers to focus on each group and meet their educational needs rather than marginalizing the lesson for the entire class. Yes, this adds a lot of work to the teacher's everyday planning, but the benefits are tremendous. The kids learn to work together when they are not the current focus of the teacher, and teachers have a better pulse on each student. Fast learners are continually challenged, and slower learners are given more focused attention. Best of all, the students, teachers, and parents are all invested in the school.
Parents, be an advocate for your child's education. The regular public school system is broken in America, but there are options other than private school.
For a recent application I developed, I used a series of 3 automated emails post sign-up. The first was sent right after signing up, with a "personalized" welcome that came directly from my email address. The second came 5 days into the trial period with suggested activities to try within the application, again from my email address. The third was sent 15 days into the trial and included links to the help and support site, along with links to tutorial videos for advanced activities. The third email was sent from our support team email address. Each message included the option to stop receiving general inquiry emails.
This reminds me of a novelty I created early on in my programming career. I wanted to recreate the color picker from Photoshop (I think version 4) on a webpage. This was several years before jQuery and "Googling" it would have produced meager results. After considerable effort and writing equally "elegant" code as the OP, I had a 256 x 256 grid of divs displaying my color picker. Little to no CSS in that bad boy, but a ton of javascript hex conversions. The page loaded soooooo slow and brought my computer to it's knees, but I was very proud of it. I did actually use recursion, but not to the degree I could have if I had more knowledge. The achievement was not in writing perfect and optimal code, but in having an idea and seeing it through to completion.