

Ask HN:  first experience as a programmer, how can i handle it? - ciaomare

hi i&#x27;m a italian guy who is graduating in computer science at the university of Milan. Next week i&#x27;m going to start a project with a small company in my city. I have to take a stand alone application (written in delphi), and make a web based version, with languages such as HMTL,PHP and MYSql. The problem is: I&#x27;M FU&lt;i&gt;&lt;&#x2F;i&gt;ING SCARED ABOUT IT!!! I&#x27;ve studied these technologies, but only in theory. During classes we&#x27;ve written little code snippets, but never worked on a full software, or never programmed at high-level. I&#x27;ve always been fascinated about this world, and i really like study it, but i realize now that i&#x27;ve never really programmed. I&#x27;ve never had time for realizing personal projects, and now, that i&#x27;ve had 3 free weeks, i started to code something, but every time i need to use a new library or API, i spend time reading documentation, and figuring out that there a lot of links to other functions or libraries that i don&#x27;t know, and i spend time reading and browsing without writing a single line of code. It is like programming a software, even the smallest, end up in a never ending chain of links and documentation. I would love to hear your opinion, or even story about similar situations, because now, i&#x27;m really going to start programming, and i&#x27;m really scared about it.&lt;p&gt;(sorry for my bad english)
======
oceanician
I'd write down several simple features that the web application will need to
do.

Then put them into Trello.

Then prioritise which ones are the most valuable to the business.

Then try and code those first.

Perhaps at this point, try and break that 1st task down into 3 or 4 subtasks.

Write a checklist of every little detail that the pages should have.

As you do even the smallest of things, tick of that element in the checklist.

Ask questions to those that your working for.

Make suggestions for improvement if you notice them, but understand that their
maybe genuine business / user reasons for some oddities you'll find.

~~~
oceanician
Also make sure you someone from the business who'se interested in the project.
Make them interested if needs be i.e. find out what pain points they
experienced with the old app, and have a think about what you can do together
to improve that area of functionality.

Together write a regular report to the rest of the business about what's
happening, and give a fortnightly update.

------
kbrowne
Calm down. It's going to be all right.

What you're experiencing right now is a pretty common thing among programmers.
Everything seems straightforward from a high-level overview, but when you get
down to the details, they can seem overwhelming.

The lucky thing is, although it seems never-ending now, it isn't. Eventually
you'll learn enough about the API or subsystem or problem domain that you're
looking at to make a little progress. You'll write a line or two of code, or
maybe an entire subprogram, and you'll retain what you've learned. When you
move on to the next small programming task, it'll take less research, because
you'll remember what you learned earlier.

Eventually, you will learn most of what you need to know about the APIs you're
using. You may not necessarily remember every single function argument or
command option, but you'll know the rough outline of what you can do, and
you'll know where to go to look up the details when you need them.

As you progress, you'll be able to move your emphasis from reading
documentation to coding and debugging and refactoring and all those other fun
things. There will always be new subsystems, new libraries, new APIs to get
used to, so your job will always involve a little of this sort of thing. What
seems insurmountable to you now will eventually seem quite normal.

Don't worry. Nobody else was born knowing all the details. If you can just
keep going until it starts to get easier, you'll do fine.

------
frou_dh
I think that early in our career, it's valuable to work alongside one or more
experienced people. Not just to learn about programming technique, but also to
see that it is possible to remain calm even when there are still a lot of
unknowns on a project.

If you will be working alone on this then I would consider letting whoever the
boss is know that you find it a bit daunting, but regardless will be trying
your hardest. Being scared is more of a hinderance if you're also expending
energy trying to hide it.

------
brianmcc
Good luck in your role and no personal animosity but "graduating in computer
science at the university of Milan" and "i've never really programmed" \-
really? What on earth did your degree consist of?

~~~
ciaomare
you're right, but i don't consider "code a calculator", "solve this math
problem with java" real programming... here in italy this is the school now...
lot of theory...maybe too much...

